Python-C++ Bindings Meeting

Europe/Zurich
Aaron Jomy (CERN)
Description

Discussion on developments in Python-C++ bindings surrounding the Cppyy project, and broader interactive C++ as a service based on the CppInterOp project.

Zoom Meeting ID
67024200187
Host
Aaron Jomy
Passcode
41781462
Useful links
Join via phone
Zoom URL

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

There are minutes attached to this event. Show them.
    • 16:00 16:30
      Round Table 30m
    • 16:30 17:00
      AOB 30m