skip to navigation
skip to content

Chameleon 1.0.1

XML-based template compiler.

Latest Version: 1.0.4

Overview

Chameleon compiles templates to Python byte-code. It includes a complete implementation of the Zope Page Templates (ZPT) language.

The engine itself performs 10-15 times better than the reference implementation and real-world benchmarks show an overall performance improvement in complex applications of 30-50%.

License

This software is made available under the BSD license.

Development

The code is maintained in a subversion repository:

svn://svn.repoze.org/svn/chameleon/trunk

If you want to contribute or need support, join #repoze on freenode irc or write the mailinglist.

Languages

An implementation of the Zope Page Templates language is included. The Genshi language has been implemented and is currently maintained in a separate package.

Zope Page Templates

The ZPT implementation is largely compatible with the reference implementation. Below is an overview of notable differences:

Default expression

The default expression is python:. Path expressions are not supported in the base package. The package introduces the import: expression which imports global names.

Tuple unpacking

The tal:define and tal:repeat clauses supports tuple unpacking:

tal:define="(a, b, c) [1, 2, 3]"

The star character is not supported.

Dot-notation for dictionary lookups

If attribute lookup fails (i.e. the dot operator), dictionary lookup is tried. The engine replaces attribute lookups with a call to a function that has the following body:

try:
    return context.key
except AttributeError:
    try:
        return context[key]
    except KeyError:
        raise AttributeError(key)

Interpolation is supported

The Genshi expression interpolation syntax is supported outside tags and inside static attributes:

<span class="hello-${'world'}">
   Hello, ${'world'}!
</span>

Literal insertion

If objects for insertion provide an __html__ method, it will be called and the result inserted literally, without escaping.

Changes

1.0.1 (released 2009-11-04)

  • Fixed ZCA import fallbacks.

1.0 (released 2009-11-01)

Features:

  • HTML5 doctype is now supported.
File Type Py Version Uploaded on Size # downloads
Chameleon-1.0.1.tar.gz (md5) Source 2009-11-04 16:23:18.904778 62KB 145

Log in to rate this package.