Skip to content

Commit c0216a6

Browse files
authored
binary-extensions: add pybind11
1 parent 2957f07 commit c0216a6

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

source/guides/packaging-binary-extensions.rst

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,16 @@ wrapper modules up to date.
161161

162162
* In addition to being useful for the creation of accelerator modules,
163163
`Cython <http://cython.org/>`__ is also useful for creating wrapper
164-
modules. It still involves wrapping the interfaces by hand, however, so
165-
may not be a good choice for wrapping large APIs.
164+
modules for C or C++. It still involves wrapping the interfaces by
165+
hand, however, and is very repetitive, so may not be a good choice for
166+
wrapping large APIs.
167+
168+
* `pybind11 <https://pybind11.readthedocs.io>`__ is a pure C++11 library
169+
that provides a clean C++ interface to the CPython (and PyPy) C API. It
170+
does not require a pre-processing step; it is written entirely in
171+
templated C++. Helpers are included for Setuptools or CMake builds. It
172+
was based on `Boost.Python <https://www.boost.org/doc/libs/1_76_0/libs/python/doc/html/index.html>`__,
173+
but doesn't require the Boost libraries or BJam.
166174

167175
* `cffi <https://cffi.readthedocs.io/>`__ is a project created by some of the PyPy
168176
developers to make it straightforward for developers that already know
@@ -176,7 +184,7 @@ wrapper modules up to date.
176184

177185
* `SWIG <http://www.swig.org/>`__ is a wrapper interface generator that
178186
allows a variety of programming languages, including Python, to interface
179-
with C *and C++* code.
187+
with C and C++ code.
180188

181189
* The standard library's ``ctypes`` module, while useful for getting access
182190
to C level interfaces when header information isn't available, suffers

0 commit comments

Comments
 (0)