pickle5
Backport of the pickle 5 protocol (PEP 574) and other pickle changes
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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+.
- 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 · maintenance · safety
permissive license (permissive) — Licensed under the Python Software Foundation License (permissive), which permits use in most contexts without restrictive obligations.
last release 2021-11-20 (1728 days) · last repo commit 2021-11-20 · 34 stars · archived
0 known vulnerabilities (OSV.dev, 2026-08-14) · 108,713 downloads/mo, #12,541 on PyPI
Alternatives
Verify before relying
import pickle5 as pickle
pb = pickle5.PickleBuffer(b"foo")
data = pickle5.dumps(pb, protocol=5)
result = pickle5.loads(data)- 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
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 on it.
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
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.
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+.
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)
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 | permissive license 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 |
| Classifiers | 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 |
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
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pickle 5 protocol backport”
- pickle5Backports the pickle 5 protocol (PEP 574) and related pickle module…
- zodbpickleProvides a ZODB-compatible pickle interface that handles…
- typing-extensionsProvides backported and experimental type hints for Python 3.9+,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also zodbpickle · zipfile36 · contextlib2 · backports.ssl · exceptiongroup · backports.tempfile · configparser · contextvars · eight · pyasynchat