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
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
David Hewitt
7c56a03d64
frompyobject: fix from_py_with
ignored for transparent structs
2022-06-09 06:49:25 +01:00
Hood Chatham
da5b9814cc
Set up CI for wasm32-emscripten target ( #2436 )
...
* ci: test on emscripten target
This adds CI to build libpython3.11 for wasm32-emscripten and
running tests against it. We need to patch instant to work
around the emscripten_get_now:
https://github.com/sebcrozet/instant/pull/47
We also have to patch emscripten to work aroung the "undefined
symbol gxx_personality_v0" error:
https://github.com/emscripten-core/emscripten/issues/17128
I set up a nox file to download and install emscripten,
download and build cpython, set appropriate environment variables
then run cargo test. The workflow just installs python, rust,
node, and nox and runs the nox session.
I xfailed all the test failures. There are problems with datetime.
iter_dict_nosegv and test_filenotfounderror should probably be
fixable. The tests that involve threads or asyncio probably can't
be fixed.
* Some cleanup
* Remove instant patch
* Add explanations for xfails
2022-06-08 05:59:18 +01:00
David Hewitt
cdf86482d8
ffi: many fixes to pypy definitions
2022-06-04 12:47:40 +01:00
David Hewitt
a746411b24
Merge pull request #2422 from davidhewitt/frompyobject-fixes
...
frompyobject: improve error messages of derived impls
2022-06-02 13:30:03 +01:00
David Hewitt
f50406a034
Merge pull request #2413 from davidhewitt/simpler-interned
...
macros: simpler expansion for `intern!`
2022-06-02 12:54:11 +01:00
David Hewitt
0aa4f95a98
frompyobject: improve error messages of derived impls
2022-06-02 11:13:35 +01:00
David Hewitt
261c0c5f56
macros: simpler expansion for intern!
2022-06-02 09:57:58 +01:00