WARNING: I have significantly reorganized this repository, and a new blog post explaining the changes is forthcoming. If you'd like to see the version of the repository that corresponds to my original June 2017 blog post, go to this release.
This repository contains an example Python module which wraps C++ code. The code presented here was designed to meet four requirements:
- Python bindings for C++ code (using
pybind11
and built with CMake) - Unit tests for C++ code (using
catch
) - Unit tests for Python code (using
unittest
) - A
setuptools
setup.py script for building, installation, and testing
Please see the blog post that accompanies this repository for more information.
To build and install python_cpp_example
, clone or download this repository and then, from within the repository, run:
python3 ./setup.py install
or
pip3 install .
To execute all unit tests, run the following command:
python3 ./setup.py test
- Python 2 or 3
- CMake 2.8.12 or higher
- A modern compiler with C++11 support
Much of the code in this repository was adapted from the pybind11
tutorial and the pybind11
example CMake repository.