Zope
Zope application server / web framework
What it is and what it does
Zope is a mature, actively maintained web application server built on Python that combines a web framework with an integrated object database (ZODB) for persistent storage. It provides a complete stack including request handling, security, templating, and component architecture out of the box. The framework is designed around object-oriented principles and includes features like access control, acquisition, and restricted execution for safe multi-tenant deployments.
The package bundles a large ecosystem of Zope-specific libraries—53 runtime dependencies including ZODB, Acquisition, RestrictedPython, and Chameleon—which provide object persistence, security policies, template rendering, and web component management. It supports modern Python versions (3.10 through 3.14) and recent releases have disabled XML-RPC by default to reduce attack surface. Zope is typically used for building content management systems, portal applications, and web services where object persistence and fine-grained security are important.
Use it for:
- Build a content management system or portal application that requires persistent object storage and role-based access control.
- Develop a web application where you need automatic object persistence without writing SQL or managing a separate database layer.
- Create a multi-tenant web application with restricted code execution and security policies enforced at the framework level.
- Integrate with ZODB for applications requiring complex object graphs and transactional consistency in Python.
- Deploy a legacy or established Zope-based application that requires ongoing maintenance and updates to modern Python versions.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Zope is an open-source web application server and framework that provides a complete environment for building and deploying Python-based web applications with built-in object database support and security features.
Yes, if you are building or maintaining a web application that benefits from object persistence, fine-grained security, or component-based architecture. Zope is actively maintained and supports current Python versions (3.10–3.14). However, the 53 runtime dependencies and the framework's learning curve make it a commitment; it is best suited for teams already familiar with Zope or projects where its object-database integration and security model provide clear value over lighter alternatives. Not recommended for simple REST APIs or microservices where a minimal framework is preferred.
Install
zope on PyPI
pip
pip install zopeuv
uv add zopepoetry
poetry add zopeInstalling Zope
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a release 9 days old and recent commits; however, the package carries 53 runtime dependencies, which may complicate dependency resolution in some environments.
License in practice
Licensed under ZPL-2.1 (Zope Public License 2.1), an OSI-approved license. License treatment is marked unclear in the metadata, so you should review the full license text in LICENSE.txt to confirm compatibility with your project's requirements.
Quickstart
pip install zope
from zope.component import adapter
from zope.interface import implementer, Interface
@implementer(Interface)
@adapter(Interface)
class MyAdapter:
pass
Requires Python 3.10 or later; Zope 6 dropped support for Python 3.9.
Verify before relying
- Whether the 53 runtime dependencies create practical conflicts in your specific environment or deployment target.
- Performance characteristics and scalability limits for your expected workload.
- Current state of the Zope ecosystem and availability of third-party extensions or plugins you may need.
Package facts
| License | ZPL-2.1 (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 53 — AccessControl, Acquisition, BTrees, Chameleon, DateTime, DocumentTemplate, ExtensionClass, MultiMapping, PasteDeploy, Persistence, RestrictedPython, ZConfig, ZODB, multipart, transaction, waitress, zExceptions, z3c.pt, zope.browser, zope.browsermenu, zope.browserpage, zope.browserresource, zope.component, zope.configuration, zope.container, zope.contentprovider, zope.contenttype, zope.datetime, zope.deferredimport, zope.event |
| Maintenance | actively maintained — 9 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 139,668/month — #11,291 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: zope-6.2-py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
zope.publisherzope.publisher handles HTTP request and…
unclear · top 15,000 on PyPI
ZODBZODB is an object-oriented database for Python…
unclear · top 15,000 on PyPI
zope.testbrowserzope.testbrowser provides a programmable web…
unclear · top 15,000 on PyPI
Products.CMFPlonePlone is a Python-based content management…
copyleft · top 15,000 on PyPI
PersistenceProvides a persistent base class built on…
unclear · top 15,000 on PyPI
zope.configurationZope.configuration provides an extensible…
unclear · top 5,000 on PyPI
zope.annotationStores additional metadata on objects without…
unclear · top 15,000 on PyPI
zope.componentImplements the core Zope Component Architecture…
unclear · top 5,000 on PyPI
zope.containerProvides container interfaces and…
unclear · top 15,000 on PyPI
zope.contentproviderProvides a framework for building componentized…
unclear · top 15,000 on PyPI