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

fix(deps): update rust crate pyo3 to 0.21.0 #2165

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

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 26, 2024

Mend Renovate

This PR contains the following updates:

Package Type Update Change
pyo3 dependencies minor 0.20.3 -> 0.21.0

Release Notes

pyo3/pyo3 (pyo3)

v0.21.2

Compare Source

Changed
  • Deprecate the PySet::empty() gil-ref constructor. #​4082
Fixed
  • Fix compile error for async fn in #[pymethods] with a &self receiver and more than one additional argument. #​4035
  • Improve error message for wrong receiver type in __traverse__. #​4045
  • Fix compile error when exporting a #[pyclass] living in a different Rust module using the experimental-declarative-modules feature. #​4054
  • Fix missing_docs lint triggering on documented #[pymodule] functions. #​4067
  • Fix undefined symbol errors for extension modules on AIX (by linking libpython). #​4073

v0.21.1

Compare Source

Added
  • Implement Send and Sync for PyBackedStr and PyBackedBytes. #​4007
  • Implement Clone, Debug, PartialEq, Eq, PartialOrd, Ord and Hash implementation for PyBackedBytes and PyBackedStr, and Display for PyBackedStr. #​4020
  • Add import_exception_bound! macro to import exception types without generating GIL Ref functionality for them. #​4027
Changed
  • Emit deprecation warning for uses of GIL Refs as #[setter] function arguments. #​3998
  • Add #[inline] hints on many Bound and Borrowed methods. #​4024
Fixed
  • Handle #[pyo3(from_py_with = "")] in #[setter] methods #​3995
  • Allow extraction of &Bound in #[setter] methods. #​3998
  • Fix some uncovered code blocks emitted by #[pymodule], #[pyfunction] and #[pyclass] macros. #​4009
  • Fix typo in the panic message when a class referenced in pyo3::import_exception! does not exist. #​4012
  • Fix compile error when using an async #[pymethod] with a receiver and additional arguments. #​4015

v0.21.0

Compare Source

