{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/15"},{"label":"Database","url":"https://skillfed.io/packages/category/database/4"}],"enrichment":{"capability":"Provides a ZODB-compatible pickle interface that handles cross-version serialization between Python 2 and 3, with support for protocol 3 opcodes and the noload() operation.","skillfed_tags":["zodb","serialization","cross-version"],"use_cases":["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"],"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.\n\nThe 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.","worth_installing":"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."},"id":"zodbpickle","links":{"html":"https://skillfed.io/packages/zodbpickle","md":"https://skillfed.io/packages/zodbpickle.md","pypi":"https://pypi.org/project/zodbpickle/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-05-04","license_spdx":"ZPL-2.1","license_treatment":"unclear","name":"zodbpickle","python_support":"supports_current","summary":"Fork of Python 3 pickle module"},"popularity":{"monthly_downloads":220204,"position":9309,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"4.4"}
