Git Product home page Git Product logo

boost.numpy's Introduction

Boost.NumPy

Boost.NumPy is an extension for Boost.Python that adds NumPy support.

It is intended as a replacement for the old numeric support in Boost.Python proper, which is now out-of-date and does not support C/C++ pointer access to the data. Because it builds against the NumPy headers and hence has a dependency that Boost.Python does not, it is intended to be built as a separate library. This is also not intended to be a high-level C++ array library; it would be more accurate to consider it a C++ NumPy API, with the intent of making the NumPy C-API available in a form that is safer and more convenient for C++ users (and particularly those using Boost.Python, of course).

THIS IS NOT AN OFFICIAL BOOST LIBRARY

...we're just calling it Boost.NumPy right now because that clearly indicates that it's for Boost.Python and NumPy. We may propose it for inclusion in Boost eventually, but that's not high on the priority list for any of the original authors.

INSTALLATION

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

DOCUMENTATION

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.

ISSUES AND NEW FEATURES

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.

CONTACT

Please post questions, bug reports, and feature requests to the GitHub issues list (see above).

MULTI-PLATFORM SUPPORT

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.

HISTORY/AUTHORS

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:

https://github.com/ndarray/Boost.NumPy

boost.numpy's People

Contributors

talljimbo avatar ankitdaf avatar stefanseefeld avatar termoshtt avatar 1pakch avatar nbecker avatar karlssonper avatar classner avatar willyd avatar coroa avatar pwm1234-sri avatar pinkbyte avatar barnabyrobson avatar

Watchers

James Cloos avatar Veterun avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.