$npx skillfedfor your agent

zodbpickle

Fork of Python 3 pickle module

With conditionsPyPI Python ModulesReleased May 2026220.2K downloads / moZPL-2.1Platform wheel

Decision gist · record as of 2026-08-14

platform wheels — zodbpickle-4.4-cp310-cp310-macosx_10_9_x86_64.whl · zodbpickle-4.4-cp310-cp310-macosx_11_0_arm64.whl · zodbpickle-4.4-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
v4.4 · released 2026-05-04 · Python >=3.10

Yes, if you work with ZODB or need to deserialize Python 2 pickles in Python 3. The package is actively maintained, has no security vulnerabilities, and solves a real compatibility problem. Install friction is moderate due to C compilation, but wheels are available for common platforms. Verify ZPL-2.1 license compatibility with your project first.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later; compiled C extensions must build for your platform.
  • Pickle module security warning: never unpickle untrusted data.
  • Medium install friction due to compiled C extensions across multiple platforms (macOS x86/ARM, Linux i686/aarch64/x86_64, Windows).

License · maintenance · safety

ZPL-2.1 (unclear) — Licensed under ZPL-2.1 (Zope Public License 2.1), but license treatment is marked unclear in the fact sheet—verify compatibility with your project's licensing requirements before use.

last release 2026-05-04 (102 days) · last repo commit 2026-08-14 · 18 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 220,204 downloads/mo, #9,309 on PyPI

Verify before relying

from zodbpickle import pickle

# Load Python 2 pickle on Python 3
data = pickle.loads(b"S'\\xff'\np0\n.", encoding='bytes')

# Or use explicit implementation choice
from zodbpickle import fastpickle  # always C
from zodbpickle import slowpickle  # always Python
  • Exact scope of ZPL-2.1 license compatibility with common project licenses
  • Performance characteristics of fastpickle vs slowpickle for typical workloads
  • Whether noload() operation is actively used by ZODB or legacy-only
Same gist for agents: .md · .json

What it is and what it does

zodbpickle is a fork of Python's pickle module designed to bridge serialization between Python 2 and 3 codebases, particularly for ZODB (Zope Object Database) applications. It adds support for protocol 3 opcodes under Python 2 and restores the noload() operation removed in Python 3, which ZODB uses to retrieve persistent references without loading objects into memory.

The package handles the tricky cross-version problem where Python 2 strings and Python 3 bytes have different semantics: it provides encoding options (like errors='bytes') to let you control whether legacy pickles deserialize as bytes or strings. It also offers a choice between fast C-based and slow pure-Python implementations, useful for debugging or when C extensions aren't available. No runtime dependencies means it integrates cleanly into existing projects.

Use it for

  • Migrating ZODB databases from Python 2 to Python 3 while preserving pickled object compatibility
  • Loading legacy Python 2 pickles in Python 3 applications with correct string/bytes handling
  • Optimizing ZODB cache behavior by using noload() to inspect persistent references without object instantiation
  • Comparing pickle behavior between C and pure-Python implementations during debugging
  • Building cross-version serialization layers where standard pickle doesn't handle protocol 3 or legacy opcodes

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you work with ZODB or need to deserialize Python 2 pickles in Python 3.

The package is actively maintained, has no security vulnerabilities, and solves a real compatibility problem. Install friction is moderate due to C compilation, but wheels are available for common platforms. Verify ZPL-2.1 license compatibility with your project first.

Install

zodbpickle on PyPI

Before you install

Medium install friction due to compiled C extensions across multiple platforms (macOS x86/ARM, Linux i686/aarch64/x86_64, Windows). Active maintenance with recent release (102 days ago) and support for current Python versions including 3.14.

Requires Python 3.10 or later; compiled C extensions must build for your platform. Pickle module security warning: never unpickle untrusted data.

License in practice

Licensed under ZPL-2.1 (Zope Public License 2.1), but license treatment is marked unclear in the fact sheet—verify compatibility with your project's licensing requirements before use.

Quickstart

from zodbpickle import pickle

# Load Python 2 pickle on Python 3
data = pickle.loads(b"S'\\xff'\np0\n.", encoding='bytes')

# Or use explicit implementation choice
from zodbpickle import fastpickle  # always C
from zodbpickle import slowpickle  # always Python

Verify before relying

  • Exact scope of ZPL-2.1 license compatibility with common project licenses
  • Performance characteristics of fastpickle vs slowpickle for typical workloads
  • Whether noload() operation is actively used by ZODB or legacy-only

Package facts

LicenseZPL-2.1 unclear
Python supportSupports the current Python release >=3.10
Install frictionMedium. Platform-specific wheel
Runtime dependenciesNone
MaintenanceActively maintained 102 days since the last release
Last repo commit
First released
Downloads220,204 / month, #9,309 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableFramework :: ZODBIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: DatabaseTopic :: Software Development :: Libraries :: Python Modules

Evidence: zodbpickle-4.4-cp310-cp310-macosx_10_9_x86_64.whl; zodbpickle-4.4-cp310-cp310-macosx_11_0_arm64.whl; zodbpickle-4.4-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; zodbpickle-4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; zodbpickle-4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; zodbpickle-4.4-cp310-cp310-win_amd64.whl; zodbpickle-4.4-cp311-cp311-macosx_10_9_x86_64.whl; zodbpickle-4.4-cp311-cp311-macosx_11_0_arm64.whl; zodbpickle-4.4-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; zodbpickle-4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; zodbpickle-4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; zodbpickle-4.4-cp311-cp311-win_amd64.whl; zodbpickle-4.4-cp311-cp311-win_arm64.whl; zodbpickle-4.4-cp312-cp312-macosx_10_9_x86_64.whl; zodbpickle-4.4-cp312-cp312-macosx_11_0_arm64.whl; zodbpickle-4.4-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; zodbpickle-4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; zodbpickle-4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; zodbpickle-4.4-cp312-cp312-win_amd64.whl; zodbpickle-4.4-cp312-cp312-win_arm64.whl

Tags

Capabilities
zodb pickle compatibilitypython 2 3 pickle bridgecross-version serializationpickle protocol 3 supportnoload pickle operationbinary pickle handlingzodb persistent references
Topics
zodbserializationcross-version
PyPI keywords
zodbpickle

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 › “zodb pickle compatibility”

  • zodbpickleProvides a ZODB-compatible pickle interface that handles…
  • pickle5Backports the pickle 5 protocol (PEP 574) and related pickle module…
  • BTreesBTrees provides persistent, scalable B-tree data structures optimized…

Give your agent the search over MCP, or paste the wish link into any chat.

More Python Modules packages

idna Worth it
PyPI · Python Modules · released Jun 2026

Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.

Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.

BSD-3-Clausepure Python · 3.9+
1.8Bdownloads / mo
setuptools Worth it
PyPI · Python Modules · released Aug 2026

Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.

MITpure Python · 3.10+
1.6Bdownloads / mo
PyYAML Worth it
PyPI · Python Modules · released Sep 2025

PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.

MITcompiled wheel · 3.8+
1.2Bdownloads / mo
pydantic Worth it
PyPI · Python Modules · released May 2026

Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.

MITpure Python · 3.9+
1.1Bdownloads / mo
annotated-types Worth it
PyPI · Python Modules · released Jul 2026

Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.

Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…

MITpure Python · 3.10+
871.3Mdownloads / mo
typing-inspection Worth it
PyPI · Python Modules · released Aug 2026

Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.

MITpure Python · 3.10+
783.0Mdownloads / mo

See also pickle5 · tblib · ZODB · cloudpickle · persistent · compress-pickle · BTrees · dill · traceback2 · jsonpickle