skillfed

pickle5

Backport of the pickle 5 protocol (PEP 574) and other pickle changes

pickle5 v0.0.12 108.7K downloads/30d#12,541 on PyPI34
Permissive license Abandoned released

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 pickle5

uv

uv add pickle5

poetry

poetry add pickle5

Installing 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

Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: Python Software Foundation LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: Implementation :: CPython

Tags

pickle 5 protocol backportPEP 574 picklepickle buffer supportprotocol 5 serializationpickle compatibility older pythonpython 3.5 3.6 3.7 pickle
serializationlegacy-pythonabandoned

More Software Development packages