David Hewitt
3ab32ff01f
guide: magic methods in pymethods
2021-10-24 15:59:22 +01:00
David Hewitt
0236879e8e
pymethods: test __delete__
2021-10-24 09:40:32 +01:00
David Hewitt
0e0e6f8bf5
pymethods: support protocols with `multiple-pymethods` feature
2021-10-23 00:07:35 +01:00
David Hewitt
4b2345fe80
pymethods: support __call__ proto
2021-10-23 00:06:46 +01:00
David Hewitt
54ddd5aad7
tests: move ui tests updated for rust 1.56 to new section
2021-10-22 23:16:39 +01:00
messense
d6401966f9
Update UI tests output
2021-10-22 16:40:57 +08:00
Azat Ibrakov
7349513f5b
Add fallback for `__mod__` magic method ( #1934 )
...
* Add fallback for `__mod__` magic method
* Add 'CHANGELOG' entry
* Complete tests
2021-10-19 23:14:26 +01:00
Ashley Anderson
bf26daec2d
Positional-only args ( #1925 )
...
* Add support for positional-only args
* Update changelog. Add a few more tests. Run rust-fmt.
* Fix test.
* Fix tests again.
* Update CHANGELOG.md to link PR instead of issue
* Update guide to mention positional-only params
* Add unreachable!() per code review
* Update and expand tests for pos args.
* Fix tests, lint, add UI tests.
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2021-10-19 23:13:27 +01:00
David Hewitt
5a1660f7c8
Merge pull request #1924 from davidhewitt/rtruediv-rfloordiv
...
pymethods: support __rtruediv__ and __rfloordiv__
2021-10-17 10:00:11 +01:00
David Hewitt
212404bc23
pymethods: support __rtruediv__ and __rfloordiv__
2021-10-17 08:33:46 +01:00
laurent
2042906832
pycfunction: add PyCFunction::new_closure rust defined closures
2021-10-17 07:59:50 +01:00
Chris Laplante
3b94f4b70c
Add `anyhow-integration` feature which implements From<anyhow::Error> for PyErr ( #1822 )
...
* Add 'anyhow' feature which provides simple From<anyhow::Error> for PyErr impl
This makes it possible to use anyhow::Result<T> as the return type for
methods and functions exposed to Python.
The current implementation just stringifies the anyhow::Error before
shoving it into a PyRuntimeError. Conversion back to the anyhow::Error
is not possible, but it is better than nothing.
Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
* Document `anyhow` feature in the guide
Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
* update changelog to document anyhow feature
* WIP adding tests
* Finish up anyhow feature
* Fix formatting
* Fix tests
* Fix tests
* Apply review suggestions
Co-authored-by: Bruno Kolenbrander <59372212+mejrs@users.noreply.github.com>
Co-authored-by: mejrs <brunokolenbrander@hotmail.com>
2021-10-17 07:54:29 +01:00
Ashley Anderson
a21e57a9d3
Fix additional tests after trybuild update
2021-10-11 20:52:24 -04:00
Bruno Kolenbrander
49570db3fc
chore: pin trybuild version ( #1906 )
...
chore: pin trybuild version to 1.0.49
2021-10-10 17:22:29 +02:00
mejrs
c78b239586
Fix import
2021-10-03 02:30:13 +02:00
mejrs
22b9519f89
Avoid calling IntoIter on array in msrv
2021-10-03 02:09:53 +02:00
mejrs
31589f09e3
Skip pymethods hygiene on `multiple-pymethods`
2021-10-03 01:41:22 +02:00
mejrs
af67acb644
Fix ci and add more pymodule tests
2021-10-02 21:04:22 +02:00
mejrs
e3477c3cb7
Add to and restructure hygiene tests
2021-10-02 20:44:32 +02:00
David Hewitt
c986b5d4ae
Merge pull request #1889 from davidhewitt/py310
...
packaging: formal support for Python 3.10
2021-09-29 19:36:52 +01:00
David Hewitt
03ba4a5597
ffi: use _Py_NewRef for clarity
2021-09-29 08:02:08 +01:00
David Hewitt
9e80f3dfdd
pep 604: use `T | U` instead of `Union[T, U]` in messaging
2021-09-24 22:46:25 +01:00
David Hewitt
9fa0abe85d
Merge pull request #1864 from davidhewitt/pymethods-protos
...
pymethods: add support for protocol methods
2021-09-24 22:22:16 +01:00
David Hewitt
179b5d1f47
pymethods: fix support for MSRV
2021-09-18 16:42:02 +01:00
David Hewitt
592c98c722
pymethods: disable protocols with multiple-pymethods for now
2021-09-18 13:08:24 +01:00
David Hewitt
a551b005b4
pymethods: finish support for number protocol
2021-09-18 12:59:25 +01:00
David Hewitt
c2d78ca76e
pymethods: faster compilation for protos, tidy ups
2021-09-18 09:49:05 +01:00
David Hewitt
43eb762346
pymethods: support most numerical methods
2021-09-18 00:31:17 +01:00
David Hewitt
70d829de66
gil: try to initialize threads on Python 3.6 if possible
2021-09-17 08:48:21 +01:00
David Hewitt
92e2156161
pymethods: support inplace numerical operations
2021-09-17 08:13:54 +01:00
David Hewitt
b544b5a6d7
pymethods: support iter and async protocols
2021-09-17 08:13:54 +01:00
David Hewitt
8408328cb3
pymethods: add support for protocol methods
2021-09-17 08:13:54 +01:00
mejrs
4cd9f4b570
import FromPyObject into crate root
2021-09-14 14:07:23 +02:00
mejrs
d6973b1b6a
clean up lib.rs
2021-09-13 22:58:15 +02:00
mejrs
68cba78a44
chore: update rust 1.55 ( #1865 )
...
* chore: update rust 1.55
* move test to 1.55 only
* make ci happy
* make ci happy
* make ci happy
* make ci happy
* make clippy happy
* make ci happy
* formatting
2021-09-12 18:07:24 +01:00
David Hewitt
f4c834f5fc
Merge pull request #1843 from PyO3/pymethods_hygiene
...
more macro hygiene cleanup: test #[pymethods] and more arg parsing and protos
2021-08-29 11:26:10 +01:00
Georg Brandl
381eb9c501
Apply suggestions from code review
...
Co-authored-by: mejrs <59372212+mejrs@users.noreply.github.com>
2021-08-29 08:30:05 +02:00
David Hewitt
95a11d0725
Merge pull request #1842 from PyO3/frompyobject_hygiene
...
more macro hygiene cleanup: test the FromPyObject derive macro
2021-08-29 07:15:16 +01:00
David Hewitt
604b28451b
Merge pull request #1841 from PyO3/exception_hygiene
...
more macro hygiene cleanup: test the exception macros
2021-08-29 07:14:36 +01:00
David Hewitt
f76535fd07
pyo3-macros-backend: support macros inside doc attributes
2021-08-28 22:47:20 +01:00
Georg Brandl
6f75fc8eb7
more macro hygiene cleanup: test #[pymethods] and more arg parsing and protos
2021-08-28 18:05:32 +02:00
Georg Brandl
585487c3c1
more macro hygiene cleanup: test the FromPyObject derive macro
2021-08-28 16:42:29 +02:00
Georg Brandl
db00a34a56
more macro hygiene cleanup: test the exception macros
2021-08-28 15:45:49 +02:00
David Hewitt
313610993a
pyo3-macros-backend: more tests for macro hygiene
2021-08-28 10:28:27 +01:00
Georg Brandl
2979fb8268
tests: fix new clippy warning (does not like Foo::foo)
2021-08-23 15:47:09 +02:00
David Hewitt
0613b5a8f8
Merge pull request #1805 from mejrs/proc_macro_hygiene
...
Test proc macro hygiene for `#[pyclass]` macro.
2021-08-18 19:08:41 +01:00
mejrs
f79420dabd
remove shadowing
2021-08-17 21:38:28 +02:00
mejrs
3be3af4121
fix extends param
2021-08-17 15:19:19 +02:00
mejrs
bce5100dc3
use macro to shadow
2021-08-17 15:16:03 +02:00
David Hewitt
37d39aa83a
Merge pull request #1751 from davidhewitt/pyany-py
...
pyany: add PyAny::py()
2021-08-17 14:10:16 +01:00
mejrs
370968b595
test macro hygiene for pyclass
2021-08-16 16:32:11 +02:00
Gregory Szorc
410c9f13c9
macros: raise AttributeError on property deletion requests
...
The setter function will receive a NULL value on deletion requests.
This wasn't properly handled before, leading to a panic.
The new code raises AttributeError in this scenario instead.
A test for the behavior has been added. Documentation has also
been updated to reflect the behavior.
2021-08-13 21:01:00 -07:00
David Hewitt
ebada76ae3
pyany: add PyAny::py()
2021-08-13 08:00:13 +01:00
David Hewitt
b6e8da104d
coverage: also run compile_error tests
2021-08-07 22:45:07 +01:00
R2D2
d809e50c9b
Replaced require_gil with Python::with_gil in test_frompyobject.rs. Removed all unsafe code from macro generated code. Two other small fixes
2021-08-02 09:49:13 +02:00
R2D2
3cfc76ae93
Reworked struct error messages to use the of an error rather than concatenating all error messages
2021-07-31 23:21:07 +02:00
R2D2
403d882d6c
Merge branch 'main' of https://github.com/PyO3/pyo3 into enhanced_extract_type_errors
2021-07-31 21:21:10 +02:00
David Hewitt
ee9a1678d5
rust: updates for rust & clippy 1.54
2021-07-31 08:19:38 +01:00
David Hewitt
d11943ab6d
macros-backend: don't error on #[doc(hidden)]
2021-07-08 23:41:24 +01:00
mejrs
c07c5a4c93
Add full path for PyCell
2021-07-03 07:51:18 +01:00
scalexm
7e8eeec02f
Add a test
2021-06-25 00:18:53 +02:00
messense
b5b9a480cd
Add `wrap_pyfunction` macro to prelude
2021-06-24 22:34:55 +08:00
Giles Cope
08802e2024
property rename via macro
2021-06-24 09:06:47 +01:00
Giles Cope
2688e26391
Bit more coverage
2021-06-24 08:59:35 +01:00
Giles Cope
aaad7ffd63
Need to be able to create structs via macro_rules
...
(Currently only possible using tt escape type.)
2021-06-24 08:40:49 +01:00
David Hewitt
f916867375
pyclass: refactor initialization, call native type dealloc
2021-06-23 07:45:51 +01:00
mejrs
445f5163d4
update error message for rust 1.53
2021-06-19 16:11:03 +02:00
R2D2
d3208b005e
Removed stray newline character from error message
2021-06-09 14:25:49 +02:00
R2D2
ec40446fa3
Removed stray newline character from error message
2021-06-09 14:23:16 +02:00
R2D2
e6da1ebc73
Fixed formatting of error messages and tests
2021-06-09 11:40:14 +02:00
R2D2
0b3fbb5533
Fixed formatting
2021-06-07 10:26:58 +02:00
R2D2
973f0a5bae
Removed the custom error messages from the macro api
2021-06-07 10:18:38 +02:00
David Hewitt
18e0aa17e0
pymodule: accept `#[pyo3(name = "...")]` option
2021-06-06 08:41:20 +01:00
David Hewitt
9b8b133905
pyfunction: document `#[pyo3(pass_module)]`
2021-06-05 17:36:50 +01:00
David Hewitt
cec4c2d2e9
text_signature: move to `#[pyo3(text_signature = "...")]`
2021-06-05 16:33:03 +01:00
Georg Brandl
3e8d003faf
Implement METH_FASTCALL for pyfunctions and pymethods.
2021-06-05 12:57:22 +02:00
David Hewitt
d011467e63
pyclass: allow `#[pyo3(get, set, name = "foo")]`
2021-06-04 11:30:40 +01:00
R2D2
416b1132b4
Added custom error messages to enum fields and container types. Covered with tests. Fixed formatting and linting issues
2021-06-01 22:44:16 +02:00
R2D2
dfc484c43b
Started adding more unit tests
2021-06-01 00:23:54 +02:00
R2D2
1a8fec2e88
Added detailed TypeError messages to enums with derive(FromPyOjbect)
2021-05-31 17:38:15 +02:00
R2D2
4a99bfaaba
Fixed tests after modifying TypeErrors originating from structs. Started work on TypeError message on Enums
2021-05-31 00:28:53 +02:00
David Hewitt
9f74336bc9
pyfunction: better error message with `async fn`
2021-05-25 11:32:52 +01:00
David Hewitt
cfdd535eea
Merge pull request #1610 from davidhewitt/pyfn-name
...
pyfn: deprecate name argument
2021-05-23 23:08:43 +01:00
David Hewitt
a109640850
pyfn: deprecate name argument
2021-05-20 08:54:29 +01:00
Georg Brandl
4539e3524b
Fix new-in-nightly clippy warning
...
Example:
error: used `assert_eq!` with a literal bool
--> src/types/sequence.rs:675:9
|
675 | assert_eq!(empty_seq.is_empty().unwrap(), true);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assert!(..)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison
2021-05-17 09:59:40 +02:00
David Hewitt
4d46abde73
macros: support `#[pyo3(name = "...")]`
2021-05-07 22:35:52 +01:00
David Hewitt
4613b3dd7e
Merge pull request #1596 from davidhewitt/remove-pytypeinfo-layout
...
type_object: remove layout and base type from PyTypeInfo
2021-05-07 22:32:24 +01:00
messense
272d014518
Merge pull request #1598 from davidhewitt/rust-1.52
...
rust: updates for rust 1.52
2021-05-07 09:01:38 +08:00
David Hewitt
defd09c166
rust: updates for rust 1.52
2021-05-06 23:18:34 +01:00
Mara Bos
d33c5010c7
Add test for wrap_pyfunction!() deduction.
2021-05-06 16:05:17 +02:00
David Hewitt
d81abe8344
pyclass: support extending Exception types
2021-05-04 22:00:22 +01:00
David Hewitt
7536554ceb
type_object: remove layout and base type from PyTypeInfo
2021-05-04 21:39:42 +01:00
David Hewitt
48823e22d6
pyproto: deprecate py_methods
2021-04-20 00:21:19 +01:00
David Hewitt
9cdec14454
Merge pull request #1559 from davidhewitt/tidy-clippy-allows
...
clippy: tidy up allow lints
2021-04-12 19:02:04 +01:00
David Hewitt
aa0b5d8488
buffer: tidy up exceptions
2021-04-12 01:21:48 +01:00
David Hewitt
ac0bd0c0f1
clippy: tidy up allow lints
2021-04-12 01:20:04 +01:00
David Hewitt
ce851ad7d9
1506: fixes to macro hygiene
2021-03-28 11:01:51 +01:00
messense
90c5ffbd04
Fix clippy warnings in Rust 1.51.0
2021-03-26 13:21:38 +08:00
David Hewitt
246335bee2
Merge pull request #1505 from scalexm/macro
...
Ignore `syn::Type::Group` in `is_python`
2021-03-20 11:09:04 +00:00
David Hewitt
e34e87ad4a
1505: add CHANGELOG and test
2021-03-20 08:36:19 +00:00