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  

- 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:


[*] for a quick and dirty script to run devious templates, see:

More information about the Python-announce-list mailing list