pybind11: Create Python bindings to C++ code#

Description#

pybind11 is a lightweight header-only 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](http://www.boost.org/doc/libs/1_58_0/libs/python/doc/) library by David Abrahams: to minimize boilerplate code in traditional extension modules by inferring type information using compile-time introspection.

License#

pybind11 is provided under a BSD-style license that can be found in the LICENSE file. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.

Upstream Contact#

https://github.com/pybind/pybind11

Type#

standard

Dependencies#

  • $(PYTHON)

  • $(PYTHON_TOOLCHAIN)

Version Information#

package-version.txt:

2.10.1

install-requires.txt:

pybind11 >=2.5.0

Equivalent System Packages#

conda:

$ conda install  pybind11

homebrew:

$ brew install pybind11

macports: install the following packages: py-pybind11

void:

$ sudo xbps-install  python3-pybind11

See https://repology.org/project/python:pybind11/versions

However, these system packages will not be used for building Sage because using Python site-packages is not supported by the Sage distribution; see trac ticket #29023