Robert Haschke
c090c8c409
Unify cast_error message thrown by [simple|unpacking]_collector ( #3013 )
...
* Unify cast_error message thrown by [simple|unpacking]_collector
simple_collector and unpacking_collector throw different error messages
when the casting of an argument failed: While the former mentions make_tuple(),
the latter emphasises the call argument (and its name/position).
* Consolidating "Unable to convert call argument" error reporting code to guarantee uniformity.
Co-authored-by: Ralf W. Grosse-Kunstleve <rwgk@google.com>
2021-07-06 15:13:13 -07:00
Ralf W. Grosse-Kunstleve
0ad116d371
Adding codespell to .pre-commit-config.yaml (follow-on to PR #3075 ). ( #3076 )
2021-07-06 14:10:35 -07:00
luzpaz
8bee61b645
docs: fix various typos ( #3075 )
...
Found via `codespell -q 3 -L nd,ot,thist`
2021-07-04 19:58:35 -04:00
Ralf W. Grosse-Kunstleve
795e3c4ce1
Removing AlignConsecutiveAssignments: true
. ( #3067 )
...
Also removing a commented-out line.
2021-07-02 14:14:18 -07:00
Dustin Spicuzza
6d4409466b
Check dict item accesses where it isn't already checked ( #2863 )
...
* Convert PyDict_GetXXX to internal error checking variant
* Check unlikely error return from PyDict_DelItemString
2021-07-02 07:02:33 -07:00
Antony Lee
5bcaaa0423
Add a std::filesystem::path <-> os.PathLike caster. ( #2730 )
2021-07-02 07:00:50 -07:00
cyy
f067deb563
avoid unnecessary strlen ( #3058 )
2021-06-30 23:35:25 -07:00
jonathan-conder-sm
733f8de24f
Avoid string copy if possible when passing a Python object to std::ostream ( #3042 )
2021-06-30 22:19:14 -07:00
Ralf W. Grosse-Kunstleve
cad79c1146
tests: remove very minor oversight in PR #3059 . ( #3066 )
2021-06-30 17:30:26 -04:00
Ralf W. Grosse-Kunstleve
fbae8f313b
pickle setstate: setattr __dict__ only if not empty ( #2972 )
...
* pickle setstate: setattr __dict__ only if not empty, to not force use of py::dynamic_attr() unnecessarily.
* Adding unit test.
* Clang 3.6 & 3.7 compatibility.
* PyPy compatibility.
* Minor iwyu fix, additional comment.
* Addressing reviewer requests.
* Applying clang-tidy suggested fixes.
* Adding check_dynamic_cast_SimpleCppDerived, related to issue #3062 .
2021-06-30 12:34:32 -07:00
Cris Luengo
93e69191c1
fix: enable py::implicitly_convertible<py::none, ...> for py::class_-wrapped types ( #3059 )
...
* Allow casting from None to a custom object, closes #2778
* ci.yml patch from the smart_holder branch for full CI coverage.
2021-06-25 17:56:17 -07:00
Ralf W. Grosse-Kunstleve
484b0f0433
Updating and slightly enhancing instructions for running clang-tidy. ( #3055 )
...
* Updating and slightly enhancing instructions for running clang-tidy.
* Making documented commands identical to workflow commands. Adding comment in workflow file pointing to documentation.
2021-06-22 15:12:58 -07:00
Aaron Gokaslan
dac74ebdf5
fix(clang-tidy): performance fixes applied in tests and CI ( #3051 )
...
* Initial fixes
* Whoops
* Finish clang-tidy manual fixes
* Add two missing fixes
* Revert
* Update clang-tidy
* Try to fix unreachable code error
* Move nolint comment
* Apply missing fix
* Don't override clang-tidy config
* Does this fix clang-tidy?
* Make all clang-tidy errors visible
* Add comments about NOLINTs and remove a few
* Fix typo
2021-06-22 12:11:54 -04:00
Aaron Gokaslan
3b30b0a51e
fix(clang-tidy): clang-tidy readability and misc fixes, like adding const ( #3052 )
...
* Enable and apply clang-tidy readability and misc fixes.
* Revert deprecated tester
* add space to tests/test_constants_and_functions.cpp
2021-06-21 10:37:48 -04:00
Robert Schütz
d00fc62931
use CMAKE_INSTALL_FULL_INCLUDEDIR ( #3005 )
2021-06-19 18:45:53 -04:00
dependabot[bot]
9b3b357706
chore(deps): bump ilammy/msvc-dev-cmd from 1.8.1 to 1.9.0 ( #3027 )
2021-06-19 18:39:54 -04:00
Aaron Gokaslan
e0b5cbd4c6
chore(clang-tidy): add more modernize clang-tidy checks ( #3049 )
...
* Add more modernize clang-tidy checks
* Enable a few more
2021-06-19 18:38:56 -04:00
Aaron Gokaslan
af6218ff78
fix(clang-tidy): Apply performance fixes from clang-tidy ( #3046 )
...
* Apply performance fixes from clang-tidy
* 2nd Round of Perf Optimizations
* 3rd round of fixes & handle false-positive
* Apply missing fix and clang-format
* Apply reviewer comment
2021-06-19 10:53:27 -07:00
jbarlow83
79178e713d
fix(setup_helpers): try import multiprocessing.synchronize too ( #3043 )
2021-06-18 10:17:34 -04:00
Ralf W. Grosse-Kunstleve
19d99a87fe
Working around Centos 8 failure. ( #3030 )
...
* Experiment using -DCMAKE_BUILD_TYPE=Debug for Centos 8.
* Moving comment because the current placement seems to mess up the cmake command.
* Using `echo > VAR_XXX` and `$(cat VAR_XXX)` trick to emulate using variables (https://github.com/actions/starter-workflows/issues/68#issuecomment-524937002 ).
2021-06-18 01:35:36 -07:00
Aaron Gokaslan
b4b67f026b
Fix typos ( #3044 )
2021-06-17 13:39:59 -07:00
Aaron Gokaslan
cd4b49a2c8
Update py::kwargs examples to pass by reference ( #3038 )
2021-06-17 13:20:17 -07:00
Jack S. Hale
4c7697dbe9
Add const T to docstring generation. ( #3020 )
...
* Add const T to docstring generation.
* Change order.
* See if existing test triggers for a const type.
* Add tests.
* Fix test.
* Remove experiment.
* Reformat.
* More tests, checks run.
* Adding `test_fmt_desc_` prefix to new test functions.
* Using pytest.mark.parametrize to 1. condense test; 2. exercise all functions even if one fails; 3. be less platform-specific (e.g. C++ float is not necessarily float32).
Co-authored-by: Ralf W. Grosse-Kunstleve <rwgk@google.com>
2021-06-08 11:56:45 -07:00
Ralf W. Grosse-Kunstleve
e25b1505db
Adjusting valgrind suppression for pypocketfft to resolve systematic failures that started to appear on 2020-05-27. ( #3022 )
2021-05-27 12:51:46 -07:00
Yichen
3ac690b88b
Explicitly export exception types. ( #2999 )
...
* Set visibility of exceptions to default.
Co-authored-by: XZiar <czktc2007@gmail.com>
* add test
* update docs
* Skip failed test.
2021-05-27 08:00:18 -07:00
dependabot[bot]
14023c9cda
chore(deps): bump ilammy/msvc-dev-cmd from 1.8.0 to 1.8.1 ( #3021 )
2021-05-27 06:10:28 +00:00
dependabot[bot]
f61855b9d8
chore(deps): bump ilammy/msvc-dev-cmd from 1 to 1.8.0 ( #3001 )
2021-05-13 23:21:13 -04:00
dependabot[bot]
bc7cf6ef17
chore(deps): bump jwlawson/actions-setup-cmake from 1.8 to 1.9 ( #3000 )
2021-05-13 23:19:51 -04:00
Eric Cousineau
b6ec0e950c
functions: Add doc on incorrect argument index ( #2979 )
...
test_call_policies: Explicitly check free-functions and static methods
2021-05-06 10:13:30 -04:00
Akira Kawata
417fd120cc
Fix: fix typo of WITHOUT_SOABI ( #2992 )
2021-05-06 00:19:05 -07:00
Pieter P
0c93a0f3fc
Fix Unicode support for ostream redirects ( #2982 )
...
* Crash when printing Unicode to redirected cout
Add failing tests
* Fix Unicode crashes redirected cout
* pythonbuf::utf8_remainder check end iterator
* Remove trailing whitespace and formatting iostream
* Avoid buffer overflow if ostream redirect races
This doesn't solve the actual race, but at least it now has a much lower
probability of reading past the end of the buffer even when data races
do occur.
2021-05-03 22:04:38 -07:00
Henry Schreiner
54430436fe
ci: install Boost for boost checks ( #2968 )
2021-04-22 00:03:07 -04:00
dependabot[bot]
bca4b36ba7
chore(deps): bump pre-commit/action from v2.0.2 to v2.0.3 ( #2964 )
...
Bumps [pre-commit/action](https://github.com/pre-commit/action ) from v2.0.2 to v2.0.3.
- [Release notes](https://github.com/pre-commit/action/releases )
- [Commits](https://github.com/pre-commit/action/compare/v2.0.2...9b88afc9cd57fd75b655d5c71bd38146d07135fe )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-21 15:00:00 -04:00
Henry Schreiner
5e4804bb66
tests: use master commit for pytest on 3.10 ( #2967 )
2021-04-21 13:30:01 -04:00
mvoelkle-cern
e08a58111d
Fix compilation with gcc < 5 ( #2956 )
...
When the user defines _GLIBCXX_USE_CXX11_ABI=0 to force the pre-c++11 ABI, numpy.h assumes that is_trivially_copyable is available.
It is not necessarily the case. This patch uses clang's feature detection instead.
The workaround is for certain libstdc++ versions, so the test should target these particular versions.
2021-04-19 13:53:57 -04:00
Henry Schreiner
114be7f4ad
docs: remove recommonmark ( #2955 )
2021-04-15 18:27:16 -04:00
Philipp Bucher
62976cfcb8
fix: using -Werror-all for Intel ( #2948 )
...
* correcting Werror for Intel
* adding ward for Intel
* adding wards for intel
* another ward for Intel
* missed one intel ward
* exact match for intel compiler
* removing inline limits
* disable warnings about inline limits
* formatter suggestion
* more indent
* hopefully make formatter happy
* addressed review
* fix &&
* Update tests/CMakeLists.txt
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
2021-04-14 14:01:27 -04:00
Tamaki Nishino
6709abba93
Allow function pointer extraction from overloaded functions ( #2944 )
...
* Add a failure test for overloaded functions
* Allow function pointer extraction from overloaded functions
2021-04-13 16:53:56 -07:00
Henry Schreiner
e0c1dadb75
chore: add myself to CODEOWNERS ( #2940 )
...
* chore: add myself to CODEOWNERS
This will ensure I get notified about pull requests where these files change.
* Update .github/CODEOWNERS
2021-04-10 11:12:56 -04:00
Weiming Zhao
4f0727f280
Fix the enabling of default extension handling ( #2938 )
2021-04-05 23:50:50 -04:00
dependabot[bot]
16c23fef31
chore(deps): bump pre-commit/action from v2.0.0 to v2.0.2 ( #2935 )
2021-04-05 22:53:59 -04:00
Ralf W. Grosse-Kunstleve
ad6bf5cd39
Adding PyGILState_Check() in object_api<>::operator(). ( #2919 )
...
* Adding PyGILState_Check() in object_api<>::operator().
* Enabling PyGILState_Check() for Python >= 3.6 only.
Possibly, this explains why PyGILState_Check() cannot safely be used with Python 3.4 and 3.5:
https://github.com/python/cpython/pull/10267#issuecomment-434881587
* Adding simple micro benchmark.
* Reducing test time to minimum (purely for coverage, not for accurate results).
* Fixing silly oversight.
* Minor code organization improvement in test.
* Adding example runtimes.
* Removing capsys (just run with `-k test_callback_num_times -s` and using `.format()`.
2021-04-02 18:17:12 -07:00
Eric Cousineau
f676782bec
env: Add surrogate for pytest.deprecated_call for ptyest<3.9 ( #2923 )
...
env: Add surrogate for pytest.deprecated_call for ptyest<3.9
2021-04-02 14:34:09 -04:00
Jerome Robert
1259db6fd9
Fix Pybind11Extension on mingw64 ( #2921 )
...
* Pybind11Extension add the "/EHsc /bigobj /std:c++14" flags on Windows.
This is good for Visual C++ but not for Mingw.
* According
https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-python2/0410-MINGW-build-extensions-with-GCC.patch
sysconfig.get_platform() is the way to check for a Mingw64
2021-04-02 10:26:17 -07:00
Robert Haschke
c2db53da56
fix: catch missing self argument in overloads constructor ( #2914 )
2021-04-02 13:13:44 -04:00
JYX
3df0ee6fe3
docs: typo in classes.rst ( #2926 )
2021-04-02 11:46:43 -04:00
Ralf W. Grosse-Kunstleve
0e01c243c7
Generalizing suppression for pypocketfft. ( #2896 )
...
* Adding suppression for pypocketfft.
* Generalize existing pypocketfft Valgrind suppression
Co-authored-by: Yannick Jadoul <yannick.jadoul@belgacom.net>
2021-03-09 15:07:44 -08:00
Boris Staletic
f110889dde
Use correct duration representation when casting from datetime.timdelta to std::chrono::duration ( #2870 )
...
* Use correct duration representation when casting from datetime.timdelta to std::chrono::duration
* When asserting datetime/timedelta/date/time we can equality-compare whole objects
2021-03-07 23:42:01 -08:00
Ralf W. Grosse-Kunstleve
44678e5476
Shuffling code in test_multiple_inheritance.cpp to separate struct/class definitions from bindings code. ( #2890 )
2021-03-05 17:45:57 -05:00
Tom de Geus
9c0aa69937
Pointing out namespace in docs ( #2874 )
2021-02-25 07:25:50 -08:00