skillfed

zope.site

Local registries for zope component architecture

zope-site v6.0 143.5K downloads/30d#11,178 on PyPI
License unclear ZPL-2.1 AGING released

What it is and what it does

zope.site provides a local site manager that allows you to register utilities and adapters at specific locations within your application, rather than globally. It works by organizing components into site management folders within a persistent object hierarchy, typically backed by ZODB. The package implements the Zope component architecture's location-based lookup mechanism, so that when you query for a component, the system can find local registrations before falling back to global ones.

The package is designed for multi-tenant or hierarchical applications where different parts of your system need different component configurations. You create a site by attaching a LocalSiteManager to a folder-like object, then register utilities and adapters into that manager's site management folders. Nested sites inherit from their parent sites, allowing you to override or extend component registrations at each level. This is useful in web frameworks, CMS systems, or any application that needs pluggable, location-aware component discovery.

Use it for:

  • Build a multi-tenant web application where each tenant has its own set of registered utilities and adapters.
  • Create a CMS where different sections of the site can have custom component configurations without affecting others.
  • Organize a large Zope application into logical subsites, each with its own local adapter and utility registries.
  • Override global component registrations at specific locations in your application hierarchy for testing or customization.
  • Implement a plugin architecture where plugins register themselves as local utilities within designated site folders.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a local and persistent site manager implementation for the Zope component architecture, enabling registration of local utilities and adapters organized in site management folders.

Yes, if you are building a Zope-based application or using the Zope component architecture and need location-aware component registration. The package is stable and has no known vulnerabilities, but install friction is low and maintenance is aging (336 days since last release). It is not a general-purpose tool—it is tightly coupled to Zope's ecosystem and requires ZODB or similar persistent storage. Only install if you are already committed to Zope or the component architecture pattern.

Install

zope-site on PyPI

pip

pip install zope-site

uv

uv add zope-site

poetry

poetry add zope-site

Installing zope.site

Before you install

Low install friction with a pure-Python wheel distribution. Maintenance status is aging—last release was 336 days ago—but the package is marked Production/Stable and supports current Python versions (3.9–3.13).

License in practice

Licensed under ZPL-2.1 (Zope Public License), which is OSI-approved but less common than MIT or Apache 2.0. License treatment is marked unclear, so review the actual terms if proprietary or GPL-compatible licensing is a concern.

Quickstart

from zope.site import folder, LocalSiteManager
from zope.component.interfaces import ISite

myfolder = folder.rootFolder()
sm = LocalSiteManager(myfolder)
myfolder.setSiteManager(sm)
print(ISite.providedBy(myfolder))  # True

Requires ZODB or a persistent storage backend to function as intended; the package is designed for use within Zope application servers or similar persistent object frameworks.

Verify before relying

  • Whether the package's aging maintenance status (336 days since last release) signals active maintenance or dormancy in a mature, stable project.
  • Practical performance characteristics when managing large numbers of local utilities or adapters across deeply nested site hierarchies.

Package facts

License ZPL-2.1 (unclear)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 10 — setuptools, zope.annotation, zope.container, zope.deprecation, zope.security, zope.component, zope.event, zope.interface, zope.lifecycleevent, zope.location
Maintenance aging — 336 days since the last release
First released
Downloads 143,459/month — #11,178 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: zope_site-6.0-py3-none-any.whl

Keywords: zope, component, architecture, local

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: Zope :: 3Intended Audience :: DevelopersLicense :: OSI Approved :: Zope Public LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTP

Tags

zope local site managercomponent architecture registrationlocal utility adapter registryzope persistent component storagesite-based component lookupzope folder site managementlocal component architecture
zope-ecosystemcomponent-architecturepersistent-storage

More WWW/HTTP packages