Update Rust crate pyo3 to >=0.18, <0.27 - autoclosed #123
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.18,<0.19->>=0.18, <0.27Release Notes
pyo3/pyo3 (pyo3)
v0.26.0Compare Source
Packaging
bytesdependency to add conversions forbytes::Bytes. #5252pyo3-introspectionto pair with theexperimental-inspectfeature. #5300PYO3_BUILD_EXTENSION_MODULEnow causes the same effect as theextension-modulefeature. Eventually we expect maturin and setuptools-rust to set this environment variable automatically. Users with their own build systems will need to do the same. #5343Added
#[pyo3(warn(message = "...", category = ...))]attribute for automatic warnings generation for#[pyfunction]and#[pymethods]. #4364PyMutex, available on Python 3.13 and newer. #4523PyMutex_IsLocked, available on Python 3.14 and newer. #4523PyString::from_encoded_object. #5017experimental-inspect: add basic input type annotations. #5089PyFrameObjectfrom CPython 3.13. #5154experimental-inspect: tag modules created using#[pymodule]or#[pymodule_init]functions as incomplete. #5207experimental-inspect: add basic return type support. #5208PyCode::compileandPyCodeMethods::runto create and execute code objects. #5217PyOnceLocktype for thread-safe single-initialization. #5223PyClassGuard(Mut)pyclass holders. In the future they will replacePyRef(Mut). #5233experimental-inspect: allow annotations in#[pyo3(signature)]signature attribute. #5241MutexExtfor parking_lot's/lock_apiReentrantMutex. #5258experimental-inspect: support class associated constants. #5272Bound::castfamily of functions superseding thePyAnyMethods::downcastfamily. #5289Py_VersionandPy_IsFinalizing. #5317experimental-inspect: add output type annotation for#[pyclass]. #5320experimental-inspect: support#[pyclass(eq, eq_int, ord, hash, str)]. #5338experimental-inspect: add basic support for#[derive(FromPyObject)](no struct fields support yet). #5339Python::try_attach. #5342Changed
Py_TPFLAGS_DISALLOW_INSTANTIATIONinstead of a__new__which always fails for a#[pyclass]without a#[new]on Python 3.10 and up. #4568PyModule::from_codenow defaultsfile_nameto<string>if empty. #4777PyString::from_objectin favour ofPyString::from_encoded_object. #5017abi3for a Python version newer than pyo3 supports, automatically fall back to an abi3 build for the latest supported version. #5144is_instance_oftrait bound fromPyTypeInfotoPyTypeCheck. #5146MutexExtreturn type to be an associated type. #5201PyCallArgsforPy::calland friends so they're equivalent to theirBoundcounterpart. #5206Python::with_giltoPython::attach. #5209Python::allow_threadstoPython::detach#5221GILOnceCelltype in favour ofPyOnceLock. #5223pyo3::prepare_freethreaded_pythontoPython::initialize. #5247PyMemoryErrorinto/fromio::ErrorKind::OutOfMemory. #5256GILProtected. #5285#[pyclass]docstring formatting from import time to compile time. #5286Python::attachwill now panic if the Python interpreter is in the process of shutting down. #5317PyTypeInfo::type_objectfor#[pyclass]types. #5324PyObjecttype alias forPy<PyAny>. #5325Python::with_gil_uncheckedtoPython::attach_unchecked. #5340Python::assume_gil_acquiredtoPython::assume_attached. #5354Removed
PyFrameObject. #5154EqandPartialEqimplementations onPyGetSetDefFFI definition. #5196_Py_IsCoreInitializedand_Py_InitializeMain. #5317Fixed
PyByteArray::to_vecon freethreaded build to replicate GIL-enabled "soundness". #4742bigdecimalinto Python. #5198PyBuffer<T>after the Python interpreter has been finalized. #5242experimental-inspect: better automated imports generation. #5251experimental-inspect: fix introspection of__richcmp__,__concat__,__repeat__,__inplace_concat__and__inplace_repeat__. #5273PyRef::into_super#5281Py_Exit(never returns, was()return value, now!). #5317experimental-inspect: fix handling of module members gated behind#[cfg(...)]attributes. #5318v0.25.1Compare Source
Packaging
chrono-localfeature for optional conversions for chrono'sLocaltimezone &DateTime<Local>instances. #5174Added
PyBytes_AS_STRING. #5121Changed
Py_Isfunction on GraalPy #5121Fixed
asyncdeclarations when not usingexperimental-asyncfeature. #5156FromPyObjectforuuid::Uuidon big-endian architectures. #5161v0.25.0Compare Source
Packaging
bigdecimaldependency to add conversions forbigdecimal::BigDecimal. #5011timedependency to add conversions fortimetypes. #5057cfg-ifdependency. #5110ordered_floatdependency to add conversions forordered_float::NotNanandordered_float::OrderedFloat. #5114Added
experimental-inspectfeature. #3977#[pyclass(generic)]option to support runtime generic typing. #4926OnceExt&MutexExtforparking_lot&lock_api. Use the new extension traits by enabling thearc_lock,lock_api, orparking_lotcargo features. #5044From/IntoforBorrowed<T>->Py<T>. #5054PyTzInfoconstructors. #5055PY_INVALID_STACK_EFFECT. #5064AsRef<Py<PyAny>>forPy<T>,Bound<T>andBorrowed<T>. #5071PyModule_Addandcompat::PyModule_Add. #5085Py_HashBuffer,Py_HashPointer, andPyObject_GenericHash. #5086#[pymodule_export]onconstitems in declarative modules. #5096#[pyclass(immutable_type)]option (on Python 3.14+ withabi3, or 3.10+ otherwise) for immutable type objects. #5101#[pyo3(rename_all)]support on#[derive(IntoPyObject)]. #5112PyRangewrapper. #5117Changed
datetimetypes withabi3feature enabled. #4970timezone_utcin favor ofPyTzInfo::utc. #5055PyCodeObjectis now an opaque struct on all Python versions.PyFutureFeaturesis now only defined up until Python 3.10 (it was present in CPython headers but unused in 3.11 and 3.12).PyAnyMethods::isto takeother: &Bound<T>. #5071Py::isto takeother: &Py<T>. #5071PyVisit::callto takeT: Into<Option<&Py<T>>>. #5071PyDateTime_DATE_GET_TZINFOandPyDateTime_TIME_GET_TZINFOon PyPy 3.10 and later. #5079#[track_caller]towith_gilandwith_gil_unchecked. #5109std::thread::park()instead oflibc::pause()orsleep(9999999). #5115Removed
IntoPyandToPyObjecttraits. #5010pyo3-ffi(i.e. starting with_Py) which are not referenced by public APIs:_PyLocalMonitors,_Py_GlobalMonitors,_PyCoCached,_PyCoLineInstrumentationData,_PyCoMonitoringData,_PyCompilerSrcLocation,_PyErr_StackItem. #5064PyCode_GetNumFree(PyO3 cannot support it due to knowledge of the code object). #5064AsPyPointertrait. #5071from_py_with. #5097_PyMethodWrapper_Type,_PyCoroWrapper_Type,_PyImport_FrozenBootstrap,_PyImport_FrozenStdlib,_PyImport_FrozenTest,_PyManagedBuffer_Type,_PySet_Dummy,_PyWeakref_ProxyType, and_PyWeakref_CallableProxyType. #5105PyASCIIObjectState,PyUnicode_IS_ASCII,PyUnicode_IS_COMPACT, andPyUnicode_IS_COMPACT_ASCIIon Python 3.14 and newer. #5133Fixed
#[derive(IntoPyObject, FromPyObject)]when using#[pyo3()]options recognised by only one of the two derives. #5070backports.zoneinfofor python <3.9 when converting timezones into python. #5120v0.24.2Compare Source
Fixed
unused_importslint of#[pyfunction]and#[pymethods]expanded inmacro_rulescontext. #5030PyCodeObject::_co_instrumentation_versionffi struct member on Python 3.13 for systems whereuintptr_tis not 64 bits. #5048r#identin Python bindings. #5050v0.24.1Compare Source
Added
abi3-py313feature. #4969PyAnyMethods::getattr_opt. #4978PyInt::newconstructor for all supported number types (i32, u32, i64, u64, isize, usize). #4984pyo3::sync::with_critical_section2. #4992PyCallArgsforBorrowed<'_, 'py, PyTuple>,&Bound<'py, PyTuple>, and&Py<PyTuple>. #5013Fixed
is_type_offor native types not using same specialized check asis_type_of_bound. #4981Probeclass naming issue with#[pymethods]. #4988#[pyfunction]arguments takingOption<&str>andOption<&T>(for#[pyclass]types). #5002PyString::from_objectcausing of bounds reads withencodinganderrorsparameters which are not nul-terminated. #5008cratefor#[pyfunction]. #5015v0.24.0Compare Source
Packaging
target-lexicondependency to 0.13. #4822jiffdependency to add conversions forjiffdatetime types. #4823uuiddependency to add conversions foruuid::Uuid. #4864inventoryversion to 0.3.5. #4954Added
PyIterator::sendmethod to allow sending values into a python generator. #4746PyCallArgstrait for passing arguments into the Python calling protocol. This enabled using a faster calling convention for certain types, improving performance. #4768#[pyo3(default = ...']option for#[derive(FromPyObject)]to set a default value for extracted fields of named structs. #4829#[pyo3(into_py_with = ...)]option for#[derive(IntoPyObject, IntoPyObjectRef)]. #4850PyThreadState_GetFrameandPyFrame_GetBack. #4866lastforBoundListIterator,BoundTupleIteratorandBorrowedTupleIterator. #4878Iterator::count()forPyDict,PyList,PyTuple&PySet. #4878nth,nth_back,advance_byandadvance_back_byforBoundTupleIterator#4897types.GenericAliasaspyo3::types::PyGenericAlias. #4917MutextExttrait to help avoid deadlocks with the GIL while locking astd::sync::Mutex. #4934#[pyo3(rename_all = "...")]option for#[derive(FromPyObject)]. #4941Changed
nth,nth_back,advance_byandadvance_back_byforBoundListIterator. #4810DerefToPyAnyin blanket implementations ofFrom<Py<T>>andFrom<Bound<'py, T>>forPyObject. #4593io::ErrorKind::IsADirectory/NotADirectoryto the corresponding Python exception on Rust 1.83+. #4747PyAnyMethods::calland friends now requirePyCallArgsfor their positional arguments. #4768PyObject_Vectorcall(Method)on the stable abi on 3.12+. #4853#[pyo3(from_py_with = ...)]now take a path rather than a string literal #4860PathBuf&Pathinto Pythonpathlib.Pathinstead ofPyString. #4925pthread_exittrying to acquire the GIL when the interpreter is shutting down. This mimics the Python 3.14 behavior and avoids undefined behavior and crashes. #4874Removed
DerefforPyAnyand other "native" types. #4593Fixed
PyIter_Sendto return aPySendResult. #4746v0.23.5Compare Source
Packaging
Fixed
__builtins__to__globals__in code executed byPython::py_run(was removed in PyO3 0.23.0). #4921v0.23.4Compare Source
Added
PyList::locked_for_each, which uses a critical section to lock the list on the free-threaded build. #4789pyo3_build_config::add_python_framework_link_argsbuild script API to set rpath when using macOS system Python. #4833Changed
datetime.foldto distinguish ambiguous datetimes when converting to and fromchrono::DateTime<Tz>(rather than erroring). #4791Fixed
py.allow_threadsGIL-switch when attempting to access contents of aPyErrwhich originated from Python (could lead to unintended deadlocks). #4766BoundDictIteratoron the free-threaded build. #4788BoundDictIteratoron the free-threaded build. #4788chrono::DateTime<Tz>to-Python conversion whenTzischrono_tz::Tz. #4790#[pyclass]not being able to be namedProbe. #4794abi3feature is enabled. #4806abi3feature is enabled. #4808r#boxinderive(FromPyObject). #4814#[pyclass]enum variants with more than 12 fields. #4832v0.23.3Compare Source
Packaging
python3-dll-adependency to 0.2.11. #4749Fixed
abi3features enabled. #4733generate-import-libfeature. #4749PYO3_CONFIG_FILEwould not reconfigure PyO3 for the new interpreter. #4758v0.23.2Compare Source
Added
IntoPyObjectExttrait. #4708Fixed
abi3orabi3-pyxxfeatures are enabled. #4719ambiguous_associated_itemslint error in#[pyclass]and#[derive(IntoPyObject)]macros. #4725v0.23.1Compare Source
Re-release of 0.23.0 with fixes to docs.rs build.
v0.23.0Compare Source
Packaging
Fixed
__builtins__to__globals__in code executed byPython::py_run(was removed in PyO3 0.23.0). #4921v0.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.5Compare Source
Fixed
__clear__slot andclearmethod generated code. #4619v0.22.4Compare Source
Fixed
__clear__slot andclearmethod generated code. #4619v0.22.3Compare Source
Added
PyWeakref_GetRefandcompat::PyWeakref_GetRef. #4528Changed
_borrowedmethods onPyWeakRefandPyWeakrefProxy(just use the owning forms). #4590Fixed
_PyLong_NumBitson Python 3.13 and later. #4450__traverse__functions for base classes not being called by subclasses created with#[pyclass(extends = ...)]. #4563#![forbid(unsafe_code)]. #4574create_exceptionmacro triggering lint and compile errors due to interaction withgil-refsfeature. #4589_borrowedmethods onPyWeakRefandPyWeakrefProxyby leaking their contents. #4590PyType_GetSloton static types before Python 3.10. #4599v0.22.2Compare Source
Packaging
UNSAFE_PYO3_BUILD_FREE_THREADED=1environment variable (it is not yet supported by PyO3). #4327Changed
#[pymodule(...)]now directly accepts all relevant#[pyo3(...)]options. #4330Fixed
#[pymodule]under presence of#![no_implicit_prelude]. #4328v0.22.1Compare Source
Added
#[pyo3(submodule)]option for declarative#[pymodule]s. #4301PartialEq<bool>forBound<'py, PyBool>. #4305Fixed
NotImplementedinstead of raisingTypeErrorfrom generated equality method when comparing different types. #4287#[pyo3::prelude::pymodule]and similar for#[pyclass]and#[pyfunction]in declarative modules. #4288#[setter]function. #4304v0.22.0Compare Source
Packaging
heckdependency to 0.5. #3966chrono-tzoptional dependency to include version 0.10. #4061num-rationalfeature to add conversions with Python'sfractions.Fraction. #4148Added
PyWeakref,PyWeakrefReferenceandPyWeakrefProxy. #3835#[pyclass]on enums that have tuple variants. #4072Decimalconversion. #4079pyo3_disable_reference_poolconditional 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#[pyo3(constructor = (...))]to customize the generated constructors for complex enum variants. #4158PyType::module, which always matches Python__module__. #4196PyType::fully_qualified_namewhich matches the "fully qualified name" defined in PEP 737. #4196PyTypeMethods::mroandPyTypeMethods::bases. #4197#[pyclass(ord)]to implement ordering based onPartialOrd. #4202ToPyObjectandIntoPy<PyObject>forPyBackedStrandPyBackedBytes. #4205#[pyclass(hash)]option to implement__hash__in terms of theHashimplementation #4206#[pyclass(eq)]option to generate__eq__based onPartialEq, and#[pyclass(eq_int)]for simple enums to implement equality based on their discriminants. #4210From<Bound<'py, T>>forPyClassInitializer<T>. #4214as_supermethods toPyRefandPyRefMutfor accessing the base class by reference. #4219PartialEq<str>forBound<'py, PyString>. #4245PyModuleMethods::filenameon PyPy. #4249PartialEq<[u8]>forBound<'py, PyBytes>. #4250pyo3_ffi::c_strmacro to create&'static CStron Rust versions which don't have 1.77'sc""literals. #4255boolconversion withnumpy2.0'snumpy.booltype #4258PyAnyMethods::{bitnot, matmul, floor_div, rem, divmod}. #4264Changed
PySliceIndices::slicelengthand thelengthparameter ofPySlice::indices(). #3761Cloneing pointers into the Python heap has been moved behind thepy-clonefeature, as it must panic without the GIL being held as a soundness fix. #4095#[track_caller]to allPy<T>,Bound<'py, T>andBorrowed<'a, 'py, T>methods which can panic. #4098PyAnyMethods::dirto be fallible and returnPyResult<Bound<'py, PyList>>(and similar forPyAny::dir). #4100weakrefordictwhen compiling forabi3for Python older than 3.9. #4194PyType::nameto always match Python__name__. #4196#[pyclass(eq_int)]. #4210module=attribute of declarative modules' child#[pymodule]s and#[pyclass]es. #4213moduleoption for complex enum variants from the value set on the complex enummodule. #4228abi3feature on PyPy or GraalPy. #4237#[pyo3(get)]on#[pyclass]fields. #4254PyCFunction::new,PyCFunction::new_with_keywordsandPyCFunction::new_closurenow take&'static CStrname and doc arguments (previously was&'static str). #4255experimental-declarative-modulesfeature is now stabilized and available by default. #4257Fixed
PYO3_CROSS_LIB_DIRis set to a missing path. #4043create_exception!living in a different Rust module using thedeclarative-modulefeature. #4086PY_VECTORCALL_ARGUMENTS_OFFSETandPyVectorcall_NARGSto fix a false-positive assertion. #4104PyUnicode_DATAon PyPy: not exposed by PyPy. #4116#[pyo3(from_py_with = ...)]attribute on dunder (__magic__) method arguments instead of silently ignoring it. #4117modnode. #4236__dict__attribute missing for#[pyclass(dict)]instances when building forabi3on Python 3.9. #4251v0.21.2Compare Source
Changed
PySet::empty()gil-ref constructor. #4082Fixed
async fnin#[pymethods]with a&selfreceiver and more than one additional argument. #4035__traverse__. #4045#[pyclass]living in a different Rust module using theexperimental-declarative-modulesfeature. #4054missing_docslint triggering on documented#[pymodule]functions. #4067libpython). #4073v0.21.1Compare Source
Added
SendandSyncforPyBackedStrandPyBackedBytes. #4007Clone,Debug,PartialEq,Eq,PartialOrd,OrdandHashimplementation forPyBackedBytesandPyBackedStr, andDisplayforPyBackedStr. #4020import_exception_bound!macro to import exception types without generating GIL Ref functionality for them. #4027Changed
#[setter]function arguments. #3998#[inline]hints on manyBoundandBorrowedmethods. #4024Fixed
#[pyo3(from_py_with = "")]in#[setter]methods #3995&Boundin#[setter]methods. #3998#[pymodule],#[pyfunction]and#[pyclass]macros. #4009pyo3::import_exception!does not exist. #4012#[pymethod]with a receiver and additional arguments. #4015v0.21.0Compare Source
Added
PyMemoryViewtype. #3514async fnin for#[pyfunction]and#[pymethods], with theexperimental-asyncfeature. #3540 #3588 #3599 #3931PyTypeInfoforPyEllipsis,PyNoneandPyNotImplemented. #3577#[pyclass]on enums that have non-unit variants. #3582chronofeature withabi3feature. #3664FromPyObject,IntoPy<PyObject>andToPyObjectare implemented onstd::duration::Duration#3670PyString::to_cow. AddPy<PyString>::to_str,Py<PyString>::to_cow, andPy<PyString>::to_string_lossy, as ways to access Python string data safely beyond the GIL lifetime. #3677Bound<T>andBorrowed<T>smart pointers as a new API for accessing Python objects. #3686PyNativeType::as_borrowedto convert "GIL refs" to the newBoundsmart pointer. #3692FromPyObject::extract_boundmethod, to migrateFromPyObjectimplementations to the Bound API. #3706gil-refsfeature to allow continued use of the deprecated GIL Refs APIs. #3707PyAnyMethodsfor binary operators (add,sub, etc.) #3712chrono-tzfeature allowing conversion betweenchrono_tz::Tzandzoneinfo.ZoneInfo#3730PyType_GetModuleByDef. #3734std::time::SystemTimeanddatetime.datetime#3736Py::as_anyandPy::into_any. #3785PyStringMethods::encode_utf8. #3801PyBackedStrandPyBackedBytes, as alternatives to&strand&byteswhere a Python object owns the data. #3802 #3991#[pymodule]macro on Rustmodblocks, with theexperimental-declarative-modulesfeature. #3815ExactSizeIteratorforsetandfrozensetiterators onabi3feature. #3849Py::drop_refto explicitly drop a `Py`` and immediately decrease the Python reference count if the GIL is already held. #3871#[pymodule]macro on single argument functions that take&Bound<'_, PyModule>. #3905FromPyObjectforCow<str>. #3928DefaultforGILOnceCell. #3971PyDictMethods::into_mapping,PyListMethods::into_sequenceandPyTupleMethods::into_sequence. #3982Changed
PyDict::from_sequencenow takes a single argument of type&PyAny(previously took two argumentsPythonandPyObject). #3532Py::is_ellipsisandPyAny::is_ellipsisin favour ofany.is(py.Ellipsis()). #3577PyTypeInfofunctionality into new traitsHasPyGilRefandPyTypeCheck. #3600PyTryFromandPyTryIntotraits in favor ofany.downcast()via thePyTypeCheckandPyTypeInfotraits. #3601&self/&mut self#3609FromPyObjectfor set types now also acceptfrozensetobjects as input. #3632FromPyObjectforboolnow also accepts NumPy'sbool_as input. #3638AsRefSourceassociated type toPyNativeType. #3653.is_trueto.is_truthyonPyAnyandPy<PyAny>to clarify that the test is not based on identity with or equality to the True singleton. #3657PyType::nameis nowPyType::qualnamewhereasPyType::nameefficiently accesses the full name which includes the module name. #3660Iter(A)NextOutputtypes 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 intoIterANextOutputorOptionany more.Optioncan still be used as well and returningNonewill trigger the fast path for__next__, stopping iteration without having to raise aStopIterationexception. #3661FromPyObjectonchrono::DateTime<Tz>for allTz, not justFixedOffsetandUtc. #3663PyTzInfoAccesstrait. For the deprecated gil-ref API, the trait is now implemented for&'py PyTimeand&'py PyDateTimeinstead ofPyTimeandPyDate. #3679__traverse__become no-ops for unsendable pyclasses if on the wrong thread, thereby avoiding hard aborts at the cost of potential leakage. #3689PyNativeTypeinpyo3::prelude. #3692extract::<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. #3742FromPyObjectforPy<T>to justT: PyTypeCheck. #3776PySetandPyFrozenSetiterators now always iterate the equivalent ofiter(set). (A "fast path" with no noticeable performance benefit was removed.) #3849FromPyObjectfor&str,Cow<str>,&[u8]andCow<[u8]>onto a temporary traitFromPyObjectBoundwhengil-refsfeature is deactivated. #3928GILPool,Python::with_pool, andPython::new_pool. #3947Removed
Fixed
Py_MAX_NDIMSin favour ofPyBUF_MAX_NDIM. #3757datetimetypes when an invaliddatetimemodule is on sys.path. #3818non_local_definitionslint warning triggered by many PyO3 macros. #3901PyCodeandPyCode_Typeon PyPy:PyCode_Typeis not exposed by PyPy. #3934v0.20.3Compare Source
Packaging
portable-atomicdependency. #3619abi3stable ABI by the environment variablePYO3_USE_ABI3_FORWARD_COMPATIBILITY=1. #3821Fixed
portable-atomicto support platforms without 64-bit atomics. #3619eitherfeature enabled withoutexperimental-inspectenabled. #3834v0.20.2Compare Source
Packaging
pyo3andpyo3-ffidependencies onpyo3-build-configto require the same patch version, i.e.pyo30.20.2 requires exactlypyo3-build-config0.20.2. #3721Fixed
pyo30.20.0 with latestpyo3-build-config0.20.X. #3724v0.20.1Compare Source
Added
eitherfeature to add conversions foreither::Either<L, R>sum type. #3456smallvecfeature to add conversions forsmallvec::SmallVec. #3507takeandinto_innermethods toGILOnceCell#3556#[classmethod]methods can now also receivePy<PyType>as their first argument. #3587#[pyfunction(pass_module)]can now also receivePy<PyModule>as their first argument. [#3587](https://reConfiguration
📅 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: Never, 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.