Published July 14, 2023
| Version v2.11.0
Software
Open
pybind/pybind11: Version 2.11.0
Creators
- Wenzel Jakob1
- Henry Schreiner2
- Jason Rhinelander
- Dean Moldovan3
- Ralf W. Grosse-Kunstleve4
- Ivan Smirnov
- Aaron Gokaslan5
- Yannick Jadoul6
- Axel Huebl7
- Boris Staletic
- Eric Cousineau8
- Bruce Merry
- Sergei Izmailov
- Antony Lee
- Dustin Spicuzza
- Sylvain Corlay9
- Lori A. Burns10
- Dan
- Sergey Lyskov11
- Trent Houliston12
- bennorth
- jbarlow83
- Benjamin Pritchard13
- Laramie Leavitt
- Robert Haschke14
- Ethan Steinberg
- luzpaz
- Boris Schäling
- 1. EPFL
- 2. Princeton University
- 3. @lumicks
- 4. Google
- 5. @facebookresearch
- 6. Max Planck Institute for Psycholinguistics & Vrije Universiteit Brussel
- 7. LBNL, previously HZDR
- 8. Toyota Research Institute
- 9. QuantStack
- 10. Georgia Tech
- 11. Johns Hopkins University
- 12. @4TelPtyLtd
- 13. Virginia Tech/MolSSI
- 14. Bielefeld University
Description
New features:
- The newly added
pybind11::detail::is_move_constructible
trait can be specialized for cases in whichstd::is_move_constructible
does not work as needed. This is very similar to the long-establishedpybind11::detail::is_copy_constructible
. #4631 - Introduce
recursive_container_traits
. #4623 pybind11/type_caster_pyobject_ptr.h
was added to support automatic wrapping of APIs that make use ofPyObject *
. This header needs to included explicitly (i.e. it is not included implicitly withpybind/pybind11.h
). #4601format_descriptor<>
&npy_format_descriptor<>
PyObject *
specializations were added. The latter enablespy::array_t<PyObject *>
to/from-python conversions. #4674buffer_info
gained anitem_type_is_equivalent_to<T>()
member function. #4674- The
capsule
API gained a user-friendly constructor (py::capsule(ptr, "name", dtor)
). #4720
Changes:
PyGILState_Check()
's inpybind11::handle
'sinc_ref()
&dec_ref()
are now enabled by default again. #4246py::initialize_interpreter()
usingPyConfig_InitPythonConfig()
instead ofPyConfig_InitIsolatedConfig()
, to obtain completesys.path
. #4473- Cast errors now always include Python type information, even if
PYBIND11_DETAILED_ERROR_MESSAGES
is not defined. This increases binary sizes slightly (~1.5%) but the error messages are much more informative. #4463 - The docstring generation for the
std::array
-list caster was fixed. Previously, signatures included the size of the list in a non-standard, non-spec compliant way. The new format conforms to PEP 593. Tooling for processing the docstrings may need to be updated accordingly. #4679 - Setter return values (which are inaccessible for all practical purposes) are no longer converted to Python (only to be discarded). #4621
- Allow lambda specified to function definition to be
noexcept(true)
in C++17. #4593 - Get rid of recursive template instantiations for concatenating type signatures on C++17 and higher. #4587
- Compatibility with Python 3.12 (beta). Note that the minimum pybind11 ABI version for Python 3.12 is version 5. (The default ABI version for Python versions up to and including 3.11 is still version 4.). #4570
- With
PYBIND11_INTERNALS_VERSION 5
(default for Python 3.12+), MSVC builds usestd::hash<std::type_index>
andstd::equal_to<std::type_index>
instead of string-based type comparisons. This resolves issues when binding types defined in the unnamed namespace. #4319 - Python exception
__notes__
(introduced with Python 3.11) are now added to theerror_already_set::what()
output. #4678
Build system improvements:
- CMake 3.27 support was added, CMake 3.4 support was dropped. FindPython will be used if
FindPythonInterp
is not present. #4719 - Update clang-tidy to 15 in CI. #4387
- Moved the linting framework over to Ruff. #4483
- Skip
lto
checks and target generation whenCMAKE_INTERPROCEDURAL_OPTIMIZATION
is defined. #4643 - No longer inject
-stdlib=libc++
, not needed for modern Pythons (macOS 10.9+). #4639 - PyPy 3.10 support was added, PyPy 3.7 support was dropped. #4728
- Testing with Python 3.12 beta releases was added. #4713
Files
pybind/pybind11-v2.11.0.zip
Files
(872.1 kB)
Name | Size | Download all |
---|---|---|
md5:fd3ef20308bc00a5cac2128015218975
|
872.1 kB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/pybind/pybind11/tree/v2.11.0 (URL)