Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > ANN: EmPy 3.1.1 -- A powerful and robust templating system for Python

Reply
Thread Tools

ANN: EmPy 3.1.1 -- A powerful and robust templating system for Python

 
 
Erik Max Francis
Guest
Posts: n/a
 
      09-20-2003
Summary

A powerful and robust templating system for Python.


Overview

EmPy is a system for embedding Python expressions and statements
in template text; it takes an EmPy source file, processes it, and
produces output. This is accomplished via expansions, which are
special signals to the EmPy system and are set off by a special
prefix (by default the at sign, '@'). EmPy can expand arbitrary
Python expressions and statements in this way, as well as a
variety of special forms. Textual data not explicitly delimited
in this way is sent unaffected to the output, allowing Python to
be used in effect as a markup language. Also supported are
callbacks via hooks, recording and playback via diversions, and
dynamic, chainable filters. The system is highly configurable via
command line options and embedded commands.

Expressions are embedded in text with the '@(...)' notation;
variations include conditional expressions with '@(...?...!...)'
and the ability to handle thrown exceptions with '@(...$...)'. As
a shortcut, simple variables and expressions can be abbreviated as
'@variable', '@object.attribute', '@function(arguments)',
'@sequence[index]', and combinations. Full-fledged statements
are embedded with '@{...}'. Control flow in terms of conditional
or repeated expansion is available with '@[...]'. A '@' followed
by a whitespace character (including a newline) expands to
nothing, allowing string concatenations and line continuations.
Comments are indicated with '@#' and consume the rest of the line,
up to and including the trailing newline. '@%' indicate
"significators," which are special forms of variable assignment
intended to specify per-file identification information in a
format which is easy to parse externally. Context name and line
number changes can be done with '@?' and '@!' respectively.
Escape sequences analogous to those in C can be specified with
'@\...', and finally a '@@' sequence expands to a single literal
at sign.


Getting the software

The current version of empy is 3.1.1.

The latest version of the software is available in a tarball here:
http://www.alcyone.com/software/empy/empy-latest.tar.gz.

The official URL for this Web site is
http://www.alcyone.com/software/empy/.


Requirements

EmPy should work with any version of Python from 1.5.2 onward. It
has been tested with all major versions of CPython from 1.5 up,
and Jython from 2.0 up (using Java runtimes 1.3 and 1.4). The
included test script is intended to run on Unix-like systems with
a Bourne shell.


License

This code is released under the GPL.


....


Release history (since 3.1)

- 3.1.1; 2003 Sep 20. Added literal '@"..."' markup; added
--pause-at-end command line option; fixed improper globals
collision error via the 'sys.stdout' proxy.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
ANN: EmPy 3.3 -- A powerful and robust templating system for Python Erik Max Francis Python 0 10-27-2003 09:38 AM
ANN: EmPy 3.2 -- A powerful and robust templating system for Python Erik Max Francis Python 0 10-08-2003 04:51 AM
ANN: EmPy 3.1 -- A powerful templating system for Python Erik Max Francis Python 0 09-09-2003 02:18 AM
ANN: EmPy 3.0.4 -- A powerful and robust templating system for Python Erik Max Francis Python 0 08-08-2003 03:53 AM
ANN: EmPy 3.0.3 -- A powerful and robust templating system for Python Erik Max Francis Python 0 07-09-2003 10:11 PM



Advertisments