Introduction — xtensor-python documentation (original) (raw)

_images/xtensor-python.svg

Python bindings for the xtensor C++ multi-dimensional array library.

What are xtensor and xtensor-python?

The numpy to xtensor cheat sheet from the xtensor documentation shows how numpy APIs translate to C++ with xtensor.

The Python bindings for xtensor are based on the pybind11 C++ library, which enables seemless interoperability between C++ and Python.

Enabling numpy arrays in your C++ libraries

Instead of exposing new types to python, xtensor-python enables the use of NumPy data structures from C++ using Python’s Buffer Protocol.

In addition to the basic accessors and iterators of xtensor containers, it also enables using numpy arrays with xtensor’s expression system.

Besides xtensor-python provides an API to create Universal functions from simple scalar functions from your C++ code.

Finally, a cookiecutter template project is provided. It takes care of the initial work of generating a project skeleton for a C++ extension based on xtensor-python containing a few examples, unit tests and HTML documentation. Find out more about the xtensor-python-cookiecutter.

xtensor and xtensor-python require a modern C++ compiler supporting C++14. The following C++ compilers are supported:

Licensing

We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.

This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.

INSTALLATION

USAGE

API REFERENCE

DEVELOPER ZONE