pybind11-numpy-example 1.0.1

Creator: bradpython12

Last updated:

Add to Cart

Description:

pybind11numpyexample 1.0.1

pybind11-numpy-example






What
A simple example of how to use pybind11 with numpy and publish this as a library on PyPI and conda-forge.
This C++/Python library creates a std::vector of 16-bit ints,
and provides a Python interface to the contents of this vector in a few different ways:

a Python List (copy the data)
a NumPy ndarray (copy the data).
a NumPy ndarray (move the data).

Why
Python Lists are great!
However, when storing many small elements of the same type,
a Numpy array is much faster and uses a lot less memory:


How
The pybind11 code is in src/pybind11_numpy_example_python.cpp.
The python package is defined in pyproject.toml
and uses scikit-build-core.
Each tagged commit triggers a GitHub action job
which uses cibuildwheel to build and upload a new release including binary wheels for all platforms to PyPI.
The conda-forge package is generated from this recipe, and automatically updates when a new version is uploaded to PyPI.
The scripts used to generate the above plots are in scripts.
This repo was quickly set up using the SSC C++ Project Cookiecutter.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.