Here is the author's etbuilder.py module, with narrative.
The author's version differs from Lundh's version in these respects:
It requires the lxml package. Lundh's
version did not use lxml; it uses
cElementTree, or elementtree if that is not available.
It requires Python 2.5 or later. Lundh's version will work with earlier versions, probably back to at least 2.2.
The author's version also permits int
values in the call to the E instance.