pybind11 is a lightweight header library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code. Its goals and syntax are similar to the excellent Boost.Python library by David Abrahams: to minimize boilerplate code in traditional extension modules by inferring type information using compile-time introspection.
The main issue with Boost.Python-and the reason for creating such a similar project-is Boost. Boost is an enormously large and complex suite of utility libraries that works with almost every C++ compiler in existence. This compatibility has its cost: arcane template tricks and workarounds are necessary to support the oldest and buggiest of compiler specimens. Now that C++11-compatible compilers are widely available, this heavy machinery has become an excessively large and unnecessary dependency.
Think of this library as a tiny self-contained version of Boost.Python with everything stripped away that isn’t relevant for binding generation. Without comments, the core header files only require ~2.5K lines of code and depend on Python (2.7 or 3.x) and the C++ standard library. This compact implementation was possible thanks to some of the new C++11 language features (specifically: tuples, lambda functions and variadic templates). Since its creation, this library has grown beyond Boost.Python in many ways, leading to dramatically simpler binding code in many common situations.
Metadata
Release files for pybind11 1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pybind11-1.5.tar.gz | 36.7 kB | Without provenance | Details for pybind11-1.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pybind11-1.5-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for pybind11-1.5-py2.py3-none-any.whl |
Total release size: 82.7 kB
Release files / pybind11-1.5.tar.gz
| Download URL | pybind11-1.5.tar.gz |
|---|---|
| Size | 36.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea3008865d31d82dabee9a503ac6fd9190a6a390403494414bf9ab5da48e7326
|
|
BLAKE2b-256 checksum How to use checksums |
98cc4dbe95bcb9636e02e68a5c3b25ee70c65afa7cffb8db886b0d01b3e0be6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / pybind11-1.5-py2.py3-none-any.whl
| Download URL | pybind11-1.5-py2.py3-none-any.whl |
|---|---|
| Size | 46.0 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
a71817b44fbd7cb720fb6f72bbfac6bc23a191ee4a460beec9da44b3f6130e62
|
|
BLAKE2b-256 checksum How to use checksums |
ebb6568b9f2abbede38e2c8b44bec453e0cc31cfc94df291352457b2119cfb14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for pybind11 1.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.