跳转到主要内容

使用numpy与pybind11的示例

项目描述

pybind11-numpy-example

License: MIT PyPI Release Conda Release Python Versions GitHub Workflow Status Documentation Status

什么

这是一个使用pybind11numpy的简单示例,以及如何将其作为库发布到PyPIconda-forge

这个C++/Python库创建了一个16位整数的std::vector,并以几种不同的方式提供Python接口访问这个向量的内容

  • 一个Python 列表(复制数据)
  • 一个NumPy ndarray(复制数据)。
  • 一个NumPy ndarray(移动数据)。

为什么

Python列表很棒!然而,当存储大量相同类型的小元素时,NumPy数组要快得多,并且使用的内存也少得多。

Memory used vs number of elements

Time used vs number of elements

如何

pybind11代码在src/pybind11_numpy_example_python.cpp中。

python包在pyproject.toml中定义,并使用scikit-build-core

每个标记的提交都会触发一个GitHub动作工作,该工作使用cibuildwheel来构建和上传一个新版本,包括所有平台的二进制轮文件到PyPI

conda-forge包是从这个配方生成的,并且在将新版本上传到PyPI时自动更新。

用于生成上述图的脚本在scripts中。

该仓库是使用SSC的C++ Project Cookiecutter快速设置的。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

pybind11_numpy_example-1.0.1.tar.gz (87.2 kB 查看哈希值)

上传时间

构建分发

pybind11_numpy_example-1.0.1-pp310-pypy310_pp73-win_amd64.whl (59.8 kB 查看哈希值)

上传时间 PyPy Windows x86-64

