github PyO3/pyo3 v0.14.0
PyO3 0.14.0

latest releases: v0.21.2, v0.21.1, v0.21.0...
2 years ago

This release contains a significant number of improvements and optimizations since the 0.13 releases. Conversion support for more Rust standard library types has been added: [T; N], Path, PathBuf, OsStr, and OsString. In addition, the #[pyo3(...)] attribute options already used in #[pyclass] and #[derive(FromPyObject)] have been expanded to all macros to cover more options such as #[pyo3(name = "...")].

This release also includes some notable performance optimizations to PyO3's Python function generation, and users should observe reductions in overhead when calling PyO3-wrapped functions from Python. The documentation has also benefited from extensive work from several contributors.

Finally, there are a number of breaking changes to this release:

  • To reduce the default dependency set, a new feature multiple-pymethods has been added. If this feature is not enabled, each #[pyclass] may only have a single #[pymethods] block. If this feature is enabled then the previous behavior (and dependency on inventory) is restored.
  • The pyo3::ffi module has received many updates to keep in sync with CPython's definitions.
  • A number of APIs and particular usages of PyO3 macros have been marked deprecated where better alternatives now exist.
  • A number of previously-deprecated APIs have been removed.

For full details of all changes, see the CHANGELOG. For help with upgrading, see the migration guide.

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

@alex
@alonblade
@aviramha
@birkenfeld
@c410-f3r
@Daggy1234
@daniil-konovalenko
@davidhewitt
@erikjohnston
@GabrielMajeri
@gilescope
@indygreg
@isosphere
@jameshilliard
@kangalioo
@kngwyu
@konstin
@m-ou-se
@mejrs
@messense
@nw0
@ohadravid
@ravenexp
@scalexm
@simonrainerson
@TheGhostHuCodes
@Winxton
@1tgr

Don't miss a new pyo3 release

NewReleases is sending notifications on new releases.