Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump the pyo3 group with 2 updates #349

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 10, 2025

Bumps the pyo3 group with 2 updates: pyo3 and pyo3-build-config.

Updates pyo3 from 0.23.5 to 0.24.0

Release notes

Sourced from pyo3's releases.

PyO3 0.24.0

This release is an incremental improvement of refinements and optimizations following the new APIs established in PyO3's last few releases.

Support for jiff datetime conversions have been added, and also UUID conversions.

The FromPyObject derive macro has gained new #[pyo3(default = ...)] and #[pyo3(rename_all = ...)] options, and the IntoPyObject derive macro has gained a new #[pyo3(into_py_with = ...)] option.

PyO3 will now pass positional arguments to Python functions using the "vectorcall" protocol in many cases, which should be an optimization over the previous behaviour (of creating a Python tuple of positional arguments).

Many methods on iterators of Python collections have been optimized.

There are also many other incremental improvements, bug fixes and smaller features.

Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following contributors' commits are included in this release:

@​0x676e67 @​alex @​arielb1 @​bschoenmaeckers @​davidhewitt @​dependabot[bot] @​eltociear @​Icxolu @​IvanIsCoding @​JeanArhancet @​kahojyun @​kemingy @​kylebarron @​LifeLex @​LilyFoote @​lundybernard @​matt-codecov @​mattip @​mejrs @​messense @​msimacek @​ngoldbaum @​nicolasavru @​Owen-CH-Leung @​peterjoel @​SilverBzH @​Tpt @​yoav-orca @​yotamofek

Changelog

Sourced from pyo3's changelog.

[0.24.0] - 2025-03-09

Packaging

  • Add supported CPython/PyPy versions to cargo package metadata. #4756
  • Bump target-lexicon dependency to 0.13. #4822
  • Add optional jiff dependency to add conversions for jiff datetime types. #4823
  • Bump minimum supported inventory version to 0.3.5. #4954

Added

  • Add PyIterator::send method to allow sending values into a python generator. #4746
  • Add PyCallArgs trait for passing arguments into the Python calling protocol. This enabled using a faster calling convention for certain types, improving performance. #4768
  • Add #[pyo3(default = ...'] option for #[derive(FromPyObject)] to set a default value for extracted fields of named structs. #4829
  • Add #[pyo3(into_py_with = ...)] option for #[derive(IntoPyObject, IntoPyObjectRef)]. #4850
  • Add uuid to/from python conversions. #4864
  • Add FFI definitions PyThreadState_GetFrame and PyFrame_GetBack. #4866
  • Optimize last for BoundListIterator, BoundTupleIterator and BorrowedTupleIterator. #4878
  • Optimize Iterator::count() for PyDict, PyList, PyTuple & PySet. #4878
  • Optimize nth, nth_back, advance_by and advance_back_by for BoundTupleIterator #4897
  • Add support for types.GenericAlias as pyo3::types::PyGenericAlias. #4917
  • Add MutextExt trait to help avoid deadlocks with the GIL while locking a std::sync::Mutex. #4934
  • Add #[pyo3(rename_all = "...")] option for #[derive(FromPyObject)]. #4941

Changed

  • Optimize nth, nth_back, advance_by and advance_back_by for BoundListIterator. #4810
  • Use DerefToPyAny in blanket implementations of From<Py<T>> and From<Bound<'py, T>> for PyObject. #4593
  • Map io::ErrorKind::IsADirectory/NotADirectory to the corresponding Python exception on Rust 1.83+. #4747
  • PyAnyMethods::call and friends now require PyCallArgs for their positional arguments. #4768
  • Expose FFI definitions for PyObject_Vectorcall(Method) on the stable abi on 3.12+. #4853
  • #[pyo3(from_py_with = ...)] now take a path rather than a string literal #4860
  • Format Python traceback in impl Debug for PyErr. #4900
  • Convert PathBuf & Path into Python pathlib.Path instead of PyString. #4925
  • Relax parsing of exotic Python versions. #4949
  • PyO3 threads now hang instead of pthread_exit trying to acquire the GIL when the interpreter is shutting down. This mimics the Python 3.14 behavior and avoids undefined behavior and crashes. #4874

