Commit Graph

2977 Commits

Author SHA1 Message Date
Steve R. Sun
7821798078
Merge branch 'pybind:master' into master 2023-02-05 08:54:21 +08:00
Aaron Gokaslan
08a89fac3a
bugfix: delete proper ctors in gil.h (#4490) 2023-02-04 13:40:13 -05:00
Steve R. Sun
b6edf6668e
Merge branch 'pybind:master' into master 2023-02-02 08:06:09 +08:00
Henry Schreiner
3efe9d4cb5
chore: update to black 23 (#4482)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-02-01 14:23:37 -05:00
Daniel Jacobs
44e9368222
Use PyConfig_InitPythonConfig instead of PyConfig_InitIsolatedConfig (#4473)
* Use PyConfig_InitPythonConfig instead of PyConfig_InitIsolatedConfig

* add unit test for default python configuration

---------

Co-authored-by: Daniel Jacobs <daniel.jacobs@is4s.com>
2023-01-31 23:42:05 -08:00
Ralf W. Grosse-Kunstleve
c71e3af73f
Bump isort version to 5.12.0 (#4480) 2023-01-31 22:44:18 -08:00
Steve R. Sun
9f574a741f
Merge branch 'pybind:master' into master 2023-01-20 09:12:49 +08:00
Ralf W. Grosse-Kunstleve
a500f439d0
Resolve new flake8 error (#4462)
* Resolve flake8 error by replacing `pytest.raises(Exception)` with `SystemError`

* Also remove the obsolete comment.

* Tweak comment instead of removing it.
2023-01-19 10:48:46 -08:00
Steve R. Sun
590fc5b102
Merge branch 'pybind:master' into master 2023-01-19 09:23:44 +08:00
albanD
c709d2a83e
Make sure to properly untrack gc objects before freeing them (#4461)
* Make sure to properly untrack gc objects before freeing them

* style: pre-commit fixes

* Fix lint

* Add comment about where the original track comes from

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-01-18 12:11:26 -08:00
Steve R. Sun
86d96b6fa1
Merge branch 'pybind:master' into master 2023-01-15 09:40:57 +08:00
Ralf W. Grosse-Kunstleve
e53d58af6c
Ensure import pybind11_tests traceback is shown. (#4455) 2023-01-14 16:47:56 -05:00
Steve R. Sun
b2b6271281
Merge branch 'pybind:master' into master 2023-01-14 09:43:44 +08:00
Ralf W. Grosse-Kunstleve
d821788bb6
Add clang15 C++20 job (#4443) 2023-01-12 17:50:28 -08:00
Steve R. Sun
a1f63c4097
Merge branch 'pybind:master' into master 2023-01-04 08:58:33 +08:00
Henry Schreiner
a34596bfe1
chore: back to work
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-01-03 14:23:36 -05:00
Henry Schreiner
b2d7ad72c2
chore: prepare for 2.10.3 (#4437)
* docs: update changelog for v2.10.3

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* chore: bump versions for 2.10.3

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* chore: fix make changelog script with entry is empty

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2023-01-03 11:34:22 -05:00
pre-commit-ci[bot]
769fd3b889
chore(deps): update pre-commit hooks (#4439)
updates:
- [github.com/asottile/pyupgrade: v3.3.0 → v3.3.1](https://github.com/asottile/pyupgrade/compare/v3.3.0...v3.3.1)
- [github.com/PyCQA/isort: 5.10.1 → 5.11.4](https://github.com/PyCQA/isort/compare/5.10.1...5.11.4)
- [github.com/psf/black: 22.10.0 → 22.12.0](https://github.com/psf/black/compare/22.10.0...22.12.0)
- [github.com/PyCQA/pylint: v2.15.8 → v2.15.9](https://github.com/PyCQA/pylint/compare/v2.15.8...v2.15.9)
- [github.com/shellcheck-py/shellcheck-py: v0.8.0.4 → v0.9.0.2](https://github.com/shellcheck-py/shellcheck-py/compare/v0.8.0.4...v0.9.0.2)
- [github.com/pre-commit/mirrors-clang-format: v15.0.4 → v15.0.6](https://github.com/pre-commit/mirrors-clang-format/compare/v15.0.4...v15.0.6)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-01-03 10:21:05 -05:00
cyy
e3e24f3f65
fix: issuses detected by static analyzer (#4440)
* fix incorrect variable check

* remove duplicated check

* remove unneeded const cast
2023-01-03 10:20:39 -05:00
Ralf W. Grosse-Kunstleve
6da268a5c5
ci: remove clang 10 C++20 (it broke recently) (#4438)
* Remove clang 10 C++20 (it broke recently), add clang 15 C++20 while we are at it.

* No luck trying clang15: Error response from daemon: manifest for silkeh/clang:15 not found: manifest unknown: manifest unknown. Giving up, this needs to be a separate PR.
2023-01-03 08:46:55 -05:00
Steve R. Sun
b28593e40c
Merge branch 'pybind:master' into master 2023-01-03 10:47:51 +08:00
Ralf W. Grosse-Kunstleve
f12e098f1d
Fix detail::obj_class_name() to work correctly for meta classes. (#4436)
* Fix `detail::obj_class_name()` to work correctly for meta classes.

* Adjust expected name for PyPy
2023-01-02 03:46:17 -08:00
Steve R. Sun
d4612924cb
Merge branch 'pybind:master' into master 2022-12-31 08:51:22 +08:00
Ethan Steinberg
60f02f5f66
fix: improve the error reporting for inc_ref GIL failures (#4427)
* First

* Fixs

* Improve

* Additional assertions comment

* Improve docs
2022-12-30 13:46:55 -05:00
Steve R. Sun
de0600e209
Merge branch 'pybind:master' into master 2022-12-29 09:02:06 +08:00
kajananchinniah
70af9873c2
docs: fixed typo in spelling of first (#4428) 2022-12-28 12:49:57 -05:00
Steve R. Sun
db7ad7f15d
Merge branch 'pybind:master' into master 2022-12-28 08:50:08 +08:00
Aaron Gokaslan
7f23e9f3a4
chore: update clang-tidy to 15 (#4387)
* chore: update clang-tidy to 15

* Add git

* Add NOLINTNEXTLINE for assignment in if

* Update CONTRIBUTING.md

* Add NOLINTNEXTLINE where needed

* Add one more NOLINTNEXTLINE

* stl_bind: make more readable

* Another missing NOLINTNEXTLINE

* Match style elsewhere

* Apply reviewer suggestion. Mark false positive
2022-12-27 15:14:10 -05:00
Steve R. Sun
3bcab95e80
Merge branch 'pybind:master' into master 2022-12-26 08:31:54 +08:00
Henry Schreiner
0694ec6a15
chore: preapre for 2.10.2 release (#4414)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-12-20 17:57:47 -05:00
Henry Schreiner
3fd1520de2
docs: changelog for next version (#4413)
* docs: changelog for next version

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* docs: address feedback

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-12-20 14:47:41 -05:00
Ethan Steinberg
ee4b9f5d7b
Fix ODR violations in our Eigen Tensor tests (#4412)
* First

* Fix centos 7 again :(

* Fix minor nits
2022-12-20 05:34:00 -08:00
Henry Schreiner
a97c4d220e
fix(cmake): support Windows ARM cross-compilation (#4406)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-12-19 14:36:39 -05:00
Martin Blanchard
09db6445d8
IPO/LTO support for ICX (IntelLLVM) compiler (#4402)
* IPO/LTO support for ICX (IntelLLVM) compiler

https://github.com/pybind/pybind11/issues/4080

* style: pre-commit fixes

* Add WARNING/HELP WANTED comment.

Co-authored-by: Martin Blanchard <martin.blanchard@siemens.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ralf W. Grosse-Kunstleve <rwgk@google.com>
2022-12-15 21:10:46 -08:00
Ralf W. Grosse-Kunstleve
ece1206b8a
ci: set env: VERBOSE: 1 (#4405)
* Revert "Systematically add `-DCMAKE_VERBOSE_MAKEFILE=ON` to obtain full command lines related to `-Wodr` (#4398)"

This reverts commit ff42f5254a.

* Set `env: VERBOSE: 1` as suggested by @henryiii

* Set `env: VERBOSE: 1` also in all other .yml files using cmake
2022-12-15 16:19:13 -05:00
Martin Blanchard
89c3561d9a
Fix multi-context new Python linking mode (#4401)
Allow CMake find_package() from multiple directories.

https://github.com/pybind/pybind11/issues/4400

Co-authored-by: Martin Blanchard <martin.blanchard@siemens.com>
2022-12-14 14:03:37 -05:00
Steve R. Sun
0420181baa
Merge branch 'pybind:master' into master 2022-12-14 09:00:49 +08:00
Ralf W. Grosse-Kunstleve
ff42f5254a
Systematically add -DCMAKE_VERBOSE_MAKEFILE=ON to obtain full command lines related to -Wodr (#4398) 2022-12-13 11:04:05 -08:00
Steve R. Sun
d176433ec6
Merge branch 'pybind:master' into master 2022-12-12 10:00:47 +08:00
Henry Schreiner
9727dcdae5
chore: future safe bugbear opinionated warnings (#4393)
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-12-09 23:18:36 -05:00
Steve R. Sun
cb3791f903
Merge branch 'pybind:master' into master 2022-12-10 10:52:33 +08:00
Ralf W. Grosse-Kunstleve
663b86c26c
Add flake8 B905 to extend-ignore in setup.cfg (#4391)
* Add flake8 `--ignore=B905,N818,W503`

* Add B905 to `extend-ignore` in setup.cfg (thanks @Skylion007), leave .pre-commit-config.yaml as-is on master.
2022-12-09 10:53:03 -08:00
aimir
9db988013c
Correct class names for KeysView, ValuesView and ItemsView in bind_map (#4353)
* Create templated abstract classes KeysView, ValuesView and ItemsView, and implement them on-the-fly when wrapping any specific map type

* We don't want to wrap different ValuesView objects for double values and const double, for example, as both wrappers will be named ValuesView[float]

* Fallback to C++ names if key or values types are not wrapped

* Added a test for .keys(), .values() and .items() returning the same types for similarly-typed maps

* Fixed wrong use of auto in a declarator list: the two descriptions might have different types

* Fixes for clang-tidy issues: explicit single-argument constructor, using the 'override' keyword when overriding functions

* Bugfix for old versions of clang++, which seem to have trouble with the struct being defined inside a module, which was also needlessly ugly anyway

* Bugfix for clang++, which doesn't have some of the names in runtime uness they are specified to be static

* A fix for clang-tidy performance-inefficient-string-concatenation issues - I personally think this looks uglier, but it's probably worth it for clang-tidy to be happy

* Possible fix for clang++ linking issues - make the descriptions static constexpr to make sure they are known before linking

* Correct names for previously-wrapped types as keys/values of maps

* Bugfix - typo in type info names which caused things to segfault

* Apply suggestions from code review

Co-authored-by: Aaron Gokaslan <skylion.aaron@gmail.com>

* Use detail::remove_cvref_t instead of doing remove_cv and remove_reference separately

* Avoid names with double underscore, as they are reserved

* Improved testing for KeysView, ValuesView and ItemsView: check type names + stricter asserts

* Moved description logic to helper function in type_caster_base.h

* style: pre-commit fixes

* Fix a clang-tidy issue: do not use 'else' after 'return'

* Apply suggestion by @Skylion007, with additional trivial simplification.

Co-authored-by: Amir <aimir@local>
Co-authored-by: aimir <aimir@localhost>
Co-authored-by: Aaron Gokaslan <skylion.aaron@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ralf W. Grosse-Kunstleve <rwgk@google.com>
2022-12-08 23:15:11 -08:00
Frank
00126859a5
Add option for enable/disable enum members in docstring. (#2768)
* Add option for enable/disable enum members in docstring

* Add tests for disable enum members docstring option

* Add docstring options to documentation

* style: pre-commit fixes

* Fix typos in documentation

* Improve documentation wording

* Apply suggestions by @Skylion007

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ralf W. Grosse-Kunstleve <rwgk@google.com>
2022-12-08 23:10:10 -08:00
Ralf W. Grosse-Kunstleve
65374c8e62
pybind11::handle inc_ref() & dec_ref() PyGILState_Check() **excluding** nullptr (#4246)
* pybind11/pytypes.h `inc_ref()`, `dec_ref()` `PyGILState_Check()` **excluding** `nullptr`

Guarded by `PYBIND11_ASSERT_GIL_HELD_INCREF_DECREF`

* Disable `PYBIND11_ASSERT_GIL_HELD_INCREF_DECREF` for PyPy under Windows.

* Add reference to PR #4268 (PyPy Windows)
2022-12-08 22:06:51 -08:00
Steve R. Sun
beed6a6a2b
Merge branch 'pybind:master' into master 2022-12-08 09:06:43 +08:00
dependabot[bot]
65cc9d2a29
chore(deps): bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4 (#4389)
Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.6.1 to 1.6.4.
- [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
- [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.6.1...v1.6.4)

---
updated-dependencies:
- dependency-name: pypa/gh-action-pypi-publish
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-06 23:36:11 -05:00
Steve R. Sun
8f50fcd8bb
Merge branch 'pybind:master' into master 2022-12-07 09:21:59 +08:00
pre-commit-ci[bot]
4768a6f8f5
chore(deps): update pre-commit hooks (#4386)
* chore(deps): update pre-commit hooks

updates:
- [github.com/pre-commit/pre-commit-hooks: v4.3.0 → v4.4.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.3.0...v4.4.0)
- [github.com/asottile/pyupgrade: v3.2.0 → v3.3.0](https://github.com/asottile/pyupgrade/compare/v3.2.0...v3.3.0)
- [github.com/hadialqattan/pycln: v2.1.1 → v2.1.2](https://github.com/hadialqattan/pycln/compare/v2.1.1...v2.1.2)
- [github.com/PyCQA/flake8: 5.0.4 → 6.0.0](https://github.com/PyCQA/flake8/compare/5.0.4...6.0.0)
- [github.com/PyCQA/pylint: v2.15.5 → v2.15.8](https://github.com/PyCQA/pylint/compare/v2.15.5...v2.15.8)
- [github.com/pre-commit/mirrors-mypy: v0.982 → v0.991](https://github.com/pre-commit/mirrors-mypy/compare/v0.982...v0.991)
- [github.com/mgedmin/check-manifest: 0.48 → 0.49](https://github.com/mgedmin/check-manifest/compare/0.48...0.49)
- [github.com/pre-commit/mirrors-clang-format: v14.0.6 → v15.0.4](https://github.com/pre-commit/mirrors-clang-format/compare/v14.0.6...v15.0.4)

* style: pre-commit fixes

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-12-06 10:10:48 -08:00
luzpaz
a672de7cc8
Fix source comment typo (#4388) 2022-12-06 12:54:15 -05:00