Published December 28, 2021
| Version v2.9.0
Software
Open
pybind/pybind11: Version 2.9.0
Authors/Creators
- Wenzel Jakob1
- Jason Rhinelander
- Henry Schreiner2
- Dean Moldovan3
- Ivan Smirnov
- Ralf W. Grosse-Kunstleve4
- Yannick Jadoul5
- Aaron Gokaslan6
- Boris Staletic
- Axel Huebl7
- Eric Cousineau8
- Bruce Merry
- Antony Lee
- Sylvain Corlay9
- Lori A. Burns10
- Dan
- Sergei Izmailov
- Sergey Lyskov11
- Trent Houliston12
- bennorth
- jbarlow83
- Dustin Spicuzza
- Pim Schellart
- Benjamin Pritchard13
- Robert Haschke14
- Boris Schäling
- tmiasko
- Jeremy Maitin-Shepard
- 1. EPFL
- 2. Princeton University
- 3. @lumicks
- 4. Google
- 5. Max Planck Institute for Psycholinguistics & Vrije Universiteit Brussel
- 6. @facebookresearch
- 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
This is the last version to support Python 2.7 and 3.5.
New Features:
- Allow
py::argsto be followed by other arguments; the remaining arguments are implicitly keyword-only, as if apy::kw_only{}annotation had been used. #3402 - Add C++ Exception type to throw and catch
AttributeError. Useful for defining custom__setattr__and__getattr__methods. #3387
Changes:
- Make str/bytes/memoryview more interoperable with
std::string_view. #3521 - Replace
_withconst_namein internals, avoid definingpybind::_if_defined as macro (common gettext usage) #3423
Bug fixes:
- Fix a regression in 2.8.0 that caused undefined behavior (typically segfaults) in
make_key_iterator/make_value_iteratorif dereferencing the iterator returned a temporary value instead of a reference. #3348 - Fix a rare warning about extra copy in an Eigen constructor. #3486
- Fix caching of the C++ overrides. #3465
- Add missing
std::forwardcalls to somecpp_functionoverloads. #3443 - Support PyPy 7.3.7 and the PyPy3.8 beta. Test python-3.11 on PRs with the
python devlabel. #3419 - Fix 2.8.0 regression with MSVC 2017 + C++17 mode + Python 3. #3407
- Modernize usage of
PyCodeObjecton Python 3.9 (toward supporting Python 3.11a1) #3368 - A long-standing bug in eigen.h was fixed (originally PR #3343). The bug was unmasked by newly added
static_assert's in the Eigen 3.4.0 release. #3352 - Replace usage of deprecated
Eigen::MappedSparseMatrixwithEigen::Map<Eigen::SparseMatrix<...>>for Eigen 3.3+. #3499 - Fixed the potential for dangling references when using properties with
std::optionaltypes. #3376 - Tweaks to support Microsoft Visual Studio 2022. #3497
Build system improvements:
- Nicer CMake printout and IDE organisation for pybind11's own tests. #3479
- CMake: report version type as part of the version string to avoid a spurious space in the package status message. #3472
- Support multiple raw inclusion of CMake helper files (Conan.io does this for multi-config generators). #3420
- Fix harmless warning on CMake 3.22. #3368
- Flags starting with
-gin$CFLAGSand$CPPFLAGSare no longer overridden by.Pybind11Extension. #3436 - Ensure ThreadPool is closed in
setup_helpers. #3548 - Avoid LTS on
mips64andppc64le(reported broken). #3557
Files
pybind/pybind11-v2.9.0.zip
Files
(805.8 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:855830beddcd40ab4760a58e7f9a1e34
|
805.8 kB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/pybind/pybind11/tree/v2.9.0 (URL)