Update Rust crate pyo3-build-config to 0.19.0 #70
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.17.1
->0.19.0
Release Notes
pyo3/pyo3
v0.19.0
Compare Source
Packaging
Added
text_signature
option (and automatically generate signature) for#[new]
in#[pymethods]
. #2980decimal.Decimal
andrust_decimal::Decimal
. #3016#[pyo3(from_item_all)]
when derivingFromPyObject
to specifyget_item
as getter for all fields. #3120pyo3::exceptions::PyBaseExceptionGroup
for Python 3.11, and corresponding FFI definitionPyExc_BaseExceptionGroup
. #3141#[new]
with#[classmethod]
to create a constructor which receives a (subtype's) class/PyType
as its first argument. #3157PyClass::get
andPy::get
for GIL-indepedent access to classes with#[pyclass(frozen)]
. #3158PyAny::is_exact_instance
andPyAny::is_exact_instance_of
. #3161Changed
PyAny::is_instance_of::<T>(obj)
is now equivalent toT::is_type_of(obj)
, and now returnsbool
instead ofPyResult<bool>
. #2881text_signature
option on#[pyclass]
structs. #2980anyhow::Error
/eyre::Report
containing a basicPyErr
without a chain in aPyRuntimeError
. #3004#[getter]
and#[setter]
to use a common call "trampoline" to slightly reduce generated code size and compile times. #3029text_signature
. #3050None
in automatically-generatedtext_signature
. #3066PySequence::list
andPySequence::tuple
toPySequence::to_list
andPySequence::to_tuple
. (The old names continue to exist as deprecated forms.) #3111PyRef::py
andPyRefMut::py
to match the underlying borrow. #3131Python::with_gil
, is now locked inside of implementations of the__traverse__
slot. #3168Removed
Python::acquire_gil
is replaced byPython::with_gil
. #2981Fixed
PyGetSetDef
,PyMemberDef
,PyStructSequence_Field
andPyStructSequence_Desc
to have*const c_char
members forname
anddoc
(not*mut c_char
). #3036fmt::Display
, instead return"<unprintable object>"
string and report error viasys.unraisablehook()
#3062#[pyfunction]
s take references into#[pyclass]
es #3142__traverse__
implementation. #3168Drop
implementations of unsendable classes on other threads. #3176#[pymethods]
items come from somewhere else (for example, as a macro argument) and a custom receiver likePy<Self>
is used. #3178v0.18.3
Compare Source
Added
GILProtected<T>
to mediate concurrent access to a value using Python's global interpreter lock (GIL). #2975PyASCIIObject
/PyUnicode
and associated methods on big-endian architectures. #3015_PyDict_Contains_KnownHash()
for CPython 3.10 and up. #3088Fixed
#[pymethods]
and#[pyfunction]
called "output". #3022#[staticmethod]
. #3055is_instance
forPyDateTime
(would incorrectly check for aPyDate
). #3071PyUnicode_InternImmortal
since Python 3.10. #3071v0.18.2
Compare Source
Packaging
chrono
to avoid depending ontime
v0.1.x. #2939Added
IntoPy<PyObject>
,ToPyObject
andFromPyObject
forCow<[u8]>
to efficiently handle bothbytes
andbytearray
objects. #2899IntoPy<PyObject>
,ToPyObject
andFromPyObject
forCell<T>
. #3014PyList::to_tuple()
, as a convenient and efficient conversion from lists to tuples. #3042PyTuple::to_list()
, as a convenient and efficient conversion from tuples to lists. #3044Changed
PySequence
conversion forlist
andtuple
inputs. #2944#[pyclass]
type object fails during module import. #2947PyMapping
conversion fordict
inputs. #2954create_exception!
to take adotted.module
to place the exception in a submodule. #2979Fixed
PyObject
s cloned inallow_threads
blocks. #2952clippy::redundant_closure
lint on default arguments in#[pyo3(signature = (...))]
annotations. #2990non_snake_case
lint on generated code in#[pyfunction]
macro. #2993v0.18.1
Compare Source
Added
PyErr::write_unraisable()
. #2889Python::Ellipsis()
andPyAny::is_ellipsis()
methods. #2911PyDict::update()
andPyDict::update_if_missing()
methods. #2912Changed
PyIter_Check
on CPython 3.7 is now implemented ashasattr(type(obj), "__next__")
, which works correctly on all platforms and adds support forabi3
. #2914PYO3_CONFIG_FILE
instead of denying. #2926Fixed
__releasebuffer__
tosys.unraisablehook
rather than causingSystemError
. #2886PyIterator
succeeding for Python classes which did not implement__next__
. #2914__traverse__
when visitingNone
fields ofOption<T: AsPyPointer>
. #2921#[pymethods(crate = "...")]
option being ignored. #2923pythonXY_d.dll
for debug Python builds on Windows. #2937v0.18.0
Compare Source
Packaging
indexmap
optional depecency to allow>= 1.6, < 2
. [#2849][https://github.com/PyO3/pyo3/pull/2849](https://togithub.com/PyO3/pyo3/pull/2849)9hashbrown
optional dependency to allow>= 0.9, < 0.14
. #2875memoffset
dependency to 0.8. #2875Added
GILOnceCell::get_or_try_init
for fallibleGILOnceCell
initialization. #2398experimental-inspect
withtype_input()
andtype_output()
helpers to get the Python type of any Python-compatible object. #2490 #2882#[pyclass]
macro can now takeget_all
andset_all
to create getters and setters for every field. #2692#[pyo3(signature = (...))]
option for#[pyfunction]
and#[pymethods]
. #2702pyo3-build-config
: rebuild whenPYO3_ENVIRONMENT_SIGNATURE
environment variable value changes. #2727std::num
and Pythonint
. #2730Py::downcast()
as a companion toPyAny::downcast()
, as well asdowncast_unchecked()
for both types. #2734Warning
classes as well asPyErr::warn_explicit
. #2742abi3-py311
feature. #2776_PyErr_ChainExceptions()
for CPython. #2788PyVectorcall_NARGS
andPY_VECTORCALL_ARGUMENTS_OFFSET
for PyPy 3.8 and up. #2811PyList::get_item_unchecked
for PyPy. #2827Changed
PyCFunction::new_closure
to takename
anddoc
arguments. #2686PyType::is_subclass
,PyErr::is_instance
andPyAny::is_instance
now take&PyAny
instead of&PyType
arguments, so that they work with objects that pretend to be types using__subclasscheck__
and__instancecheck__
. #2695#[args]
attribute and passing "args" specification directly to#[pyfunction]
in favor of the new#[pyo3(signature = (...))]
option. #2702Option<T>
arguments to#[pyfunction]
and#[pymethods]
without also using#[pyo3(signature)]
to specify whether the arguments should be required or have defaults. #2703#[pyfunction]
and#[pymethods]
to use a common call "trampoline" to slightly reduce generated code size and compile times. #2705PyAny::cast_as()
andPy::cast_as()
are now deprecated in favor ofPyAny::downcast()
and the newPy::downcast()
. #2734PyAny::downcast()
. #2734__text_signature__
for all Python functions created using#[pyfunction]
and#[pymethods]
. #2784PySet::new
andPyFrozenSet::new
. #2795#[cfg(...)]
and#[pyo3(...)]
attributes on#[pyclass]
struct fields will now work. #2796PyFunction
on when building for abi3 or PyPy. #2838derive(FromPyObject)
to useintern!
when applicable for#[pyo3(item)]
. #2879Removed
pyproto
feature,#[pyproto]
macro, and all accompanying APIs. #2587Fixed
PyModule::filename
on PyPy. #2715PyCodeObject
is now once again defined with fields on Python 3.7. #2726TypeError
if#[new]
pymethods with no arguments receive arguments when called from Python. #2749NOARGS
argument calling convention for methods that have a singlepy: Python
argument (as a performance optimization). #2760isize
values toc_long
inPySlice::new
. #2769PyUnicodeDecodeError_Create
on PyPy leading to indeterminate behavior (typically aTypeError
). #2772**kwargs
to accept keyword arguments which share a name with a positional-only argument (as permitted by PEP 570). #2800PyObject_Vectorcall
on PyPy 3.9 and up. #2811PyCFunction::new_closure
. #2842v0.17.3
Compare Source
Packaging
Added
ExactSizeIterator
forPyListIterator
,PyDictIterator
,PySetIterator
andPyFrozenSetIterator
. #2676Fixed
impl FromPyObject for [T; N]
no longer accepting types passingPySequence_Check
, e.g. NumPy arrays, since version 0.17.0. This the same fix that was appliedimpl FromPyObject for Vec<T>
in version 0.17.1 extended to fixed-size arrays. #2675FunctionDescription::extract_arguments_fastcall
due to creating slices from a null pointer. #2687v0.17.2
Compare Source
Packaging
chrono
feature to convertchrono
types into types in thedatetime
module. #2612Added
num-bigint
feature onPyPy
. #2626Fixed
__richcmp__
for enums, fixing__ne__
returning always returningTrue
. #2622Option<&SomePyClass>
argument with a default. #2630impl FromPyObject for Vec<T>
no longer accepting types passingPySequence_Check
, e.g. NumPy arrays, since 0.17.0. #2631Configuration
📅 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 has been generated by Mend Renovate. View repository job log here.