ANN: empy 1.5 -- Embed Python in template text as markup

Erik Max Francis max at
Wed Sep 18 17:42:13 EDT 2002


    empy is a system for embedding Python expressions and statements
    in template text; it takes empy source files, processes them, 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
    recording and playback via diversions and dynamic, chainable
    filters.  The system is highly configurable via command line

    Expressions are embedded in text with the '@(...)' notation;
    variations include conditional expressions ('@(...?...:...)') and
    the ability to handle thrown exceptions ('@(...$...)').  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 '@{...}'.  Forms of conditional and repeated
    expansion are available via '@[...]'.  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 optional
    "significators," which are special forms of variable assignment
    intended to specify per-file identification information in a
    format which is easy to parse externally.  Finally, a '@@'
    sequence expands to a single literal at sign.

Getting the software

    The current version of empy is 1.5.

    The latest version of the software is available in a tarball here:

    The official URL for this Web site is


    empy should work with any version of Python from 1.5.x onward.


    This code is released under the "GPL",


Release history [since 1.4]

    - 1.5; 2002 Sep 18.  Escape codes ('@\...'); conditional and
      repeated expansion substitutions via '@[if E: ...]', '@[for X in
      E: ...]', and '@[while E: ....]' notations; fix a few bugs
      involving files which do not end in newlines.

 Erik Max Francis / max at /
 __ San Jose, CA, US / 37 20 N 121 53 W / ICQ16063900 / &tSftDotIotE
/  \ I am the king of sorrow
\__/ Sade
    EmPy /
 A system for embedding arbitrary Python in template text as markup.

More information about the Python-list mailing list