Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.22
->0.23.3
Release Notes
pyo3/pyo3 (pyo3)
v0.23.3
Compare Source
Packaging
python3-dll-a
dependency to 0.2.11. #4749Fixed
abi3
features enabled. #4733generate-import-lib
feature. #4749PYO3_CONFIG_FILE
would not reconfigure PyO3 for the new interpreter. #4758v0.23.2
Compare Source
Added
IntoPyObjectExt
trait. #4708Fixed
abi3
orabi3-pyxx
features are enabled. #4719ambiguous_associated_items
lint error in#[pyclass]
and#[derive(IntoPyObject)]
macros. #4725v0.23.1
Compare Source
Re-release of 0.23.0 with fixes to docs.rs build.
v0.23.0
Compare Source
Packaging
hashbrown
optional dependency to include version 0.15. #4604eyre
optional dependency to 0.6.8. #4617hashbrown
optional dependency to 0.14.5. #4617indexmap
optional dependency to 2.5.0. #4617num-complex
optional dependency to 0.4.6. #4617chrono-tz
optional dependency to 0.10. #4617Added
IntoPyObject
(fallible) conversion trait to convert from Rust to Python values. #4060#[pyclass(str="<format string>")]
option to generate__str__
based on aDisplay
implementation or format string. #4233PartialEq
forBound<'py, PyInt>
withu8
,u16
,u32
,u64
,u128
,usize
,i8
,i16
,i32
,i64
,i128
andisize
. #4317PartialEq<f64>
andPartialEq<f32>
forBound<'py, PyFloat>
. #4348as_super
andinto_super
methods forBound<T: PyClass>
. #4351PyCFunctionFast
andPyCFunctionFastWithKeywords
#4415PyMutex
on Python 3.13 and newer. #4421PyDict::locked_for_each
to iterate efficiently on freethreaded Python. #4439PyObject_GetOptionalAttr
,PyObject_GetOptionalAttrString
,PyObject_HasAttrWithError
,PyObject_HasAttrStringWithError
,Py_CONSTANT_*
constants,Py_GetConstant
,Py_GetConstantBorrowed
, andPyType_GetModuleByDef
on Python 3.13 and newer. #4447IntoPyObject
. #4495Borrowed::as_ptr
. #4520PyImport_AddModuleRef
. #4529PyAnyMethods::try_iter
. #4553pyo3::sync::with_critical_section
, a wrapper around the Python Critical Section API added in Python 3.13. #4587#[pymodule(gil_used = false)]
option to declare that a module supports the free-threaded build. #4588PyModule::gil_used
method to declare that a module supports the free-threaded build. #4588PyDateTime_CAPSULE_NAME
. #4634PyMappingProxy
type to represent themappingproxy
Python class. #4644PyList_Extend
andPyList_Clear
. #4667IntoPyObjectRef
. #4674pyo3::sync::OnceExt
andpyo3::sync::OnceLockExt
traits. #4676Changed
IntoPyObject
overIntoPy<Py<PyAny>>>
for#[pyfunction]
and#[pymethods]
return types. #4060#[pyclass]
and#[pyo3(..)]
attributes. #4243#[pymodule]
are automatically treated as submodules (noPyInit_
entrypoint is created). #4308PyAnyMethods::is_ellipsis
(Py::is_ellipsis
was deprecated in PyO3 0.20). #4322PyLong
in favor ofPyInt
. #4347IntoPyDict::into_py_dict_bound
toIntoPyDict::into_py_dict
. #4388PyModule::from_code
now expects&CStr
as arguments instead of&str
. #4404#[pyfunction]
s when compiling on abi3 for Python 3.10 and up. #4415Copy
andClone
fromPyObject
struct FFI definition. #4434Python::eval
andPython::run
now take a&CStr
instead of&str
. #4435IPowModulo
,PyClassAttributeDef
,PyGetterDef
,PyMethodDef
,PyMethodDefType
, andPySetterDef
from PyO3's public API. #4441IntoPyObject
impls forVec<u8>
,&[u8]
,[u8; N]
,Cow<[u8]>
andSmallVec<[u8; N]>
now convert into Pythonbytes
rather than alist
of integers. #4442IntoPyDict::into_py_dict
is now fallible due toIntoPyObject
migration. #4493abi3
feature will now override config files provided viaPYO3_BUILD_CONFIG
. #4497GILProtected
struct on free-threaded Python. #4504PyListMethods::get_item_unchecked
on free-threaded Python. #4539GILOnceCell::import
. #4542PyAnyMethods::iter
in favour ofPyAnyMethods::try_iter
. #4553#[pyclass]
macro now requires a types to beSync
. (Except for#[pyclass(unsendable)]
types). #4566PyList::new
andPyTuple::new
are now fallible due toIntoPyObject
migration. #4580PyErr::matches
is now fallible due toIntoPyObject
migration. #4595ToPyObject
in favour ofIntoPyObject
#4595PyWeakrefMethods::get_option
. #4597PyWeakrefMethods
trait. #4598PyNativeTypeInitializer
andPyObjectInit
from the PyO3 public API. #4611IntoPy
in favor ofIntoPyObject
#4618PyErr::take()
andPyErr::fetch()
on Python 3.11 and older. #4655IntoPy::type_output
toIntoPyObject::type_output
. #4657PyMapping::keys
,PyMapping::values
andPyMapping::items
toBound<'py, PyList>
instead ofBound<'py, PySequence>
. #4661IntoPyObject
by reference or by value together withClone
. This makesPy<T>
available as field type. #4694Removed
PyUnicode
in favour ofPyString
. #4370gil-refs
feature. #4378_Py_IMMORTAL_REFCNT
,_Py_IsImmortal
,_Py_TPFLAGS_STATIC_BUILTIN
,_Py_Dealloc
,_Py_IncRef
,_Py_DecRef
. #4447_Py_c_sum
,_Py_c_diff
,_Py_c_neg
,_Py_c_prod
,_Py_c_quot
,_Py_c_pow
,_Py_c_abs
. #4521_borrowed
methods ofPyWeakRef
andPyWeakRefProxy
. #4528_PyErr_ChainExceptions
. #4534Fixed
lib_dir
when cross-compiling. #4389Py_Is
for PyPy on 3.10 to call the function defined by PyPy. #4447#[cfg]
attributes for simple enum variants. #4509non_snake_case
method names inside#[pymethods]
generated code. #4567#[derive(FromPyObject)]
generic struct with trait bounds. #4645#[classmethod]
and#[staticmethod]
on magic methods. #4654unsafe_op_in_unsafe_fn
in generated macro code. #4674#[pyclass] enum
s with custom__eq__
implementation. #4692non_upper_case_globals
lint firing for generated__match_args__
on complex enums. #4705v0.22.6
: PyO3 0.22.6Compare Source
This release corrects the check for free-threaded Python introduced in PyO3 0.22.2 to prevent users accidentally installing PyO3 packages on Python 3.13t; PyO3 0.22 does not support free-threaded Python. (Stay tuned for the 0.23 release coming very soon!)
Thanks @minrk for the report and @davidhewitt for the fix!
v0.22.5
Compare Source
Fixed
__clear__
slot andclear
method generated code. #4619Configuration
📅 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.
This PR was generated by Mend Renovate. View the repository job log.