--- id: persistence version: "5.4" license: ZPL-2.1 license_treatment: unclear maintenance: active --- # Persistence — Persistent ExtensionClass License: unclear · Maintenance: active · Downloads: 162.8K/mo ## What it is and what it does Persistence is a specialized variant of the persistent base class that leverages ExtensionClass semantics for object persistence in Zope environments. It enables objects to be serialized and stored, typically in a ZODB database, while maintaining the performance and behavioral characteristics of ExtensionClass-based inheritance. The package is mature (first released 2008) and actively maintained, with wheels built for modern Python versions across multiple platforms. Unless your application specifically requires ExtensionClass semantics—such as tight integration with Zope framework components or legacy code that depends on ExtensionClass behavior—the package documentation recommends using persistent.Persistent from the persistent distribution instead. This package is a narrower, specialized tool for Zope-centric persistence patterns. Use it for: - Building persistent object hierarchies in Zope 5 applications that require ExtensionClass semantics - Integrating legacy Zope code that depends on ExtensionClass-based persistence - Serializing and storing application state in ZODB with ExtensionClass inheritance patterns - Extending Zope framework components that expect ExtensionClass-derived persistent objects ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a persistent base class built on ExtensionClass for object serialization and storage in Zope-based applications. Yes, if you are building or maintaining Zope 5 applications that explicitly require ExtensionClass semantics for persistence. The package is actively maintained, has no known vulnerabilities, and supports current Python versions. No, if you are starting a new persistence layer outside Zope or can use persistent.Persistent instead—this is a specialized variant, not a general-purpose persistence tool. Verify the ZPL-2.1 license terms for your use case before committing. ## Install pip install persistence uv add persistence poetry add persistence ## Installing Persistence Before you install: Medium install friction due to compiled wheels for multiple Python versions and architectures. Actively maintained with recent releases; last commit 2026-08-14. Supports Python 3.10–3.14 on CPython and PyPy. License in practice: Licensed under ZPL-2.1 (Zope Public License 2.1), but license treatment is marked unclear in the metadata—verify the actual license terms before use in proprietary or restricted-license projects. Quickstart: pip install persistence from persistence import Persistent from ExtensionClass import Base class MyPersistent(Persistent): pass Requires Python >=3.10; ExtensionClass dependency must be installed (pulled in automatically). Verify before relying: - Whether ZPL-2.1 classification as 'unclear' reflects ambiguity in the license itself or metadata gaps - Specific use-case guidance beyond Zope framework integration ## Package facts - License: ZPL-2.1 (unclear) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 162.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags persistent object storage, extensionclass base class, zope persistence, object serialization framework, persistent data structures, zope-framework, object-persistence [View on SkillFed](https://skillfed.io/packages/persistence) · [View on PyPI](https://pypi.org/project/persistence/)