I'm happy to release ZPTKit 0.1. ZPTKit helps make Zope Page
Templates easy and reliable to use with Webware.
* Builds on the recently-release Component package; you do not need
change your servlet inheritance hierarchy to use ZPTKit (to learn
more about Component: http://wiki.w4py.org/component.html).
* Adds a straight-forward separatation between model (Python
Servlets) and view (Page Templates).
* Templates are compiled, refreshed, and cached as needed.
* Nested directories so that, for example, client-specific templates
can selectively override generic templates.
* Convenient functions to send HTML emails based on a template, with
a text alternative.
* Shows Zope-style exceptions which show the context of the template
when an error occurs.
* MIT-style license.
Features of ZPT:
* Language is based on the structure of HTML.
* Unrendered templates are valid HTML and can be viewed in a
* Macro system gives a high degree of flexibility in your site-wide
* Mature and documented language.
* Sharing technologies can ease a transition from Zope, or make a
heterogeneous environment with both Webware and Zope applications
ZPTKit is the first open source project released by Imaginary
Landscape, and we hope that this will be a first step in releasing
more of our internal code to the community, returning on all of the
great things open source software has provided for our company.
For Webware developers: I think ZPTKit is a pretty good model for
using templates with Webware. While much of the internal
implementation is ZPT-specific, the external API could apply to nearly
any templating language. Maybe even the entire framework -- e.g.,
drop a .pt file in your template directory and it uses ZPT, drop in a
.tmpl or .kid file and it uses Cheetah or Kid, etc.