\chapter{Undocumented Modules} \label{undoc} 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 original contents for this chapter were taken from a posting by Fredrik Lundh; I have revised some modules' status.) \section{Frameworks} Frameworks tend to be harder to document, but are well worth the effort spent. \begin{description} \item[Tkinter.py] --- Interface to Tcl/Tk for graphical user interfaces; Fredrik Lundh is working on this one! See \emph{An Introduction to Tkinter} at \url{http://www.pythonware.com/library/} for on-line reference material. \item[Tkdnd.py] --- Drag-and-drop support for \module{Tkinter}. \item[test] --- Regression testing framework. This is used for the Python regression test, but is useful for other Python libraries as well. This is a package rather than a module. \end{description} \section{Miscellaneous useful utilities} Some of these are very old and/or not very robust; marked with ``hmm.'' \begin{description} \item[dircmp.py] --- class to build directory diff tools on (may become a demo or tool) \item[pty.py] --- Pseudo terminal utilities \item[bdb.py] --- A generic Python debugger base class (used by pdb) \item[ihooks.py] --- Import hook support (for \refmodule{rexec}; may become obsolete) \end{description} \section{Platform specific modules} These modules are used to implement the \refmodule{os.path} module, and are not documented beyond this mention. There's little need to document these. \begin{description} \item[dospath.py] --- implementation of \module{os.path} on MS-DOS \item[ntpath.py] --- implementation on \module{os.path} on 32-bit Windows \item[posixpath.py] --- implementation on \module{os.path} on \POSIX{} \end{description} \section{Multimedia} \begin{description} \item[audiodev.py] --- Platform-independent API for playing audio data \item[sunaudio.py] --- interpret sun audio headers (may become obsolete or a tool/demo) \item[toaiff.py] --- Convert "arbitrary" sound files to AIFF files; should probably become a tool or demo. Requires the external program \program{sox}. \end{description} \section{Oddities} These modules are probably also obsolete, or just not very useful. Some of these may be made into tools or demos in future releases. \begin{description} \item[find.py] --- find files matching pattern in directory tree (may become a demo or tool, or possibly obsolete) \item[grep.py] --- grep (may become a demo or tool) \item[mutex.py] --- Mutual exclusion --- for use with module sched \item[packmail.py] --- create a self-unpacking \UNIX{} shell archive \item[sched.py] --- event scheduler class \item[tzparse.py] --- Parse a timezone specification (unfinished) \end{description} \section{Obsolete} These modules are not on the standard module search path; \indexiii{module}{search}{path} but are available in the directory \file{lib-old/} installed under \file{\textrm{\$prefix}/lib/python1.5/}. % $ <-- bow to font lock To use any of these modules, add that directory to \code{sys.path}, possibly using \envvar{PYTHONPATH}. \begin{description} \item[newdir.py] --- New \function{dir()} function (the standard \function{dir()} is now just as good) \item[addpack.py] --- standard support for "packages" \item[codehack.py] --- Extract function name or line number from a function code object (these are now accessible as attributes: \member{co.co_name}, \member{func.func_name}, \member{co.co_firstlineno}). \item[dump.py] --- Print python code that reconstructs a variable \item[fmt.py] --- text formatting abstractions (too slow) \item[Para.py] --- helper for fmt.py \item[lockfile.py] --- wrapper around FCNTL file locking (use \function{fcntl.lockf()}/\function{flock()} intead; see \refmodule{fcntl}) \item[poly.py] --- Polynomials \item[tb.py] --- Print tracebacks, with a dump of local variables (use \function{pdb.pm()} or \refmodule{traceback} instead) \item[timingmodule] --- Measure time intervals to high resolution (use \function{time.clock()} instead). (This is an extension module.) \item[util.py] --- Useful functions that don't fit elsewhere. \item[wdb.py] --- A primitive windowing debugger based on STDWIN. \item[whatsound.py] --- Recognize sound files; use \refmodule{sndhdr} instead. \item[zmod.py] --- Compute properties of mathematical "fields" \end{description} The following modules were documented in previous versions of this manual, but are now considered obsolete. The source for the documentation is still available as part of the documentation source archive. \begin{description} \item[ni] --- Import modules in ``packages.'' Basic package support is now built in. \item[rand] --- Old interface to the random number generator. \item[soundex] --- Algorithm for collapsing names which sound similar to a shared key. (This is an extension module.) \end{description} \section{Extension modules} \begin{description} \item[dlmodule.c] --- A highly experimental and dangerous device for calling arbitrary \C{} functions in arbitrary shared libraries. \item[nismodule.c] --- NIS (a.k.a. Sun's Yellow Pages) interface. \item[stdwinmodule.c] --- Interface to STDWIN (an old, unsupported platform-independent GUI package). Obsolete; use Tkinter for a platform-independent GUI instead. \end{description} The following are SGI specific, and may be out of touch with the current version of reality. \begin{description} \item[clmodule.c] --- Interface to the SGI compression library. \item[svmodule.c] --- Interface to the ``simple video'' board on SGI Indigo (obsolete hardware). \end{description}