fix(deps): update pyo3 #837
Open
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.26.0→0.28.00.26.0→0.28.00.13.1→0.13.20.26.0→0.27.0Release Notes
pyo3/pyo3 (pyo3)
v0.28.0Compare Source
Packaging
quoteversion to 1.0.37. #5531memoffsetdependency. #5545target-lexicondependency to 0.13.3. #5571indocandunindentdependencies. #5608Added
__init__support in#[pymethods]. #4951PySuperon PyPy, GraalPy and ABI3 #4951PyString::from_fmtandpy_format!macro. #5199#[pyclass(new = "from_fields")]option. #5421pyo3::buffer::PyUntypedBuffer, a type-erased form ofPyBuffer<T>. #5458PyBytes::new_with_writer#5517PyClass::NAME. #5579pyo3_build_config::add_libpython_rpath_link_args. #5624PyBackedStr::clone_refandPyBackedBytes::clone_refmethods. #5654PyCapsule::new_with_pointerandPyCapsule::new_with_pointer_and_destructorfor creating capsules with raw pointers. #5689#[deleter]attribute to implement property deleters in#[methods]. #5699IntoPyObjectandFromPyObjectimplementations foruuid::NonNilUuid. #5707PyBackedStr::as_strandPyBackedStr::as_py_strmethods. #5723PyDict, exceptions, ...) when building for abi3 on Python 3.12+. #5733PyListwhen building for Python 3.12+. #5734PyEval_GetFrameBuiltins,PyEval_GetFrameGlobalsandPyEval_GetFrameLocalson Python 3.13 and up. #5590PyObject_New,PyObject_NewVar,PyObject_GC_Resize,PyObject_GC_New, andPyObject_GC_NewVar. #5591Py_BEGIN_CRITICAL_SECTION_MUTEXandPy_BEGIN_CRITICAL_SECTION_MUTEX2. #5642PyDict_GetItemStringRefon Python 3.13 and up. #5659PyIter_NextItemon Python 3.14 and up, andcompat::PyIter_NextItemfor older versions. #5661PyThreadState_GetInterpreterandPyThreadState_GetIDon Python 3.9+,PyThreadState_EnterTracingandPyThreadState_LeaveTracingon Python 3.11+,PyThreadState_GetUncheckedon Python 3.13+, andcompat::PyThreadState_GetUnchecked. #5711PyImport_ImportModuleAttrandPyImport_ImportModuleAttrStringon Python 3.14+. #5737PyABIInfoandPyModExportAPIs available in Python 3.15. #5746experimental-inspect:@typing.finalon final classes. #5552asynckeyword for async functions. #5731Changed
sys.unraisablehookinstead ofPyErr_Printif panicking on null FFI pointer inBound,BorrowedandPyconstructors. #5496#[pymodule]. #5525FromPyObjectfor#[pyclass]. #5550PyTypeInfo::NAMEandPyTypeInfo::MODULE. #5579Py<T>::from_{owned,borrowed}[or_{err,opt}]constructors from raw pointer. #5585PyEval_AcquireLockandPyEval_ReleaseLock. #5590'py: 'abound inPy::extract. #5594T: PyTypeCheckbound to theIntoPyObjectimplementations onBound<T>,Borrowed<T>andPy<T>. #5640with_critical_sectionandwith_critical_section2functions are moved topyo3::sync::critical_section. #5642PyIter_NextIteminPyIterator::nextimplementation. #5661IntoPyObjectfor simple enums now uses a singleton value, allowing identity (pythonis) comparisons. #5665Sequence[int]inFromPyObjectonCow<[u8]>and change the error type toPyErr. #5667asyncpymethods now borrowselfonly for the duration of awaiting the future, not the entire method call. #5684CastErrorformatted message to directly describe the "is not an instance of" failure condition. #5693#[inline]hints to many methods onPyBackedStr. #5723BoundSetIteratorandBoundFrozenSetIterator. #5725PyIterator::size_hinton abi3 builds (previously was only on unlimited API builds). #5727PyImport_ImportModuleNoBlock(deprecated in Python 3.13). #5737#[new]can now return arbitrary Python objects. #5739experimental-inspect:TypeHintand make use of it to encode type hint annotations. #5438PyType{Info,Check}::TYPE_INFOintoPyType{Info,Check}::TYPE_HINT. #5438 #5619 #5641_typeshed.Incompleteinstead oftyping.Anyas default type hint, to make it easier to spot incomplete trait implementations. #5744Removed
PyEval_GetCallStats(removed from CPython in Python 3.7). #5590PyEval_AcquireLockandPyEval_ReleaseLockon Python 3.13 and up. #5590_PyObject_New,_PyObject_NewVar,_PyObject_GC_Resize,_PyObject_GC_New, and_PyObject_GC_NewVar. #5591_PyDict_SetItem_KnownHash,_PyDict_Next,_PyDict_NewPresized,_PyDict_Contains_KnownHash, and_PyDict_Contains. #5659_PyFrameEvalFunction,_PyInterpreterState_GetEvalFrameFuncand_PyInterpreterState_SetEvalFrameFunc. #5711_PyImport_IsInitialized,_PyImport_SetModule,_PyImport_SetModuleString,_PyImport_AcquireLock,_PyImport_ReleaseLock,_PyImport_FindBuiltin,_PyImport_FindExtensionObject,_PyImport_FixupBuiltin, and_PyImport_FixupExtensionObject. #5737Fixed
PyModuleMethods::add_submodule()to use the last segment of the submodule name as the attribute name on the parent module instead of using the full name. #5375PyIteratorwhen callingsize_hint#5604IntoPyObjectoutput type ofPyBackedStrto bePyString, notPyAny. #5655asyncfunctions to returnNonerather than empty tuple(). #5685#[pyclass]types (e.g.&MyClass) as arguments to async#[pyfunction]s. #5725PyMemberDescrObject.d_memberto usePyMemberDeffor Python 3.11+ (was incorrectlyPyGetSetDef). #5647PyThreadState_GetFrameavailable with abi3 in 3.10+. #5711PyImport_GetModuleon PyPy. #5737experimental-inspect:__new__return type to be the built object type and notNone. #5555PyResult<()>(must beNoneand nottuple) #5674v0.27.2Compare Source
Changed
PyDicton GraalPy (unsupported for now, may crash at runtime). #5653Fixed
PyDictObjecton PyPy. #5653v0.27.1Compare Source
Fixed
clippy:declare_interior_mutable_constwarning from#[pyfunction]. #5538pyo3::types::PySendResultin public API. #5539v0.27.0Compare Source
Packaging
hashbrownoptional dependency to include version 0.16. #5428num-bigintdependency minimum version to 0.4.4. #5471Added
FromPyObjectOwnedas convenient trait bound forFromPyObjectwhen the data is not borrowed from Python. #4390Borrowed::extract, same asPyAnyMethods::extract, but does not restrict the lifetime by deref. #4390experimental-inspect: basic support for#[derive(IntoPyObject)](no struct fields support yet). #5365experimental-inspect: support#[pyo3(get, set)]and#[pyclass(get_all, set_all)]. #5370PyTypeCheck::classinfo_objectthat returns an object that can be used as parameter inisinstanceorissubclass. #5387PyTypeInfoondatetime.*types even when the limited API is enabled. #5388PyTypeInfoonPyIterator,PyMappingandPySequence. #5402PyTypeInfoonPyCodewhen using the stable ABI. #5403PyTypeInfoonPyWeakrefReferencewhen using the stable ABI. #5404pyo3::sync::RwLockExttrait, analogous topyo3::sync::MutexExtfor readwrite locks. #5435PyString::from_bytes. #5437AsRef<[u8]>forPyBytes. #5445CastErrorandCastIntoError. #5468PyCapsuleMethods::pointer_checkedandPyCapsuleMethods::is_valid_checked. #5474Borrowed::cast,Borrowed::cast_exactandBorrowed::cast_unchecked. #5475jiff::civil::ISOWeekDate. #5478&Cstr,CstringandCow<Cstr>. #5482#[pyclass(skip_from_py_object)]option, to opt-out of theFromPyObject: PyClass + Cloneblanket impl. #5488PyErr::add_note. #5489FromPyObjectimpl forCow<Path>&Cow<OsStr>. #5497#[pyclass(from_py_object)]pyclass option, to opt-in to the extraction of pyclasses by value (requiresClone). #5506Changed
FromPyObjecttrait for flexibility and performance: #4390FromPyObject, to allow borrowing data from Python objects (e.g.&strfrom Pythonstr).extract_boundwithextract, which takesBorrowed<'a, 'py, PyAny>.FromPyObjectimplementations forVec<u8>and[u8; N]frombytesandbytearray. #5244#[pyfn]attribute. #5384PyTypeCheck::NAME. #5387PyTypeCheck::NAMEin favour ofPyTypeCheck::classinfo_objectwhich provides the type information at runtime. #5387PyClassGuard(Mut)andPyRef(Mut)extraction now returns an opaque Rust error #5413PyTypeInfowith#[pymodule_use]. #5414Debugrepresentation ofPyBuffer<T>. #5442experimental-inspect: change the way introspection data is emitted in the binaries to avoid a pointer indirection and simplify parsing. #5450Py<T>::dropfor the case when attached to the Python interpreter. #5454DowncastErrorandDowncastIntoErrorwithCastErrorandCastIntoError. #5468GraalPy. #5471PyAnyMethods::downcastfunctions in favour ofBound::castfunctions. #5472PyTypeCheckanunsafe trait. #5473PyCapsuleMethods:pointer(),reference(), andis_valid(). #5474PyCapsuleMethods::reference. #5474PyCapsuleMethods::namenow returnsCapsuleNamewrapper instead of&CStr. #5474import_exception_boundin favour ofimport_exception. #5480PyList::get_item_unchecked,PyTuple::get_item_unchecked, andPyTuple::get_borrowed_item_uncheckedno longer check for null values at the provided index. #5494DateTime<Local>. #5507Removed
FromPyObjectBoundtrait. #4390Fixed
wasm32-wasip2. #5368OsStrconversion for non-utf8 strings on Windows. #5444cargo vendorcaused by gitignored build artifactemscripten/pybuilddir.txt. #5456PyMethodDefinstances inside#[pyfunction]macro generated code. #5459PyObjectObFlagsAndRefcnton 32-bit Python 3.14 (doesn't exist). #5499abi3interpreters on Windows using maturin's built-in sysconfig in combination with thegenerate-import-libfeature. #5503PyModule_ExecDefandPyModule_FromDefAndSpec2on PyPy. #5529PyO3/pyo3-async-runtimes (pyo3-async-runtimes)
v0.28.0Compare Source
into_streamfunctionsv0.27.0Compare Source
Trait
Runtimenow requiresspawn_blockingfunction,future_into_pyfunctions now require future return type to beSend.#60
downcastcalls tocastcalls #65pyo3::intern!for method calls andgetattrcalls #66vorner/pyo3-log (pyo3-log)
v0.13.2Compare Source
davidhewitt/pythonize (pythonize)
v0.27.0Compare Source
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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.