Collected library tools by David McClosky, Drew Perttula, and Micha
Elsner. While Drew and Micha have contributed code, they should not be
considered on the hook for supporting this code.
Note: This project now lives on BitBucket (synced to GitHub).
Version history
0.1e - (December 29, 2006) e for embarassing, initial "release"
0.1f - (March 1, 2007) barely less embarassing, some bug fixes and more documentation
0.2 - (July 13, 2009) still pretty embarassing, several new modules (ClusterMetrics, FunctionPickler, HeapQueue, PrecRec, Probably, robust_apply, TerminalTitle, vimdiff)
0.2.5 - (June 26, 2010) add QuickColorize, waterworks.Numbers, bugfixes and other minor things
All subsequent versions are on BitBucket and GitHub (see above).
ClusterMetrics - a metric cluster**** of cluster metrics!
ExitCodes - Create textual descriptions of exit statuses.
FigUtil - Tools for creating tables and figures in papers.
FunctionPickler - Allows you to create pickle-able references to functions.
HeapQueue - A more object-oriented wrapper of the heapq module.
Histogram - Tools for creating and displaying histograms.
IntRange - Integer Range Parser and Generator
IntShelve - Just like shelve, but keys are always integers instead of strings.
LazyList - Lets you treat an interator as a list by filling in the list on demand.
PrecRec - standard calculation of precision, recall and f-score.
Probably - Potentially useful functions for probability, statistics, and machine learning
Selectron - A selecting widget for Tix.
Tailer - tail -f for multiple files written natively in Python.
TeXTable - Convert a Python table into a LaTeX/TeX table.
TerminalTitle - Lets you change the title of your terminal in *NIX.
ThreadedJobs - Wraps twisted.python.threadpool in a way that makes more sense to me.
TkGeomSavers - Common geometry behaviors for Tk/Tix
diffprint - Helps visualize diffs by giving you two parallel lists to print.
iterextras - Some useful iterator functions from py2.4 test_itertools.py plus a couple added items
robust_apply - Simple front-end to louie.robustapply.robust_apply.
vimdiff - Simple interface for visualizing differences between two strings using vimdiff (or similar differs)
Data structure specific collections
waterworks.Dictionaries
waterworks.Files
waterworks.Numbers
waterworks.Processes - for creating system processes
waterworks.Sequences - ists, tuples, etc.
waterworks.Streams - file-like streams
waterworks.Strings
waterworks.Tools - general tools and debugging helpers
waterworks.new_isinstance - version of isinstance which can handle module reload()ing better
Installation
Standard Python distutils install (python setup.py install) should work. Please email me if you have any problems. Most code should work anywhere, some is *NIX/Linux specific.