Saul Shanabrook
8a75352122
Add link to Python typing docs for type stubs
...
AFAIK there isn't currently a link to the article on ["Type Stubs"](https://typing.readthedocs.io/en/latest/source/stubs.html ) in the official Python static typing documentation. This PR adds a link to this documentation, which is the most comprehensive I have seen around type stubs.
2022-11-21 16:48:43 -05:00
Matthew Lloyd
b2014c30aa
guide: linkify "Method arguments" in class.md
2022-11-20 16:33:15 -05:00
David Hewitt
8ca41be87b
Merge pull request #2749 from PyO3/2748-fix
...
Fix being able to call arg-less `#[new]` with any args from Python
2022-11-20 11:39:42 +00:00
Georg Brandl
51eeb6db96
guide: explain how #[new] works w.r.t. native base types
2022-11-20 08:25:42 +01:00
Georg Brandl
77f5fc107e
guide: better document negative index behavior w.r.t. PySequence
...
Fixes #2601
2022-11-20 08:09:50 +01:00
Georg Brandl
c489809938
Py/PyAny: deprecate cast_as() in favor of downcast()
...
They are (practically) identical on PyAny, and `downcast()` is the more
useful name.
2022-11-18 07:00:40 +01:00
David Hewitt
00fc0358b9
error when #[pyo3(signature = ())]
used on invalid methods
2022-11-17 08:28:34 +00:00
messense
dee791de90
pyo3-build-config
: rebuild when PYO3_ENVIRONMENT_SIGNATURE
value changed
2022-11-09 20:28:18 +08:00
Marc Garcia
47490a7a31
Fix module name in getting started
2022-11-01 14:08:28 +07:00
David Hewitt
8e8b484169
add #[pyo3(signature = (...))]
attribute ( #2702 )
2022-10-25 07:23:21 +01:00
David Hewitt
446c0e82f0
Merge pull request #2692 from mejrs/all
...
Implement get/set all on pyclass
2022-10-18 21:39:44 +01:00
Georg Brandl
676227d2a1
Make is_instance()
and is_subclass()
take &PyAny
( #2695 )
2022-10-18 19:22:23 +02:00
mejrs
d254134154
Implement get/set all on pyclass
2022-10-17 02:37:43 +02:00
C. Titus Brown
ca1c9c1dba
update per review
2022-10-16 11:04:15 -07:00
C. Titus Brown
8e6bf1875f
Apply suggestions from code review
...
Co-authored-by: Georg Brandl <georg@python.org>
2022-10-16 11:01:15 -07:00
C. Titus Brown
78e4130762
Update getting_started.md
2022-10-15 20:55:49 -07:00
C. Titus Brown
b265ee7907
Point new users at specific source file for Rust code.
...
This was a minor confusion for me so I thought I'd suggest the change - it was the first place I looked, but I did have to think about it :)
2022-10-15 20:49:24 -07:00
Bruno Kolenbrander
c9b26f57cd
Merge pull request #2657 from mejrs/decorator_fix
...
Update decorator to use Cell counter
2022-10-10 19:55:36 +02:00
mejrs
d8fa6be28a
is
2022-10-04 19:33:02 +02:00
mejrs
e0602b641c
Just use Cell
2022-10-04 19:05:44 +02:00
mejrs
611ea4db49
Update decorator to use atomics
2022-10-04 17:59:46 +02:00
David Hewitt
bd40011e93
release: 0.17.2
2022-10-04 08:13:53 +01:00
David Hewitt
372176630e
guide: doctest function/ subpages
2022-09-27 07:52:14 +01:00
Bruno Kolenbrander
fad5f6a07a
Merge pull request #2639 from mrob95/err-self-typo
...
docs: fixed typo in error_handling.md
2022-09-26 23:16:26 +02:00
smheidrich
2dd3c6c71f
Document needing resolve-config for pyo3 cfgs
2022-09-24 16:18:05 +02:00
smheidrich
a731c2ae60
Fix pyo3-build-config version in docs
2022-09-24 15:50:41 +02:00
Mike Roberts
4275abff0c
docs: fixed typo in error_handling.md
2022-09-24 14:03:13 +01:00
messense
86ce4d1a13
Add git repository and edit urls to user guide ( #2635 )
2022-09-23 00:56:25 +00:00
David Hewitt
c5ba1f0632
pyclass: better error and explanation why lifetimes are disallowed ( #2633 )
...
* pyclass: better error and explanation why lifetimes are disallowed
* extend detail on lifetimes
2022-09-22 11:14:06 +02:00
Federico Dolce
63f7df905d
Add chrono 0.4 integration ( #2612 )
...
Co-authored-by: Ivan Tham <pickfire@riseup.net>
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-09-22 09:00:09 +02:00
Ryan Russell
04a7b5f14d
docs: codeblock labels to rust,ignore
format
...
Signed-off-by: Ryan Russell <git@ryanrussell.org>
2022-09-10 11:21:04 -05:00
David Hewitt
5718adeec7
pyproto: remove deprecated feature
2022-09-06 08:38:44 +01:00
David Hewitt
caaf7bbda7
release: 0.17.1
2022-08-28 08:27:56 +01:00
David Hewitt
04c1ac87f1
release: 0.17.0
2022-08-23 21:21:19 +01:00
David Hewitt
f7537909a1
guide: note existence of PyFunction::new_closure
2022-08-23 20:49:14 +01:00
David Hewitt
86a11164e0
guide: note __hash__ can have any integer type up to 64 bits
2022-08-23 20:49:14 +01:00
David Hewitt
c5ecf47890
docs: note __richcmp__
disables default __hash__
2022-08-23 20:49:14 +01:00
David Hewitt
fb05e1d7a7
guide: additional detail on how to handle foreign errors
2022-08-23 20:49:14 +01:00
David Hewitt
580e747521
guide: use sentence case, move function signatures to own section
2022-08-23 20:49:14 +01:00
David Hewitt
af60a359c5
guide: don't use ::pyo3
2022-08-23 20:49:14 +01:00
David Hewitt
ef8ccc0deb
docs: demonstrate NotImplemented
in __richcmp__
2022-08-23 20:49:14 +01:00
Sergey Kvachonok
97eaa77db8
docs: Update the guide for python3-dll-a
v0.2.6
...
Bump the minimum `python3-dll-a` dependency version.
Document the implemented workaround for
https://github.com/PyO3/python3-dll-a/issues/28
2022-08-21 14:33:52 +03:00
David Hewitt
d0492b7c72
Merge pull request #2570 from davidhewitt/pyclass-frozen-tidy
...
pyclass: tidy up frozen implementation
2022-08-21 09:35:51 +01:00
David Hewitt
24456f3f41
pyclass: tidy up frozen implementation
2022-08-21 08:21:06 +01:00
David Hewitt
fd8026c7bb
pyclass: add sequence
option to implement sq_length
2022-08-20 07:14:26 +01:00
Ashley Anderson
5d88e1d1c4
Update PyTryFrom for PyMapping and PySequence to more accurately check types ( #2477 )
...
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-08-10 21:03:18 +01:00
David Hewitt
78ba70d2b4
pymodule: only allow initializing once per process
2022-08-09 19:52:25 +01:00
Nathan Henrie
1ebceb4f86
Additional link args and troubleshooting for MacOS
...
Fixes https://github.com/PyO3/pyo3/issues/1800
Documents issues linking with the system python (`/usr/bin/python3`) as
well as reemphasizes the need for `--no-default-features` with `cargo
test` on MacOS
2022-08-02 16:52:53 -06:00
Sam Vente
6503128442
add first version of getting started page to the guide ( #2499 )
...
* add first version of getting started page to the guide
* add more info on maturin
2022-08-01 10:30:53 +08:00
Acshi Haggenmiller
6831b4875b
Add documentation for more workarounds for enabling the extension-module feature
...
Closes https://github.com/PyO3/pyo3/issues/2521
2022-07-29 00:03:51 -07:00
Jonas Pleyer
9d081e76a4
guide: python_from_rust: fix typo for call0
2022-07-25 12:36:51 -04:00
David Hewitt
209c942277
pyfunction: use extract_argument with holder to avoid extractext
2022-07-14 08:42:22 +01:00
David Hewitt
0391b3b0c1
inventory: update to 0.3
2022-07-03 15:22:25 +01:00
Bruno Kolenbrander
8babae655e
Merge pull request #2468 from mejrs/frozen
...
Add frozen documentation
2022-06-30 14:45:45 +02:00
mejrs
a62930bd95
Fix duplication
2022-06-28 19:53:45 +02:00
David Hewitt
4da9c3a55f
llvm-lines: use iterator to collect class items
2022-06-25 22:03:28 +01:00
David Hewitt
510c126f57
Merge pull request #2457 from yodaldevoid/enum_naming_improvements
...
Enum naming improvements
2022-06-22 22:12:06 +01:00
Gabriel Smith
845be0486a
guide: Update with enum naming macro changes
2022-06-22 09:36:40 -04:00
mejrs
e4e7e6e51c
Add frozen documentation
2022-06-22 01:47:40 +02:00
Sam Vente
cdb3b6ff32
remove outdated workaround in module documentation ( #2466 )
...
* remove workaround section in module.md that is no longer needed after merging #2081
* update changelong
* revert CHANGELOG
2022-06-21 21:02:10 +00:00
Georg Brandl
53b83cccbf
add CompareOp::matches
( #2460 )
2022-06-21 15:36:20 +02:00
David Hewitt
7725f17c46
pyclass: switch from immutable to frozen
2022-06-19 21:18:15 +01:00
David Hewitt
9dfeaa38d4
guide: add contributing page ( #2442 )
...
Co-authored-by: messense <messense@icloud.com>
2022-06-08 13:30:11 +00:00
David Hewitt
f22a69e223
guide: document platform tag for pypy
2022-06-03 20:10:02 +01:00
David Hewitt
126bf49b8b
Merge pull request #2377 from herquan/herquan_cr1
...
Add macro append_to_inittab (issue #2359 )
2022-05-24 08:02:47 +01:00
herquan
2ec477344d
Add macro append_to_inittab
...
Sometimes we need to debug in a real environment with our module installed. `append_to_inittab` will be a wrapper for PyImport_AppendInittab (https://docs.python.org/3/c-api/import.html#c.PyImport_AppendInittab ) and help us to do this
2022-05-24 07:42:15 +01:00
David Hewitt
0de0e3f8d6
Allow #[classattr]
methods to be fallible
2022-05-17 21:19:41 +01:00
messense
c477718fe7
Add support for generating non-abi3 python import libraries for Windows
...
targets
2022-05-12 14:32:20 +08:00
Colin Jermain
f5357f9395
Updating debugging docs with more info on rust-gdb ( #2361 )
2022-05-10 07:00:56 +01:00
Bruno Kolenbrander
c57e5098b8
Fix IntoPyCallbackOutput paper cuts ( #2326 )
...
* Implement IntoPy for arrays of IntoPy
* Improve `IntoPyCallbackOutput` compile error
2022-05-09 18:15:43 +01:00
David Hewitt
bc8641c790
Merge pull request #2350 from mejrs/ignore-less
...
Expand on AsPyPointer docs and un-ignore doc examples
2022-05-06 06:51:54 +01:00
mejrs
5bdf6987c3
Delete section about immutability of pyclasses
2022-05-05 22:24:49 +02:00
David Hewitt
5d8fd4d30e
ffi: remove with_thread cfg
2022-05-05 07:26:05 +01:00
mejrs
8921d5d1c0
Fix CI
2022-05-03 11:36:24 +02:00
mejrs
f1e5d4c9a1
Un-ignore and expand on doc examples
2022-05-03 00:47:09 +02:00
Bruno Kolenbrander
dce4377eb4
Allow more methods to take interned arguments ( #2312 )
...
* Allow more methods to take interned arguments
* Changelog
* Unify name bounds
* Resolve merge conflict
* reduce use of py_decref
* Add some attr tests
* Update migration
2022-05-02 11:13:15 +02:00
cuishuang
19e32a0621
fix some typos
...
Signed-off-by: cuishuang <imcusg@gmail.com>
2022-04-24 22:06:32 +08:00
David Hewitt
7e2d3117ce
cleanup: deprecate PyTypeObject trait
2022-04-23 13:36:32 +01:00
David Hewitt
76bc2a6a4a
Merge pull request #2322 from davidhewitt/opt-in-pyproto
...
pyproto: make deprecated feature opt-in
2022-04-23 13:34:21 +01:00
David Hewitt
e9bd41efb2
better mutability inheritance rules
2022-04-21 20:51:28 +01:00
David Hewitt
0787b670e8
pyproto: make deprecated feature opt-in
2022-04-21 20:19:14 +01:00
David Hewitt
7118e94947
Merge branch 'main' into immutable
2022-04-19 19:00:33 +01:00
Sergey Kvachonok
ae7e1f5ee9
pyo3-build-config: Build "abi3" extensions without an interpreter
...
Support compiling portable "abi3" extension modules even when
the build host Python interpreter configuration is not available
or the discovered Python interpreter version is not supported.
Maturin already implements this by building "abi3" extension wheels
with `PYO3_NO_PYTHON` environment veriable set for cargo when
an `abi3-py3*` feature is detected.
Closes #2292
2022-04-13 10:40:08 +03:00
Bruno Kolenbrander
bc6bd6099c
Merge branch 'main' into immutable
2022-04-12 14:22:33 +02:00
Sergey Kvachonok
4347624bd3
Mention generate-abi3-import-lib
in the features guide
...
Update the feature list section of the user guide
to include `generate-abi3-import-lib` description.
2022-04-11 09:56:52 +03:00
Sergey Kvachonok
a7c0de3628
Document generate-abi3-import-lib
crate feature
...
Update the user guide to describe its applicability to the native
and cross-compilation build scenarios.
2022-04-10 16:45:32 +03:00
David Hewitt
981eb2d90e
Merge pull request #2265 from davidhewitt/pyclass-mapping
...
pyclass: mapping flag
2022-04-04 19:54:37 +01:00
David Hewitt
9f3ccff8c9
guide: improve documentation for #[pyclass(mapping)]
2022-04-04 15:51:01 +01:00
Sergey Kvachonok
80675361f4
pyo3-build-config: Add PYO3_CROSS_PYTHON_IMPLEMENTATION
env var
...
Adds a new cross-compile target interpreter configuration
environment variable.
This feature allows PyO3 to target PyPy on both Windows and Unix
cross compile targets.
2022-04-04 15:23:11 +03:00
David Hewitt
c16cc35b30
pyclass: mapping flag
2022-04-02 16:15:44 +01:00
mejrs
086424b88c
Merge branch 'main' of https://github.com/mejrs/pyo3 into immutable
2022-04-01 23:11:02 +02:00
Sergey Kvachonok
2d2b9f5c33
Update the user guide and add a ChangeLog entry
...
Update Architecture.md to reflect the current cross compilation
support state.
2022-04-01 11:32:46 +03:00
Bruno Kolenbrander
fb689340b4
Merge branch 'main' into lint-more
2022-03-23 09:34:31 +01:00
mejrs
6f1cf1b662
Add more lints
2022-03-23 08:07:28 +01:00
David Hewitt
87c79c0319
Merge pull request #2234 from davidhewitt/pyclass-args-refactor
...
pyclass: unify pyclass with its pyo3 arguments
2022-03-22 11:38:05 +00:00
David Hewitt
49c1d22606
docs: for #2234
2022-03-22 10:38:36 +00:00
Mo Mirza
143b7d368f
Replace nbsp with space ( #2237 )
...
This fixes markdown heading rendering
2022-03-20 16:45:33 +01:00
Georg Brandl
f084ceb9b1
guide: fix duplicated example for #[new]
...
The second one was probably intended to show a fallible `#[new]`.
Also show that the method does not need to be named `new()`, which
is nice because `new()` can be used for a Rust-level constructor
if they differ.
2022-03-06 10:57:49 +01:00
David Hewitt
0f1b8dd43f
Merge pull request #2207 from davidhewitt/tidy-doctests
...
guide: tidy up doctests
2022-03-05 16:18:43 +00:00
Alex Gaynor
01d8f1e696
added missing proc-macro invocation to migration guide ( #2209 )
2022-03-05 15:46:36 +00:00
David Hewitt
2bd64c4962
guide: tidy up doctests
2022-03-04 22:50:12 +00:00
Jerzy Spendel
eaa82b2856
Remove typying
2022-03-04 16:24:49 +01:00
Georg Brandl
6bc8943df5
changelog/guide: visibility is also important for wrap_pyfunction! now
...
Fixes #2202
2022-03-04 07:48:41 +01:00
David Hewitt
b59ee9b54b
misc: tidy ups pre 0.16
2022-02-27 10:02:28 +00:00
Georg Brandl
0678f11266
Protocols: implement __getattribute__
...
converting tp_getattro to a shared slot
Fixes #2186
2022-02-26 20:05:50 +01:00
Georg Brandl
03dc96bff1
Py/PyAny: remove PartialEq impl and add is() ( #2183 )
2022-02-25 19:39:45 +00:00
David Hewitt
7c865fcc25
Merge pull request #2173 from davidhewitt/deprecate-pyproto
...
pyproto: deprecate protocol traits
2022-02-24 23:54:40 +00:00
David Hewitt
424644181b
pymethods: add support for inplace concat & repeat
2022-02-24 23:07:24 +00:00
Rico Hageman
ed698c4b43
Add documentation related to from_py_with for the FromPyObject trait
2022-02-24 22:54:30 +01:00
Bruno Kolenbrander
af0cef0e59
Merge branch 'main' into object
2022-02-23 10:13:29 +01:00
mejrs
be84e0fbb9
Add numeric and object protocol examples
2022-02-23 10:09:45 +01:00
David Hewitt
253507b5dd
migration: add note on pymethods -> pyproto
2022-02-23 07:50:55 +00:00
Georg Brandl
a21cf677e3
docs: remove/deprecate pyproto
2022-02-23 07:50:55 +00:00
David Hewitt
d8ee35e19c
Merge pull request #2165 from mejrs/auto_trait
...
Implement Auto trait
2022-02-23 07:16:17 +00:00
mejrs
9e29c1058c
Gut specialization and implement auto trait
...
Implement auto trait
Implement auto trait
Undo oopsie
Fix versions
Fix CI errors
Fix CI
Remove more specialization remnants
2022-02-22 22:43:23 +01:00
David Hewitt
79123b396c
pyclass: deprecate gc option
2022-02-15 08:01:46 +00:00
David Hewitt
676295b8de
pymethods: support gc protocol
2022-02-15 08:01:23 +00:00
David Hewitt
f5b2a88a70
refactor: include __new__ as slot
2022-02-09 08:07:14 +00:00
David Hewitt
75e44585de
refactor: pass tp_alloc and tp_free via slots
2022-02-09 08:07:14 +00:00
mejrs
7520b49ac1
Implement opt-in immutable pyclasses
2022-02-08 18:08:18 +00:00
b05902132
78f5afc82e
Finish implementation for pyclass enums
2022-02-07 22:17:11 +00:00
David Hewitt
4fd01c3cd6
fix: guide example for pyclass expansion
2022-02-07 07:46:12 +00:00
David Hewitt
9def53317f
Merge pull request #2153 from davidhewitt/simplify-intrinsic-items
...
refactor: inline pyclass_intrinsic_items
2022-02-07 00:05:30 +00:00
David Hewitt
e39881c208
refactor: inline pyclass_intrinsic_items
2022-02-06 23:26:57 +00:00
David Hewitt
f75579a489
python-3.11: support buffer API on abi3
2022-02-06 22:46:45 +00:00
David Hewitt
ecfd2c2434
pyclass: simplify generated code for PyClassImpl
2022-02-05 16:58:01 +00:00
David Hewitt
558549e1c2
pyproto: split into new feature
2022-02-05 16:51:31 +00:00
David Hewitt
53c170078d
pymethods: seq methods from mapping methods
2022-02-05 15:59:22 +00:00
mejrs
463543ad58
Annotate Rust blocks with "rust"
2022-01-29 01:03:57 +01:00
Jakub Kołodziejczak
d1542a8a79
docs(guide): example of loading python file from path at runtime in a way that it sees its dependencies ( #2109 )
...
* docs(guide): example of loading python file from path at runtime in a way that it sees its dependencies
* docs: editorial fixes
suggested by @mejrs
Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com>
Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com>
2022-01-24 11:03:47 +01:00
Jakub Kołodziejczak
020488efee
docs: example how to include multiple Python files into the binary and at runtime ( #2095 )
2022-01-17 10:57:39 +01:00
messense
ce80b7e0f3
Switch from tox to nox
2022-01-17 00:24:33 +08:00
David Hewitt
2cee7feaaf
Merge pull request #2083 from aviramha/magic_methods
...
verify py method args count
2022-01-07 00:13:05 +00:00
Aviram Hassan
50659b6b02
__ipow__
now supports modulo argument on Python 3.8+.
...
`pyo3-macros-backend` is now compiled with PyO3 cfgs to enable different magic method definitions based on version.
Add check for correct number of arguments on magic methods.
2022-01-03 09:53:56 +02:00
David Hewitt
cf965155f4
pymethods: support buffer protocol
2021-12-30 15:48:55 +00:00
David Hewitt
e33b3e6a5b
opt: don't emit T::dict_offset and T::weakref_offset without attributes
2021-12-30 14:57:27 +00:00
Bruno Kolenbrander
4d1d859a64
Merge branch 'main' into aliases
2021-12-24 22:28:22 +01:00
James Hilton-Balfe
a5511b8f8a
Fix markdown link ( #2071 )
2021-12-22 16:51:03 +00:00
mejrs
9512ce4e87
Fix call example
2021-12-22 12:12:16 +01:00
Bruno Kolenbrander
39cac9075b
Organize examples + add __call__ example ( #2043 )
...
* Add decorator example crate and split off chapter
* Move not-examples to their own folder
* Add some readme's
* Make black happy
* Make clippy happy
* Add decorator example crate and split off chapter
* Fix ci
* Add empty workspace key
* Try fix ci
* fix ci
* reuse target dir for examples CI
* add pytests folder to makefile recipes
* fix ci, try 2
* add missing pyproject.toml
* remove TOX_TESTENV_PASSENV from Makefile
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2021-12-15 00:45:26 +00:00
Georg Brandl
a5b76bc365
pyo3_path, part 4: rename to crate
to keep consistent with serde
2021-12-09 07:36:48 +01:00
Georg Brandl
e4f608f605
pyo3_path, part 2: add pyo3_path options and use them.
2021-12-09 07:24:18 +01:00
David Hewitt
2ac30ec411
err: tweak names, inlining and docs
2021-11-27 08:26:04 +00:00
David Hewitt
e9b46f76da
Merge pull request #1985 from PyO3/is_instance_of
...
add PyType::is_subclass_of and PyAny::is_instance_of
2021-11-20 14:56:36 +00:00
David Hewitt
ded44eebfb
Merge pull request #2006 from davidhewitt/drop-py36
...
python: drop support for 3.6
2021-11-20 14:04:31 +00:00
Georg Brandl
43893158b1
switch is_instance/is_instance_of, is_subclass/is_subclass_of
2021-11-20 13:18:43 +00:00
David Hewitt
cc91a7c574
Merge pull request #2007 from davidhewitt/remove-0.14-deprecations
...
deprecations: remove items deprecated in PyO3 0.14
2021-11-20 13:09:04 +00:00
David Hewitt
70030f130d
python: drop support for 3.6
2021-11-20 13:02:42 +00:00
David Hewitt
c9a4cd1f87
deprecations: remove items deprecated in PyO3 0.14
2021-11-19 16:33:29 +00:00
David Hewitt
b9cc10f3fb
pyo3-build-config: don't enable resolve-config by default
2021-11-19 14:19:24 +00:00