pythonize
Serde Serializer & Deserializer from Rust <--> Python, backed by PyO3.
0.29.0
13M downloads/mo
#2666 most downloaded on crates.io
davidhewitt/pythonize
What this package is like to depend on
Last release 2 months ago
12 Jun 2026
Ships on a steady schedule
a new release about every 4 months
Nearly every release is documented
notes for 21 of 21 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
21 releases · first in 2020
4 releases in the last 12 months
see the full history below
Release timeline
21 releases · Aug 2020 to Jun 2026Releases
latest 21-
0.29.012 Jun 2026Release notes
Open source →What's Changed
- fix: check codepoint count not byte length in deserialize_char by @leftygbalogh in #107
- test: add round-trip tests for collections and structs by @leftygbalogh in #108
- support serializing i128 / u128 by @davidhewitt in #113
- docs: no longer experimental by @davidhewitt in #115
- Update to PyO3 0.29 by @g-bauer in #117
New Contributors
- @leftygbalogh made their first contribution in #107
Full Changelog: v0.28.0...v0.29.0
-
0.28.018 Feb 2026Release notes
Open source →What's Changed
- Update
pyo3to 0.28.0. by @reitermarkus in #104 - feat: Support serde_json's arbitrary_precision feature by @jpmckinney in #102
- Support deserializing Python dataclass into structs / mappings by @davidhewitt in #105
New Contributors
- @reitermarkus made their first contribution in #104
- @jpmckinney made their first contribution in #102
Full Changelog: v0.27.0...v0.28.0
Release notes
Open source →- Bump MSRV to 1.83.
- Update
pyo3to 0.28. - Support deserializing
dataclassinstances to struct-like Rust types. - Add
arbitrary_precisionfeature
- Update
-
0.27.007 Nov 2025Release notes
Open source →What's Changed
- ci: extend test matrix to 3.14, more arm runners by @davidhewitt in #98
- Bump PyO3 to 0.27 by @tuxu in #96
- release: 0.27.0 by @davidhewitt in #99
New Contributors
Full Changelog: v0.26.0...v0.27.0
-
0.26.030 Aug 2025Release notes
Open source →What's Changed
- fix-typos by @jessekrubin in #92
- did I
GATthis right? by @jessekrubin in #91 - release: 0.26 by @davidhewitt in #95
Full Changelog: v0.25.0...v0.26.0
Release notes
Open source →Packaging
- Bump MSRV to 1.74
- Update to PyO3 0.26
Changed
PythonizeTypes,PythonizeMappingTypeandPythonizeNamedMappingTypeno longer have a lifetime on the trait, instead theBuildertype is a GAT.
-
0.25.023 May 2025 -
0.24.026 Mar 2025 -
0.23.022 Nov 2024 -
0.22.010 Aug 2024Release notes
Open source →Packaging
- Bump MSRV to 1.63
- Update to PyO3 0.22
Added
- Support
u128/i128integers. - Implement
PythonizeListTypeforPyTuple - Support deserializing enums from any
PyMappinginstead of justPyDict - Support serializing struct-like types to named mappings using
PythonizeTypes::NamedMap
Changed
pythonize()now returnsBound<'py, PyAny>instead ofPy<PyAny>depythonize()now take&'a Boundand is no longer deprecateddepythonize_bound()is now deprecatedDepythonizer::from_object()now takes&'a Boundand is no longer deprecatedDepythonizernow contains&'a Boundand so has an extra lifetime'a
Removed
- Remove support for PyO3's
gil-refsfeature
Fixed
- Fix overflow error attempting to depythonize
u64values greater thani64::MAXto types likeserde_json::Value - Fix deserializing
setandfrozensetinto Rust homogeneous containers
-
0.21.102 Apr 2024Release notes
Open source →- Fix compile error when using PyO3
abi3feature targeting a minimum version below 3.10
- Fix compile error when using PyO3
-
0.21.001 Apr 2024Release notes
Open source →- Bump edition to 2021
- Bump MSRV to 1.56
- Update to PyO3 0.21
- Export
PythonizeDefault
-
0.20.015 Oct 2023 -
0.19.011 Jun 2023 -
0.18.022 Jan 2023 -
0.17.024 Aug 2022 -
0.16.006 Mar 2022 -
0.15.012 Nov 2021Release notes
Open source →- Update to PyO3 0.15
- Add
pythonize_customfor customizing the Python types to serialize to. - Add support for
depythonizeto handle arbitrary Python sequence and mapping types.
-
0.14.005 Jul 2021 -
0.13.028 Dec 2020 -
0.12.108 Dec 2020Release notes
Open source →- Require
stdfeature ofserde. - Reduce memory consumption when deserializing sequences.
- Fix deserializing untagged struct enum variants.
- Fix deserializing sequences from Python tuples.
- Require
-
0.12.022 Nov 2020Release notes
Open source →- Change release versioning to match
pyo3major/minor version. - Implement
depythonizer
- Change release versioning to match
-
0.1.012 Aug 2020