A simple project showing how to wrap a C/C++ library in Numpy using SWIG.
The examples in the documentation are good, but simple, and don't make clear the subtleties associated with wrapping realistic functions using Numpy arrays (e.g., what if we want to take in two arrays as arguments?). This project contains a collection of example functions for several common function signatures, both inside and outside of classes. It also contains notes on steps I found necessary in getting all of this working.
Other resources for SWIG + Python include the Scipy SWIG documentation, the Numpy SWIG tests, this example of wrapping C++ in Numpy, limix, Eigen3Swig, and Swig-Eigen-Numpy.
To run the tests, do:
$ python test.py
If you need additional functionality, consider prototyping it using this project and submitting a pull request once it's working. This way others can use it as well (and you will be my hero).