Skip to content

benjaminjack/python_cpp_example

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 

python_cpp_example

This repository contains an example Python module which wraps C++ code. The code presented here was designed to meet four requirements:

  1. Python bindings for C++ code (using pybind11 and built with CMake)
  2. Unit tests for C++ code (using catch)
  3. Unit tests for Python code (using unittest)
  4. A setuptools setup.py script for building, installation, and testing

Please see the blog post that accompanies this repository for more information.

NOTE: If you'd like to see the version of the repository that corresponds to my original June 2017 blog post, go to this release. However, I no longer recommend using the repository structure from this old release.

Installation

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 .

Tests

To execute all unit tests, run the following command:

python3 ./setup.py test

Requirements

  • Python 2 or 3
  • CMake 2.8.12 or higher
  • A modern compiler with C++11 support

Acknowledgements

Much of the code in this repository was adapted from the pybind11 tutorial and the pybind11 example CMake repository.