Computational Lexicography

PyWordNet
A Python interface to the WordNet lexical database. (Also see JWordNet for a Java implementation.)
PyFSA
A library for manipulating Finite-State Automata (FSAs). It contains algorithms for constructing, minimizing, and determinizing FSAs, compiling them from regular expressions, and using them as rules in a chart parser.
ChartParser.py (view source)
A simple chart parser (<100 code lines for the parser itself).

Programmers' Utilities

textlines.py (view source)
A read-on-demand substitute for file.readlines(). Returns a randomly accessable sequence (a lazy array) that reads lines as they're requested. Python 2.2 removes some of the need for this: use for line in open(fname) instead.
textopen.py (view source)
Read lines from a text file that uses non-native line separators. This is unnecessary as of Python 2.3.

Python IDE Patches (MacOS)

CommandHistoryPatch.py (view source)
(1) adds keys (ctl-uparrow and ctl-downarrow) to grab previous console commands (you can type the keys repeatedly to scroll back and forth through the command history); (2) changes Return to execute the entire line no matter where within it the selection is positioned; and (3) makes it so that keystrokes in previous lines copy the line before inserting the key. (Read the module comment in the source code for more details.) Download Joe Strout's PatchUtils.py, , and drop CommandHistoryPatch.py onto PythonInterpreter, in order to install it.
icopen.py (view source)
Patches MacOS Python to use the Internet Config file mappings to select the type and creator for a file. Put it in your Python path, and create a file named {Python}:sitecustomize.py that contains:
	import icopen
(If {Python}:sitecustomize.py already exists, just add the 'import' line to it.) The next time you launch PythonInterpreter or Python IDE, the patch will take effect.
SpaceTranslationPatch.py (view source)
Patches the MacOS Python IDE to convert spaces to tabs when a source file is opened, and back to spaces when it's saved. Version 0.2 uses the PatchUtils mechanism to install itself, and recognizes eight-wide tabstopped files. Download Joe Strout's PatchUtils.py, and drop SpaceTranslationPatch onto PythonInterpreter, in order to install it.
Note: This patch in conjunction with Joe Strout's advanced editor patch can cause an error when some files are opened. It's safe but inconvenient to close the error window and continue.