zope.browserresource
Browser resources implementation for Zope.
What it is and what it does
zope.browserresource is a Zope Toolkit component that implements a registration and serving system for static browser resources—files like images, stylesheets, and scripts. Resources are registered under symbolic names via ZCML configuration directives, decoupling their logical identity from their physical filesystem location. The package handles directory-based resource publishing, internationalization, and HTTP ETag support for caching.
The package is tightly integrated with the Zope Toolkit ecosystem and depends on 10 other Zope packages (zope.component, zope.configuration, zope.interface, zope.schema, zope.traversing, and others). It is maintained as part of the Zope Toolkit project and is not designed for reuse outside a Zope application context. Current support covers Python 3.9–3.13 on CPython and PyPy.
Use it for:
- Register CSS, JavaScript, and image files under symbolic names in a Zope application to decouple resource URLs from filesystem paths.
- Serve internationalized static resources (e.g., locale-specific images or stylesheets) through a unified resource interface.
- Publish a directory of static assets with automatic file-type-based resource factory selection and forbidden-name filtering.
- Integrate HTTP ETag generation for static resources to enable browser caching and conditional requests in Zope-based web applications.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Registers and serves static browser resources (images, CSS, JavaScript) under symbolic names via ZCML directives, with support for internationalization and directory-based resource publishing.
Yes, if you are building or maintaining a Zope Toolkit–based application and need to manage static browser resources. No, if you are working outside the Zope ecosystem—the package is explicitly not reusable without the full Zope Toolkit stack. The package is actively maintained, has no known vulnerabilities, and supports modern Python versions, but its utility is confined to Zope projects.
Install
zope-browserresource on PyPI
pip
pip install zope-browserresourceuv
uv add zope-browserresourcepoetry
poetry add zope-browserresourceInstalling zope.browserresource
Before you install
Low friction install with a wheel available. Active maintenance; latest release 336 days ago with support for Python 3.9–3.13. Depends on 10 Zope Toolkit packages, which will pull in a substantial dependency tree.
License in practice
Licensed under ZPL-2.1 (Zope Public License). License treatment is marked unclear in the fact sheet; review the license terms before use in proprietary or copyleft-sensitive projects.
Quickstart
pip install zope.browserresource
from zope.browserresource.interfaces import IResourceFactory
from zope.component import adapter, provideAdapter
@adapter(IResourceFactory)
def my_resource_factory(context):
pass
Requires Python >=3.9. Designed to work within a Zope Toolkit environment; standalone use outside a Zope application is not practical.
Verify before relying
- Whether the package can be used independently or requires a full Zope application stack to be functional.
- Specific details on how ZCML directives are configured and what additional setup is required beyond installation.
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.component, zope.configuration, zope.contenttype, zope.i18n, zope.interface, zope.location, zope.publisher, zope.schema, zope.traversing |
| Maintenance | actively maintained — 336 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 131,487/month — #11,586 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: zope_browserresource-6.0-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
zope.browserpageProvides ZCML directives (browser:page,…
unclear · top 15,000 on PyPI
zope.ptresourceProvides a resource class that processes Zope…
unclear · top 15,000 on PyPI
zope.browsermenuProvides browser menu implementation and ZCML…
unclear · top 15,000 on PyPI
zope.siteProvides a local and persistent site manager…
unclear · top 15,000 on PyPI
zope.contentproviderProvides a framework for building componentized…
unclear · top 15,000 on PyPI
zope.configurationZope.configuration provides an extensible…
unclear · top 5,000 on PyPI
zope.viewletzope.viewlet provides a pluggable framework for…
unclear · top 15,000 on PyPI
zope.browserProvides a set of standard interfaces for…
unclear · top 15,000 on PyPI
zope.i18nProvides internationalization and localization…
unclear · top 15,000 on PyPI
zope.componentImplements the core Zope Component Architecture…
unclear · top 5,000 on PyPI