pickle5
Backport of the pickle 5 protocol (PEP 574) and other pickle changes
What it is and what it does
pickle5 is a backport of Python 3.8.3's pickle module enhancements, specifically implementing PEP 574 and related improvements for Python 3.5, 3.6, and 3.7. It allows developers on older Python versions to use the pickle 5 protocol, which includes support for PickleBuffer and other features not available in the standard pickle module on those versions.
The package provides a drop-in replacement for the standard pickle module, imported as pickle5 instead. It has no runtime dependencies and compiles to platform-specific wheels for multiple architectures. However, the package is archived and abandoned as of November 2021, with no active maintenance or updates.
Use it for:
- Serialize objects using protocol 5 on Python 3.5–3.7 projects that cannot yet upgrade to Python 3.8+
- Use PickleBuffer for efficient serialization of large binary data on older Python versions
- Maintain compatibility with code written for Python 3.8+ pickle features while running on legacy Python
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Backports the pickle 5 protocol (PEP 574) and related pickle module improvements from Python 3.8.3 to earlier Python versions, allowing use of protocol 5 features on Python 3.5, 3.6, and 3.7.
No. While pickle5 solves a real compatibility problem, the package has been abandoned since November 2021 with no maintenance. Python 3.5, 3.6, and 3.7 are themselves end-of-life. If you are still on one of these versions, upgrading Python is strongly preferable to adopting an unmaintained backport. Only consider it if you are locked into legacy Python and genuinely need protocol 5 features.
Install
pickle5 on PyPI
pip
pip install pickle5uv
uv add pickle5poetry
poetry add pickle5Installing pickle5
Before you install
Medium install friction due to compiled wheels for multiple architectures and Python versions. The package is abandoned as of November 2021 and no longer maintained, which is a significant concern for long-term use.
License in practice
Licensed under the Python Software Foundation License (permissive), which permits use in most contexts without restrictive obligations.
Quickstart
import pickle5 as pickle
pb = pickle5.PickleBuffer(b"foo")
data = pickle5.dumps(pb, protocol=5)
result = pickle5.loads(data)
Requires Python 3.5, 3.6, or 3.7; not compatible with Python 3.8+ where pickle 5 is built-in, and not compatible with Python 3.9+.
Verify before relying
- Whether pickle5 is still safe to use given its abandoned status and lack of maintenance since November 2021
- Compatibility with modern Python 3.5/3.6/3.7 environments that may have security patches or changes
Package facts
| License | not declared (permissive) |
| Python support | capped below the current Python release (>=3.5, <3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,728 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 108,713/month — #12,541 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pickle5-0.0.12-cp36-cp36m-macosx_10_9_x86_64.whl; pickle5-0.0.12-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pickle5-0.0.12-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; pickle5-0.0.12-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl; pickle5-0.0.12-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl; pickle5-0.0.12-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl; pickle5-0.0.12-cp36-cp36m-musllinux_1_1_aarch64.whl; pickle5-0.0.12-cp36-cp36m-musllinux_1_1_i686.whl; pickle5-0.0.12-cp36-cp36m-musllinux_1_1_ppc64le.whl; pickle5-0.0.12-cp36-cp36m-musllinux_1_1_s390x.whl; pickle5-0.0.12-cp36-cp36m-musllinux_1_1_x86_64.whl; pickle5-0.0.12-cp36-cp36m-win32.whl; pickle5-0.0.12-cp36-cp36m-win_amd64.whl; pickle5-0.0.12-cp37-cp37m-macosx_10_9_x86_64.whl; pickle5-0.0.12-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pickle5-0.0.12-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; pickle5-0.0.12-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl; pickle5-0.0.12-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl; pickle5-0.0.12-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl; pickle5-0.0.12-cp37-cp37m-musllinux_1_1_aarch64.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
zodbpickleProvides a ZODB-compatible pickle interface…
unclear · top 15,000 on PyPI
zipfile36Provides a backport of Python 3.6's zipfile…
permissive · top 5,000 on PyPI
contextlib2contextlib2 backports the Python standard…
permissive · top 5,000 on PyPI
backports.sslProvides the Python 3.4 ssl module API on older…
permissive · top 15,000 on PyPI
exceptiongroupProvides exception group classes and utilities…
permissive · top 1,000 on PyPI
backports.tempfileProvides the TemporaryDirectory context manager…
permissive · top 5,000 on PyPI
configparserProvides an updated ConfigParser implementation…
permissive · top 5,000 on PyPI
contextvarsProvides the PEP 567 contextvars module for…
permissive · top 5,000 on PyPI
eightEight provides a compatibility layer that lets…
permissive · top 15,000 on PyPI
logutilsProvides additional logging handlers for…
permissive · top 15,000 on PyPI