Python-C++ Bindings Meeting
Discussion on developments in Python-C++ bindings surrounding the Cppyy project, and broader interactive C++ as a service based on the CppInterOp project.
Roundtable:
Vipul:
* was at the using std::cpp conference in Matrid, meeting Bjarne
* working on Numba support
Aaron:
* has worked on the CppJIT monorepo:
https://github.com/compiler-research/cppjit
* it uses scikit-build-core to be easy to pip intall from just one
CMakeLists.txt file
* The only dependencies as LLVM and Clang
* Comment by Vincenzo: amazing! I was also considering to use
scikit-build-core also for ROOT, maybe I should try to use it again
* Working also a bit on CUDA support
Vassil:
* Madrid went very well
* Flooded my contributions from people applying to GSoC
* Worked on self-hosted build nodes for CppInterOp
Jonas:
* Implemented implicit conversion from NumPy arrays to `std::span`
* implicit conversion to mutable pointer references (T*&) are now forbidden
in ROOT
* Worked on making the unit tests work with `python -X dev -W error`
* Thinking about fixing other cases where C++ semantics are not respected by
the Python bindings
Vincenzo:
* Reported on discussion with the ROOT team about PyPI and Conda packaging,
following up on the standard library mismatches reported here last week
* Agreed fix for now: build wheels for different versions of manylinux
container. On the longer term, there are two directions one could go, with
the extremes of having 1) a completely hermetic build that ships everything
and forbids including system headers from outside the ROOT sandbox 2)
building on the host machine against the libraries on the host machine
* Comment by Vassil: fortunately, this is a bit easier with CppJIT, because
we don't need to consider I/O We can rebuild PCH and PCM indeed on the
target machine.
Silia:
* Fixed unit tests for the ML data loader
* Worked on testing the ML data loader with the usecase presented by Martins
supervisor, using PyTorch
Emry (CTC):
* Working on strange bugs, e.g. Cling ignoring "pragma once" but Cland
doesn't ignore it
* Real bug as reported last week repeated: iterator over std::array created
with bind_object, and problems with enum w/ underlying bool type
* He will open issues about these problems
* Doing some cleanup and plannig for production rollout
* Comment by Aaron: the small bugs seem not too complicated, please open an
issue and we can tackle it in the coming weeks