smly / mjai.app

Mahjong game simulator for RiichiLab https://mjai.app
https://github.com/smly/mjai.app/discussions
GNU Affero General Public License v3.0
56 stars 7 forks source link

fix(deps): update rust crate pyo3 to 0.22 #100

Open renovate[bot] opened 5 months ago

renovate[bot] commented 5 months ago

This PR contains the following updates:

Package Type Update Change
pyo3 dependencies minor 0.21 -> 0.22

Release Notes

pyo3/pyo3 (pyo3) ### [`v0.22.2`](https://togithub.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0222---2024-07-17) [Compare Source](https://togithub.com/pyo3/pyo3/compare/v0.22.1...v0.22.2) ##### Packaging - Require opt-in to freethreaded Python using the `UNSAFE_PYO3_BUILD_FREE_THREADED=1` environment variable (it is not yet supported by PyO3). [#​4327](https://togithub.com/PyO3/pyo3/pull/4327) ##### Changed - Use FFI function calls for reference counting on all abi3 versions. [#​4324](https://togithub.com/PyO3/pyo3/pull/4324) - `#[pymodule(...)]` now directly accepts all relevant `#[pyo3(...)]` options. [#​4330](https://togithub.com/PyO3/pyo3/pull/4330) ##### Fixed - Fix compile failure in declarative `#[pymodule]` under presence of `#![no_implicit_prelude]`. [#​4328](https://togithub.com/PyO3/pyo3/pull/4328) - Fix compile failure due to c-string literals on Rust < 1.79. [#​4353](https://togithub.com/PyO3/pyo3/pull/4353) ### [`v0.22.1`](https://togithub.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0221---2024-07-06) [Compare Source](https://togithub.com/pyo3/pyo3/compare/v0.22.0...v0.22.1) ##### Added - Add `#[pyo3(submodule)]` option for declarative `#[pymodule]`s. [#​4301](https://togithub.com/PyO3/pyo3/pull/4301) - Implement `PartialEq` for `Bound<'py, PyBool>`. [#​4305](https://togithub.com/PyO3/pyo3/pull/4305) ##### Fixed - Return `NotImplemented` instead of raising `TypeError` from generated equality method when comparing different types. [#​4287](https://togithub.com/PyO3/pyo3/pull/4287) - Handle full-path `#[pyo3::prelude::pymodule]` and similar for `#[pyclass]` and `#[pyfunction]` in declarative modules.[#​4288](https://togithub.com/PyO3/pyo3/pull/4288) - Fix 128-bit int regression on big-endian platforms with Python <3.13. [#​4291](https://togithub.com/PyO3/pyo3/pull/4291) - Stop generating code that will never be covered with declarative modules. [#​4297](https://togithub.com/PyO3/pyo3/pull/4297) - Fix invalid deprecation warning for trailing optional on `#[setter]` function. [#​4304](https://togithub.com/PyO3/pyo3/pull/4304) ### [`v0.22.0`](https://togithub.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0220---2024-06-24) [Compare Source](https://togithub.com/pyo3/pyo3/compare/v0.21.2...v0.22.0) ##### Packaging - Update `heck` dependency to 0.5. [#​3966](https://togithub.com/PyO3/pyo3/pull/3966) - Extend range of supported versions of `chrono-tz` optional dependency to include version 0.10. [#​4061](https://togithub.com/PyO3/pyo3/pull/4061) - Update MSRV to 1.63. [#​4129](https://togithub.com/PyO3/pyo3/pull/4129) - Add optional `num-rational` feature to add conversions with Python's `fractions.Fraction`. [#​4148](https://togithub.com/PyO3/pyo3/pull/4148) - Support Python 3.13. [#​4184](https://togithub.com/PyO3/pyo3/pull/4184) ##### Added - Add `PyWeakref`, `PyWeakrefReference` and `PyWeakrefProxy`. [#​3835](https://togithub.com/PyO3/pyo3/pull/3835) - Support `#[pyclass]` on enums that have tuple variants. [#​4072](https://togithub.com/PyO3/pyo3/pull/4072) - Add support for scientific notation in `Decimal` conversion. [#​4079](https://togithub.com/PyO3/pyo3/pull/4079) - Add `pyo3_disable_reference_pool` conditional compilation flag to avoid the overhead of the global reference pool at the cost of known limitations as explained in the performance section of the guide. [#​4095](https://togithub.com/PyO3/pyo3/pull/4095) - Add `#[pyo3(constructor = (...))]` to customize the generated constructors for complex enum variants. [#​4158](https://togithub.com/PyO3/pyo3/pull/4158) - Add `PyType::module`, which always matches Python `__module__`. [#​4196](https://togithub.com/PyO3/pyo3/pull/4196) - Add `PyType::fully_qualified_name` which matches the "fully qualified name" defined in [PEP 737](https://peps.python.org/pep-0737). [#​4196](https://togithub.com/PyO3/pyo3/pull/4196) - Add `PyTypeMethods::mro` and `PyTypeMethods::bases`. [#​4197](https://togithub.com/PyO3/pyo3/pull/4197) - Add `#[pyclass(ord)]` to implement ordering based on `PartialOrd`. [#​4202](https://togithub.com/PyO3/pyo3/pull/4202) - Implement `ToPyObject` and `IntoPy` for `PyBackedStr` and `PyBackedBytes`. [#​4205](https://togithub.com/PyO3/pyo3/pull/4205) - Add `#[pyclass(hash)]` option to implement `__hash__` in terms of the `Hash` implementation [#​4206](https://togithub.com/PyO3/pyo3/pull/4206) - Add `#[pyclass(eq)]` option to generate `__eq__` based on `PartialEq`, and `#[pyclass(eq_int)]` for simple enums to implement equality based on their discriminants. [#​4210](https://togithub.com/PyO3/pyo3/pull/4210) - Implement `From>` for `PyClassInitializer`. [#​4214](https://togithub.com/PyO3/pyo3/pull/4214) - Add `as_super` methods to `PyRef` and `PyRefMut` for accesing the base class by reference. [#​4219](https://togithub.com/PyO3/pyo3/pull/4219) - Implement `PartialEq` for `Bound<'py, PyString>`. [#​4245](https://togithub.com/PyO3/pyo3/pull/4245) - Implement `PyModuleMethods::filename` on PyPy. [#​4249](https://togithub.com/PyO3/pyo3/pull/4249) - Implement `PartialEq<[u8]>` for `Bound<'py, PyBytes>`. [#​4250](https://togithub.com/PyO3/pyo3/pull/4250) - Add `pyo3_ffi::c_str` macro to create `&'static CStr` on Rust versions which don't have 1.77's `c""` literals. [#​4255](https://togithub.com/PyO3/pyo3/pull/4255) - Support `bool` conversion with `numpy` 2.0's `numpy.bool` type [#​4258](https://togithub.com/PyO3/pyo3/pull/4258) - Add `PyAnyMethods::{bitnot, matmul, floor_div, rem, divmod}`. [#​4264](https://togithub.com/PyO3/pyo3/pull/4264) ##### Changed - Change the type of `PySliceIndices::slicelength` and the `length` parameter of `PySlice::indices()`. [#​3761](https://togithub.com/PyO3/pyo3/pull/3761) - Deprecate implicit default for trailing optional arguments [#​4078](https://togithub.com/PyO3/pyo3/pull/4078) - `Clone`ing pointers into the Python heap has been moved behind the `py-clone` feature, as it must panic without the GIL being held as a soundness fix. [#​4095](https://togithub.com/PyO3/pyo3/pull/4095) - Add `#[track_caller]` to all `Py`, `Bound<'py, T>` and `Borrowed<'a, 'py, T>` methods which can panic. [#​4098](https://togithub.com/PyO3/pyo3/pull/4098) - Change `PyAnyMethods::dir` to be fallible and return `PyResult>` (and similar for `PyAny::dir`). [#​4100](https://togithub.com/PyO3/pyo3/pull/4100) - The global reference pool (to track pending reference count decrements) is now initialized lazily to avoid the overhead of taking a mutex upon function entry when the functionality is not actually used. [#​4178](https://togithub.com/PyO3/pyo3/pull/4178) - Emit error messages when using `weakref` or `dict` when compiling for `abi3` for Python older than 3.9. [#​4194](https://togithub.com/PyO3/pyo3/pull/4194) - Change `PyType::name` to always match Python `__name__`. [#​4196](https://togithub.com/PyO3/pyo3/pull/4196) - Remove CPython internal ffi call for complex number including: add, sub, mul, div, neg, abs, pow. Added PyAnyMethods::{abs, pos, neg} [#​4201](https://togithub.com/PyO3/pyo3/pull/4201) - Deprecate implicit integer comparision for simple enums in favor of `#[pyclass(eq_int)]`. [#​4210](https://togithub.com/PyO3/pyo3/pull/4210) - Set the `module=` attribute of declarative modules' child `#[pymodule]`s and `#[pyclass]`es. [#​4213](https://togithub.com/PyO3/pyo3/pull/4213) - Set the `module` option for complex enum variants from the value set on the complex enum `module`. [#​4228](https://togithub.com/PyO3/pyo3/pull/4228) - Respect the Python "limited API" when building for the `abi3` feature on PyPy or GraalPy. [#​4237](https://togithub.com/PyO3/pyo3/pull/4237) - Optimize code generated by `#[pyo3(get)]` on `#[pyclass]` fields. [#​4254](https://togithub.com/PyO3/pyo3/pull/4254) - `PyCFunction::new`, `PyCFunction::new_with_keywords` and `PyCFunction::new_closure` now take `&'static CStr` name and doc arguments (previously was `&'static str`). [#​4255](https://togithub.com/PyO3/pyo3/pull/4255) - The `experimental-declarative-modules` feature is now stabilized and available by default. [#​4257](https://togithub.com/PyO3/pyo3/pull/4257) ##### Fixed - Fix panic when `PYO3_CROSS_LIB_DIR` is set to a missing path. [#​4043](https://togithub.com/PyO3/pyo3/pull/4043) - Fix a compile error when exporting an exception created with `create_exception!` living in a different Rust module using the `declarative-module` feature. [#​4086](https://togithub.com/PyO3/pyo3/pull/4086) - Fix FFI definitions of `PY_VECTORCALL_ARGUMENTS_OFFSET` and `PyVectorcall_NARGS` to fix a false-positive assertion. [#​4104](https://togithub.com/PyO3/pyo3/pull/4104) - Disable `PyUnicode_DATA` on PyPy: not exposed by PyPy. [#​4116](https://togithub.com/PyO3/pyo3/pull/4116) - Correctly handle `#[pyo3(from_py_with = ...)]` attribute on dunder (`__magic__`) method arguments instead of silently ignoring it. [#​4117](https://togithub.com/PyO3/pyo3/pull/4117) - Fix a compile error when declaring a standalone function or class method with a Python name that is a Rust keyword. [#​4226](https://togithub.com/PyO3/pyo3/pull/4226) - Fix declarative modules discarding doc comments on the `mod` node. [#​4236](https://togithub.com/PyO3/pyo3/pull/4236) - Fix `__dict__` attribute missing for `#[pyclass(dict)]` instances when building for `abi3` on Python 3.9. [#​4251](https://togithub.com/PyO3/pyo3/pull/4251)

Configuration

📅 Schedule: Branch creation - "after 07:00 before 20:00 every weekday" in timezone Asia/Tokyo, 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.



This PR was generated by Mend Renovate. View the repository job log.

renovate[bot] commented 5 months ago

⚠ 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:

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `pyo3`.
    ... required by package `numpy v0.20.0`
    ... which satisfies dependency `numpy = "^0.20"` of package `mjai v0.2.0 (/tmp/renovate/repos/github/smly/mjai.app)`
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"` of package `mjai v0.2.0 (/tmp/renovate/repos/github/smly/mjai.app)`
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[bot] commented 4 months ago

⚠️ 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:

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `pyo3`.
    ... required by package `numpy v0.21.0`
    ... which satisfies dependency `numpy = "^0.21"` of package `mjai v0.2.1 (/tmp/renovate/repos/github/smly/mjai.app)`
versions that meet the requirements `^0.21.0` are: 0.21.2, 0.21.1, 0.21.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.22.0`
    ... which satisfies dependency `pyo3 = "^0.22"` of package `mjai v0.2.1 (/tmp/renovate/repos/github/smly/mjai.app)`
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