./devel/py-pybind11, Seamless operability between C++11 and Python

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.13.6, Package name: py312-pybind11-2.13.6, Maintainer: pkgsrc-users

pybind11 is a lightweight header-only library that exposes C++ types in Python
and vice versa, mainly to create Python bindings of existing C++ code. Its
goals and syntax are similar to the excellent Boost.Python by David Abrahams:
to minimize boilerplate code in traditional extension modules by inferring type
information using compile-time introspection.


Required to run:
[devel/py-setuptools] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 213.284 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-09-14 10:05:20 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-pybind11: updated to 2.13.6

2.13.6

New Features:

A new self._pybind11_conduit_v1_() method is automatically added to all \ 
py::class_-wrapped types, to enable type-safe interoperability between different \ 
independent Python/C++ bindings systems, including pybind11 versions with \ 
different PYBIND11_INTERNALS_VERSION's. Supported on pybind11 2.11.2, 2.12.1, \ 
and 2.13.6+.

Bug fixes:

Using __cpp_nontype_template_args instead of __cpp_nontype_template_parameter_class.
Properly translate C++ exception to Python exception when creating Python buffer \ 
from wrapped object.

Documentation:

Adds an answer (FAQ) for "What is a highly conclusive and simple way to \ 
find memory leaks?".
   2024-08-24 09:07:21 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pybind11: updated to 2.13.5

Version 2.13.5

Bug fixes:

Fix includes when using Windows long paths (\\?\ prefix).
Support -Wpedantic in C++20 mode.
Fix and test <ranges> support for py::tuple and py::list.
   2024-08-15 09:26:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-pybind11: updated to 2.13.4

Version 2.13.4

Bug fixes:

Fix paths with spaces, including on Windows.

Documentation:

Remove repetitive words.
   2024-08-14 08:21:50 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-pybind11: updated to 2.13.3

Version 2.13.3

Bug fixes:

Quote paths from pybind11-config
Fix typo in Emscripten support when in config mode (CMake)

Version 2.13.2

New Features:

A pybind11::detail::type_caster_std_function_specializations feature was added, \ 
to support specializations for std::function's with return types that require \ 
custom to-Python conversion behavior (to primary use case is to catch and \ 
convert exceptions).

Changes:

Use PyMutex instead of std::mutex for internal locking in the free-threaded build.
Add a special type annotation for C++ empty tuple.
When compiling for WebAssembly, add the required exception flags (CMake 3.13+).

Bug fixes:

Make gil_safe_call_once_and_store thread-safe in free-threaded CPython.
A missing #include <algorithm> in pybind11/typing.h was added to fix build \ 
errors (in case user code does not already depend on that include).
Fix regression introduced in 5201 for GCC<10.3 in C++20 mode.
Remove extra = when assigning flto value in the case for Clang in CMake.

Tests:

Adding WASM testing to our CI (Pyodide / Emscripten via scikit-build-core).
clang-tidy (in GitHub Actions) was updated from clang 15 to clang 18.
   2024-07-01 00:02:55 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-pybind11: update to 2.13.1.

2.13.1

New Features:

    Add support for Typing.Callable[..., T]. #5202

Bug fixes:

    Avoid aligned allocation in free-threaded build in order to support macOS \ 
versions before 10.14. #5200

2.13.0

New Features:

    Support free-threaded CPython (3.13t). Add py::mod_gil_not_used() tag to \ 
indicate if a module supports running with the GIL disabled. #5148
    Support for Python 3.6 was removed. (Official end-of-life: 2021-12-23). #5177
    py::list gained a .clear() method. #5153
    Support for Union, Optional, type[T], typing.TypeGuard, typing.TypeIs, \ 
typing.Never, typing.NoReturn and typing.Literal was added to pybind11/typing.h. \ 
#5166 #5165 #5194 #5193 #5192
    In CMake, if PYBIND11_USE_CROSSCOMPILING is enabled, then \ 
CMAKE_CROSSCOMPILING will be respected and will keep pybind11 from accessing the \ 
interpreter during configuration. Several CMake variables will be required in \ 
this case, but can be deduced from the environment variable \ 
SETUPTOOLS_EXT_SUFFIX. The default (currently OFF) may be changed in the future. \ 
#5083

Bug fixes:

    A refcount bug (leading to heap-use-after-free) involving trampoline \ 
functions with PyObject * return type was fixed. #5156
    Return py::ssize_t from .ref_count() instead of int. #5139
    A subtle bug involving C++ types with unusual operator& overrides was \ 
fixed. #5189
    Support Python 3.13 with minor fix, add to CI. #5127
    Fix mistake affecting old cmake and old boost. #5149

Documentation:

    Build docs updated to feature scikit-build-core and meson-python, and \ 
updated setuptools instructions. #5168

Tests:

    Avoid immortal objects in tests. #5150

CI:

    Compile against Python 3.13t in CI.
    Use macos-13 (Intel) for CI jobs for now (will drop Python 3.7 soon). #5109
    Releases now have artifact attestations, visible at \ 
