skillfed

zope.contentprovider

Content Provider Framework for Zope Templates

zope-contentprovider v7.0 131.0K downloads/30d#11,616 on PyPI3
License unclear ZPL-2.1 Active released

What it is and what it does

zope.contentprovider is a framework for building web applications where page content is assembled dynamically through a component lookup system rather than static templates. Instead of writing monolithic templates or template hierarchies with METAL macros, you define content provider objects that are registered and discovered at runtime based on your application's configuration. This allows different parts of a page to be independently developed, tested, and swapped without modifying templates.

The package is built on the Zope component architecture and integrates with zope.interface, zope.component, and zope.tales for expression evaluation. It provides a ContentProviderBase class as a simple starting point for implementing providers. The framework is stable and actively maintained, supporting modern Python versions (3.9 through 3.13) and PyPy, with no known security vulnerabilities.

Use it for:

  • Build modular web pages where different sections (header, sidebar, content area) are independently pluggable content providers.
  • Implement theme systems where content providers are swapped based on user preferences or application state without template changes.
  • Create reusable page components that can be registered and discovered dynamically across a Zope-based application.
  • Develop complex web applications where page layout and content composition are driven by configuration rather than template code.

Worth the install?

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

Provides a framework for building componentized web GUI applications where content is dynamically looked up and composed based on application configuration rather than static templates.

Yes, if you are building a Zope-based web application and need dynamic, component-driven content composition. The package is stable, actively maintained, and dependency-light within the Zope ecosystem. However, verify that ZPL-2.1 licensing fits your project, and note that this is specialized tooling for Zope applications—not a general-purpose templating library. For non-Zope projects, this is not the right fit.

Install

zope-contentprovider on PyPI

pip

pip install zope-contentprovider

uv

uv add zope-contentprovider

poetry

poetry add zope-contentprovider

Installing zope.contentprovider

Before you install

Low friction install with a wheel distribution. Active maintenance with recent releases; last commit 2026-02-16. Requires Python 3.9 or later and depends on 8 zope ecosystem packages, all of which are established components.

License in practice

Licensed under ZPL-2.1 (Zope Public License). License treatment is marked unclear in the metadata; developers should verify compatibility with their project's licensing requirements before use.

Quickstart

pip install zope.contentprovider

from zope.contentprovider.provider import ContentProviderBase
from zope.interface import implementer

@implementer(IContentProvider)
class MyProvider(ContentProviderBase):
    def render(self):
        return "<div>Content</div>"

Requires Python 3.9 or later. Integration typically requires ZCML configuration and understanding of the Zope component architecture.

Verify before relying

  • Whether ZPL-2.1 license is compatible with common open-source and proprietary licensing models
  • Practical learning curve and documentation depth for developers new to Zope component architecture
  • Real-world usage patterns and community size beyond download statistics

Package facts

License ZPL-2.1 (unclear)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 8 — setuptools, zope.component, zope.event, zope.interface, zope.location, zope.publisher, zope.schema, zope.tales
Maintenance actively maintained — 336 days since the last release
Last repo commit
First released
Downloads 130,999/month — #11,616 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: zope_contentprovider-7.0-py3-none-any.whl

Keywords: zope3, content, provider

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

dynamic content provider frameworkzope template content compositioncomponentized web guizope content lookuptemplate content injectionzope page template providers
zope-ecosystemtemplate-frameworkcomponent-architecture

More WWW/HTTP packages