Resources for pybind11 wrapping

Here is a brief list of resources for wrapping C++ with pybind11:

The best place to start is DMTN-026 Pybind11 wrapping step-by-step. This gives an excellent overview of how we use pybind11 in our stack and what you need to do to wrap a package.

The official pybind11 documentation is also very readable. The provided link points to master. You may wish to look for the version we use, instead.

DMTN-024 pybind11 coding guidelines is also very useful for wrapping in a consistent style.

The presentation Wrapping LSST C++ with pybind11 focuses on what the LSST wrapper code will look like for various kinds of C++ code. It focuses on what the wrapper code should look like for various C++ cases. As such it may be handy as a cheat sheet.

2 Likes

The presentation Pybind11 and the LSST Stack focuses on what the use of pybind11 will mean for the Stack. It covers changes both to package structure and to python code and API usage.