Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update pyo3 requirement from 0.20.0 to 0.21.0 #9808

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 26, 2024

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-atomic dependency 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:

@​adamreichold @​davidhewitt

Changelog

Sourced from pyo3's changelog.

[0.20.3] - 2024-02-23

Packaging

  • Add portable-atomic dependency. #3619
  • Check maximum version of Python at build time and for versions not yet supported require opt-in to the abi3 stable ABI by the environment variable PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1. #3821

Fixed

  • Use portable-atomic to support platforms without 64-bit atomics. #3619
  • Fix compilation failure with either feature enabled without experimental-inspect enabled. #3834

[0.20.2] - 2024-01-04

Packaging

  • Pin pyo3 and pyo3-ffi dependencies on pyo3-build-config to require the same patch version, i.e. pyo3 0.20.2 requires exactly pyo3-build-config 0.20.2. #3721

Fixed

  • Fix compile failure when building pyo3 0.20.0 with latest pyo3-build-config 0.20.X. #3724
  • Fix docs.rs build. #3722

[0.20.1] - 2023-12-30

Added

  • Add optional either feature to add conversions for either::Either<L, R> sum type. #3456
  • Add optional smallvec feature to add conversions for smallvec::SmallVec. #3507
  • Add take and into_inner methods to GILOnceCell #3556
  • #[classmethod] methods can now also receive Py<PyType> as their first argument. #3587
  • #[pyfunction(pass_module)] can now also receive Py<PyModule> as their first argument. #3587
  • Add traverse method to GILProtected. #3616
  • Added abi3-py312 feature #3687

Fixed

  • Fix minimum version specification for optional chrono dependency. #3512
  • Silenced new clippy::unnecessary_fallible_conversions warning when using a Py<Self> self receiver. #3564

[0.20.0] - 2023-10-11

Packaging

  • Dual-license PyO3 under either the Apache 2.0 OR the MIT license. This makes the project GPLv2 compatible. #3108
  • Update MSRV to Rust 1.56. #3208
  • Bump indoc dependency to 2.0 and unindent dependency to 0.2. #3237
  • Bump syn dependency to 2.0. #3239
  • Drop support for debug builds of Python 3.7. #3387

... (truncated)

Commits
  • 901f54b release: 0.20.3
  • 2329862 ci: workaround more aggressive nightly rust lints
  • 284d6ee ci: updates for Rust 1.76
  • 482883a fix either feature conditional compilation, again (#3834)
  • c375c8a add maximum Python version check (#3821)
  • 9d1b11f Use portable-atomic for targets which lack 64-bit atomics used to check inter...
  • 4774ded Merge pull request #3725 from PyO3/release-0.20.2
  • bcef18b release: 0.20.2
  • fa6d60b Use a definite version specification when depending on pyo3-build-config.
  • f9f0bdd Merge 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 rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will 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 version will 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 dependency will 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.

Updates the requirements on [pyo3](https://github.com/pyo3/pyo3) to permit the latest version.
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md)
- [Commits](PyO3/pyo3@v0.20.0...v0.20.3)

---
updated-dependencies:
- dependency-name: pyo3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@alamb
Copy link
Contributor

alamb commented Mar 27, 2024

I think this upgrade will require an upgrade in arrow-rs

@alamb alamb added the waiting-on-upstream PR is waiting on an upstream dependency to be updated label Mar 27, 2024
@Jefffrey
Copy link
Contributor

arrow-rs pyo3 upgrade for tracking: apache/arrow-rs#5566

@alamb alamb marked this pull request as draft March 31, 2024 09:23
@alamb
Copy link
Contributor

alamb commented Mar 31, 2024

marking as a draft as this is waiting on an arrow upgrade

@alamb
Copy link
Contributor

alamb commented Mar 31, 2024

(Thank you @Jefffrey )

@tisonkun
Copy link
Member

This can cause a clippy failure (and perhaps further compiler error) as desc in PyO3/pyo3#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

@Jefffrey
Copy link
Contributor

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto-dependencies waiting-on-upstream PR is waiting on an upstream dependency to be updated
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants