(Yet another) Python utility library. Contains datatype-specific utility functions, specific-purpose utility functions, and collected recipes from the Python cookbook
Switch branches/tags
Failed to load latest commit information.
cookbook Add hungarian_method (previously pyung.py) to cookbook. Dec 3, 2010
test add new test/ directory, move tests from new_isinstance there Jun 27, 2010
waterworks waterworks.Tools: add import_maybe, DeprecatedGetter Jul 6, 2015
.hgignore .hgignore: Skip swap files Jul 9, 2014
.hgtags update tags Feb 11, 2011
AIMA.py AIMA: reversed and sorted compat had serious bugs Jun 28, 2007
BetterCmdShell.py BetterCmdShell: extension to cmd.Cmd with new features Aug 26, 2014
ClusterMetrics.py Add hungarian_method (previously pyung.py) to cookbook. Dec 3, 2010
ExitCodes.py ExitCodes: refactored, more object oriented now Mar 1, 2007
FigUtil.py FigUtil: improve 'asciiart' format, add 'tabulate' format Aug 26, 2014
FunctionPickler.py various: docs updates Jul 13, 2009
HeapQueue.py various: docs updates Jul 13, 2009
Histogram.py Histogram: Add simple main function so this can be tested/used in com… Apr 12, 2011
IntRange.py IntRange: add __repr__ method Aug 26, 2014
IntShelve.py IntShelve: add some dictionary methods that need write mode Mar 1, 2007
LazyList.py Add LazyList.__iter__ Oct 14, 2011
MANIFEST version 0.1f doc fixes Mar 1, 2007
PrecRec.py PrecRec: add methods to compute using true/false positive/negatives Aug 26, 2014
Probably.py Probably: fix sign error in kl_divergence (*cough*) Aug 5, 2009
QuickColorize.py QuickColorize: various cleanups, randomize colors, add assign_color() Aug 26, 2014
README.html README.html: version bump Jun 27, 2010
Selectron.py Many doc cleanups for pydoc generation Feb 5, 2007
Tailer.py Tailer: emergency fix for python 2.5 compat Aug 28, 2008
TeXTable.py Minor doc update. Apr 12, 2011
TerminalTitle.py various: docs updates Jul 13, 2009
ThreadedJobs.py add README, tiny changes for 0.1e release Dec 29, 2006
TkGeomSavers.py Many doc cleanups for pydoc generation Feb 5, 2007
ansi.py Add ansi.py to improve portability Feb 9, 2011
diffprint.py Many doc cleanups for pydoc generation Feb 5, 2007
iterextras.py iterextras: update __all__ Aug 26, 2014
rad_util.py Add topsort and rad_util from http://www.radlogic.com/downloads.htm Mar 15, 2011
robust_apply.py add robust_apply Jan 16, 2009
setup.py setup.py: version bump Jun 27, 2010
topsort.py Add topsort and rad_util from http://www.radlogic.com/downloads.htm Mar 15, 2011
vimdiff.py various: docs updates Jul 13, 2009


<title>waterworks 0.2.5: Because everyone has their own utility library</title>

<h1>waterworks (version 0.2.5)</h1>

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.

<h2>Version history</h2>
<li>0.1e - (December 29, 2006) <i>e</i> for embarassing, initial "release"
<li>0.1f - (March 1, 2007) barely less embarassing, some bug fixes and more documentation
<li>0.2 - (July 13, 2009) still pretty embarassing, several new modules (ClusterMetrics, FunctionPickler, HeapQueue, PrecRec, Probably, robust_apply, TerminalTitle, vimdiff)
<li>0.2.5 - (June 26, 2010) add QuickColorize, waterworks.Numbers, bugfixes and other minor things


<li><b>AIMA</b> - Provide some widely useful utilities. (not written by us, but slightly modified from the original -- see <a href="http://aima.cs.berkeley.edu/python/readme.html">http://aima.cs.berkeley.edu/python/readme.html</a>)
<li><b>ClusterMetrics</b> - a metric cluster**** of cluster metrics!
<li><b>ExitCodes</b> - Create textual descriptions of exit statuses.
<li><b>FigUtil</b> - Tools for creating tables and figures in papers.
<li><b>FunctionPickler</b> - Allows you to create pickle-able references to functions.
<li><b>HeapQueue</b> - A more object-oriented wrapper of the heapq module.
<li><b>Histogram</b> - Tools for creating and displaying histograms.
<li><b>IntRange</b> - Integer Range Parser and Generator
<li><b>IntShelve</b> - Just like shelve, but keys are always integers instead of strings.
<li><b>LazyList</b> - Lets you treat an interator as a list by filling in the list on demand.
<li><b>PrecRec</b> - standard calculation of precision, recall and f-score.
<li><b>Probably</b> - Potentially useful functions for probability, statistics, and machine learning
<li><b>Selectron</b> - A selecting widget for Tix.
<li><b>Tailer</b> - <tt>tail -f</tt> for multiple files written natively in Python.
<li><b>TeXTable</b> - Convert a Python table into a LaTeX/TeX table.
<li><b>TerminalTitle</b> - Lets you change the title of your terminal in *NIX.
<li><b>ThreadedJobs</b> - Wraps twisted.python.threadpool in a way that makes more sense to me.
<li><b>TkGeomSavers</b> - Common geometry behaviors for Tk/Tix
<li><b>diffprint</b> - Helps visualize diffs by giving you two parallel lists to print.
<li><b>iterextras</b> - Some useful iterator functions from py2.4 test_itertools.py plus a couple added items
<li><b>robust_apply</b> - Simple front-end to louie.robustapply.robust_apply.
<li><b>vimdiff</b> - Simple interface for visualizing differences between two strings using vimdiff (or similar differs)

<h3>Data structure specific collections</h3>

<li><b>waterworks.Processes</b> - for creating system processes
<li><b>waterworks.Sequences</b> - ists, tuples, etc.
<li><b>waterworks.Streams</b> - file-like streams
<li><b>waterworks.Tools</b> - general tools and debugging helpers
<li><b>waterworks.new_isinstance</b> - version of isinstance which can handle module reload()ing better


Standard Python distutils install (<tt>python setup.py install</tt>) should work.  Please email me if you have any problems.  Most code should work anywhere, some is *NIX/Linux specific.

Source: <tt><a href="http://cs.brown.edu/~dmcc/software/waterworks/waterworks-0.2.tar.gz">http://cs.brown.edu/~dmcc/software/waterworks/waterworks-0.2.tar.gz</a></tt><p>


<a href="http://www.gnu.org/licenses/gpl-2.0.html">GPLv2</a>.


David McClosky, primary curator <tt>(dmcc+py AT cs DOT brown DOT edu)</tt><br>
Homepage: <tt><a href="http://cs.brown.edu/~dmcc/">http://cs.brown.edu/~dmcc/</a></tt><br>
Software: <tt><a href="http://cs.brown.edu/~dmcc/software.html">http://cs.brown.edu/~dmcc/software.html</a></tt><p>

Drew Perttula <tt>(drewp AT bigasterisk DOT com)</tt><br>
Homepage: <tt><a href="http://bigasterisk.com/">http://bigasterisk.com/</a></tt><p>

Micha Elsner <tt>(melsner AT cs DOT brown DOT edu)</tt><br>
Homepage: <tt><a href="http://cs.brown.edu/~melsner/">http://cs.brown.edu/~melsner/</a></tt><br>