- 24 Dec, 2020 2 commits
-
-
* Update pytest to 6.2.1 in tests/requirements.txt * Pin pytest to last supported version for 3.5 * Suppress PytestUnraisableExceptionWarning and use sys.__unraisablehook__ instead of sys.unraisablehook * Fix filterwarnings mark on old pytest and old Python versions * Cleanup ignore_pytest_unraisable_warning decorator
Yannick Jadoul committed -
* docs: mention PYTHONPATH in installing.rst When pybind11 is included as a submodule, the user needs to update their Python module search path. Otherwise, the first c++ compilation command in docs/basics.rst will fail. * docs: add a note about compiling the example This note shows how to modify the compilation command for the example when the pybind11 source has been included as a Git submodule. * docs: add a note about compiling the example Added an internal link to the docs * docs: updated a note about compiling the example Also updated the command substitution syntax for consistency
Steve Siano committed
-
- 23 Dec, 2020 1 commit
-
-
Eric Cousineau committed
-
- 22 Dec, 2020 4 commits
-
-
Henry Schreiner committed
-
... by leaving the unused parameters anonymous. (This can be checked e.g. by compiling python_example with -Wall -Wextra.)
Antony Lee committed -
Henry Schreiner committed
-
Henry Schreiner committed
-
- 19 Dec, 2020 2 commits
-
-
* Avoid thread termination in scoped_released Do not call `PyEval_RestoreThread()` from `~gil_scoped_release()` if python runtime is finalizing, as it will result in thread termination in Python runtime newer than 3.6, as documented in https://docs.python.org/3/c-api/init.html#c.PyEval_RestoreThread Similarly do not call `PyThreadState_DeleteCurrent` from `~gil_scoped_acquire()` if runtime is finalizing. Discovered while debugging PyTorch crash using Python-3.9 described in https://github.com/pytorch/pytorch/issues/47776 * Simplify _Py_IsFinalizing() availability check * Fix typo * Add version agnostic `detail::finalization_guard()` * Move `finalization_guard` to detail/common.h And rename it to `is_finalizing` * Move `is_finalizing()` back to pybind11.h * Simplify `is_finalizing()` check One should follow documentation rather than make any assumptions * feat: disarm * docs: fix comment Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Nikita Shulga committed -
* minor cleanup: fixing or silencing flake8 errors * ci: lock CMake to non-Universal version * Update .github/workflows/ci.yml Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
Ralf W. Grosse-Kunstleve committed
-
- 16 Dec, 2020 5 commits
-
-
fix: also throw in the move-constructor added by the PYBIND11_OBJECT macro, after the argument has been moved-out (if necessary) (#2701)
Yannick Jadoul committed -
which was just before set to True in instance->allocate_layout()
Robert Haschke committed -
* fix: regression with installed pybind11 overriding discovered one Closes #2709 * docs: wording incorrect
Henry Schreiner committed -
* ci: drop pypy2 linux, add Python 10 dev * ci: fix mistake * ci: commented-out PGI 20.11, drop 20.7
Henry Schreiner committed -
Adjusting `type_caster<std::reference_wrapper<T>>` to support const/non-const propagation in `cast_op`. (#2705) * Allow type_caster of std::reference_wrapper<T> to be the same as a native reference. Before, both std::reference_wrapper<T> and std::reference_wrapper<const T> would invoke cast_op<type>. This doesn't allow the type_caster<> specialization for T to distinguish reference_wrapper types from value types. After, the type_caster<> specialization invokes cast_op<type&>, which allows reference_wrapper to behave in the same way as a native reference type. * Add tests/examples for std::reference_wrapper<const T> * Add tests which use mutable/immutable variants This test is a chimera; it blends the pybind11 casters with a custom pytype implementation that supports immutable and mutable calls. In order to detect the immutable/mutable state, the cast_op needs to propagate it, even through e.g. std::reference<const T> Note: This is still a work in progress; some things are crashing, which likely means that I have a refcounting bug or something else missing. * Add/finish tests that distinguish const& from & Fixes the bugs in my custom python type implementation, demonstrate test that requires const& and reference_wrapper<const T> being treated differently from Non-const. * Add passing a const to non-const method. * Demonstrate non-const conversion of reference_wrapper in tests. Apply formatting presubmit check. * Fix build errors from presubmit checks. * Try and fix a few more CI errors * More CI fixes. * More CI fixups. * Try and get PyPy to work. * Additional minor fixups. Getting close to CI green. * More ci fixes? * fix clang-tidy warnings from presubmit * fix more clang-tidy warnings * minor comment and consistency cleanups * PyDECREF -> Py_DECREF * copy/move constructors * Resolve codereview comments * more review comment fixes * review comments: remove spurious & * Make the test fail even when the static_assert is commented out. This expands the test_freezable_type_caster a bit by: 1/ adding accessors .is_immutable and .addr to compare identity from python. 2/ Changing the default cast_op of the type_caster<> specialization to return a non-const value. In normal codepaths this is a reasonable default. 3/ adding roundtrip variants to exercise the by reference, by pointer and by reference_wrapper in all call paths. In conjunction with 2/, this demonstrates the failure case of the existing std::reference_wrpper conversion, which now loses const in a similar way that happens when using the default cast_op_type<>. * apply presubmit formatting * Revert inclusion of test_freezable_type_caster There's some concern that this test is a bit unwieldly because of the use of the raw <Python.h> functions. Removing for now. * Add a test that validates const references propagation. This test verifies that cast_op may be used to correctly detect const reference types when used with std::reference_wrapper. * mend * Review comments based changes. 1. std::add_lvalue_reference<type> -> type& 2. Simplify the test a little more; we're never returning the ConstRefCaster type so the class_ definition can be removed. * formatted files again. * Move const_ref_caster test to builtin_casters * Review comments: use cast_op and adjust some comments. * Simplify ConstRefCasted test I like this version better as it moves the assertion that matters back into python.
Laramie Leavitt committed
-
- 08 Dec, 2020 2 commits
-
-
Yannick Jadoul committed
-
This is nice enough to be mentioned explicitly in the docs.
Antony Lee committed
-
- 24 Nov, 2020 2 commits
-
-
docs: add warning about FindPython's Development component when libraries don't exist (e.g. on manylinux) (#2689) * Add waring about FindPython's Development component when libraries don't exist (e.g. on manylinux) * Minor wording update (thanks, @henryiii!)
Yannick Jadoul committed -
`git submodule add` needs the branch before the repository or else it is ignored. The previous code checked out the `master` branch, not the `stable` branch.
James Foster committed
-
- 23 Nov, 2020 3 commits
-
-
Boris Staletic committed
-
albanD committed
-
Tobias Leibner committed
-
- 19 Nov, 2020 2 commits
-
-
* List all the pyind11 exceptions. For curious readers, see `translate_exception` and `PYBIND11_RUNTIME_EXCEPTION.
Jean-Baptiste Lespiau committed -
* Added test_thread testing for ostream_redirect segfault recreation * fix: scoped_ostream_redirect str created outside gil * Moved threading tests into test_iostream. Cleaned up some formatting. Deleted test_thread.{cpp,py} * CI: few formatting fixes * CI: yet another formatting fix * CI: more formatting fixes. Removed unecessary comment * Ignore 'warning C4702: unreachable code' in MSVC 2015 Co-authored-by: Nick Bridge <nick.bridge.chess@gmail.com> Co-authored-by: Nick Bridge <nbridge@jumptrading.com> Co-authored-by: Yannick Jadoul <yannick.jadoul@belgacom.net>nickbridgechess committed
-
- 16 Nov, 2020 2 commits
-
-
Henry Schreiner committed
-
Bjorn committed
-
- 15 Nov, 2020 2 commits
-
-
Henry Schreiner committed
-
Frank committed
-
- 12 Nov, 2020 2 commits
-
-
Henry Schreiner committed
-
Henry Schreiner committed
-
- 11 Nov, 2020 2 commits
-
-
Henry Schreiner committed
-
* feat: lazy compile * refactor: lazy -> only_changed * refactor: leave the changed function up to the user * refactor: pass a function, based on @YannickJadoul and @HDembinski's suggestions * refactor: old -> _old, as it's not intended for users * docs: slight improvmenent from @rwgk * docs: Ccache spelling, extra warning about pip caching Ccache spelling noted by @YannickJadoul
Henry Schreiner committed
-
- 10 Nov, 2020 1 commit
-
-
* Add argument names to enum_ methods * Add test_enum::test_docstring_signatures
Yannick Jadoul committed
-
- 09 Nov, 2020 1 commit
-
-
* style: clang-tidy: modernize-use-using * style: more clang-tidy checking Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Robert Haschke committed
-
- 05 Nov, 2020 2 commits
-
-
Boris Staletic committed
-
* fix: match new extension discovery with changes to classic discovery Followup to #2638 - this was fixed in 2.6.0, but only for classic Python * fix: followup to avoid warnings
Henry Schreiner committed
-
- 03 Nov, 2020 3 commits
-
-
Henry Schreiner committed
-
Henry Schreiner committed
-
Henry Schreiner committed
-
- 02 Nov, 2020 1 commit
-
-
Yannick Jadoul committed
-
- 29 Oct, 2020 1 commit
-
-
Henry Schreiner committed
-