Found a reference to PyMeld in a comment to a weblog entry discussing Web templating engines (which has been a favourite topic of mine ever since I started programming for the Web).
PyMeld is a Python templating engine for XML/(X)HTML that uses id attributes in tags to present them as objects to the programmer. Sounds too good to be true? Looks like it is.
The examples are self-explanatory, and the API is very simple and pythonic. It does not have the advanced functionality of, say, TAL and MeTAL but IMHO the dumber a templating engine, the better. Logic should stay in the code, not be hidden (often by conventions or layers of conventions) inside the template/templating engine.
One of the cases where the old Mies van Rohe saying less is more actually sounds true (though I do not like its mainstream interpretation on architectural principles and modernism).
update: It turns out that PyMeld is actually not less but more, a lot more. I briefly used it a while ago and realized something I have always known instinctively, templates should just digest code entities (variables, instances, etc.) and render them. PyMeld takes an attractive, but very impractical approach, forcing you to drive the rendering engine from the code. Contrast this with the beauty of TAL, where you (at least that's what I do) toss the same entities you use for the logic of the program to the templating engine, and the templates knows what to do with them. In TAL you're not forced to massage your data to have it rendered (well, maybe you need to add an attribute or two from time to time to your classes, but it's a very different effort than say driving a table to create rows and cells from your code, urgh!).