• Home
  • Raw
  • Download

Lines Matching +full:pypy3 +full:- +full:c

1 .. figure:: https://github.com/pybind/pybind11/raw/master/docs/pybind11-logo.png
4 **pybind11 — Seamless operability between C++11 and Python**
8 |Repology| |PyPI package| |Conda-forge| |Python Versions|
11 • `Scikit-build example <https://github.com/pybind/scikit_build_example>`_
30 **pybind11** is a lightweight header-only library that exposes C++ types
32 C++ code. Its goals and syntax are similar to the excellent
35 extension modules by inferring type information using compile-time
40 of utility libraries that works with almost every C++ compiler in
43 specimens. Now that C++11-compatible compilers are widely available,
47 Think of this library as a tiny self-contained version of Boost.Python
50 lines of code and depend on Python (2.7 or 3.5+, or PyPy) and the C++
52 some of the new C++11 language features (specifically: tuples, lambda
66 -------------
69 pybind11 can map the following core C++ features to Python:
71 - Functions accepting and returning custom data structures per value,
73 - Instance methods and static methods
74 - Overloaded functions
75 - Instance attributes and static attributes
76 - Arbitrary exception types
77 - Enumerations
78 - Callbacks
79 - Iterators and ranges
80 - Custom operators
81 - Single and multiple inheritance
82 - STL data structures
83 - Smart pointers with reference counting like ``std::shared_ptr``
84 - Internal references with correct reference counting
85 - C++ classes with virtual (and pure virtual) methods can be extended
89 -------
94 - Python 2.7, 3.5+, and PyPy/PyPy3 7.3 are supported with an
95 implementation-agnostic interface.
97 - It is possible to bind C++11 lambda functions with captured
101 - pybind11 uses C++11 move constructors and move assignment operators
104 - It’s easy to expose the internal storage of custom data types through
106 between C++ matrix classes like Eigen and NumPy without expensive
109 - pybind11 can automatically vectorize functions so that they are
113 - Python’s slice-based access and assignment operations can be
116 - Everything is contained in just a few header files; there is no need
119 - Binaries are generally smaller by a factor of at least 2 compared to
122 `reported <http://graylab.jhu.edu/RosettaCon2016/PyRosetta-4.pdf>`_
126 - Function signatures are precomputed at compile time (using
129 - With little extra effort, C++ types can be pickled and unpickled
133 -------------------
139 4. Intel classic C++ compiler 18 or newer (ICC 20.2 tested in CI)
145 -----
150 Sylvain Corlay, Eric Cousineau, Ralf Grosse-Kunstleve, Trent Houliston, Axel
169 pybind11 is provided under a BSD-style license that can be found in the
176 .. |Stable Documentation Status| image:: https://img.shields.io/badge/docs-stable-blue.svg
186 .. |Conda-forge| image:: https://img.shields.io/conda/vn/conda-forge/pybind11.svg
187 :target: https://github.com/conda-forge/pybind11-feedstock
188 .. |Repology| image:: https://repology.org/badge/latest-versions/python:pybind11.svg