1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
Source: cppimport
Section: python
Priority: optional
Maintainer: Debian Python Team <team+python@tracker.debian.org>
Uploaders: Joshua Peisach <itzswirlz2020@outlook.com>
Build-Depends: debhelper-compat (= 13),
pybuild-plugin-pyproject,
python3-all-dev,
python3-filelock,
python3-mako,
python3-pybind11,
python3-pytest,
python3-setuptools,
python3-setuptools-scm,
Standards-Version: 4.7.0
Homepage: https://github.com/tbenthompson/cppimport
Vcs-Browser: https://salsa.debian.org/python-team/packages/cppimport
Vcs-Git: https://salsa.debian.org/python-team/packages/cppimport.git
Testsuite: autopkgtest-pkg-python
Rules-Requires-Root: no
Package: python3-cppimport
Architecture: all
Depends: python3-mako,
python3-pybind11,
${python3:Depends},
${misc:Depends}
Description: cppimport - Import C++ directly from Python! (Python 3)
Sometimes Python just isn't fast enough. Or you have existing code in
a C++ library. cppimport combines the process of compiling and
importing an extension in Python so that you can type modulename =
cppimport.imp("modulename") and not have to worry about multiple
steps.
.
cppimport looks for a C or C++ source file that matches the requested
module. If such a file exists, the file is first run through the Mako
templating system. The compilation options produced by the Mako pass
are then used to compile the file as a Python extension. The extension
(shared library) that is produced is placed in the same folder as the
C++ source file. Then, the extension is loaded.
.
Most cppimport users combine it with pybind11, but you can use a range
of methods to create your Python extensions. Raw C extensions,
Boost.Python, SWIG all work.
|