This is a proposal for changing the Python bindings such that they're written as a C++ extension, one benefit of which is that it can be installed in the usual way with python setup.py install (and thus can be readily included in other projects without copying code). I've matched the API from the original implementation, and the tests are the same except for the type of exception raised for passing the wrong argument.
Let me know if you think this would be a useful change. I'm happy to make any changes to this code, and if we decide to go forward with this PR I can clean up the commit history before merging.
This is a proposal for changing the Python bindings such that they're written as a C++ extension, one benefit of which is that it can be installed in the usual way with
python setup.py install
(and thus can be readily included in other projects without copying code). I've matched the API from the original implementation, and the tests are the same except for the type of exception raised for passing the wrong argument.Let me know if you think this would be a useful change. I'm happy to make any changes to this code, and if we decide to go forward with this PR I can clean up the commit history before merging.