Commit Graph

572 Commits

Author SHA1 Message Date
Ralf W. Grosse-Kunstleve
03d409b4a0 Merge branch 'master' into sh_merge_master 2021-09-20 05:57:17 -07:00
Henry Schreiner
04dd3262f0
docs: update CHANGELOG (#3276) 2021-09-17 17:28:26 -04:00
Ralf W. Grosse-Kunstleve
94a5c673bc Merge branch 'master' into sh_merge_master 2021-09-08 18:56:35 -07:00
Thomas Ballinger
39a0aac88e
docs fix to avoid nonexistent SmartCompile (#3241) 2021-09-08 14:00:00 -04:00
Ralf W. Grosse-Kunstleve
a655f95a83 Merge branch 'master' into sh_merge_master 2021-08-26 14:46:44 -07:00
Jouke Witteveen
031a700dfd
Add make_simple_namespace function and tests (#2840)
Co-authored-by: Jouke Witteveen <j.witteveen@cosine.nl>
2021-08-26 08:04:22 -07:00
Ralf W. Grosse-Kunstleve
c8ce4b8df8
Clone of @virtuald's PR #2112 with minor enhancements. (#3215)
* Add py::raise_from to enable chaining exceptions on Python 3.3+

* Use 'raise from' in initialization

* Documenting the exact base version of _PyErr_FormatVFromCause, adding back `assert`s.

Co-authored-by: Dustin Spicuzza <dustin@virtualroadside.com>
2021-08-23 17:30:01 -07:00
Ralf W. Grosse-Kunstleve
8865d28317 Automatic part of merging branch 'master' into sh_merge_master.
The only manual intervention was to remove the merge conflict markers in pybind11.h.

TODO in separate commit: complete removal of the obsolete detail/pragma_warning_block.h.
2021-08-14 07:54:40 -07:00
Aaron Gokaslan
9df2f1ff13
maint(precommit): Apply isort (#3195)
* Apply isort

* Tweak isort config

* Add env.py as a known_first_party

* Add one missing known first party

* Make config compat with older isort versions

* Add another comment

* Revert pyproject setting
2021-08-13 12:37:05 -04:00
Henry Schreiner
a2b78a8c27
chore: changelog update (#3163)
* chore: changelog update

* Update docs/changelog.rst
2021-08-03 13:16:14 -04:00
Ralf W. Grosse-Kunstleve
7cc433ca7f Merge branch 'master' into smart_holder 2021-07-21 06:56:03 -07:00
jesse-sony
d65edfb024
Feature/local exception translator (#2650)
* Create a module_internals struct

Since we now have two things that are going to be module local, it felt
correct to add a struct to manage them.

* Add local exception translators

These are added via the  register_local_exception_translator function
and are then applied before the global translators

* Add unit tests to show the local exception translator works

* Fix a bug in the unit test with the string value of KeyError

* Fix a formatting issue

* Rename registered_local_types_cpp()

Rename it to get_registered_local_types_cpp() to disambiguate from the
new member of module_internals

* Add additional comments to new local exception code path

* Add a register_local_exception function

* Add additional unit tests for register_local_exception

* Use get_local_internals like get_internals

* Update documentation for new local exception feature

* Add back a missing space

* Clean-up some issues in the docs

* Remove the code duplication when translating exceptions

Separated out the exception processing into a standalone function in the
details namespace.

Clean-up some comments as per PR notes as well

* Remove the code duplication in register_exception

* Cleanup some formatting things caught by clang-format

* Remove the templates from exception translators

But I added a using declaration to alias the type.

* Remove the extra local from local_internals variable names

* Add an extra explanatory comment to local_internals

* Fix a typo in the code
2021-07-21 05:22:18 -07:00
Ralf W. Grosse-Kunstleve
a1918dd6d9 Merge branch 'master' into smart_holder 2021-07-17 10:32:03 -07:00
Henry Schreiner
74935f8d67
chore: post-release (#3128) 2021-07-17 11:50:42 -04:00
Ralf W. Grosse-Kunstleve
02dc01b536 Merge branch 'master' into smart_holder 2021-07-16 08:14:43 -07:00
Henry Schreiner
65e95ea867
chore: bump to 2.7.0 (#3123) 2021-07-16 09:27:47 -04:00
Ralf W. Grosse-Kunstleve
5548f24b37 Merge branch 'master' into smart_holder 2021-07-15 20:43:55 -07:00
Henry Schreiner
6642f389dc
docs: update changelog (#3122) 2021-07-15 20:00:07 -04:00
Ralf W. Grosse-Kunstleve
1f04229733 Merge branch 'master' into smart_holder 2021-07-15 15:05:40 -07:00
Axel Huebl
55f6f6e9bf
Fix: RTD Docutils Build (#3119)
The docutils 0.17+ release uses more semantic HTML5 tags, which
the RTD theme does not (yet) know.

This breaks side bar, lists and other elements.
2021-07-15 15:41:36 -04:00
Henry Schreiner
31843d455d
docs: reduce visibility of 3.9.0 warning (#3105) 2021-07-15 15:01:13 -04:00
Ralf W. Grosse-Kunstleve
88546fff7d Fixing merge conflict. 2021-07-15 06:23:06 -07:00
Henry Schreiner
cd061aeef1
style: pre-commit cleanup (#3111)
* style: disallow PyTest (should be pytest)

* style: cleanup spell checking a bit

* style: add a few items to the .gitignore
2021-07-14 16:49:13 -04:00
Ralf W. Grosse-Kunstleve
279c93654e Merge branch 'master' into smart_holder 2021-07-13 21:24:02 -07:00
Antony Lee
1be0a0a610
Add helper to build in-tree extensions. (#2831)
For single-file extensions, a convenient pattern offered by cython
is to place the source files directly in the python source tree
(`foo/__init__.py`, `foo/ext.pyx`), deriving the package names from
their filesystem location.  Adapt this pattern for pybind11, using an
`intree_extensions` helper, which should be thought of as the moral
equivalent to `cythonize`.

Differences with cythonize: I chose not to include globbing support
(`intree_extensions(glob.glob("**/*.cpp"))` seems sufficient), nor to
provide extension-customization kwargs (directly setting the attributes
on the resulting Pybind11Extension objects seems sufficient).

We could choose to have `intree_extension` (singular instead) and make
users write `[*map(intree_extension, glob.glob("**/*.cpp"))]`; no strong
opinion here.

Co-authored-by: Aaron Gokaslan <skylion.aaron@gmail.com>
2021-07-13 17:21:55 -04:00
Ralf W. Grosse-Kunstleve
88cc350075 Merge branch 'master' into smart_holder 2021-07-13 05:57:50 -07:00
Henry Schreiner
6a644c8f04
docs: update changelog (#3099)
* docs: update changelog

* docs: add one more and merge tidy
2021-07-13 00:08:29 -04:00
Ralf W. Grosse-Kunstleve
678538f097 Merge branch 'master' into smart_holder 2021-07-12 16:59:58 -07:00
Ralf W. Grosse-Kunstleve
75090647ce
More precise return_value_policy::automatic documentation. (#2920)
* Adding test_return_vector_bool_raw_ptr to test_stl.py.

* First attempt to make the documentation more accurate, but not trying to be comprehensive, to not bloat the reference table with too many details.

* Fixing minor oversights.

* Applying reviewer suggestion.
2021-07-12 16:56:10 -07:00
Ralf W. Grosse-Kunstleve
932a4cf409 Merge branch 'master' into smart_holder 2021-07-12 14:07:26 -07:00
Henry Schreiner
f0a65c899c
docs(fix): spelling mistake in recent commit 2021-07-12 16:57:28 -04:00
Ralf W. Grosse-Kunstleve
7472d37a93
Adding iostream.h thread-safety documentation. (#2995)
* Adding iostream.h thread-safety documentation.

* Restoring `TestThread` code with added `std::lock_guard<std::mutex>`.

* Updating new comments to reflect new information.

* Fixing up `git rebase -X theirs` accidents.
2021-07-12 13:39:06 -07:00
Ralf W. Grosse-Kunstleve
9cd8e7449b Merge branch 'master' into smart_holder 2021-07-10 16:39:02 -07:00
Jan Iwaszkiewicz
cf006af2f0
Fix typos and docs style (#3088)
* py::pickle typo

* correct dots and parentheses
2021-07-10 11:16:07 -07:00
Ralf W. Grosse-Kunstleve
704daac879 Merge branch 'master' into smart_holder 2021-07-06 14:12:08 -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
84cbec0bc1 Merge branch 'master' into smart_holder 2021-07-02 07:07:49 -07:00
Antony Lee
5bcaaa0423
Add a std::filesystem::path <-> os.PathLike caster. (#2730) 2021-07-02 07:00:50 -07:00
Ralf W. Grosse-Kunstleve
c48f887cd8 Merge branch 'master' into smart_holder 2021-06-17 14:01:07 -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
Ralf W. Grosse-Kunstleve
2cfc017e2d Merge branch 'master' into smart_holder 2021-05-27 11:30:03 -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
Ralf W. Grosse-Kunstleve
29e46381e4 Merge branch 'master' into smart_holder 2021-05-06 09:48:55 -07: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
Ralf W. Grosse-Kunstleve
0032083113 Merge branch 'master' into smart_holder 2021-04-16 07:27:12 -07:00
Henry Schreiner
114be7f4ad
docs: remove recommonmark (#2955) 2021-04-15 18:27:16 -04:00
Ralf W. Grosse-Kunstleve
0b63dd0eb2
Adding initial README_smart_holder.rst. (#2936)
* Adding initial README_smart_holder.rst.

* Adding README_smart_holder.rst to MANIFEST.in and test_files.py.
2021-04-05 13:47:48 -07:00
JYX
3df0ee6fe3
docs: typo in classes.rst (#2926) 2021-04-02 11:46:43 -04:00
Tom de Geus
9c0aa69937
Pointing out namespace in docs (#2874) 2021-02-25 07:25:50 -08:00