EULxml is a Python module that provides classes and utilities for interacting with XML that allow the definition of re-usable XML objects that can be accessed, updated and created as standard Python types, and a form component for editing XML with Django forms.
eulxml.xpath provides functions and classes for parsing XPath expressions using PLY.
eulxml.xmlmap makes it easier to map XML to Python objects in a nicer, more pythonic and object-oriented way than typical DOM access usually provides. XML can be read, modified, and even created from scratch (in cases where the configured XPath is simple enough to determine the nodes that should be constructed).
eulxml.forms provides Django Form objects that use eulxml.xmlmap.XmlObject instances as the basis and data instance for the form, with the goal of making it easy to edit XML content via web forms.
eulxml.forms requires and was designed to be used with Django, although Django is not required for installation and use of the non-form components of eulxml.