Overview
Repoze is a collection of technologies which bridges WSGI and Zope .
Goals
- Make it possible for non-Zope Python developers to selectively use Zope features in a WSGI environment.
- Help Zope developers integrate their applications into a WSGI environment.
Problems
Some of the things that Zope does are useful enough to be applicable to non-Zope-based WSGI applications: transaction management, virtual hosting, form marshalling, declarative access control, etc. But currently it's not easy for Python web developers who aren't fluent in Zope to make use of these features, because they aren't always decomposed into individually reusable pieces.
At the same time, WSGI deployment of Python applications is becoming a defacto standard in the wider Python world, and it's still reasonably difficult to serve up Zope (particularly Zope 2) via a WSGI server.
Solutions
Repoze consists of reimplementations of core Zope features as WSGI middleware (repoze.vhm, repoze.retry, repoze.tm), and WSGI applications (repoze.zope2, repoze.grok). Repoze also reuses existing WSGI middleware (Paste) and servers where possible.
The bits of Repoze that are reimplementations of core Zope features can be ignored or used as necessary in non-Zope contexts.
Software Requirements and Limitations
The packages in the repoze. namespace require
setuptools
for installation.
None of the repoze.* software has been tested under any version
of Windows. It has only been tested under UNIX variants (Linux
and Mac OS X at the time of this writing).
Technology Dependencies
Repoze is heavily dependent on Ian Bicking's Paste , Phillip Eby's setuptools and of course the WSGI specification also written by Phillip Eby. Repoze reimplements and reuses some technologies originated within Zope .
Licensing
The original bits that make up Repoze are released under a BSD-style license . Some non-original parts of Repoze are licensed under the ZPL (another BSD-style license).
Resources
Subversion repository (via ViewCVS)
Subversion repository (via http)
Repoze Python package repositories
Contributing
Patches may be sent to the repoze-dev maillist or put into the bug tracking system . Patches sent to the list may be lost, so putting them in the bug tracking system is better.
To obtain write access to the Repoze version control system, you will be required to sign a contributor's agreement .
