Bump pyo3 from 0.22.6 to 0.25.1
Type: Pull Request
State: Open
Association: None
Comments: 1
(10 months ago)
(10 months ago)
Bumps pyo3 from 0.22.6 to 0.25.1.
Release notes
Sourced from pyo3's releases.
PyO3 0.25.1
This release adds testing for arm64 Windows, and fixes a bug with Python 3.14 support on 32-bit systems.
This release also adds a
chrono-localfeature to enable support forchrono::Localtimezone (this was previously available in PyO3 0.24 but would convert the local timezone to a fixed offset, which did not round-trip well).There are a few other fixes, mostly correcting FFI definitions and improving compiler errors when writing
asynccode without theexperimental-asyncfeature enabled.Thank you to the following contributors for the improvements:
@bschoenmaeckers@Cheukting@davidhewitt@decathorpe@dependabot[bot]@Icxolu@jessekrubin@musicinmybrain@ngoldbaum@timfel@tonybaloney@Tpt@yogevm15PyO3 0.25.0
This version extends Python version support to include the new Python 3.14, currently in beta. Please note it is possible that there may yet be changes to 3.14 before stable release which may impact final compatibility.
New optional dependencies on
bigdecimal,ordered_float, andtimehave been added to permit converting types from those crates to Python types (and vice versa).The
experimental-inspectfeature now has the capability to autogenerate type stubs. These stubs are still extremely basic and lack much information. Tooling such assetuptools-rustandmaturinwill also need to be updated to make adoption of these easier. Please follow PyO3/pyo3#5137 to keep abreast of developments of this feature.The
#[pyclass]macro has gained new options#[pyclass(generic)]and#[pyclass(immutable_type)]to offer additional control over the runtime behaviour of the generated Python type object.The
AsPyPointertrait has been removed as PyO3's smart pointer types such asPy<T>,Bound<T>andBorrowed<T>covered this use case with a better API.As part of the upgrade to support 3.14, there have also been many cleanups to
pyo3-ffi. Many definitions which are private implementation details of CPython have been removed; projects downstream of CPython cannot rely on stability of these even across CPython patch releases.There are also many other incremental improvements, bug fixes and smaller features.
Please consult the migration guide for help upgrading.
Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following contributors' commits are included in this release:
@0x676e67@bschoenmaeckers@clin1234@davidbrochart@davidhewitt@ddelange@decathorpe@dependabot[bot]
... (truncated)
Changelog
Sourced from pyo3's changelog.
[0.25.1] - 2025-06-12
Packaging
- Add support for Windows on ARM64. #5145
- Add
chrono-localfeature for optional conversions for chrono'sLocaltimezone &DateTime<Local>instances. #5174Added
- Add FFI definition
PyBytes_AS_STRING. #5121- Add support for module associated consts introspection. #5150
Changed
Fixed
- Report a better compile error for
asyncdeclarations when not usingexperimental-asyncfeature. #5156- Fix implementation of
FromPyObjectforuuid::Uuidon big-endian architectures. #5161- Fix segmentation faults on 32-bit x86 with Python 3.14. #5180
[0.25.0] - 2025-05-14
Packaging
- Support Python 3.14.0b1. #4811
- Bump supported GraalPy version to 24.2. #5116
- Add optional
bigdecimaldependency to add conversions forbigdecimal::BigDecimal. #5011- Add optional
timedependency to add conversions fortimetypes. #5057- Remove
cfg-ifdependency. #5110- Add optional
ordered_floatdependency to add conversions forordered_float::NotNanandordered_float::OrderedFloat. #5114Added
- Add initial type stub generation to the
experimental-inspectfeature. #3977- Add
#[pyclass(generic)]option to support runtime generic typing. #4926- Implement
OnceExt&MutexExtforparking_lot&lock_api. Use the new extension traits by enabling thearc_lock,lock_api, orparking_lotcargo features. #5044- Implement
From/IntoforBorrowed<T>->Py<T>. #5054- Add
PyTzInfoconstructors. #5055- Add FFI definition
PY_INVALID_STACK_EFFECT. #5064- Implement
AsRef<Py<PyAny>>forPy<T>,Bound<T>andBorrowed<T>. #5071- Add FFI definition
PyModule_Addandcompat::PyModule_Add. #5085- Add FFI definitions
Py_HashBuffer,Py_HashPointer, andPyObject_GenericHash. #5086- Support
#[pymodule_export]onconstitems in declarative modules. #5096- Add
#[pyclass(immutable_type)]option (on Python 3.14+ withabi3, or 3.10+ otherwise) for immutable type objects. #5101- Support
#[pyo3(rename_all)]support on#[derive(IntoPyObject)]. #5112- Add
PyRangewrapper. #5117Changed
... (truncated)
Commits
2aacae6release: 0.25.1a4c35ceMake PyObjectObRefcnt.refcnt_and_flags 64-bit-only (#5180)0ba8f31docs: add Kyle Barron libraries/packages to README.md (#5172)eb3fac9fix: typos in guide/docs (#5182)7601c0cci: fixes 2025-06-06 (#5186)2829027Add conversions for chrono'sLocaltimezone (#5174)5db4871Remove unnecessary warning filter in pytests (#5165)008efe2conversions: fix FromPyObject impl for uuid::Uuid for big-endian (#5161)a27ccd7Updates to better support ormsgpack on GraalPy. (#5121)2c13c1cCatching Invalid Asyncs (#5156)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Pull Request Statistics
1
2
+13
-20
Package Dependencies
Technical Details
| ID: | 4757770 |
| UUID: | 2728302262 |
| Node ID: | PR_kwDOPXGLl86inpa2 |
| Host: | GitHub |
| Repository: | python-project-templates/python-template-rustjswasm |
| Merge State: | Unknown |