NumPy support is scheduled to be included in Boost release 1.63, and is already available on the Boost.Python master branch (https://github.com/boostorg/python/tree/master). The interface is the same as Boost.Numpy, but in a different namespace.
There are currently no plans for further development on this independent package.
Boost.NumPy is an extension for Boost.Python < v1.63 that adds NumPy support.
We have provided two build systems: SCons and CMake build system. We reconmmend using CMake for all new users, and for anyone using Python 3 (SCons itself does not support Python 3, and our SCons build is restricted to building against the version of Python that executes SCons.
Please see libs/numpy/doc/cmakeBuild.rst
for more information on
building with CMake.
Building with SCons should be as simple as running scons
and scons install
, but you may need to use the --with-boost*
options (see
scons --help
) to specify where to find Boost. The Python that is
used by SCons will be the one built against. Additionally, the
SConsChecks submodule must be initialized by git before building
by running
git submodule update --init
More documentation on how to use the library can be found in libs/numpy/doc, but it may be most useful to start with the examples in libs/numpy/examples. The headers files are also well documented and are intended to serve as a reference.
Please create an issue on the GitHub site at:
https://github.com/ndarray/Boost.NumPy/issues
Patches and detailed debugging are greatly appreciated; the authors don't have much time to devote to this project on a regular basis, but we do try to fix critical bugs.
Please post questions, bug reports, and feature requests to the GitHub issues list (see above).
The vast majority of development has happened on Linux/g++, and while we have taken some steps to support MacOS/clang, there hasn't been much testing. There has been very little testing on Windows, though there has been some work contributed to get it working there.
In short, we'd really love to have some testing on additional platforms, especially from people who know their way around SCons, NumPy, or Boost.Python.
Boost.NumPy was originally written by Jim Bosch as part of the "ndarray" C++ library, then reorganized into a standalone component, cleaned up, and documented as part of a Boost-sponsored Google Summer of Code by Ankit Daftery, mentored by Stefan Seefeld. Philip Miller contributed the CMake build system.
An older version of this project is hosted on the Boost Sandbox:
https://svn.boost.org/svn/boost/sandbox/numpy
but the latest version is on GitHub: