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