Removed

  • Remove implementations of Deref for PyAny and other "native" types. #4593
  • Remove implicit default of trailing optional arguments (see #2935) #4729
  • Remove the deprecated implicit eq fallback for simple enums. #4730

Fixed

  • Correct FFI definition of PyIter_Send to return a PySendResult. #4746
  • Fix a thread safety issue in the runtime borrow checker used by mutable pyclass instances on the free-threaded build. #4948
Commits

Updates pyo3-build-config from 0.23.5 to 0.24.0

Release notes

Sourced from pyo3-build-config's releases.

PyO3 0.24.0

This release is an incremental improvement of refinements and optimizations following the new APIs established in PyO3's last few releases.

Support for jiff datetime conversions have been added, and also UUID conversions.

The FromPyObject derive macro has gained new #[pyo3(default = ...)] and #[pyo3(rename_all = ...)] options, and the IntoPyObject derive macro has gained a new #[pyo3(into_py_with = ...)] option.

PyO3 will now pass positional arguments to Python functions using the "vectorcall" protocol in many cases, which should be an optimization over the previous behaviour (of creating a Python tuple of positional arguments).

Many methods on iterators of Python collections have been optimized.

There are also many other incremental improvements, bug fixes and smaller features.

Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following contributors' commits are included in this release:

@​0x676e67 @​alex @​arielb1 @​bschoenmaeckers @​davidhewitt @​dependabot[bot] @​eltociear @​Icxolu @​IvanIsCoding @​JeanArhancet @​kahojyun @​kemingy @​kylebarron @​LifeLex @​LilyFoote @​lundybernard @​matt-codecov @​mattip @​mejrs @​messense @​msimacek @​ngoldbaum @​nicolasavru @​Owen-CH-Leung @​peterjoel @​SilverBzH @​Tpt @​yoav-orca @​yotamofek

Changelog

Sourced from pyo3-build-config's changelog.

[0.24.0] - 2025-03-09

Packaging

  • Add supported CPython/PyPy versions to cargo package metadata. #4756
  • Bump target-lexicon dependency to 0.13. #4822
  • Add optional jiff dependency to add conversions for jiff datetime types. #4823
  • Bump minimum supported inventory version to 0.3.5. #4954

Added

  • Add PyIterator::send method to allow sending values into a python generator. #4746
  • Add PyCallArgs trait for passing arguments into the Python calling protocol. This enabled using a faster calling convention for certain types, improving performance. #4768
  • Add #[pyo3(default = ...'] option for #[derive(FromPyObject)] to set a default value for extracted fields of named structs. #4829
  • Add #[pyo3(into_py_with = ...)] option for #[derive(IntoPyObject, IntoPyObjectRef)]. #4850
  • Add uuid to/from python conversions. #4864
  • Add FFI definitions PyThreadState_GetFrame and PyFrame_GetBack. #4866
  • Optimize last for BoundListIterator, BoundTupleIterator and BorrowedTupleIterator. #4878
  • Optimize Iterator::count() for PyDict, PyList, PyTuple & PySet. #4878
  • Optimize nth, nth_back, advance_by and advance_back_by for BoundTupleIterator #4897
  • Add support for types.GenericAlias as pyo3::types::PyGenericAlias. #4917
  • Add MutextExt trait to help avoid deadlocks with the GIL while locking a std::sync::Mutex. #4934
  • Add #[pyo3(rename_all = "...")] option for #[derive(FromPyObject)]. #4941

Changed

  • Optimize nth, nth_back, advance_by and advance_back_by for BoundListIterator. #4810
  • Use DerefToPyAny in blanket implementations of From<Py<T>> and From<Bound<'py, T>> for PyObject. #4593
  • Map io::ErrorKind::IsADirectory/NotADirectory to the corresponding Python exception on Rust 1.83+. #4747
  • PyAnyMethods::call and friends now require PyCallArgs for their positional arguments. #4768
  • Expose FFI definitions for PyObject_Vectorcall(Method) on the stable abi on 3.12+. #4853
  • #[pyo3(from_py_with = ...)] now take a path rather than a string literal #4860
  • Format Python traceback in impl Debug for PyErr. #4900
  • Convert PathBuf & Path into Python pathlib.Path instead of PyString. #4925
  • Relax parsing of exotic Python versions. #4949
  • PyO3 threads now hang instead of pthread_exit trying to acquire the GIL when the interpreter is shutting down. This mimics the Python 3.14 behavior and avoids undefined behavior and crashes. #4874

Removed

  • Remove implementations of Deref for PyAny and other "native" types. #4593
  • Remove implicit default of trailing optional arguments (see #2935) #4729
  • Remove the deprecated implicit eq fallback for simple enums. #4730

Fixed

  • Correct FFI definition of PyIter_Send to return a PySendResult. #4746
  • Fix a thread safety issue in the runtime borrow checker used by mutable pyclass instances on the free-threaded build. #4948
Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Bumps the pyo3 group with 2 updates: [pyo3](https://github.com/pyo3/pyo3) and [pyo3-build-config](https://github.com/pyo3/pyo3).


Updates `pyo3` from 0.23.5 to 0.24.0
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md)
- [Commits](PyO3/pyo3@v0.23.5...v0.24.0)

Updates `pyo3-build-config` from 0.23.5 to 0.24.0
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md)
- [Commits](PyO3/pyo3@v0.23.5...v0.24.0)

---
updated-dependencies:
- dependency-name: pyo3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: pyo3
- dependency-name: pyo3-build-config
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: pyo3
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Mar 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants