- Jan 25, 2021
-
-
crimsoncor authored
* Force the builtin module key to be the correct type. Previously it was always going to be a std::string which converted into unicode. Python 2 appears to want module keys to be normal str types, so this was breaking code that expected plain string types in the builtins.keys() data structure * Add a simple unit test to ensure all built-in keys are str * Update the unit test so it will also run on pypy * Run pre-commit. Co-authored-by:Jesse Clemens <jesse.clemens@sony.com>
-
- Jan 22, 2021
-
-
Henry Schreiner authored
-
- Jan 20, 2021
-
-
Henry Schreiner authored
-
Henry Fredrick Schreiner authored
-
Henry Schreiner authored
* style: adding clang-format as manual hook * docs: adding a Clang-Format section. (#2803) Co-authored-by:Ralf W. Grosse-Kunstleve <rwgk@google.com>
-
Henry Schreiner authored
-
Henry Schreiner authored
* style: avoid using unintialized variables Tested with cmake --warn-unintialized -S . -B build * refactor: use function for possibly uninit vars
-
Henry Schreiner authored
-
Antony Lee authored
This allows users to set e.g. `extra_compile_args=["-g"]` (temporarily, for debugging purposes) and not have that get overridden by Pybind11Extension's default `-g0`. In order to minimize "order inversion" (not that it really matters, though) I chose to collect all flags and add them at once (hence the dropping of `*args`). I also dropped flag deduplication, which seems unneeded.
-
- Jan 18, 2021
-
-
Michael Kuron authored
* CI: Intel icc/icpc via oneAPI Add testing for Intel icc/icpc via the oneAPI images. Intel oneAPI is in a late beta stage, currently shipping oneAPI beta09 with ICC 20.2. CI: Skip Interpreter Tests for Intel Cannot find how to add this, neiter the package `libc6-dev` nor `intel-oneapi-mkl-devel` help when installed to solve this: ``` -- Looking for C++ include pthread.h -- Looking for C++ include pthread.h - not found CMake Error at /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message): Could NOT find Threads (missing: Threads_FOUND) Call Stack (most recent call first): /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE) /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindThreads.cmake:234 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) tests/test_embed/CMakeLists.txt:...
-
- Jan 17, 2021
-
-
Yannick Jadoul authored
fix: only allow integer type_caster to call __int__ method when conversion is allowed; always call __index__ (#2698) * Only allow integer type_caster to call __int__ or __index__ method when conversion is allowed * Remove tests for __index__ as this seems to only be used to convert to int in 3.8+ * Take both `int` and `long` types into account for Python 2 * Add test_numpy_int_convert to assert tests currently fail, even though np.intc has an __index__ method * Also consider __index__ as noconvert to a C++ integer * New-style classes for Python 2.7; sigh * Add some tests on types with custom __index__ method * Ignore some tests in Python <3.8 * Update comment about conversion from np.float32 to C++ int * Workaround difference between CPython and PyPy's different PyIndex_Check (unnoticed because we currently don't have PyPy >= 3.8) * Avoid ICC segfault with py::arg()
-
Henry Schreiner authored
* docs: update build description slightly * docs: missing ticks
-
- Jan 16, 2021
-
-
Axel Huebl authored
* CI: Intel icc/icpc via oneAPI Add testing for Intel icc/icpc via the oneAPI images. Intel oneAPI is in a late beta stage, currently shipping oneAPI beta09 with ICC 20.2. * CI: Skip Interpreter Tests for Intel Cannot find how to add this, neiter the package `libc6-dev` nor `intel-oneapi-mkl-devel` help when installed to solve this: ``` -- Looking for C++ include pthread.h -- Looking for C++ include pthread.h - not found CMake Error at /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:165 (message): Could NOT find Threads (missing: Threads_FOUND) Call Stack (most recent call first): /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE) /__t/cmake/3.18.4/x64/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindThreads.cmake:234 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) tests/test_embed/CMakeLists.txt:17 (find_package) ``` * CI: libc6-dev from GCC for ICC * CI: Run bare metal for oneAPI * CI: Ubuntu 18.04 for oneAPI * CI: Intel +Catch -Eigen * CI: CMake from Apt (ICC tests) * CI: Replace Intel Py with GCC Py * CI: Intel w/o GCC's Eigen * CI: ICC with verbose make * [Debug] Find core dump * tests: use arg{} instead of arg() for Intel * tests: adding a few more missing {} * fix: sync with @tobiasleibner's branch * fix: try ubuntu 20-04 * fix: drop exit 1 * style: clang tidy fix * style: fix missing NOLINT * ICC: Update Compiler Name Changed upstream with the last oneAPI release. * ICC CI: Downgrade pytest pytest 6 does not capture the `discard_as_unraisable` stderr and just writes a warning with its content instead. * Use new test pinning requirements.txt * tests: add notes about intel, cleanup Co-authored-by:Henry Schreiner <henryschreineriii@gmail.com>
-
Yannick Jadoul authored
* Adding a valgrind build on debug Python 3.9 Co-authored-by:
Boris Staletic <boris.staletic@gmail.com> * Add Valgrind suppression files - Introduce suppression file, populate it with a first suppression taken from CPython, and fix one leak in the tests - Suppress leak in NumPy - More clean tests! - Tests with names a-e passing (except for test_buffer) - Suppress multiprocessing errors - Merge multiprocessing suppressions into other suppression files - Numpy seems to be spelled with a big P - Append single entry from valgrind-misc.supp to valgrind-python.supp, and make clear valgrind-python.supp is only CPython Co-authored-by:
Boris Staletic <boris.staletic@gmail.com> * Enable test_virtual_functions with a workaround * Add a memcheck cmake target - Add a memcheck cmake target - Reformat cmake - Appease the formatting overlords - they are angry - Format CMake valgrind target decently * Update CI config to new action versions * fix: separate memcheck from pytest * ci: cleanup * Merge Valgrind and other deadsnakes builds Co-authored-by:
Boris Staletic <boris.staletic@gmail.com> Co-authored-by:
Henry Schreiner <henryschreineriii@gmail.com>
-
- Jan 15, 2021
-
-
heyer2 authored
* Fix STATIC and SHARED flags not being detected * fix: use classic naming for all lib types Co-authored-by:Henry Schreiner <henryschreineriii@gmail.com>
-
Yannick Jadoul authored
Plug leaking function_records in cpp_function initialization in case of exceptions (found by Valgrind in #2746) (#2756) * Plug leaking function_record objects when exceptions are thrown * Plug leak of strdup'ed strings in function_record * Some extra comments about the function_record ownership dance * Clean up the function_record better, in case of exceptions * Demonstrate some extra function_record leaks * Change DeleteStrings template argument to free_strings runtime argument in destruct(function_record *) * Zero-state unique_function_record deleter object * Clarify rvalue reference to unique_ptr parameter in initialize_generic * Use push_back with const char * instead of emplace_back
-
- Jan 14, 2021
-
-
Henry Schreiner authored
Sometimes programmers want to control this, and while it can be changed after the fact, it's commonly set via a CMAKE_ variable; if that variable is set, we should respect that (like the CMAKE_INTERPROCEDURAL_OPTIMIZATION setting).
-
Yannick Jadoul authored
docs: the order of alternatives for variant types matters, and follows the same rules as overload resolution (#2784)
-
Andy Maloney authored
Found with codespell
-
Andy Maloney authored
* Fix a clang warning from [-Wshadow-field-in-constructor-modified] warning: modifying constructor parameter 'flag' that shadows a field of 'set_flag' [-Wshadow-field-in-constructor-modified] * Change name based on review
-
Andy Maloney authored
-
Changming Sun authored
* Update attr.h: fix a warning found by static code analyzer Update attr.h: fix a warning found by Visual Studio static code analyzer Severity:Warning Code:C6323 Description: Use of arithmetic operator on Boolean type(s). Location: C:\src\onnxruntime\debug\pybind11\src\pybind11\include\pybind11\attr.h:547 * Update include/pybind11/attr.h Co-authored-by:
Henry Schreiner <HenrySchreinerIII@gmail.com> * Update attr.h Co-authored-by:
Henry Schreiner <HenrySchreinerIII@gmail.com>
-
Yannick Jadoul authored
* Disable builds for 3.10.0a4, and enable a nightly 3.10-dev build * Fix job name * Remove deadsnakes job for now * Add deadsnakes jobs * There's no deadsnakes 2.7 * Add 3.10 to versions to be discovered by legacy FindPython, and fix debug input to deadsnakes/action * Try out branch with fix * Update to deadsnakes/action@v2.1.1
-
Henry Schreiner authored
-
Yannick Jadoul authored
-
- Jan 02, 2021
-
-
Yannick Jadoul authored
Ignore deprecation warnings about old-style __init__/__setstate__ constructors in the tests (originally done in #2746) (#2759) * Ignore old-style __init__ warnings * Simplify ignoreOldStyleInitWarnings with py::exec * Only wrap single class_::defs to ignore DeprecationWarnings about old-style __init__
-
Yannick Jadoul authored
* Fix leak in the test_copy_move::test_move_fallback * Fix leaking PyMethodDef in test_class::test_implicit_conversion_life_support * Plumb leak in test_buffer, occuring when a mutable buffer is requested for a read-only object, and enable test_buffer.py * Fix weird return_value_policy::reference in test_stl_binders, and enable those tests * Cleanup nodelete holder objects in test_smart_ptr, and enable those tests
-
- Jan 01, 2021
-
-
Yannick Jadoul authored
Fix invalid access when reinterpret_casting a non-pybind11 PyObject* to instance* (found by Valgrind in #2746) (#2755)
-
Eric Cousineau authored
* enum: Add Enum.value property * simplify * address review
-
- Dec 29, 2020
-
-
Henry Schreiner authored
-
- Dec 28, 2020
-
-
Qifan Lu authored
* Do not set docstring for function when it's empty * No need to check pointer for `free` * Use ternary operator to conditionally set `ml_doc`
-
- Dec 24, 2020
-
-
Yannick Jadoul authored
* 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
-
Steve Siano authored
* 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
-
Eric Cousineau authored
-
- Dec 22, 2020
-
-
Henry Schreiner authored
-
Antony Lee authored
... by leaving the unused parameters anonymous. (This can be checked e.g. by compiling python_example with -Wall -Wextra.)
-
Henry Schreiner authored
-
Henry Schreiner authored
-
- Dec 20, 2020
-
-
Nikita Shulga authored
* 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>
-
- Dec 19, 2020
-
-
Ralf W. Grosse-Kunstleve authored
* 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>
-