pybind11_numpy_example-1.0.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (84.1 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686

pybind11_numpy_example-1.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl (49.0 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

pybind11_numpy_example-1.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (52.2 kB 查看哈希值)

上传于 PyPy macOS 10.15+ x86-64

pybind11_numpy_example-1.0.1-pp39-pypy39_pp73-win_amd64.whl (59.9 kB 查看哈希值)

上传于 PyPy Windows x86-64

pybind11_numpy_example-1.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (78.7 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

pybind11_numpy_example-1.0.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (83.9 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686

pybind11_numpy_example-1.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl (49.0 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

pybind11_numpy_example-1.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (52.2 kB 查看哈希值)

上传于 PyPy macOS 10.15+ x86-64

pybind11_numpy_example-1.0.1-pp38-pypy38_pp73-win_amd64.whl (59.9 kB 查看哈希值)

上传于 PyPy Windows x86-64

pybind11_numpy_example-1.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (78.7 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

pybind11_numpy_example-1.0.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (83.9 kB 查看哈希值)

上传时间: PyPy manylinux: glibc 2.17+ i686

pybind11_numpy_example-1.0.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl (48.9 kB 查看哈希值)

上传时间: PyPy macOS 11.0+ ARM64

pybind11_numpy_example-1.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (51.9 kB 查看哈希值)

上传时间: PyPy macOS 10.9+ x86-64

pybind11_numpy_example-1.0.1-cp313-cp313-win_amd64.whl (60.7 kB 查看哈希值)

上传时间: CPython 3.13 Windows x86-64

pybind11_numpy_example-1.0.1-cp313-cp313-win32.whl (54.3 kB 查看哈希值)

上传时间: CPython 3.13 Windows x86

pybind11_numpy_example-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传时间: CPython 3.13 musllinux: musl 1.2+ x86-64

pybind11_numpy_example-1.0.1-cp313-cp313-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传时间: CPython 3.13 musllinux: musl 1.2+ i686

pybind11_numpy_example-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (79.8 kB 查看哈希值)

上传时间: CPython 3.13 manylinux: glibc 2.17+ x86-64

pybind11_numpy_example-1.0.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (85.5 kB 查看哈希值)

上传时间: CPython 3.13 manylinux: glibc 2.17+ i686

pybind11_numpy_example-1.0.1-cp313-cp313-macosx_11_0_arm64.whl (49.5 kB 查看哈希值)

上传时间: CPython 3.13 macOS 11.0+ ARM64

pybind11_numpy_example-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl (52.3 kB 查看哈希值)

上传时间 CPython 3.13 macOS 10.13+ x86-64

pybind11_numpy_example-1.0.1-cp312-cp312-win_amd64.whl (60.7 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86-64

pybind11_numpy_example-1.0.1-cp312-cp312-win32.whl (54.3 kB 查看哈希值)

上传时间 CPython 3.12 Windows x86

pybind11_numpy_example-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.12 musllinux: musl 1.2+ x86-64

pybind11_numpy_example-1.0.1-cp312-cp312-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.12 musllinux: musl 1.2+ i686

pybind11_numpy_example-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (79.9 kB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ x86-64

pybind11_numpy_example-1.0.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (85.5 kB 查看哈希值)

上传时间 CPython 3.12 manylinux: glibc 2.17+ i686

pybind11_numpy_example-1.0.1-cp312-cp312-macosx_11_0_arm64.whl (49.4 kB 查看哈希值)

上传时间 CPython 3.12 macOS 11.0+ ARM64

pybind11_numpy_example-1.0.1-cp312-cp312-macosx_10_9_x86_64.whl (52.3 kB 查看哈希值)

上传时间 CPython 3.12 macOS 10.9+ x86-64

pybind11_numpy_example-1.0.1-cp311-cp311-win_amd64.whl (60.6 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

pybind11_numpy_example-1.0.1-cp311-cp311-win32.whl (54.0 kB 查看哈希值)

上传于 CPython 3.11 Windows x86

pybind11_numpy_example-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ x86-64

pybind11_numpy_example-1.0.1-cp311-cp311-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.2+ i686

pybind11_numpy_example-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (80.4 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

pybind11_numpy_example-1.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (85.9 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686

pybind11_numpy_example-1.0.1-cp311-cp311-macosx_11_0_arm64.whl (50.1 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

pybind11_numpy_example-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl (53.0 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

pybind11_numpy_example-1.0.1-cp310-cp310-win_amd64.whl (59.6 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

pybind11_numpy_example-1.0.1-cp310-cp310-win32.whl (53.1 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

pybind11_numpy_example-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.2+ x86-64

pybind11_numpy_example-1.0.1-cp310-cp310-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.10 musllinux: musl 1.2+ i686

pybind11_numpy_example-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (78.6 kB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ x86-64

pybind11_numpy_example-1.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (84.5 kB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ i686

pybind11_numpy_example-1.0.1-cp310-cp310-macosx_11_0_arm64.whl (48.8 kB 查看哈希值)

上传时间 CPython 3.10 macOS 11.0+ ARM64

pybind11_numpy_example-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl (51.7 kB 查看哈希值)

上传时间 CPython 3.10 macOS 10.9+ x86-64

pybind11_numpy_example-1.0.1-cp39-cp39-win_amd64.whl (59.4 kB 查看哈希值)

上传时间 CPython 3.9 Windows x86-64

pybind11_numpy_example-1.0.1-cp39-cp39-win32.whl (53.3 kB 查看哈希值)

上传时间 CPython 3.9 Windows x86

pybind11_numpy_example-1.0.1-cp39-cp39-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.9 musllinux: musl 1.2+ x86-64

pybind11_numpy_example-1.0.1-cp39-cp39-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传时间 CPython 3.9 musllinux: musl 1.2+ i686

pybind11_numpy_example-1.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (78.6 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

pybind11_numpy_example-1.0.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (84.5 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686

pybind11_numpy_example-1.0.1-cp39-cp39-macosx_11_0_arm64.whl (48.9 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

pybind11_numpy_example-1.0.1-cp39-cp39-macosx_10_9_x86_64.whl (51.7 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

pybind11_numpy_example-1.0.1-cp38-cp38-win_amd64.whl (59.7 kB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

pybind11_numpy_example-1.0.1-cp38-cp38-win32.whl (53.1 kB 查看哈希值)

上传于 CPython 3.8 Windows x86

pybind11_numpy_example-1.0.1-cp38-cp38-musllinux_1_2_x86_64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ x86-64

pybind11_numpy_example-1.0.1-cp38-cp38-musllinux_1_2_i686.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.2+ i686

pybind11_numpy_example-1.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (78.5 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

pybind11_numpy_example-1.0.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (84.2 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686

pybind11_numpy_example-1.0.1-cp38-cp38-macosx_11_0_arm64.whl (48.7 kB 查看哈希值)

上传时间 CPython 3.8 macOS 11.0+ ARM64

pybind11_numpy_example-1.0.1-cp38-cp38-macosx_10_9_x86_64.whl (51.5 kB 查看哈希值)

上传时间 CPython 3.8 macOS 10.9+ x86-64

由以下支持