Evoque Templating v0.4 for Python 3.0
Mario Ruggier
mario at ruggier.org
Tue Jan 20 17:01:21 CET 2009
Pleased to announce release 0.4 of Evoque Templating -- the generic
full-featured text template engine with state-of-the-art features such
as: exclusively unicode, dynamic overlays, format-extensible automatic
quoting, in-process sandbox, caching, small (992 SLOC), simple, fast,
etc. See overview of features at: http://evoque.gizmojo.org/features/
Highlights of release 0.4:
- Support for Python 3.0
The same Evoque code base now runs on Python 2.4, 2.5, 2.6 and 3.0 --
possibly making Evoque the first full-featured template engine
available for Python 3.0. Behaviour is identical on all four Python
versions.
- Tighter lockdown of the in-process sandbox (restricted mode)
Primarily by an elaborated runtime scan of all expressions that are
passed for evaluation. For an overview of how Evoque implements the in-
process sandbox see: http://evoque.gizmojo.org/usage/restricted/ --
and yes, you may interpret this as an open challenge and invitation to
try and break[*] it , and, in the unlikely chance that you succeed,
you may request anything you like as compensation, as long as it is
beer ;-)
- Revision of whitespace handling
Notably, reworked the meaning of the slurpy_directives=True mode to be
more what most people seem to expect.
- Continued speed improvements
More minor performance optimizations. Evoque is fast, and is a real
contender for the dubious but gratifying honour of overall **fastest
pure-python template engine**. Included in the distribution are 3
benchmarks -- you can see the measured results on OS X 10.5 for Python
2.6.1 (as there is not much to benchmark against on Python 3.0) at: http://evoque.gizmojo.org/benchmark/
The resulting numbers are a tribute to python's conceptual integrity
-- that rewards a straightforward implementation of a simple design
with... amazing performance.
Full changelog at:
http://evoque.gizmojo.org/changelog/
Cheers,
Mario
[*] for a quick and dirty script to run devious templates, see:
http://groups.google.com/group/comp.lang.python/msg/f6f0dfd67609f370
More information about the Python-announce-list
mailing list