Commit graph

779 commits

Author SHA1 Message Date
David Hewitt 53d25f7ff2 add new PyTuple constructors 2023-12-30 21:37:46 +00:00
David Hewitt a9f867c2cb begin drafting Bound<T> migration guide 2023-12-29 14:42:31 +00:00
David Hewitt 3da1aac2dd add gil-refs feature to aid migration 2023-12-29 14:42:31 +00:00
David Hewitt 46c3190a17 clean up remnants of deprecated & removed features 2023-12-29 13:36:46 +00:00
Adam Reichold 4dc6c1643e Turn calls of __traverse__ into no-ops for unsendable pyclass if on the wrong thread
Adds a "threadsafe" variant of `PyCell::try_borrow` which will fail instead of
panicking if called on the wrong thread and use it in `call_traverse` to turn GC
traversals of unsendable pyclasses into no-ops if on the wrong thread.

This can imply leaking the underlying resource if the originator thread has
already exited so that the GC will never run there again, but it does avoid hard
aborts as we cannot raise an exception from within `call_traverse`.
2023-12-23 15:01:08 +01:00
Adam Reichold 1b3dc6d7ac
Merge pull request #3661 from PyO3/iter-output-type
Replace (A)IterNextOutput by autoref-based specialization to allow returning arbitrary value
2023-12-20 12:53:42 +00:00
Adam Reichold 5528895f3e Relax the error type in the Result<Option<T>, E>> specializations for __(a)next__. 2023-12-20 13:12:16 +01:00
Adam Reichold a605308cee Add change log and migration guide entries. 2023-12-20 13:07:14 +01:00
David Hewitt bc87b7bac6 deprecate PyTryFrom and PyTryInto 2023-12-20 11:28:24 +00:00
Tpt 8b614745cf Adds std::duration::Duration from/to Python conversions 2023-12-20 08:57:26 +01:00
Adam Reichold 416d3c488f Rename name to qualname and full_name to name to better match Python 2023-12-19 16:51:24 +01:00
Adam Reichold b0d4ef3525 Expand guide on async methods borrowing self. 2023-12-10 16:37:39 +01:00
Joseph Perez e73c795967
docs: fix typos 2023-12-07 10:10:15 +01:00
David Hewitt 07726aefc4
Merge pull request #3609 from wyfo/async_receiver
feat: allow async methods to accept `&self`/`&mut self`
2023-12-07 07:38:25 +00:00
Joseph Perez f34c70c2da
feat: allow async methods to accept &self/&mut self 2023-12-07 07:42:10 +01:00
David Hewitt ed87637ebb replace PyTryFrom by splitting PyTypeInfo 2023-12-05 08:01:30 +03:00
Joseph Perez 8a674c2bd3
feat: add coroutine::CancelHandle 2023-12-04 07:46:51 +01:00
David Hewitt 5c6d49084f remove all functionality deprecated in 0.19 2023-11-27 22:02:19 +00:00
Adam Reichold 1203921d5c
Merge pull request #3456 from aldanor/feature/either
Add conversion support for `either::Either`
2023-11-25 09:37:49 +00:00
David Hewitt bead83f4b0 docs: fixup docs for smallvec feature 2023-11-24 22:11:40 +00:00
Ivan Smirnov a75464ee26 add conversion support for either::Either 2023-11-24 22:09:34 +00:00
Joseph Perez 627841f1e2
feat: support async fn in macros with coroutine implementation 2023-11-22 20:25:36 +01:00
David Hewitt bd0174aa5d Change return types of py.None(), py.NotImplemented() and py.Ellipsis() to typed singletons 2023-11-17 16:16:19 +00:00
Surya 0ff84d250e
fix missing char conversion 2023-11-10 09:27:01 -05:00
Samuel Pastva 2fbc02d06c
Finish rename 2023-10-26 19:02:06 -05:00
Samuel Pastva fc787eabd2
Update guide/src/class.md
Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com>
2023-10-26 18:58:43 -05:00
Samuel Pastva 48c90d9586 Add example of dynamic return type in the "Python classes" section of the guide. 2023-10-26 17:13:32 -05:00
David Hewitt 7534c31a6d
Note about pyenv activate and pyenv virtualenv commands
Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
2023-10-26 08:21:31 +01:00
David Hewitt 98346dd137 docs: improve detail around pyenv install 2023-10-25 23:29:20 +01:00
David Hewitt 2ca8e573a4 remove comparison to rust-cpython 2023-10-15 22:03:24 +01:00
David Hewitt e1d4173827 Fix bug in default implementation of __ne__ 2023-10-11 09:48:06 +01:00
David Hewitt f335f42197
Merge pull request #3446 from davidhewitt/relax-import-check
relax multiple-import check to only prevent subinterpreters
2023-09-29 16:35:31 +00:00
SigureMo 25b2acb0eb
fix some dead links 2023-09-29 13:24:00 +08:00
David Hewitt f17e703167 return existing module on Python 3.9 and up 2023-09-23 11:13:39 +01:00
Jeff Schwab 535a255bae Fix a typo in a documentation page title 2023-09-21 21:11:27 +01:00
David Hewitt bcb01049cc
Merge pull request #3404 from davidhewitt/fix-dealloc
call PyObject_GC_Untrack before deallocating
2023-09-11 05:18:34 +00:00
David Hewitt e28403e772 call PyObject_GC_Untrack before deallocating 2023-09-09 22:29:58 +01:00
David Hewitt c7f834ad87 add migration guide entry for PyDict::get_item 2023-09-09 13:05:51 +01:00
Julian Hofer 6e24fb6643 guide: Add playground.runnable = false to book.toml 2023-09-05 22:28:43 +02:00
David Hewitt e67b283b25
Merge pull request #3358 from alex/ptr-unsafe-trait
fixes #3325 -- mark `AsPyPointer` as `unsafe trait`
2023-09-04 05:05:56 +00:00
David Hewitt 4c46d81afd simplify thread checker implementation 2023-09-03 14:15:26 +01:00
David Hewitt cc1aa598cd
Merge pull request #3411 from OliverFM/main
Update docs with fresher bazel example
2023-08-29 06:17:51 +00:00
oliver 9714f819f0 Update docs with fresher bazel example 2023-08-29 06:44:22 +01:00
Shahriar Heidrich 2855b9d508 Mention no subclassing of Python classes in docs 2023-08-28 12:34:13 +02:00
Alex Gaynor df5aa77800
fixes #3325 -- mark AsPyPointer as unsafe trait 2023-08-18 10:16:34 -04:00
Adam Reichold 9363491d54
Merge pull request #3384 from DataTriny/pyclass_rename_variants
Add  `rename_all` attribute to `#[pyclass]`
2023-08-16 19:06:37 +00:00
DataTriny f02fe9478d
Make rename_all accept a renaming rule, allow applying it to classes as well 2023-08-15 10:15:48 +02:00
David Hewitt 5ad55d2dc7 Revert "Fix typos and other minor touchups to guide"
This reverts commit 24eee46128.
2023-08-15 08:55:41 +01:00
Alex Gaynor 5061b501a9
Remove IntoPyPointer
it wasn't used in any public APIs following #3359
2023-08-14 16:28:20 -04:00
DataTriny a9e9ec628d
Add attribute to 2023-08-13 18:25:07 +02:00