chore(deps): update pyo3 requirement from 0.20.0 to 0.21.0
Updates the requirements on pyo3 to permit the latest version.
Release notes
Sourced from pyo3's releases.
PyO3 0.20.3
This is a stability & compatibility release to fix a couple of minor compilation edge cases from PyO3 0.20.2.
The
portable-atomicdependency has been added to resolve compile failures on platforms without 64-bit atomic support.A maximum Python version check (currently for Python 3.12) has been added to prevent using old PyO3 code against future Python versions beyond the supported range.
Thank you to the following users for the improvements:
Changelog
Sourced from pyo3's changelog.
[0.20.3] - 2024-02-23
Packaging
- Add
portable-atomicdependency. #3619- Check maximum version of Python at build time and for versions not yet supported require opt-in to the
abi3stable ABI by the environment variablePYO3_USE_ABI3_FORWARD_COMPATIBILITY=1. #3821Fixed
- Use
portable-atomicto support platforms without 64-bit atomics. #3619- Fix compilation failure with
eitherfeature enabled withoutexperimental-inspectenabled. #3834[0.20.2] - 2024-01-04
Packaging
- Pin
pyo3andpyo3-ffidependencies onpyo3-build-configto require the same patch version, i.e.pyo30.20.2 requires exactlypyo3-build-config0.20.2. #3721Fixed
- Fix compile failure when building
pyo30.20.0 with latestpyo3-build-config0.20.X. #3724- Fix docs.rs build. #3722
[0.20.1] - 2023-12-30
Added
- Add optional
eitherfeature to add conversions foreither::Either<L, R>sum type. #3456- Add optional
smallvecfeature to add conversions forsmallvec::SmallVec. #3507- Add
takeandinto_innermethods toGILOnceCell#3556#[classmethod]methods can now also receivePy<PyType>as their first argument. #3587#[pyfunction(pass_module)]can now also receivePy<PyModule>as their first argument. #3587- Add
traversemethod toGILProtected. #3616- Added
abi3-py312feature #3687Fixed
- Fix minimum version specification for optional
chronodependency. #3512- Silenced new
clippy::unnecessary_fallible_conversionswarning when using aPy<Self>selfreceiver. #3564[0.20.0] - 2023-10-11
Packaging
... (truncated)
Commits
901f54brelease: 0.20.32329862ci: workaround more aggressive nightly rust lints284d6eeci: updates for Rust 1.76482883afixeitherfeature conditional compilation, again (#3834)c375c8aadd maximum Python version check (#3821)9d1b11fUse portable-atomic for targets which lack 64-bit atomics used to check inter...4774dedMerge pull request #3725 from PyO3/release-0.20.2bcef18brelease: 0.20.2fa6d60bUse a definite version specification when depending on pyo3-build-config.f9f0bddMerge pull request #3724 from davidhewitt/fix-build-config-issue- Additional commits viewable in compare view
You can trigger a rebase of this PR 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)
Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
I think this upgrade will require an upgrade in arrow-rs
arrow-rs pyo3 upgrade for tracking: https://github.com/apache/arrow-rs/pull/5566
marking as a draft as this is waiting on an arrow upgrade
(Thank you @Jefffrey )
This can cause a clippy failure (and perhaps further compiler error) as desc in https://github.com/PyO3/pyo3/issues/4094.
But we need to release a new arrow version and bump the dep to arrow in datafusion first?
stdout : Updating crates.io index
error: failed to select a version for `pyo3-ffi`.
... required by package `pyo3 v0.20.0`
... which satisfies dependency `pyo3 = "^0.20"` of package `arrow v51.0.0`
... which satisfies dependency `arrow = "^51.0.0"` of package `datafusion-benchmarks v37.0.0 (/Users/tison/Brittani/arrow-datafusion/benchmarks)`
versions that meet the requirements `=0.20.0` are: 0.20.0
the package `pyo3-ffi` links to the native library `python`, but it conflicts with a previous package which links to `python` as well:
package `pyo3-ffi v0.21.2`
... which satisfies dependency `pyo3-ffi = "=0.21.2"` of package `pyo3 v0.21.2`
... which satisfies dependency `pyo3 = "^0.21.2"` of package `datafusion-common v37.0.0 (/Users/tison/Brittani/arrow-datafusion/datafusion/common)`
... which satisfies path dependency `datafusion-common` (locked to 37.0.0) of package `datafusion-benchmarks v37.0.0 (/Users/tison/Brittani/arrow-datafusion/benchmarks)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the `links = "python"` value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.
failed to select a version for `pyo3-ffi` which could resolve this conflict
Yeah we need to wait for arrow-rs release either way. It depends on 0.21.1 but this should be fine, it can resolve to 0.21.2 as well (just cargo update if its not already)
Thank you for your contribution. Unfortunately, this pull request is stale because it has been open 60 days with no activity. Please remove the stale label or comment or this will be closed in 7 days.
Superseded by #11119.