GCache is a Python module that provides a generic cache class useful for speeding up any application where objects are referenced by keys. It uses object metadata to optimize hit-rates and freshness for fetches, and uses a "write-through" mechanism for writes and deletes. It can use "if-modified-since" fetches or rsync delta updates to refresh stale cached objects. GSource classes are provided for generating useful metadata from common sources (os.stat calls and MIME headers). A simple example urlCache is implemented that supports HTTP 1.1 (rfc2616) cache-control and expire headers to ensure freshness. Also included is an rfc2616 package useful for parsing HTTP 1.1 headers, and a PCache package implementing a persistant cache using a Python shelve.
getmail is intended as a simple, secure, and reliable replacement for fetchmail. It retrieves email (either all messages, or only unread messages) from one or more POP3, SPDS, or IMAP4 servers (with or without SSL) for one or more email accounts, and reliably delivers into qmail-style Maildirs, mboxrd files, or through external MDAs (command deliveries) specified on a per-account basis. getmail also has excellent support for domain (multidrop) mailboxes, including delivering messages to different users or destinations based on the envelope recipient address.
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.
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.
python-fchksum is a module used to find checksums of files (or stdin). It supports md5, crc32, cksum, bsd-style sum, and sysv-style sum. The advantage of using fchksum over the Python md5 and zlib(.crc32) modules is both ease of use and speed. You only need to tell it the filename, and the work is done by C code.
Python-LZO provides Python bindings for the LZO data compression library. You can access the LZO library from your Python scripts thereby compressing ordinary Python strings. LZO is a portable lossless data compression library written in ANSI C. It offers pretty fast compression and *very* fast decompression. Decompression requires no memory. In addition there are slower compression levels achieving a quite competitive compression ratio while still decompressing at this very high speed.
MayaVi is a free, cross platform, easy-to-use scientific data visualizer. It provides a powerful GUI to ease the visualization process. It is written in Python and uses the Visualization Toolkit (VTK) for the graphics. MayaVi can be scripted from other Python programs and also from the interactive Python interpreter. MayaVi includes the VTK Pipeline browser. The VTK Pipeline browser is a Python module (vtkPipeline) that enables one to view and configure the objects in the VTK pipeline graphically with a Tkinter-based GUI. The browser should work for any Python script that uses VTK. MayaVi also provides classes to pickle a VTK object and a simple class documentation browser.
Libxslt is a C library for GNOME which allows developers to work with XSLT. It is based on libxml for XML parsing, tree manipulation, and XPath support. Also included is 'xsltproc', a command line XSLT processor. The library is written in plain C, making as few assumptions as possible, and sticking closely to ANSI C/POSIX for easy embedding. It should work on Linux, Unix, and Windows. Though not designed primarily with performances in mind, libxslt seems to be a relatively fast processor. It also include full support for the EXSLT set of extension functions as well as some common extensions present in other XSLT engines.