openkim / kliff

KIM-based Learning-Integrated Fitting Framework for interatomic potentials.
https://kliff.readthedocs.io
GNU Lesser General Public License v2.1
34 stars 20 forks source link

Bump pybind11 from 2.7.1 to 2.8.0 #17

Closed dependabot[bot] closed 2 years ago

dependabot[bot] commented 2 years ago

Bumps pybind11 from 2.7.1 to 2.8.0.

Release notes

Sourced from pybind11's releases.

Version 2.8.0

New features:

  • Added py::raise_from to enable chaining exceptions. #3215
  • Allow exception translators to be optionally registered local to a module instead of applying globally across all pybind11 modules. Use register_local_exception_translator(ExceptionTranslator&& translator) instead of register_exception_translator(ExceptionTranslator&& translator) to keep your exception remapping code local to the module. #2650
  • Add make_simple_namespace function for instantiating Python SimpleNamespace objects. #2840
  • pybind11::scoped_interpreter and initialize_interpreter have new arguments to allow sys.argv initialization. #2341
  • Allow Python builtins to be used as callbacks in CPython. #1413
  • Added view to view arrays with a different datatype. #987
  • Implemented reshape on arrays. #984
  • Enable defining custom __new__ methods on classes by fixing bug preventing overriding methods if they have non-pybind11 siblings. #3265
  • Add make_value_iterator(), and fix make_key_iterator() to return references instead of copies. #3293
  • Improve the classes generated by bind_map: #3310
    • Change .items from an iterator to a dictionary view.
    • Add .keys and .values (both dictionary views).
    • Allow __contains__ to take any object.
  • pybind11::custom_type_setup was added, for customizing the PyHeapTypeObject corresponding to a class, which may be useful for enabling garbage collection support, among other things. #3287

Changes:

  • Set __file__ constant when running eval_file in an embedded interpreter. #3233
  • Python objects and (C++17) std::optional now accepted in py::slice constructor. #1101
  • The pybind11 proxy types str, bytes, bytearray, tuple, list now consistently support passing ssize_t values for sizes and indexes. Previously, only size_t was accepted in several interfaces. #3219
  • Avoid evaluating PYBIND11_TLS_REPLACE_VALUE arguments more than once. #3290

Fixes:

  • Bug fix: enum value's __int__ returning non-int when underlying type is bool or of char type #1334
  • Fixes bug in setting error state in Capsule's pointer methods. #3261
  • A long-standing memory leak in py::cpp_function::initialize was fixed. #3229
  • Fixes thread safety for some pybind11::type_caster which require lifetime extension, such as for std::string_view. #3237
  • Restore compatibility with gcc 4.8.4 as distributed by ubuntu-trusty, linuxmint-17. #3270

Build system improvements:

  • Fix regression in CMake Python package config: improper use of absolute path. #3144
  • Cached Python version information could become stale when CMake was re-run with a different Python version. The build system now detects this and updates this information. #3299
  • Specified UTF8-encoding in setup.py calls of open(). #3137
  • Fix a harmless warning from CMake 3.21 with the classic Python discovery. #3220
  • Eigen repo and version can now be specified as cmake options. #3324

Backend and tidying up:

  • Reduced thread-local storage required for keeping alive temporary data for type conversion to one key per ABI version, rather than one key per extension module. This makes the total thread-local storage required by pybind11 2 keys per ABI version. #3275
  • Optimize NumPy array construction with additional moves. #3183
  • Conversion to std::string and std::string_view now avoids making an extra copy of the data on Python >= 3.3. #3257
  • Remove const modifier from certain C++ methods on Python collections (list, set, dict) such as (clear(), append(), insert(), etc...) and annotated them with py-non-const.
  • Enable readability clang-tidy-const-return and remove useless consts. #3254 #3194
  • The clang-tidy google-explicit-constructor option was enabled. #3250
  • Mark a pytype move constructor as noexcept (perf). #3236

... (truncated)

Changelog

Sourced from pybind11's changelog.

v2.8.0 (Oct 4, 2021)

New features:

  • Added py::raise_from to enable chaining exceptions. [#3215](https://github.com/pybind/pybind11/issues/3215) <https://github.com/pybind/pybind11/pull/3215>_

  • Allow exception translators to be optionally registered local to a module instead of applying globally across all pybind11 modules. Use register_local_exception_translator(ExceptionTranslator&& translator) instead of register_exception_translator(ExceptionTranslator&& translator) to keep your exception remapping code local to the module. [#2650](https://github.com/pybind/pybind11/issues/2650) <https://github.com/pybind/pybind11/pull/2650>_

  • Add make_simple_namespace function for instantiating Python SimpleNamespace objects. [#2840](https://github.com/pybind/pybind11/issues/2840) <https://github.com/pybind/pybind11/pull/2840>_

  • pybind11::scoped_interpreter and initialize_interpreter have new arguments to allow sys.argv initialization. [#2341](https://github.com/pybind/pybind11/issues/2341) <https://github.com/pybind/pybind11/pull/2341>_

  • Allow Python builtins to be used as callbacks in CPython. [#1413](https://github.com/pybind/pybind11/issues/1413) <https://github.com/pybind/pybind11/pull/1413>_

  • Added view to view arrays with a different datatype. [#987](https://github.com/pybind/pybind11/issues/987) <https://github.com/pybind/pybind11/pull/987>_

  • Implemented reshape on arrays. [#984](https://github.com/pybind/pybind11/issues/984) <https://github.com/pybind/pybind11/pull/984>_

  • Enable defining custom __new__ methods on classes by fixing bug preventing overriding methods if they have non-pybind11 siblings. [#3265](https://github.com/pybind/pybind11/issues/3265) <https://github.com/pybind/pybind11/pull/3265>_

  • Add make_value_iterator(), and fix make_key_iterator() to return references instead of copies. [#3293](https://github.com/pybind/pybind11/issues/3293) <https://github.com/pybind/pybind11/pull/3293>_

  • Improve the classes generated by bind_map: [#3310](https://github.com/pybind/pybind11/issues/3310) <https://github.com/pybind/pybind11/pull/3310>_

    • Change .items from an iterator to a dictionary view.
    • Add .keys and .values (both dictionary views).
    • Allow __contains__ to take any object.
  • pybind11::custom_type_setup was added, for customizing the PyHeapTypeObject corresponding to a class, which may be useful for enabling garbage collection support, among other things. [#3287](https://github.com/pybind/pybind11/issues/3287) <https://github.com/pybind/pybind11/pull/3287>_

... (truncated)

Commits
  • 97976c1 [pre-commit.ci] pre-commit autoupdate (#3325)
  • 3747dc2 Revert "All -DDOWNLOAD_EIGEN=OFF (to work around gitlab eigen outage)." (#3...
  • c9a319c chore: version 2.8.0 final
  • 20aae3e ci: disable Eigen due to Cert issue on CentOS
  • 591db0b docs: update CHANGELOG for 2.8
  • 9f146a5 All -DDOWNLOAD_EIGEN=OFF (to work around gitlab eigen outage).
  • d7a7edc tests: support Eigen configuration
  • ad96655 fix: replace free() with std::free() (#3321)
  • b3573ac feat: add .keys and .values to bind_map (#3310)
  • b4e1ab8 Docs: Demonstrate non-enum internal types in example (#3314)
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
dependabot[bot] commented 2 years ago

Superseded by #20.