Libxml2 is the XML C library developed for the Gnome project. The library code is portable (to Linux, Unix, Windows, embedded systems, etc.) and modular; most of the extensions can be compiled out. Libxml2 implements a number of existing standards related to markup languages, including the XML standard, Namespaces in XML, XML Base, Relax NG, RFC 2396, XPath, XPointer, HTML4, XInclude, SGML Catalogs, and XML Catalogs. In most cases, libxml tries to implement the specifications in a relatively strict way. To some extent, it provides support for the following specifications, but doesn't claim to implement them: DOM, FTP client, HTTP client, and SAX2. Support for W3C XML Schemas is in progress. It includes xmllint, a command line XML validator.
SQLObject is an object-relational mapper, i.e., a library that will wrap your database tables in Python classes and your rows in Python instances. It currently supports MySQL through the 'MySQLdb' package, PostgreSQL through the 'psycopg' package, SQLite, Firebird, MaxDB (SAP DB), MS SQL, and Sybase. It should support Python versions back to 2.4.
Pysync has both a demonstration implementation of the rsync and related algorithms in pure Python, and a high speed librsync Python extension. The pure Python is not fast and is not optimized, however it does work and provides a simple implementation of the algorithm for reference and experimentation. It includes a combination of ideas taken from librsync, xdelta, and rsync. The librsync Python extension is less flexible and harder to understand, but is very fast.
LEPL is a recursive descent parser library written in Python. It is based on parser combinator libraries popular in functional programming, but also exploits Python language features. Operators provide a friendly syntax, and the consistent use of generators supports full backtracking and resource management. Backtracking implies that a wide variety of grammars are supported; appropriate memoisation ensures that even left-recursive grammars terminate.
Urwid is a Python library for making text console applications. It has many features including fluid interface resizing, support for UTF-8 and CJK encodings, standard and custom text layout modes, simple markup for setting text attributes, and a powerful, dynamic list box that handles a mix of widget types. It is flexible, modular, and leaves the developer in control.