blob: 09402b51c50c3cfb8aff756a48f10766d9834bc1 [file] [log] [blame]
Fred Drake88fa9622000-09-11 05:23:25 +00001\chapter{Undocumented Modules \label{undoc}}
Guido van Rossum612316f1997-03-14 04:12:52 +00002
3Here's a quick listing of modules that are currently undocumented, but
4that should be documented. Feel free to contribute documentation for
Fred Drake88fa9622000-09-11 05:23:25 +00005them! (Send via email to \email{python-docs@python.org}.)
6
7The idea and original contents for this chapter were taken
8from a posting by Fredrik Lundh; the specific contents of this chapter
9have been substantially revised.
Guido van Rossum612316f1997-03-14 04:12:52 +000010
11
Fred Drake16e81f41999-02-24 19:57:14 +000012\section{Frameworks}
13
14Frameworks tend to be harder to document, but are well worth the
15effort spent.
Guido van Rossum612316f1997-03-14 04:12:52 +000016
Fred Drake272fb3a1998-04-07 14:15:28 +000017\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +000018\item[\module{test}]
Fred Drake211f22c1998-08-11 18:13:31 +000019--- Regression testing framework. This is used for the Python
20regression test, but is useful for other Python libraries as well.
Fred Drake88fa9622000-09-11 05:23:25 +000021This is a package rather than a single module.
Fred Drake272fb3a1998-04-07 14:15:28 +000022\end{description}
Guido van Rossum612316f1997-03-14 04:12:52 +000023
Guido van Rossum612316f1997-03-14 04:12:52 +000024
Guido van Rossum612316f1997-03-14 04:12:52 +000025\section{Miscellaneous useful utilities}
26
Fred Drakeae4d5c21999-06-23 14:56:13 +000027Some of these are very old and/or not very robust; marked with ``hmm.''
Guido van Rossum612316f1997-03-14 04:12:52 +000028
Fred Drake272fb3a1998-04-07 14:15:28 +000029\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +000030\item[\module{bdb}]
Fred Drake88fa9622000-09-11 05:23:25 +000031--- A generic Python debugger base class (used by pdb).
Guido van Rossum612316f1997-03-14 04:12:52 +000032
Fred Drakee4694eb1999-07-01 20:42:57 +000033\item[\module{ihooks}]
Fred Drake88fa9622000-09-11 05:23:25 +000034--- Import hook support (for \refmodule{rexec}; may become obsolete).
Fred Drakebf781a92001-08-14 11:38:35 +000035
Fred Drake1d5854f2003-04-24 15:24:46 +000036\item[\module{platform}]
37--- This module tries to retrieve as much platform identifying data as
38possible. It makes this information available via function APIs.
39If called from the command line, it prints the platform information
40concatenated as single string to \code{sys.stdout}. The output format
41is useable as part of a filename.
42\versionadded{2.3}
43
Fred Drakebf781a92001-08-14 11:38:35 +000044\item[\module{smtpd}]
45--- An SMTP daemon implementation which meets the minimum requirements
46for \rfc{821} conformance.
Fred Drake272fb3a1998-04-07 14:15:28 +000047\end{description}
Guido van Rossum612316f1997-03-14 04:12:52 +000048
Guido van Rossum90858221997-08-15 02:52:46 +000049
Guido van Rossum612316f1997-03-14 04:12:52 +000050\section{Platform specific modules}
51
Fred Drake6f49e0a1999-06-18 19:58:59 +000052These modules are used to implement the \refmodule{os.path} module,
53and are not documented beyond this mention. There's little need to
54document these.
Fred Drake560bcae1999-02-02 18:59:58 +000055
56\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +000057\item[\module{ntpath}]
Fred Drake88fa9622000-09-11 05:23:25 +000058--- Implementation on \module{os.path} on Win32, Win64, WinCE, and
59OS/2 platforms.
Fred Drake560bcae1999-02-02 18:59:58 +000060
Fred Drakee4694eb1999-07-01 20:42:57 +000061\item[\module{posixpath}]
Fred Drake88fa9622000-09-11 05:23:25 +000062--- Implementation on \module{os.path} on \POSIX.
Fred Drake272fb3a1998-04-07 14:15:28 +000063\end{description}
Guido van Rossum612316f1997-03-14 04:12:52 +000064
Skip Montanaro6d9f45b2003-05-06 20:40:17 +000065\item[\module{bsddb185}]
66--- Backwards compatibility module for systems which still use the Berkeley
67DB 1.85 module. It is normally only available on certain BSD Unix-based
68systems. It should never be used directly.
69\end{description}
70
Guido van Rossum612316f1997-03-14 04:12:52 +000071
Guido van Rossum612316f1997-03-14 04:12:52 +000072\section{Multimedia}
73
Fred Drake272fb3a1998-04-07 14:15:28 +000074\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +000075\item[\module{audiodev}]
Fred Drake88fa9622000-09-11 05:23:25 +000076--- Platform-independent API for playing audio data.
Guido van Rossum612316f1997-03-14 04:12:52 +000077
Fred Drake326c72a2003-01-08 07:21:53 +000078\item[\module{linuxaudiodev}]
79--- Play audio data on the Linux audio device. Replaced in Python 2.3
80by the \module{ossaudiodev} module.
81
Fred Drakee4694eb1999-07-01 20:42:57 +000082\item[\module{sunaudio}]
Fred Drake88fa9622000-09-11 05:23:25 +000083--- Interpret Sun audio headers (may become obsolete or a tool/demo).
Guido van Rossum612316f1997-03-14 04:12:52 +000084
Fred Drakee4694eb1999-07-01 20:42:57 +000085\item[\module{toaiff}]
Fred Drake6f49e0a1999-06-18 19:58:59 +000086--- Convert "arbitrary" sound files to AIFF files; should probably
Fred Drakeae4d5c21999-06-23 14:56:13 +000087become a tool or demo. Requires the external program \program{sox}.
Fred Drake326c72a2003-01-08 07:21:53 +000088
89\item[\module{ossaudiodev}]
90--- Play audio data via the Open Sound System API. This is usable on
91Linux, some flavors of BSD, and some commercial \UNIX{} platforms.
Fred Drake272fb3a1998-04-07 14:15:28 +000092\end{description}
Guido van Rossum612316f1997-03-14 04:12:52 +000093
94
Fred Drake38e5d272000-04-03 20:13:55 +000095\section{Obsolete \label{obsolete-modules}}
Guido van Rossum612316f1997-03-14 04:12:52 +000096
Fred Drake38e5d272000-04-03 20:13:55 +000097These modules are not normally available for import; additional work
98must be done to make them available.
99
100Those which are written in Python will be installed into the directory
101\file{lib-old/} installed as part of the standard library. To use
102these, the directory must be added to \code{sys.path}, possibly using
103\envvar{PYTHONPATH}.
104
105Obsolete extension modules written in C are not built by default.
106Under \UNIX, these must be enabled by uncommenting the appropriate
107lines in \file{Modules/Setup} in the build tree and either rebuilding
108Python if the modules are statically linked, or building and
109installing the shared object if using dynamically-loaded extensions.
110
111% XXX need Windows instructions!
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000112
Fred Drake272fb3a1998-04-07 14:15:28 +0000113\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +0000114\item[\module{addpack}]
Fred Drake88fa9622000-09-11 05:23:25 +0000115--- Alternate approach to packages. Use the built-in package support
116instead.
Guido van Rossum612316f1997-03-14 04:12:52 +0000117
Fred Drakea8052a31999-10-26 16:27:28 +0000118\item[\module{cmp}]
Fred Drake47a27b61999-10-29 17:25:59 +0000119--- File comparison function. Use the newer \refmodule{filecmp} instead.
Fred Drakea8052a31999-10-26 16:27:28 +0000120
121\item[\module{cmpcache}]
122--- Caching version of the obsolete \module{cmp} module. Use the
Fred Drake47a27b61999-10-29 17:25:59 +0000123newer \refmodule{filecmp} instead.
Fred Drakea8052a31999-10-26 16:27:28 +0000124
Fred Drakee4694eb1999-07-01 20:42:57 +0000125\item[\module{codehack}]
Fred Drake9ed1a0a1998-11-02 15:46:21 +0000126--- Extract function name or line number from a function
Fred Drakeae4d5c21999-06-23 14:56:13 +0000127code object (these are now accessible as attributes:
128\member{co.co_name}, \member{func.func_name},
129\member{co.co_firstlineno}).
Fred Drake9ed1a0a1998-11-02 15:46:21 +0000130
Fred Drake2bb43a22000-02-03 15:27:26 +0000131\item[\module{dircmp}]
Fred Drake88fa9622000-09-11 05:23:25 +0000132--- Class to build directory diff tools on (may become a demo or tool).
133\deprecated{2.0}{The \refmodule{filecmp} module replaces
134\module{dircmp}.}
Fred Drake2bb43a22000-02-03 15:27:26 +0000135
Fred Drakee4694eb1999-07-01 20:42:57 +0000136\item[\module{dump}]
Fred Drake88fa9622000-09-11 05:23:25 +0000137--- Print python code that reconstructs a variable.
Fred Drake46e1a321999-06-18 17:12:15 +0000138
Fred Drakee4694eb1999-07-01 20:42:57 +0000139\item[\module{fmt}]
Fred Drake88fa9622000-09-11 05:23:25 +0000140--- Text formatting abstractions (too slow).
Guido van Rossum612316f1997-03-14 04:12:52 +0000141
Fred Drakee4694eb1999-07-01 20:42:57 +0000142\item[\module{lockfile}]
Fred Drake88fa9622000-09-11 05:23:25 +0000143--- Wrapper around FCNTL file locking (use
144\function{fcntl.lockf()}/\function{flock()} instead; see \refmodule{fcntl}).
Guido van Rossum612316f1997-03-14 04:12:52 +0000145
Fred Drakea8052a31999-10-26 16:27:28 +0000146\item[\module{newdir}]
147--- New \function{dir()} function (the standard \function{dir()} is
Fred Drake88fa9622000-09-11 05:23:25 +0000148now just as good).
Fred Drakea8052a31999-10-26 16:27:28 +0000149
150\item[\module{Para}]
Fred Drake88fa9622000-09-11 05:23:25 +0000151--- Helper for \module{fmt}.
Fred Drakea8052a31999-10-26 16:27:28 +0000152
Fred Drakee4694eb1999-07-01 20:42:57 +0000153\item[\module{poly}]
Fred Drake88fa9622000-09-11 05:23:25 +0000154--- Polynomials.
Fred Drake9ed1a0a1998-11-02 15:46:21 +0000155
Fred Drake44774c92000-09-28 05:31:39 +0000156\item[\module{regex}]
157--- Emacs-style regular expression support; may still be used in some
158old code (extension module). Refer to the
159\citetitle[http://www.python.org/doc/1.6/lib/module-regex.html]{Python
1601.6 Documentation} for documentation.
161
162\item[\module{regsub}]
163--- Regular expression based string replacement utilities, for use
164with \module{regex} (extension module). Refer to the
165\citetitle[http://www.python.org/doc/1.6/lib/module-regsub.html]{Python
1661.6 Documentation} for documentation.
167
Fred Drakee4694eb1999-07-01 20:42:57 +0000168\item[\module{tb}]
Fred Drake272fb3a1998-04-07 14:15:28 +0000169--- Print tracebacks, with a dump of local variables (use
Fred Drake88fa9622000-09-11 05:23:25 +0000170\function{pdb.pm()} or \refmodule{traceback} instead).
Guido van Rossum612316f1997-03-14 04:12:52 +0000171
Fred Drakee4694eb1999-07-01 20:42:57 +0000172\item[\module{timing}]
Fred Drake3700b6f1998-08-07 16:02:28 +0000173--- Measure time intervals to high resolution (use
174\function{time.clock()} instead). (This is an extension module.)
Fred Drake9ed1a0a1998-11-02 15:46:21 +0000175
Fred Drake4e6d09e2001-03-20 23:13:53 +0000176\item[\module{tzparse}]
177--- Parse a timezone specification (unfinished; may disappear in the
178future, and does not work when the \envvar{TZ} environment variable is
179not set).
180
Fred Drakee4694eb1999-07-01 20:42:57 +0000181\item[\module{util}]
Fred Drake4d5c87b1999-06-10 21:17:11 +0000182--- Useful functions that don't fit elsewhere.
183
Fred Drakee4694eb1999-07-01 20:42:57 +0000184\item[\module{whatsound}]
Fred Drakee36e4e61999-01-13 17:11:52 +0000185--- Recognize sound files; use \refmodule{sndhdr} instead.
Fred Drake60adb361999-01-05 23:09:12 +0000186
Fred Drakee4694eb1999-07-01 20:42:57 +0000187\item[\module{zmod}]
Fred Drake88fa9622000-09-11 05:23:25 +0000188--- Compute properties of mathematical ``fields.''
Fred Drake272fb3a1998-04-07 14:15:28 +0000189\end{description}
Guido van Rossum61c27031997-07-18 21:08:07 +0000190
Fred Drakee4694eb1999-07-01 20:42:57 +0000191
Fred Drakefffe5db2000-09-21 05:25:30 +0000192The following modules are obsolete, but are likely to re-surface as
193tools or scripts:
Fred Drakee4694eb1999-07-01 20:42:57 +0000194
195\begin{description}
196\item[\module{find}]
Fred Drake88fa9622000-09-11 05:23:25 +0000197--- Find files matching pattern in directory tree.
Fred Drakee4694eb1999-07-01 20:42:57 +0000198
199\item[\module{grep}]
Fred Drake88fa9622000-09-11 05:23:25 +0000200--- \program{grep} implementation in Python.
Fred Drakee4694eb1999-07-01 20:42:57 +0000201
202\item[\module{packmail}]
Fred Drake88fa9622000-09-11 05:23:25 +0000203--- Create a self-unpacking \UNIX{} shell archive.
Fred Drakee4694eb1999-07-01 20:42:57 +0000204\end{description}
205
206
Fred Drake20ca9171998-04-09 14:32:28 +0000207The following modules were documented in previous versions of this
Fred Drakeae4d5c21999-06-23 14:56:13 +0000208manual, but are now considered obsolete. The source for the
209documentation is still available as part of the documentation source
210archive.
Fred Drake20ca9171998-04-09 14:32:28 +0000211
212\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +0000213\item[\module{ni}]
Fred Drake3700b6f1998-08-07 16:02:28 +0000214--- Import modules in ``packages.'' Basic package support is now
Fred Drake88fa9622000-09-11 05:23:25 +0000215built in. The built-in support is very similar to what is provided in
216this module.
Fred Drake20ca9171998-04-09 14:32:28 +0000217
Fred Drakee4694eb1999-07-01 20:42:57 +0000218\item[\module{rand}]
Fred Drake20ca9171998-04-09 14:32:28 +0000219--- Old interface to the random number generator.
220
Fred Drakee4694eb1999-07-01 20:42:57 +0000221\item[\module{soundex}]
Fred Drake20ca9171998-04-09 14:32:28 +0000222--- Algorithm for collapsing names which sound similar to a shared
Fred Drake88fa9622000-09-11 05:23:25 +0000223key. The specific algorithm doesn't seem to match any published
224algorithm. (This is an extension module.)
Fred Drake20ca9171998-04-09 14:32:28 +0000225\end{description}
226
Guido van Rossum612316f1997-03-14 04:12:52 +0000227
Fred Drake88fa9622000-09-11 05:23:25 +0000228\section{SGI-specific Extension modules}
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000229
Fred Drakeae4d5c21999-06-23 14:56:13 +0000230The following are SGI specific, and may be out of touch with the
231current version of reality.
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000232
Fred Drake3700b6f1998-08-07 16:02:28 +0000233\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +0000234\item[\module{cl}]
Fred Drake272fb3a1998-04-07 14:15:28 +0000235--- Interface to the SGI compression library.
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000236
Fred Drakee4694eb1999-07-01 20:42:57 +0000237\item[\module{sv}]
Fred Drake272fb3a1998-04-07 14:15:28 +0000238--- Interface to the ``simple video'' board on SGI Indigo
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000239(obsolete hardware).
Fred Drake3700b6f1998-08-07 16:02:28 +0000240\end{description}