David Hewitt
5039fd746a
add automatic text signature generation
2022-12-24 09:43:02 +00:00
David Hewitt
33871b7aea
allow **kwargs to take arguments which conflict with positional-only parameters
2022-12-17 07:22:28 +00:00
David Hewitt
f01b245d85
update ui tests for Rust 1.66
2022-12-16 20:56:15 +00:00
bors[bot]
08423557d4
Merge #2739
...
2739: error when `#[pyo3(signature = ())]` used on invalid methods r=davidhewitt a=davidhewitt
A follow-up to #2702 to reject some invalid applications of `#[pyo3(signature = (...))]` attribute, specifically on magic methods and getters / setters / class attributes.
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-11-22 19:41:27 +00:00
Georg Brandl
99c8dea30e
Use Python::get_type() instead of PyTypeInfo::type_object()
...
The former needs one less import and uses a familiar object.
2022-11-20 15:16:18 +01:00
Georg Brandl
2a630a2a52
Fix being able to call arg-less `#[new]` with any args from Python
...
Fixes #2748
2022-11-20 08:25:19 +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
Bruno Kolenbrander
6766d9f93b
Merge pull request #2686 from dalcde/closure-name-doc
...
Support passing name and doc to new_closure.
2022-11-06 17:35:20 +01:00
messense
0e770a8458
Update ui tests for Rust 1.65.0
2022-11-04 06:35:30 +00:00
Dexter Chua
9201a7dd48
Support passing name and doc to PyCFunction::new_closure. Fixes #2665
2022-10-29 12:26:09 +08:00
David Hewitt
8e8b484169
add `#[pyo3(signature = (...))]` attribute ( #2702 )
2022-10-25 07:23:21 +01:00
David Hewitt
747d791f1f
introduce trampolines for methods ( #2705 )
2022-10-25 07:22:36 +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
mejrs
08c8b845aa
Create better error spans/messages
2022-10-18 21:14:22 +02:00
mejrs
d254134154
Implement get/set all on pyclass
2022-10-17 02:37:43 +02:00
Bruno Kolenbrander
4a04603c2c
Don't use intocallback in method macros ( #2664 )
...
* Don't use intocallback in method macros
Co-authored-by: mejrs <>
2022-10-16 10:35:58 +01:00
David Hewitt
8102ad1a1b
rust: updates for 1.64
2022-09-22 21:03:34 +02: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
David Hewitt
c445eba28d
pyfunction: fix compile error for Option<&T> argument with a default
2022-09-20 15:44:55 +02:00
Jonathan Coates
26a9603519
Some improvements to __richcmp__ on enums
...
- Implement __ne__ as well as __eq__.
- Return NotImplemented when types cannot be converted, rather than
throwing.
- Compare the integer ids inside the __eq__/__ne__ implementation.
Previously a match block was generated.
2022-09-16 15:30:56 +01:00
Ivan “CLOVIS” Canet
d7c1a2906a
IntoPy and FromPyObject allow the retrieval of the type information
2022-09-06 21:30:36 +02:00
David Hewitt
5718adeec7
pyproto: remove deprecated feature
2022-09-06 08:38:44 +01:00
David Hewitt
9d543b3f4b
pyfunction: fix from_py_with on Option<T> argument
2022-08-25 18:57:17 +01:00
David Hewitt
36ecadd69f
ci: unpin serde, fixup nightly ui tests
2022-08-23 08:07:26 +01: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
mejrs
fc6121eafe
Deprecate acquire_gil
2022-08-15 03:34:47 +02:00
David Hewitt
c58ff7758c
pypy: disable PyFunction
2022-08-13 17:51:10 +01:00
David Hewitt
987858f5fa
ci: ui tests for 1.63
2022-08-12 07:26:29 +01:00
messense
db177a07ad
Fix new clippy warnings in Rust 1.63.0
2022-08-12 11:50:23 +08: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
mejrs
984fdf57c7
Use Python:;with_gil in tests
2022-07-19 19:34:23 +02:00
David Hewitt
d5e99b635d
refactor: remove all 0.15 deprecations
2022-07-15 06:33:14 +01:00
David Hewitt
7babd13830
datetime: support timezone bindings
2022-07-13 22:05:17 +01:00
David Hewitt
97ce1f6892
ci: fix nightly UI tests
2022-07-13 08:06:14 +01:00
Ivan Krivosheev
1cd1dbfe8b
Add super object ( #2486 )
2022-07-03 19:21:15 +01:00
Bruno Kolenbrander
58d4ba833e
Rust 1.62 ( #2489 )
...
* Rust 1.62
* Make rust happy
* Just use a doctest instead
Co-authored-by: mejrs <>
2022-07-02 16:08:01 +01:00
David Hewitt
4da9c3a55f
llvm-lines: use iterator to collect class items
2022-06-25 22:03:28 +01:00
David Hewitt
62f27caffe
ci: fix nightly ui tests
2022-06-25 21:12:14 +01:00
Ashley Anderson
bde5102eb8
Increasing test coverage ( #2462 )
...
* cov: src/buffer.rs - add tests for debug and element from format
* cov: src/buffer.rs - add some fortran-specific calls in test_array_buffer
* fix issues in MSRV
* cov: src/types/function.rs - directly call PyCFunction::new and PyCFunction::new_with_keywords
* docs: clarify docs of PyCFunction::new and PyCFunction::new_with_keywords
* revert added rust-version for MSRV in Cargo.toml
* cov: src/types/slice.rs - simple tests for PySliceIndices::new
* fix for multi-platform
* Update src/types/function.rs
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
* cov: src/buffer.rs - a better PyBuffer Debug test
Co-authored-by: David Hewitt <1939362+davidhewitt@users.noreply.github.com>
2022-06-23 21:30:22 +01:00
Gabriel Smith
75656949f9
macros: Support #[pyo3(name)] on enum variants
2022-06-22 09:36:40 -04:00
Gabriel Smith
2122faa547
macros: Use macro-defined name for enums in __repr__
2022-06-21 16:31:23 -04:00
David Hewitt
7725f17c46
pyclass: switch from immutable to frozen
2022-06-19 21:18:15 +01:00
David Hewitt
517f4a87a9
Merge pull request #2450 from mejrs/misc
...
Fix UB in *_offset functions
2022-06-18 08:53:10 +01:00
David Hewitt
f81a01b604
macros: emit pymethod associated methods as a single block
2022-06-16 22:15:29 +01:00
Ivan Krivosheev
f19561c745
Allow #[classattr] take Python argument
2022-06-16 13:08:53 +03:00
mejrs
2d3a5852ed
Avoid UB in *_offset methods
2022-06-12 15:11:39 +02:00