EaZy Templating (EZT) is a fast and simple templating system for Python-based software.
EZT focuses on data substitution, rather than placing a Turing-complete language into template files. The templates are fast to parse, and fast to render. EZT supports a parse-once and render-many approach if thousands of renderings are necessary. In most cases, the parse/render sequence will be fast enough for the application.
EZT is used by Apache Subversion, the Apache Software Foundation, and many other projects and companies.
EZT is available on PyPI.
Since EZT is very stable, mature and consists of a single file, grabbing a copy from source control is a great alternative (especially for embedding into your application). Since it is a single module, this approach works very well for many people.
See SYNTAX.md for information about how to use EZT, and the template syntax.
For a deep technical explanation of how the EZT engine works internally, see ARCHITECTURE.md.
Come visit the discussion group!
EZT is used by Apache Subversion, the Apache Software Foundation, Google Code, ViewVC, edna, SubWiki, and many other projects and companies.
If you use the TextMate editor, then you may be interested in this bundle to improve your template editing experience.
Looking to parse EZT templates in Java? Look at the hapax parser.
EZT is mature and stable. Current development considerations:
- Update the header and contact info
- Note the official location (now on GitHub)
- Move documentation from docstrings to markdown files
In the ViewVC repository, there are a number of local changes:
- Allow iterables instead of (just) sequences
- Integrating the callback stuff is tricky because it goes against EZT's ideals
- The
[CALLBACK ARG1 ARG2]form is a generic function-callback mechanism
- The
- A number of patches living in the ViewVC issue tracker
Visitors: please feel free to provide your thoughts in the discussion group!
- Start a release process?
- Start a community? (e.g. add a Google group?)
EZT was started as part of the edna project in early 2001. However, it was also intended towards use within the ViewVC project. The bulk of EZT development occured as part of ViewVC during 2001 and 2002.
In 2003, EZT started to get used in additional places: SubWiki, Subversion's build system, and some infrastructure pieces at the ASF. Greg also had a little private project which used and further modified EZT.
The EZT project was started in October 2003 to pull together all of the various incarnations and derivative developments of EZT into a single, canonical location. This project was moved to Google Code in June 2008.
On August 22, 2015, EZT was exported from Google Code (due to its imminent move to read-only / archival status), and landed on GitHub: https://github.com/gstein/ezt, where development continues (glacially, given EZT's mature status).
BSD 2-clause. See ezt.py