Added
  • Add support for GraalPy (24.0 and up). #​3247
  • Add PyMemoryView type. #​3514
  • Allow async fn in for #[pyfunction] and #[pymethods], with the experimental-async feature. #​3540 #​3588 #​3599 #​3931
  • Implement PyTypeInfo for PyEllipsis, PyNone and PyNotImplemented. #​3577
  • Support #[pyclass] on enums that have non-unit variants. #​3582
  • Support chrono feature with abi3 feature. #​3664
  • FromPyObject, IntoPy<PyObject> and ToPyObject are implemented on std::duration::Duration #​3670
  • Add PyString::to_cow. Add Py<PyString>::to_str, Py<PyString>::to_cow, and Py<PyString>::to_string_lossy, as ways to access Python string data safely beyond the GIL lifetime. #​3677
  • Add Bound<T> and Borrowed<T> smart pointers as a new API for accessing Python objects. #​3686
  • Add PyNativeType::as_borrowed to convert "GIL refs" to the new Bound smart pointer. #​3692
  • Add FromPyObject::extract_bound method, to migrate FromPyObject implementations to the Bound API. #​3706
  • Add gil-refs feature to allow continued use of the deprecated GIL Refs APIs. #​3707
  • Add methods to PyAnyMethods for binary operators (add, sub, etc.) #​3712
  • Add chrono-tz feature allowing conversion between chrono_tz::Tz and zoneinfo.ZoneInfo #​3730
  • Add FFI definition PyType_GetModuleByDef. #​3734
  • Conversion between std::time::SystemTime and datetime.datetime #​3736
  • Add Py::as_any and Py::into_any. #​3785
  • Add PyStringMethods::encode_utf8. #​3801
  • Add PyBackedStr and PyBackedBytes, as alternatives to &str and &bytes where a Python object owns the data. #​3802 #​3991
  • Allow #[pymodule] macro on Rust mod blocks, with the experimental-declarative-modules feature. #​3815
  • Implement ExactSizeIterator for set and frozenset iterators on abi3 feature. #​3849
  • Add Py::drop_ref to explicitly drop a `Py`` and immediately decrease the Python reference count if the GIL is already held. #​3871
  • Allow #[pymodule] macro on single argument functions that take &Bound<'_, PyModule>. #​3905
  • Implement FromPyObject for Cow<str>. #​3928
  • Implement Default for GILOnceCell. #​3971
  • Add PyDictMethods::into_mapping, PyListMethods::into_sequence and PyTupleMethods::into_sequence. #​3982
Changed
  • PyDict::from_sequence now takes a single argument of type &PyAny (previously took two arguments Python and PyObject). #​3532
  • Deprecate Py::is_ellipsis and PyAny::is_ellipsis in favour of any.is(py.Ellipsis()). #​3577
  • Split some PyTypeInfo functionality into new traits HasPyGilRef and PyTypeCheck. #​3600
  • Deprecate PyTryFrom and PyTryInto traits in favor of any.downcast() via the PyTypeCheck and PyTypeInfo traits. #​3601
  • Allow async methods to accept &self/&mut self #​3609
  • FromPyObject for set types now also accept frozenset objects as input. #​3632
  • FromPyObject for bool now also accepts NumPy's bool_ as input. #​3638
  • Add AsRefSource associated type to PyNativeType. #​3653
  • Rename .is_true to .is_truthy on PyAny and Py<PyAny> to clarify that the test is not based on identity with or equality to the True singleton. #​3657
  • PyType::name is now PyType::qualname whereas PyType::name efficiently accesses the full name which includes the module name. #​3660
  • The Iter(A)NextOutput types are now deprecated and __(a)next__ can directly return anything which can be converted into Python objects, i.e. awaitables do not need to be wrapped into IterANextOutput or Option any more. Option can still be used as well and returning None will trigger the fast path for __next__, stopping iteration without having to raise a StopIteration exception. #​3661
  • Implement FromPyObject on chrono::DateTime<Tz> for all Tz, not just FixedOffset and Utc. #​3663
  • Add lifetime parameter to PyTzInfoAccess trait. For the deprecated gil-ref API, the trait is now implemented for &'py PyTime and &'py PyDateTime instead of PyTime and PyDate. #​3679
  • Calls to __traverse__ become no-ops for unsendable pyclasses if on the wrong thread, thereby avoiding hard aborts at the cost of potential leakage. #​3689
  • Include PyNativeType in pyo3::prelude. #​3692
  • Improve performance of extract::<i64> (and other integer types) by avoiding call to __index__() converting the value to an integer for 3.10+. Gives performance improvement of around 30% for successful extraction. #​3742
  • Relax bound of FromPyObject for Py<T> to just T: PyTypeCheck. #​3776
  • PySet and PyFrozenSet iterators now always iterate the equivalent of iter(set). (A "fast path" with no noticeable performance benefit was removed.) #​3849
  • Move implementations of FromPyObject for &str, Cow<str>, &[u8] and Cow<[u8]> onto a temporary trait FromPyObjectBound when gil-refs feature is deactivated. #​3928
  • Deprecate GILPool, Python::with_pool, and Python::new_pool. #​3947
Removed
  • Remove all functionality deprecated in PyO3 0.19. #​3603
Fixed
  • Match PyPy 7.3.14 in removing PyPy-only symbol Py_MAX_NDIMS in favour of PyBUF_MAX_NDIM. #​3757
  • Fix segmentation fault using datetime types when an invalid datetime module is on sys.path. #​3818
  • Fix non_local_definitions lint warning triggered by many PyO3 macros. #​3901
  • Disable PyCode and PyCode_Type on PyPy: PyCode_Type is not exposed by PyPy. #​3934

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link
Contributor Author

renovate bot commented Mar 26, 2024

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path python/stencila/Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `pyo3`.
    ... required by package `pyo3-asyncio v0.20.0`
    ... which satisfies dependency `pyo3-asyncio = "^0.20.0"` of package `stencila v2.0.0-alpha.25 (/tmp/renovate/repos/github/stencila/stencila/python/stencila)`
versions that meet the requirements `^0.20` are: 0.20.3, 0.20.2, 0.20.1, 0.20.0

the package `pyo3` links to the native library `python`, but it conflicts with a previous package which links to `python` as well:
package `pyo3 v0.21.0`
    ... which satisfies dependency `pyo3 = "^0.21.0"` of package `stencila v2.0.0-alpha.25 (/tmp/renovate/repos/github/stencila/stencila/python/stencila)`
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` which could resolve this conflict

@renovate renovate bot force-pushed the renovate/pyo3-0.x branch 5 times, most recently from 70b1fe0 to eaa822d Compare April 1, 2024 21:54
@renovate renovate bot changed the title fix(deps): update rust crate pyo3 to 0.21.0 fix(deps): update rust crate pyo3 to 0.21.1 Apr 1, 2024
@renovate renovate bot force-pushed the renovate/pyo3-0.x branch 4 times, most recently from 3860e5a to 767c6fd Compare April 3, 2024 01:36
@renovate renovate bot force-pushed the renovate/pyo3-0.x branch 5 times, most recently from 3121f1c to ea78783 Compare April 16, 2024 09:51
@renovate renovate bot changed the title fix(deps): update rust crate pyo3 to 0.21.1 fix(deps): update rust crate pyo3 to 0.21.2 Apr 16, 2024
@renovate renovate bot force-pushed the renovate/pyo3-0.x branch 6 times, most recently from a5a62d9 to b2bea40 Compare April 26, 2024 06:38
@renovate renovate bot force-pushed the renovate/pyo3-0.x branch 7 times, most recently from e0ceb05 to bcf4387 Compare April 30, 2024 06:57
@renovate renovate bot force-pushed the renovate/pyo3-0.x branch 19 times, most recently from ea670cf to a7953a6 Compare May 16, 2024 13:46
@renovate renovate bot force-pushed the renovate/pyo3-0.x branch 9 times, most recently from d632eff to 6d7fa96 Compare May 24, 2024 03:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants