| \chapter{Undocumented Modules} | 
 |  | 
 | Here's a quick listing of modules that are currently undocumented, but | 
 | that should be documented.  Feel free to contribute documentation for | 
 | them!  (The idea and most contents for this chapter were taken from a | 
 | posting by Fredrik Lundh; I have revised some modules' status.) | 
 |  | 
 |  | 
 | \section{Fundamental, and pretty straightforward to document} | 
 |  | 
 | cPickle.c -- mostly the same as pickle but no subclassing | 
 |  | 
 | cStringIO.c -- mostly the same as StringIO but no subclassing | 
 |  | 
 |  | 
 | \section{Frameworks; somewhat harder to document, but | 
 | well worth the effort} | 
 |  | 
 | Tkinter.py -- Interface to Tcl/Tk for graphical user interfaces; | 
 | Fredrik Lundh is working on this one! | 
 |  | 
 | BaseHTTPServer.py -- HTTP server base class | 
 |  | 
 | CGIHTTPServer.py -- CGI-savvy HTTP Server | 
 |  | 
 | SimpleHTTPServer.py -- Simple HTTP Server | 
 |  | 
 |  | 
 | \section{Stuff useful to a lot of people, including the CGI crowd} | 
 |  | 
 | MimeWriter.py -- Generic MIME writer | 
 |  | 
 | multifile.py -- make each part of a multipart message ``feel'' like | 
 |  | 
 | fileinput.py -- convenient loop over the lines in a list of input files. | 
 |  | 
 |  | 
 | \section{Miscellaneous useful utilities} | 
 |  | 
 | Some of these are very old and/or not very robust; marked with ``hmm''. | 
 |  | 
 | calendar.py -- Calendar printing functions | 
 |  | 
 | cmp.py -- Efficiently compare files | 
 |  | 
 | cmpcache.py -- Efficiently compare files (uses statcache) | 
 |  | 
 | dircache.py -- like os.listdir, but caches results | 
 |  | 
 | dircmp.py -- class to build directory diff tools on | 
 |  | 
 | linecache.py -- Cache lines from files (used by pdb) | 
 |  | 
 | pipes.py -- Conversion pipeline templates (hmm) | 
 |  | 
 | popen2.py -- improved popen, can read AND write simultaneously | 
 |  | 
 | statcache.py -- Maintain a cache of file stats | 
 |  | 
 | colorsys.py -- Conversion between RGB and other color systems | 
 |  | 
 | dbhash.py -- (g)dbm-like wrapper for bsdhash.hashopen | 
 |  | 
 | mhlib.py -- MH interface | 
 |  | 
 | pty.py -- Pseudo terminal utilities | 
 |  | 
 | tty.py -- Terminal utilities | 
 |  | 
 | cmd.py -- build line-oriented command interpreters (used by pdb) | 
 |  | 
 | bdb.py -- A generic Python debugger base class (used by pdb) | 
 |  | 
 | ihooks.py -- Import hook support (for ni and rexec) | 
 |  | 
 |  | 
 | \section{Parsing Python} | 
 |  | 
 | (One could argue that these should all be documented together with the | 
 | parser module.) | 
 |  | 
 | tokenize.py -- regular expression that recognizes Python tokens; also | 
 | contains helper code for colorizing Python source code. | 
 |  | 
 | pyclbr.py -- Parse a Python file and retrieve classes and methods | 
 |  | 
 |  | 
 | \section{Platform specific modules} | 
 |  | 
 | ntpath.py -- equivalent of posixpath on 32-bit Windows | 
 |  | 
 | dospath.py -- equivalent of posixpath on MS-DOS | 
 |  | 
 |  | 
 | \section{Code objects and files, debugger etc.} | 
 |  | 
 | compileall.py -- force "compilation" of all .py files in a directory | 
 |  | 
 | py_compile.py -- "compile" a .py file to a .pyc file | 
 |  | 
 | repr.py -- Redo the `...` (representation) but with limits on most | 
 | sizes (used by pdb) | 
 |  | 
 | copy_reg.py -- helper to provide extensibility for pickle/cPickle | 
 |  | 
 |  | 
 | \section{Multimedia} | 
 |  | 
 | audiodev.py -- Plays audio files | 
 |  | 
 | sunau.py -- parse Sun and NeXT audio files | 
 |  | 
 | sunaudio.py -- interpret sun audio headers | 
 |  | 
 | toaiff.py -- Convert "arbitrary" sound files to AIFF files | 
 |  | 
 | sndhdr.py -- recognizing sound files | 
 |  | 
 | wave.py -- parse WAVE files | 
 |  | 
 | whatsound.py -- recognizing sound files | 
 |  | 
 |  | 
 | \section{Oddities} | 
 |  | 
 | These modules are probably also obsolete, or just not very useful. | 
 |  | 
 | bisect.py -- Bisection algorithms (this is actually useful at times) | 
 |  | 
 | dump.py -- Print python code that reconstructs a variable | 
 |  | 
 | find.py -- find files matching pattern in directory tree | 
 |  | 
 | fpformat.py -- General floating point formatting functions -- obsolete | 
 |  | 
 | grep.py -- grep | 
 |  | 
 | mutex.py -- Mutual exclusion -- for use with module sched | 
 |  | 
 | packmail.py -- create a self-unpacking \UNIX{} shell archive | 
 |  | 
 | poly.py -- Polynomials | 
 |  | 
 | sched.py -- event scheduler class | 
 |  | 
 | shutil.py -- utility functions usable in a shell-like program | 
 |  | 
 | util.py -- useful functions that don't fit elsewhere | 
 |  | 
 | zmod.py -- Compute properties of mathematical "fields" | 
 |  | 
 | tzparse.py -- Parse a timezone specification (unfinished) | 
 |  | 
 |  | 
 | \section{Obsolete} | 
 |  | 
 | newdir.py -- New dir() function (the standard dir() is now just as good) | 
 |  | 
 | addpack.py -- standard support for "packages" (use ni instead) | 
 |  | 
 | fmt.py -- text formatting abstractions (too slow) | 
 |  | 
 | Para.py -- helper for fmt.py | 
 |  | 
 | lockfile.py -- wrapper around FCNTL file locking (use | 
 | fcntl.lockf/flock intead) | 
 |  | 
 | tb.py -- Print tracebacks, with a dump of local variables (use | 
 | pdb.pm() or traceback.py instead) | 
 |  | 
 | codehack.py -- extract function name or line number from a function | 
 | code object (these are now accessible as attributes: co.co_name, | 
 | func.func_name, co.co_firstlineno) | 
 |  | 
 |  | 
 | \section{Extension modules} | 
 |  | 
 | bsddbmodule.c -- Interface to the Berkeley DB interface (yet another | 
 | dbm clone). | 
 |  | 
 | cursesmodule.c -- Curses interface. | 
 |  | 
 | dbhashmodule.c -- Obsolete; this functionality is now provided by | 
 | bsddbmodule.c. | 
 |  | 
 | dlmodule.c --  A highly experimental and dangerous device for calling | 
 | arbitrary C functions in arbitrary shared libraries. | 
 |  | 
 | newmodule.c -- Tommy Burnette's `new' module (creates new empty | 
 | objects of certain kinds) -- dangerous. | 
 |  | 
 | nismodule.c -- NIS (a.k.a. Sun's Yellow Pages) interface. | 
 |  | 
 | timingmodule.c -- Measure time intervals to high resolution (obsolete | 
 | -- use time.clock() instead). | 
 |  | 
 | resource.c -- Interface to getrusage() and friends. | 
 |  | 
 | stdwinmodule.c -- Interface to STDWIN (an old, unsupported | 
 | platform-independent GUI package).  Obsolete; use Tkinter for a | 
 | platform-independent GUI instead. | 
 |  | 
 | The following are SGI specific: | 
 |  | 
 | clmodule.c -- Interface to the SGI compression library. | 
 |  | 
 | svmodule.c -- Interface to the ``simple video'' board on SGI Indigo | 
 | (obsolete hardware). |