Construct is a Python library for declaratively defined data structures, called "constructs". These constructs can both parse data into an object and build an object into data. Constructs handle fields of either byte or bit granularity, structs, unions, sequences, repeaters, adapters, validators, switching, pointers, on-demand (lazy) parsing, and many more. The library defines a large number of primitive constructs, as well a large inventory of file formats and network protocols.
Gnosis Utils contains several Python modules for XML processing, plus other generally useful tools: xml.pickle (serializes objects to/from XML, API compatible with the standard pickle module), xml.objectify (turns arbitrary XML documents into Python objects), xml.validity (enforces XML validity constraints via DTD or Schema), xml.indexer (full text indexing/searching), and many more.
xml_pickle performs serialization to an XML format with several properties not possessed by the standard pickle module, namely, the format is human-readable, the format supports validation of stored serialized objects, and the format may be parsed, manipulated, and objects imported, by languages other than Python,