Ralf W. Grosse-Kunstleve
e5a5a83c61
Merge branch 'master' into sh_merge_master
2022-09-15 05:35:19 -07:00
Dustin Spicuzza
1874f8fa87
Clarify GIL documentation ( #4057 )
2022-09-14 14:00:27 -07:00
Ralf W. Grosse-Kunstleve
1f6e9a8945
Merge branch 'master' into sh_merge_master
2022-08-07 15:43:25 -07:00
Thomas Eding
f8e8403b85
Open pybind11 namespace with consistent visility. ( #4098 )
2022-08-01 11:31:31 -07:00
Hyunwook Choi
d70f54b073
docs: Missing semicolons ( #4094 )
...
Add semicolons to Memory view sample code
2022-07-27 10:41:57 -07:00
Ralf W. Grosse-Kunstleve
4d774ec218
Merge branch 'master' into sh_merge_master
2022-07-21 06:53:22 -07:00
Henry Schreiner
8d82f29887
chore: back to work
...
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-07-15 22:22:51 -05:00
Henry Schreiner
87f64c4321
docs: update changelog for 2.10.0 ( #4066 )
2022-07-15 13:45:16 -05:00
Henry Schreiner
6b60d97d30
docs: use Furo ( #3109 )
...
* docs: try using Furo
* docs: darker output
* docs: improve logo for dark background
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-07-13 10:13:35 -05:00
Ralf W. Grosse-Kunstleve
27ce64fc43
Merge branch 'master' into sh_merge_master
2022-07-09 21:47:49 -07:00
Henry Schreiner
0ab1fcfb1c
docs: update changelog ( #4042 )
...
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-07-06 16:36:05 -04:00
Masaki Kozuki
374a5b000a
[docs] Fix "Enumerations and internal types" example ( #4034 )
...
* Fix binding of `Pet::Attributes`
* omit `attributes` as it's not needed
Signed-off-by: Masaki Kozuki <mkozuki@nvidia.com>
2022-06-28 12:38:37 -07:00
Ralf W. Grosse-Kunstleve
ab41fa281c
Merge branch 'master' into sh_merge_master
2022-04-12 15:48:59 -07:00
Henry Schreiner
65ec5de52f
chore: bump changelog for 2.9.2 ( #3834 )
...
* chore: bump changelog for 2.9.2
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* Update docs/changelog.rst
2022-03-30 23:02:00 -04:00
JonTriebenbach
a561d0250f
Remove idioms in code comments ( #3809 )
2022-03-18 11:15:52 -07:00
Axel Huebl
a27b0235c5
Docs: No Strip in Debug ( #3779 )
...
The docs were not 100% the same as we advertise with our
tooling function: most users do not want to strip symbols
in Debug builds.
2022-03-18 11:15:52 -07:00
JonTriebenbach
8b1944d390
Remove idioms in code comments ( #3809 )
2022-03-17 12:51:16 -07:00
Axel Huebl
a7e7a6e846
Docs: No Strip in Debug ( #3779 )
...
The docs were not 100% the same as we advertise with our
tooling function: most users do not want to strip symbols
in Debug builds.
2022-03-17 11:21:28 -07:00
Ralf W. Grosse-Kunstleve
e1751c04f0
Merge branch 'master' into sh_merge_master_after_clang-format_etc
...
First pass manually resolving the many merge conflicts.
2022-02-14 14:36:08 -08:00
Ralf W. Grosse-Kunstleve
a97e9d8cac
Dropping MSVC 2015 ( #3722 )
...
* Changing `_MSC_VER` guard to `< 1910` (dropping MSVC 2015).
* Removing MSVC 2015 from ci.yml, and .appveyor.yml entirely.
* Bringing back .appveyor.yml from master.
* appveyor Visual Studio 2017
* 1st manual pass, builds & tests with unix_clang, before pre-commit.
* After clang-format (via pre-commit).
* Manual pass looking for "2015", builds & tests with unix_clang, before pre-commit.
* Backtracking for include/pybind11 changes in previous commit.
git checkout d07865846c
include/pybind11/attr.h include/pybind11/detail/common.h include/pybind11/functional.h
--------------------
CI #4160 errors observed:
2a26873727
https://github.com/pybind/pybind11/runs/5168332130?check_suite_focus=true
$ grep ' error C' *.txt | sed 's/2022-02-12[^ ]*//' | sed 's/^[0-9][0-9]*//' | sed 's/^.*\.txt: //' | sort | uniqD:\a\pybind11\pybind11\include\pybind11\cast.h(1364,1): error C2752: 'pybind11::detail::type_caster<Eigen::Ref<Eigen::Vector3f,0,pybind11::EigenDStride>,void>': more than one partial specialization matches the template argument list [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
d:\a\pybind11\pybind11\include\pybind11\detail/common.h(1023): error C2737: 'pybind11::overload_cast': 'constexpr' object must be initialized [D:\a\pybind11\pybind11\build\tests\cross_module_gil_utils.vcxproj]
d:\a\pybind11\pybind11\include\pybind11\detail/common.h(1023): error C2737: 'pybind11::overload_cast': 'constexpr' object must be initialized [D:\a\pybind11\pybind11\build\tests\pybind11_cross_module_tests.vcxproj]
d:\a\pybind11\pybind11\include\pybind11\detail/common.h(1023): error C2737: 'pybind11::overload_cast': 'constexpr' object must be initialized [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
d:\a\pybind11\pybind11\include\pybind11\detail/common.h(1023): error C2737: 'pybind11::overload_cast': 'constexpr' object must be initialized [D:\a\pybind11\pybind11\build\tests\test_embed\external_module.vcxproj]
D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
$ grep ': error C2737' *.txt | sed 's/^.*MSVC//' | sed 's/___.*//' | sort | uniq
_2017
$ grep ': error C2752' *.txt
3______3.8_____MSVC_2019_____x86_-DCMAKE_CXX_STANDARD=17.txt:2022-02-12T16:12:45.9921122Z D:\a\pybind11\pybind11\include\pybind11\cast.h(1364,1): error C2752: 'pybind11::detail::type_caster<Eigen::Ref<Eigen::Vector3f,0,pybind11::EigenDStride>,void>': more than one partial specialization matches the template argument list [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
$ grep ': fatal error C1001:' *.txt
10______pypy-3.8-v7.3.7_____windows-2022_____x64.txt:2022-02-12T16:12:56.3163683Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
1______3.6_____MSVC_2019_____x86.txt:2022-02-12T16:12:47.6774625Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
16______3.6_____windows-latest_____x64_-DPYBIND11_FINDPYTHON=ON.txt:2022-02-12T16:12:27.0556151Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
17______3.9_____windows-2019_____x64.txt:2022-02-12T16:12:30.3822566Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
2______3.7_____MSVC_2019_____x86.txt:2022-02-12T16:12:38.7018911Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\build\tests\pybind11_tests.vcxproj]
6______3.6_____windows-2022_____x64.txt:2022-02-12T16:12:00.4513642Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
7______3.9_____windows-2022_____x64.txt:2022-02-12T16:11:43.6306160Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
8______3.10_____windows-2022_____x64.txt:2022-02-12T16:11:49.9589644Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
9______pypy-3.7-v7.3.7_____windows-2022_____x64.txt:2022-02-12T16:11:53.7912112Z D:\a\pybind11\pybind11\include\pybind11\detail/common.h(624): fatal error C1001: Internal compiler error. [D:\a\pybind11\pybind11\tests\pybind11_tests.vcxproj]
* common.h: is_template_base_of
* Re-applying 4 changes from 2a26873727
that work universally.
* `overload_cast = {};` only for MSVC 2017 and Clang 5
* Refining condition for using is_template_base_of workaround.
* Undoing MSVC 2015 workaround in test_constants_and_functions.cpp
* CentOS7: silence_unused_warnings
* Tweaks in response to reviews.
* Adding windows-2022 C++20
* Trying another way of adding windows-2022 C++20
2022-02-14 11:36:22 -08:00
Henry Schreiner
522c59ceb2
chore: drop Python 3.5 ( #3719 )
...
* chore: drop Python 3.5 support
* chore: more fstrings with flynt's help
* ci: drop Python 3.5
* chore: bump dependency versions
* docs: touch up py::args
* tests: remove deprecation warning
* Ban smartquotes
* Very minor tweaks (by-product of reviewing PR #3719 ).
Co-authored-by: Aaron Gokaslan <skylion.aaron@gmail.com>
Co-authored-by: Ralf W. Grosse-Kunstleve <rwgk@google.com>
2022-02-11 19:06:16 -05:00
Ralf W. Grosse-Kunstleve
6493f496e3
Python 2 removal part 1: tests (C++ code is intentionally ~untouched) ( #3688 )
...
* `#error BYE_BYE_GOLDEN_SNAKE`
* Removing everything related to 2.7 from ci.yml
* Commenting-out Centos7
* Removing `PYTHON: 27` from .appveyor.yml
* "PY2" removal, mainly from tests. C++ code is not touched.
* Systematic removal of `u` prefix from `u"..."` and `u'...'` literals. Collateral cleanup of a couple minor other things.
* Cleaning up around case-insensitive hits for `[^a-z]py.*2` in tests/.
* Removing obsolete Python 2 mention in compiling.rst
* Proper `#error` for Python 2.
* Using PY_VERSION_HEX to guard `#error "PYTHON 2 IS NO LONGER SUPPORTED.`
* chore: bump pre-commit
* style: run pre-commit for pyupgrade 3+
* tests: use sys.version_info, not PY
* chore: more Python 2 removal
* Uncommenting Centos7 block (PR #3691 showed that it is working again).
* Update pre-commit hooks
* Fix pre-commit hook
* refactor: remove Python 2 from CMake
* refactor: remove Python 2 from setup code
* refactor: simplify, better static typing
* feat: fail with nice messages
* refactor: drop Python 2 C++ code
* docs: cleanup for Python 3
* revert: intree
revert: intree
* docs: minor touchup to py2 statement
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Aaron Gokaslan <skylion.aaron@gmail.com>
2022-02-10 18:28:08 -08:00
Sebastian Koslowski
94a948722f
docs: fix imported target name ( #3689 )
2022-02-05 19:11:59 -05:00
Ralf W. Grosse-Kunstleve
4070a64f86
Merge branch 'master' into sh_merge_master
2022-02-03 15:07:04 -08:00
Henry Schreiner
36813cfa12
chore: back to work
2022-02-03 12:44:10 -05:00
Henry Schreiner
0f6ad9105c
docs: update changelog for 2.9.1 ( #3670 )
...
* docs: update changelog for 2.9.1
* Update changelog.rst
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update changelog.rst
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-02-02 16:08:44 -05:00
Ralf W. Grosse-Kunstleve
09211030b8
Merge branch 'master' into smart_holder
2022-01-29 14:39:30 -08:00
Dustin Spicuzza
177928840e
Document how to bind templates ( #3665 )
2022-01-29 14:38:30 -08:00
Ralf W. Grosse-Kunstleve
ece3c55e88
Merge branch 'master' into smart_holder
2022-01-26 09:58:21 -08:00
yangliz5
dedda228f4
Fix a typo in class.rst ( #3648 )
...
Fix a typo in class.rst
2022-01-25 22:32:33 -08:00
Ralf W. Grosse-Kunstleve
7b1dbb8352
Merge branch 'master' into smart_holder
2022-01-25 16:47:53 -08:00
Nimrod
9ec1128c7a
Fix typo in doc ( #3628 )
2022-01-18 23:22:42 -08:00
Ralf W. Grosse-Kunstleve
388c03b18c
Merge branch 'master' into sh_merge_master_clean
2021-12-29 13:24:20 -08:00
Henry Schreiner
9b4f71d12d
docs: remove duplication in changelog for 2.9.0
2021-12-28 12:19:17 -05:00
Henry Schreiner
45f792efdd
chore: prepare for 2.9
2021-12-28 10:47:21 -05:00
Henry Schreiner
d4b9f3471f
docs: update changelog ( #3556 )
...
* docs: update changelog
* Update changelog.rst
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-21 16:28:23 -05:00
Henry Schreiner
39fbc7992b
fix: avoiding usage of _ if already defined ( #3423 )
...
* fix: avoid usage of _
* ci: test _ defined
* docs: include change in docs
* fix: add a test and comment
* refactor: const_str -> const_name
2021-12-21 14:24:21 -05:00
Ralf W. Grosse-Kunstleve
ed1567c5e8
Merge branch 'master' into smart_holder
2021-12-02 13:46:42 -08:00
Henry Schreiner
cd176ceeff
chore: update changelog with recent PRs ( #3524 )
2021-12-02 16:41:47 -05:00
Ralf W. Grosse-Kunstleve
e57afe23f7
Merge branch 'master' into smart_holder
2021-11-20 09:35:40 -08:00
ngc92
56322dafc9
fixed include for filesystem::path ( #3482 )
2021-11-18 14:06:04 -05:00
Guillaume Jacquenot
1eb59963c7
Removed duplicated word in docs/advanced/exceptions.rst ( #3476 )
2021-11-16 17:32:01 -05:00
Ralf W. Grosse-Kunstleve
f4fab85d87
Merge branch 'master' into sh_merge_master
2021-11-15 14:43:08 -08:00
Guillaume Jacquenot
e450eb62c2
Removed duplicated word in docs/advanced/cast/eigen.rst ( #3458 )
2021-11-12 10:53:43 -05:00
Henry Schreiner
aebd21b53c
docs: rework CI a bit, more modern skipping ( #3424 )
...
* docs: rework CI a bit, more modern skipping
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-11-10 12:13:10 -05:00
Ralf W. Grosse-Kunstleve
58c7f076bc
Merge branch 'master' into sh_merge_master
2021-11-07 16:26:55 -08:00
Henry Schreiner
a61e354e42
docs: touch up manual release suggestion ( #3422 )
2021-11-05 22:48:27 -04:00
Chad B. Hovey
dd2d12721c
Correct "which" versus "that" error. ( #3430 )
2021-11-01 12:01:27 -04:00
Jason Rhinelander
e7c9753f1d
feat: allow kw-only args after a py::args ( #3402 )
...
* Simply has_kw_only_args handling
This simplifies tracking the number of kw-only args by instead tracking
the number of positional arguments (which is really what we care about
everywhere this is used).
* Allow keyword-only arguments to follow py::args
This removes the constraint that py::args has to be last (or
second-last, with py::kwargs) and instead makes py::args imply
py::kw_only for any remaining arguments, allowing you to bind a function
that works the same way as a Python function such as:
def f(a, *args, b):
return a * b + sum(args)
f(10, 1, 2, 3, b=20) # == 206
With this change, you can bind such a function using:
m.def("f", [](int a, py::args args, int b) { /* ... */ },
"a"_a, "b"_a);
Or, to be more explicit about the keyword-only arguments:
m.def("g", [](int a, py::args args, int b) { /* ... */ },
"a"_a, py::kw_only{}, "b"_a);
(The only difference between the two is that the latter will fail at
binding time if the `kw_only{}` doesn't match the `py::args` position).
This doesn't affect backwards compatibility at all because, currently,
you can't have a py::args anywhere except the end/2nd-last.
* Take args/kwargs by const lvalue ref
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2021-10-28 23:16:55 -04:00
Ralf W. Grosse-Kunstleve
22bf704794
Merge branch 'master' into smart_holder
2021-10-27 16:23:55 -07:00