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
David Hewitt
64adab1a76
add as_ptr and into_ptr inherent methods
2023-08-11 10:49:42 +01:00
Tpt
1e5a49557d
Makes PathBuf FromPyObject implementation work on all os.PathLike
...
PyOS_FSPath is in abi3-py36
2023-08-08 22:15:56 +02:00
CallMeMSL
5bcb513add
Update outdated link in python_typing_hints.md and fix typos
2023-07-14 15:50:14 +02:00
Pan Piłkarz
f3d7cf6fac
Tiny grammar fix in error_handling.md
2023-07-12 15:51:18 +02:00
Adam Reichold
89b9bc384a
Merge pull request #3304 from PyO3/guide-perf-section
...
Start adding a performance section to the guide.
2023-07-11 19:36:56 +00:00
mejrs
092b73aa48
Two is not three
2023-07-11 13:56:34 +02:00
Adam Reichold
bedb682d0e
Add another performance subsection on implicit access to GIL token.
2023-07-09 15:02:12 +02:00
Adam Reichold
ff78b92e77
Start adding a performance section to the guide.
2023-07-09 14:32:59 +02:00
David Hewitt
23d1a6d307
add some missing type conversions to the guide
2023-07-03 21:36:17 +01:00
Alex Gaynor
0b78bb851e
Allow #[new]
to return existing instances
...
fixes #2384
2023-07-02 19:57:53 -04:00
CallMeMSL
23bdd4337f
Fix typos and add punctuation recommended by grammarly in Class.md
2023-06-28 13:46:13 +02:00
Luca Trevisani
de9d760462
Add conversions between Rust Path/PathBuf and Python str / pathlib.Path
2023-06-25 20:40:51 +02:00
Adam Reichold
684002daf5
Format recently modified code example from the guide.
2023-06-16 12:46:26 +02:00
Adam Reichold
2996f92ade
Extend guide section on classes regarding free functions
...
It might not be obvious from the reading the sections on free functions and on
classes that they combine in a frictionless manner, i.e. class instances can be
parameters to free functions in the same manner that the self parameters of
instance methods are handled.
This also explicitly calls out the interaction between `Clone` and
`FromPyObject` for classes.
2023-06-16 08:44:34 +02:00
Adam Reichold
a0c85bb649
Merge pull request #3240 from davidhewitt/maturin-versions
...
bump maturin version in example files
2023-06-14 08:24:31 +00:00
David Hewitt
5fd5dcba44
bump maturin version in example files
2023-06-14 08:45:32 +01:00
David Hewitt
4f3fcdbf0f
remove all functionality deprecated in PyO3 0.18
2023-06-13 22:27:43 +01:00
Adam Reichold
0d30bb7d3d
Bump Rust edition to 2021 and make current Clippy happy.
2023-06-07 21:15:38 +02:00
bors[bot]
dbf7b233aa
Merge #3203
...
3203: support ordering magic methods for `#[pyclass]` r=adamreichold a=davidhewitt
Closes #2089
This adds `__lt__`, `__le__`, `__eq__`, `__ne__`, `__gt__`, and `__ge__` as per the Python implementations of what we call `__richcmp__`.
There's a UI test confirming that the user cannot implement split forms and `__richcmp__` simultaneously.
There's also a benchmark comparing implementing these split methods against using `__richcmp__`. I couldn't see a meaningful performance difference, so I'm tempted to deprecate `__richcmp__`, given that's not a magic method which exists in Python. Potentially we can provide options such as the opt-in `#[pyclass(eq, ord)]` to avoid boilerplate for people who don't want to implement six different methods.
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2023-06-05 07:13:23 +00:00
Adam Reichold
5738edfdd4
Bump MSRV to 1.56
2023-06-04 23:02:30 +01:00
David Hewitt
8850d5d384
support ordering magic methods for #[pyclass]
2023-06-04 13:58:18 +01:00
David Hewitt
2500e22e13
release: 0.19.0
2023-05-31 13:53:37 +01:00
Adam Reichold
810ad00a76
Do not apply deferred ref count updates and prevent the GIL from being acquired inside of implementations.
2023-05-25 20:01:35 +02:00
David Hewitt
248230b8e4
refactor PyAny::is_instance_of for performance
2023-05-18 22:25:27 +01:00
Adam Reichold
b9766cfa11
Add PyClass::get and Py::get for GIL-independent access to frozen classes.
2023-05-18 08:57:55 +02:00
Stu Hood
20c5618160
Add support for combining the #[new]
and #[classmethod]
method types.
2023-05-16 15:51:14 -07:00
bors[bot]
633b592ed5
Merge #2593
...
2593: docs: mention PyBuffer r=adamreichold a=davidhewitt
Uses PEP 688 `types.Buffer` to describe `PyBuffer<T>` in the conversion tables. Will leave as draft until PEP 688 is finalised.
Closes #954
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
Co-authored-by: Adam Reichold <adam.reichold@t-online.de>
2023-05-09 20:24:37 +00:00
David Hewitt
7c231a2372
docs: mention PyBuffer
2023-05-09 19:53:39 +01:00
Adrien
1676100dfd
Added a few lines to document the main difference between maturin and setuptools-rust as far as building manylinux-compliant wheels is concerned.
...
Added newfragment
2023-05-09 14:54:30 +02:00