skillfed

zope.publisher

The Zope publisher publishes Python objects on the web.

zope-publisher v8.1 182.3K downloads/30d#10,103 on PyPI3
License unclear ZPL-2.1 Active released

What it is and what it does

zope.publisher is a web request/response handler that sits between HTTP clients and Python application objects. It parses incoming HTTP requests (including multipart form data and file uploads) into request objects and manages response serialization, supporting multiple client types—browsers, XML-RPC clients, WebDAV, and FTP—through a unified WSGI-compatible interface. The package is part of the Zope ecosystem and provides the foundational request/response machinery for web frameworks built on Zope.

The package has been actively maintained since 2007, with recent updates focused on Python 3 compatibility and modern standards compliance. It handles character encoding, file uploads via the multipart library, and request/response lifecycle management. Its 12 runtime dependencies are all from the zope namespace, making it tightly integrated with the Zope component architecture. The recent version 8.1 dropped Python 3.9 support and added Python 3.14 support, reflecting active alignment with current Python releases.

Use it for:

  • Build a Zope-based web application that needs to parse HTTP requests and manage responses for browser clients.
  • Handle multipart form data and file uploads in a web framework that integrates with the Zope component architecture.
  • Expose Python objects via XML-RPC or WebDAV protocols alongside standard HTTP/browser access.
  • Implement custom request/response handling by subclassing BrowserRequest or BaseRequest for specialized encoding or security policies.
  • Migrate a legacy Zope application to modern Python (3.10+) while preserving request/response semantics.

Worth the install?

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

zope.publisher handles HTTP request and response objects for publishing Python objects on the web, with support for HTTP/WebDAV, browsers, XML-RPC, and FTP clients via a WSGI-compatible interface.

Yes, if you are building or maintaining a Zope-based web application or framework. The package is actively maintained, has no known vulnerabilities, and supports current Python versions. The unclear license treatment warrants a quick verification, but the ZPL-2.1 license itself is permissive. Install friction is low. Not recommended for new projects outside the Zope ecosystem—modern alternatives like Werkzeug or Starlette are more widely adopted.

Install

zope-publisher on PyPI

pip

pip install zope-publisher

uv

uv add zope-publisher

poetry

poetry add zope-publisher

Installing zope.publisher

Before you install

Low install friction with a pure-Python wheel. Active maintenance with recent release (51 days old); supports current Python versions (3.10–3.14) and drops older versions regularly. Depends on 12 zope ecosystem packages, all part of a mature, coordinated namespace.

License in practice

Licensed under ZPL-2.1 (Zope Public License 2.1), a permissive open-source license. License treatment is marked unclear in the metadata, so verify compatibility with your project's licensing requirements before use.

Quickstart

pip install zope.publisher

from zope.publisher.http import HTTPRequest
from io import BytesIO

request = HTTPRequest(BytesIO(), {})

Requires Python 3.10 or later; depends on multipart library for form data parsing.

Verify before relying

  • Whether the unclear license treatment reflects actual ambiguity or is a metadata artifact.
  • Real-world performance and stability with the multipart 1.0.0+ strict line-ending requirements.
  • Compatibility of the PEP 420 namespace migration (version 8.0) with existing deployments.

Package facts

License ZPL-2.1 (unclear)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 12 — multipart, zope.browser, zope.component, zope.configuration, zope.contenttype, zope.event, zope.exceptions, zope.i18n, zope.interface, zope.location, zope.proxy, zope.security
Maintenance actively maintained — 51 days since the last release
Last repo commit
First released
Downloads 182,340/month — #10,103 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: zope_publisher-8.1-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural 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.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTP

Tags

web publishing frameworkHTTP request response handlingWSGI publisherPython web object publishingmultipart form data parsingXML-RPC HTTP supportWebDAV client support
zope-ecosystemwsgi-compatiblerequest-response

More WWW/HTTP packages