Skip to content

Commit 762f8c5

Browse files
Update Rust crate pyo3 to 0.23.0 (#29)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [pyo3](https://redirect.github.com/pyo3/pyo3) | dependencies | minor | `0.22.0` -> `0.23.0` | --- ### Release Notes <details> <summary>pyo3/pyo3 (pyo3)</summary> ### [`v0.23.0`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0230---2024-11-15) [Compare Source](https://redirect.github.com/pyo3/pyo3/compare/v0.22.6...v0.23.0) ##### Packaging - Drop support for PyPy 3.7 and 3.8. [#&#8203;4582](https://redirect.github.com/PyO3/pyo3/pull/4582) - Extend range of supported versions of `hashbrown` optional dependency to include version 0.15. [#&#8203;4604](https://redirect.github.com/PyO3/pyo3/pull/4604) - Bump minimum version of `eyre` optional dependency to 0.6.8. [#&#8203;4617](https://redirect.github.com/PyO3/pyo3/pull/4617) - Bump minimum version of `hashbrown` optional dependency to 0.14.5. [#&#8203;4617](https://redirect.github.com/PyO3/pyo3/pull/4617) - Bump minimum version of `indexmap` optional dependency to 2.5.0. [#&#8203;4617](https://redirect.github.com/PyO3/pyo3/pull/4617) - Bump minimum version of `num-complex` optional dependency to 0.4.6. [#&#8203;4617](https://redirect.github.com/PyO3/pyo3/pull/4617) - Bump minimum version of `chrono-tz` optional dependency to 0.10. [#&#8203;4617](https://redirect.github.com/PyO3/pyo3/pull/4617) - Support free-threaded Python 3.13t. [#&#8203;4588](https://redirect.github.com/PyO3/pyo3/pull/4588) ##### Added - Add `IntoPyObject` (fallible) conversion trait to convert from Rust to Python values. [#&#8203;4060](https://redirect.github.com/PyO3/pyo3/pull/4060) - Add `#[pyclass(str="<format string>")]` option to generate `__str__` based on a `Display` implementation or format string. [#&#8203;4233](https://redirect.github.com/PyO3/pyo3/pull/4233) - Implement `PartialEq` for `Bound<'py, PyInt>` with `u8`, `u16`, `u32`, `u64`, `u128`, `usize`, `i8`, `i16`, `i32`, `i64`, `i128` and `isize`. [#&#8203;4317](https://redirect.github.com/PyO3/pyo3/pull/4317) - Implement `PartialEq<f64>` and `PartialEq<f32>` for `Bound<'py, PyFloat>`. [#&#8203;4348](https://redirect.github.com/PyO3/pyo3/pull/4348) - Add `as_super` and `into_super` methods for `Bound<T: PyClass>`. [#&#8203;4351](https://redirect.github.com/PyO3/pyo3/pull/4351) - Add FFI definitions `PyCFunctionFast` and `PyCFunctionFastWithKeywords` [#&#8203;4415](https://redirect.github.com/PyO3/pyo3/pull/4415) - Add FFI definitions for `PyMutex` on Python 3.13 and newer. [#&#8203;4421](https://redirect.github.com/PyO3/pyo3/pull/4421) - Add `PyDict::locked_for_each` to iterate efficiently on freethreaded Python. [#&#8203;4439](https://redirect.github.com/PyO3/pyo3/pull/4439) - Add FFI definitions `PyObject_GetOptionalAttr`, `PyObject_GetOptionalAttrString`, `PyObject_HasAttrWithError`, `PyObject_HasAttrStringWithError`, `Py_CONSTANT_*` constants, `Py_GetConstant`, `Py_GetConstantBorrowed`, and `PyType_GetModuleByDef` on Python 3.13 and newer. [#&#8203;4447](https://redirect.github.com/PyO3/pyo3/pull/4447) - Add FFI definitions for the Python critical section API available on Python 3.13 and newer. [#&#8203;4477](https://redirect.github.com/PyO3/pyo3/pull/4477) - Add derive macro for `IntoPyObject`. [#&#8203;4495](https://redirect.github.com/PyO3/pyo3/pull/4495) - Add `Borrowed::as_ptr`. [#&#8203;4520](https://redirect.github.com/PyO3/pyo3/pull/4520) - Add FFI definition for `PyImport_AddModuleRef`. [#&#8203;4529](https://redirect.github.com/PyO3/pyo3/pull/4529) - Add `PyAnyMethods::try_iter`. [#&#8203;4553](https://redirect.github.com/PyO3/pyo3/pull/4553) - Add `pyo3::sync::with_critical_section`, a wrapper around the Python Critical Section API added in Python 3.13. [#&#8203;4587](https://redirect.github.com/PyO3/pyo3/pull/4587) - Add `#[pymodule(gil_used = false)]` option to declare that a module supports the free-threaded build. [#&#8203;4588](https://redirect.github.com/PyO3/pyo3/pull/4588) - Add `PyModule::gil_used` method to declare that a module supports the free-threaded build. [#&#8203;4588](https://redirect.github.com/PyO3/pyo3/pull/4588) - Add FFI definition `PyDateTime_CAPSULE_NAME`. [#&#8203;4634](https://redirect.github.com/PyO3/pyo3/pull/4634) - Add `PyMappingProxy` type to represent the `mappingproxy` Python class. [#&#8203;4644](https://redirect.github.com/PyO3/pyo3/pull/4644) - Add FFI definitions `PyList_Extend` and `PyList_Clear`. [#&#8203;4667](https://redirect.github.com/PyO3/pyo3/pull/4667) - Add derive macro for `IntoPyObjectRef`. [#&#8203;4674](https://redirect.github.com/PyO3/pyo3/pull/4674) - Add `pyo3::sync::OnceExt` and `pyo3::sync::OnceLockExt` traits. [#&#8203;4676](https://redirect.github.com/PyO3/pyo3/pull/4676) ##### Changed - Prefer `IntoPyObject` over `IntoPy<Py<PyAny>>>` for `#[pyfunction]` and `#[pymethods]` return types. [#&#8203;4060](https://redirect.github.com/PyO3/pyo3/pull/4060) - Report multiple errors from `#[pyclass]` and `#[pyo3(..)]` attributes. [#&#8203;4243](https://redirect.github.com/PyO3/pyo3/pull/4243) - Nested declarative `#[pymodule]` are automatically treated as submodules (no `PyInit_` entrypoint is created). [#&#8203;4308](https://redirect.github.com/PyO3/pyo3/pull/4308) - Deprecate `PyAnyMethods::is_ellipsis` (`Py::is_ellipsis` was deprecated in PyO3 0.20). [#&#8203;4322](https://redirect.github.com/PyO3/pyo3/pull/4322) - Deprecate `PyLong` in favor of `PyInt`. [#&#8203;4347](https://redirect.github.com/PyO3/pyo3/pull/4347) - Rename `IntoPyDict::into_py_dict_bound` to `IntoPyDict::into_py_dict`. [#&#8203;4388](https://redirect.github.com/PyO3/pyo3/pull/4388) - `PyModule::from_code` now expects `&CStr` as arguments instead of `&str`. [#&#8203;4404](https://redirect.github.com/PyO3/pyo3/pull/4404) - Use "fastcall" Python calling convention for `#[pyfunction]`s when compiling on abi3 for Python 3.10 and up. [#&#8203;4415](https://redirect.github.com/PyO3/pyo3/pull/4415) - Remove `Copy` and `Clone` from `PyObject` struct FFI definition. [#&#8203;4434](https://redirect.github.com/PyO3/pyo3/pull/4434) - `Python::eval` and `Python::run` now take a `&CStr` instead of `&str`. [#&#8203;4435](https://redirect.github.com/PyO3/pyo3/pull/4435) - Deprecate `IPowModulo`, `PyClassAttributeDef`, `PyGetterDef`, `PyMethodDef`, `PyMethodDefType`, and `PySetterDef` from PyO3's public API. [#&#8203;4441](https://redirect.github.com/PyO3/pyo3/pull/4441) - `IntoPyObject` impls for `Vec<u8>`, `&[u8]`, `[u8; N]`, `Cow<[u8]>` and `SmallVec<[u8; N]>` now convert into Python `bytes` rather than a `list` of integers. [#&#8203;4442](https://redirect.github.com/PyO3/pyo3/pull/4442) - Emit a compile-time error when attempting to subclass a class that doesn't allow subclassing. [#&#8203;4453](https://redirect.github.com/PyO3/pyo3/pull/4453) - `IntoPyDict::into_py_dict` is now fallible due to `IntoPyObject` migration. [#&#8203;4493](https://redirect.github.com/PyO3/pyo3/pull/4493) - The `abi3` feature will now override config files provided via `PYO3_BUILD_CONFIG`. [#&#8203;4497](https://redirect.github.com/PyO3/pyo3/pull/4497) - Disable the `GILProtected` struct on free-threaded Python. [#&#8203;4504](https://redirect.github.com/PyO3/pyo3/pull/4504) - Updated FFI definitions for functions and struct fields that have been deprecated or removed from CPython. [#&#8203;4534](https://redirect.github.com/PyO3/pyo3/pull/4534) - Disable `PyListMethods::get_item_unchecked` on free-threaded Python. [#&#8203;4539](https://redirect.github.com/PyO3/pyo3/pull/4539) - Add `GILOnceCell::import`. [#&#8203;4542](https://redirect.github.com/PyO3/pyo3/pull/4542) - Deprecate `PyAnyMethods::iter` in favour of `PyAnyMethods::try_iter`. [#&#8203;4553](https://redirect.github.com/PyO3/pyo3/pull/4553) - The `#[pyclass]` macro now requires a types to be `Sync`. (Except for `#[pyclass(unsendable)]` types). [#&#8203;4566](https://redirect.github.com/PyO3/pyo3/pull/4566) - `PyList::new` and `PyTuple::new` are now fallible due to `IntoPyObject` migration. [#&#8203;4580](https://redirect.github.com/PyO3/pyo3/pull/4580) - `PyErr::matches` is now fallible due to `IntoPyObject` migration. [#&#8203;4595](https://redirect.github.com/PyO3/pyo3/pull/4595) - Deprecate `ToPyObject` in favour of `IntoPyObject` [#&#8203;4595](https://redirect.github.com/PyO3/pyo3/pull/4595) - Deprecate `PyWeakrefMethods::get_option`. [#&#8203;4597](https://redirect.github.com/PyO3/pyo3/pull/4597) - Seal `PyWeakrefMethods` trait. [#&#8203;4598](https://redirect.github.com/PyO3/pyo3/pull/4598) - Remove `PyNativeTypeInitializer` and `PyObjectInit` from the PyO3 public API. [#&#8203;4611](https://redirect.github.com/PyO3/pyo3/pull/4611) - Deprecate `IntoPy` in favor of `IntoPyObject` [#&#8203;4618](https://redirect.github.com/PyO3/pyo3/pull/4618) - Eagerly normalize exceptions in `PyErr::take()` and `PyErr::fetch()` on Python 3.11 and older. [#&#8203;4655](https://redirect.github.com/PyO3/pyo3/pull/4655) - Move `IntoPy::type_output` to `IntoPyObject::type_output`. [#&#8203;4657](https://redirect.github.com/PyO3/pyo3/pull/4657) - Change return type of `PyMapping::keys`, `PyMapping::values` and `PyMapping::items` to `Bound<'py, PyList>` instead of `Bound<'py, PySequence>`. [#&#8203;4661](https://redirect.github.com/PyO3/pyo3/pull/4661) - Complex enums now allow field types that either implement `IntoPyObject` by reference or by value together with `Clone`. This makes `Py<T>` available as field type. [#&#8203;4694](https://redirect.github.com/PyO3/pyo3/pull/4694) ##### Removed - Remove all functionality deprecated in PyO3 0.20. [#&#8203;4322](https://redirect.github.com/PyO3/pyo3/pull/4322) - Remove all functionality deprecated in PyO3 0.21. [#&#8203;4323](https://redirect.github.com/PyO3/pyo3/pull/4323) - Deprecate `PyUnicode` in favour of `PyString`. [#&#8203;4370](https://redirect.github.com/PyO3/pyo3/pull/4370) - Remove deprecated `gil-refs` feature. [#&#8203;4378](https://redirect.github.com/PyO3/pyo3/pull/4378) - Remove private FFI definitions `_Py_IMMORTAL_REFCNT`, `_Py_IsImmortal`, `_Py_TPFLAGS_STATIC_BUILTIN`, `_Py_Dealloc`, `_Py_IncRef`, `_Py_DecRef`. [#&#8203;4447](https://redirect.github.com/PyO3/pyo3/pull/4447) - Remove private FFI definitions `_Py_c_sum`, `_Py_c_diff`, `_Py_c_neg`, `_Py_c_prod`, `_Py_c_quot`, `_Py_c_pow`, `_Py_c_abs`. [#&#8203;4521](https://redirect.github.com/PyO3/pyo3/pull/4521) - Remove `_borrowed` methods of `PyWeakRef` and `PyWeakRefProxy`. [#&#8203;4528](https://redirect.github.com/PyO3/pyo3/pull/4528) - Removed private FFI definition `_PyErr_ChainExceptions`. [#&#8203;4534](https://redirect.github.com/PyO3/pyo3/pull/4534) ##### Fixed - Fix invalid library search path `lib_dir` when cross-compiling. [#&#8203;4389](https://redirect.github.com/PyO3/pyo3/pull/4389) - Fix FFI definition `Py_Is` for PyPy on 3.10 to call the function defined by PyPy. [#&#8203;4447](https://redirect.github.com/PyO3/pyo3/pull/4447) - Fix compile failure when using `#[cfg]` attributes for simple enum variants. [#&#8203;4509](https://redirect.github.com/PyO3/pyo3/pull/4509) - Fix compiler warning for `non_snake_case` method names inside `#[pymethods]` generated code. [#&#8203;4567](https://redirect.github.com/PyO3/pyo3/pull/4567) - Fix compile error with `#[derive(FromPyObject)]` generic struct with trait bounds. [#&#8203;4645](https://redirect.github.com/PyO3/pyo3/pull/4645) - Fix compile error for `#[classmethod]` and `#[staticmethod]` on magic methods. [#&#8203;4654](https://redirect.github.com/PyO3/pyo3/pull/4654) - Fix compile warning for `unsafe_op_in_unsafe_fn` in generated macro code. [#&#8203;4674](https://redirect.github.com/PyO3/pyo3/pull/4674) - Fix incorrect deprecation warning for `#[pyclass] enum`s with custom `__eq__` implementation. [#&#8203;4692](https://redirect.github.com/PyO3/pyo3/pull/4692) - Fix `non_upper_case_globals` lint firing for generated `__match_args__` on complex enums. [#&#8203;4705](https://redirect.github.com/PyO3/pyo3/pull/4705) </details> --- ### 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 becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/akrantz01/antsi). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMS41IiwidXBkYXRlZEluVmVyIjoiMzkuMTEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Alex Krantz <alex@krantz.dev>
1 parent 8c4c1a3 commit 762f8c5

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

Cargo.lock

Lines changed: 10 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ crate-type = ["cdylib"]
1313
codespan-reporting = "0.11.1"
1414
indexmap = "2.2.6"
1515
logos = "0.15"
16-
pyo3 = { version = "0.22.0", features = ["extension-module", "abi3-py310"] }
16+
pyo3 = { version = "0.23.0", features = ["extension-module", "abi3-py310"] }
1717
termcolor = "1.4.1"
1818
text-size = "1.1.1"
1919
textwrap = "0.16.1"

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ fn py_escape(source: &str) -> String {
135135
#[pymodule]
136136
#[pyo3(name = "_antsi")]
137137
fn antsi(m: &Bound<'_, PyModule>) -> PyResult<()> {
138-
m.add("ColorizeError", m.py().get_type_bound::<ColorizeError>())?;
138+
m.add("ColorizeError", m.py().get_type::<ColorizeError>())?;
139139
m.add_function(wrap_pyfunction!(py_colorize, m)?)?;
140140
m.add_function(wrap_pyfunction!(py_escape, m)?)?;
141141
Ok(())

0 commit comments

Comments
 (0)