Skip to main content

PYB11Generator is a code generation tool which generates pybind11 code for binding C++ to Python. Documentation is available at https://pyb11generator.readthedocs.io/

Project description

PYB11Generator

PYB11Generator is a python based code generator that creates pybind11 code for binding C++ libraries as extensions in Python. PYB11Generator parses input that is very close to writing the desired interface in native python, turning this into the corresponding pybind11 C++ code.

Note, since PYB11Generator blindly generates C++ pybind11 code, it is essential to understand the pybind11 package itself as well! In other words, be sure to read and understand the pybind11 documentation before trying to go too far with PYB11Generator. The purpose of PYB11Generator is to reduce the burden of writing and maintaining redundant code when working with pybind11 (such as the trampoline classes), and provide a natural syntax for those already familiar with writing interfaces in Python. However, since the generated pybind11 code produced by PYB11Generator is what is actually compiled by a C++ compiler to create the corresponding python package, any errors reported by the compiler will refer to this generated code, and require understanding pybind11 itself to properly interpret.

Documentation

PYB11Generator is documented at readthedocs.

Note the source for this documentation is embedded in the PYB11Generator repository under docs/.

Contributions

Although a great deal of the functionality of pybind11 is available via PYB11Generator, there are certainly missing pieces and improvements that can be made. Contributions are welcome, and should be provided as pull requests to the main repository. Note all contributions must be provided under the same license for distribution (in this case the BSD license).

License

PYB11Generator is released under the BSD license.

LLNL-CODE-767799

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PYB11Generator-2.0.0.tar.gz (74.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PYB11Generator-2.0.0-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file PYB11Generator-2.0.0.tar.gz.

File metadata

  • Download URL: PYB11Generator-2.0.0.tar.gz
  • Upload date:
  • Size: 74.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.2

File hashes

Hashes for PYB11Generator-2.0.0.tar.gz
Algorithm Hash digest
SHA256 cb15e9853c922d06528e2a067eff73cf5b89481d9ea6bef81dab82df9562aedb
MD5 f6a4786daefc173a8ef3cb2b15642992
BLAKE2b-256 010419605078d6726a98b41f4d442debbb33ad061c42ffe5e355944292c488ab

See more details on using hashes here.

File details

Details for the file PYB11Generator-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: PYB11Generator-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.2

File hashes

Hashes for PYB11Generator-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8a2b21cd1c1c8455ec5e129bd04898ba2fd9cb923c36517906189c8415772b7
MD5 479bcc78055bb035634ac92135942353
BLAKE2b-256 38acf3c333a481a3a50b683f178b6613d52be3757d8d9f71834903d0a634cbe0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page