"A guide through the bindings generation process"
This repository has all the content of the talk from the conference.
The examples contain a simple implementation of a Hello World
written in C and C++, then a basic implementation using different tools
is used to expose the function to Python.
cpython, using a simple raw CPython implementation for the function.ctypes, to load the shared library (not used in the talk).- Boost::python
- SWIG
- shiboken
- pyBind11
- cffi
- cppyy
- sip
A more useful example related to glob is included too in the directory
fastglob. This example uses the <filesystem> C++ library to achieve
a similar result as glob and Pathlib.glob.
fastglob, directory with the implementation of the module.data, 1000 directories with 1000 empty files each.glob_list.py, listing usingglob.pathlib_list.py, listing usingPathlib.fastglob_list.py, listing usingfastglob.benchmark_1.sh, benchmark using/usr/bin/time.benchmark_2.py, benchmark usingtime.
You can check the slides here! to write them I used reveal.js.