https://github.com/pybind/pybind11/attestations. #5196

Other:

    Some cleanup in preparation for 3.13 support. #5137
    Avoid a warning by ensuring an iterator end check is included in release \ 
mode. #5129
    Bump max cmake to 3.29. #5075
    Update docs and noxfile. #5071
   2024-04-06 08:34:39 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
py-pybind11: update to 2.12.0.

Convert to wheel.mk.

New Features:

    pybind11 now supports compiling for NumPy 2. Most code shouldn't change (see \ 
upgrade-guide-2.12 for details). However, if you experience issues you can \ 
define PYBIND11_NUMPY_1_ONLY to disable the new support for now, but this will \ 
be removed in the future. #5050
    pybind11/gil_safe_call_once.h was added (it needs to be included \ 
explicitly). The primary use case is GIL-safe initialization of C++ static \ 
variables. #4877
    Support move-only iterators in py::make_iterator, py::make_key_iterator, \ 
py::make_value_iterator. #4834
    Two simple py::set_error() functions were added and the documentation was \ 
updated accordingly. In particular, py::exception<>::operator() was \ 
deprecated (use one of the new functions instead). The documentation for \ 
py::exception<> was further updated to not suggest code that may result in \ 
undefined behavior. #4772

Bug fixes:

    Removes potential for Undefined Behavior during process teardown. #4897
    Improve compatibility with the nvcc compiler (especially CUDA 12.1/12.2). #4893
    pybind11/numpy.h now imports NumPy's multiarray and _internal submodules \ 
with paths depending on the installed version of NumPy (for compatibility with \ 
NumPy 2). #4857
    Builtins collections names in docstrings are now consistently rendered in \ 
lowercase (list, set, dict, tuple), in accordance with PEP 585. #4833
    Added py::typing::Iterator<T>, py::typing::Iterable<T>. #4832
    Render py::function as Callable in docstring. #4829
    Also bump PYBIND11_INTERNALS_VERSION for MSVC, which unlocks two new \ 
features without creating additional incompatibilities. #4819
    Guard against crashes/corruptions caused by modules built with different \ 
MSVC versions. #4779
    A long-standing bug in the handling of Python multiple inheritance was \ 
fixed. See PR #4762 for the rather complex details. #4762
    Fix bind_map with using declarations. #4952
    Qualify py::detail::concat usage to avoid ADL selecting one from somewhere \ 
else, such as modernjson's concat. #4955
    Use new PyCode API on Python 3.12+. #4916
    Minor cleanup from warnings reported by Clazy. #4988
    Remove typing and duplicate class_ for KeysView/ValuesView/ItemsView. #4985
    Use PyObject_VisitManagedDict() and PyObject_ClearManagedDict() on Python \ 
3.13 and newer. #4973
    Update make_static_property_type() to make it compatible with Python 3.13. #4971

    Render typed iterators for make_iterator, make_key_iterator, \ 
make_value_iterator. #4876
    Add several missing type name specializations. #5073
    Change docstring render for py::buffer, py::sequence and py::handle (to \ 
Buffer, Sequence, Any). #4831
    Fixed base_enum.__str__ docstring. #4827
    Enforce single line docstring signatures. #4735
    Special 'typed' wrappers now available in typing.h to annotate tuple, dict, \ 
list, set, and function. #4259
    Create handle_type_name specialization to type-hint variable length tuples. #5051

    Setting PYBIND11_FINDPYTHON to OFF will force the old FindPythonLibs \ 
mechanism to be used. #5042
    Skip empty PYBIND11_PYTHON_EXECUTABLE_LAST for the first cmake run. #4856
    Fix FindPython mode exports & avoid pkg_resources if importlib.metadata \ 
available. #4941
    Python_ADDITIONAL_VERSIONS (classic search) now includes 3.12. #4909
    pybind11.pc is now relocatable by default as long as install destinations \ 
are not absolute paths. #4830
    Correctly detect CMake FindPython removal when used as a subdirectory. #4806
    Don't require the libs component on CMake 3.18+ when using \ 
PYBIND11_FINDPYTHON (fixes manylinux builds). #4805
    pybind11_strip is no longer automatically applied when CMAKE_BUILD_TYPE is \ 
unset. #4780
    Support DEBUG_POSFIX correctly for debug builds. #4761
    Hardcode lto/thin lto for Emscripten cross-compiles. #4642
    Upgrade maximum supported CMake version to 3.27 to fix CMP0148 warnings. #4786

Documentation:

    Small fix to grammar in functions.rst. #4791
    Remove upper bound in example pyproject.toml for setuptools. #4774

CI:

    CI: Update NVHPC to 23.5 and Ubuntu 20.04. #4764
    Test on PyPy 3.10. #4714

Other:

    Use Ruff formatter instead of Black. #4912
    An assert() was added to help Coverty avoid generating a false positive. #4817
   2024-01-03 16:22:06 by Thomas Klausner | Files touched by this commit (1)
Log message:
py-pybind11: disallow Python 2 before including pyversion.mk so it works