blob: e1d3a2a74115c18f1ec8bef3145218d0be0a5a74 [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 Drake9d843082003-07-30 02:55:28 +00005them! (Send via email to \email{docs@python.org}.)
Fred Drake88fa9622000-09-11 05:23:25 +00006
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 Drake8b6ed262003-05-09 15:04:56 +000058--- Implementation of \module{os.path} on Win32, Win64, WinCE, and
Fred Drake88fa9622000-09-11 05:23:25 +000059OS/2 platforms.
Fred Drake560bcae1999-02-02 18:59:58 +000060
Fred Drakee4694eb1999-07-01 20:42:57 +000061\item[\module{posixpath}]
Fred Drake8b6ed262003-05-09 15:04:56 +000062--- Implementation of \module{os.path} on \POSIX.
Guido van Rossum612316f1997-03-14 04:12:52 +000063
Skip Montanaro6d9f45b2003-05-06 20:40:17 +000064\item[\module{bsddb185}]
65--- Backwards compatibility module for systems which still use the Berkeley
66DB 1.85 module. It is normally only available on certain BSD Unix-based
67systems. It should never be used directly.
68\end{description}
69
Guido van Rossum612316f1997-03-14 04:12:52 +000070
Guido van Rossum612316f1997-03-14 04:12:52 +000071\section{Multimedia}
72
Fred Drake272fb3a1998-04-07 14:15:28 +000073\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +000074\item[\module{audiodev}]
Fred Drake88fa9622000-09-11 05:23:25 +000075--- Platform-independent API for playing audio data.
Guido van Rossum612316f1997-03-14 04:12:52 +000076
Fred Drake326c72a2003-01-08 07:21:53 +000077\item[\module{linuxaudiodev}]
78--- Play audio data on the Linux audio device. Replaced in Python 2.3
79by the \module{ossaudiodev} module.
80
Fred Drakee4694eb1999-07-01 20:42:57 +000081\item[\module{sunaudio}]
Fred Drake88fa9622000-09-11 05:23:25 +000082--- Interpret Sun audio headers (may become obsolete or a tool/demo).
Guido van Rossum612316f1997-03-14 04:12:52 +000083
Fred Drakee4694eb1999-07-01 20:42:57 +000084\item[\module{toaiff}]
Fred Drake6f49e0a1999-06-18 19:58:59 +000085--- Convert "arbitrary" sound files to AIFF files; should probably
Fred Drakeae4d5c21999-06-23 14:56:13 +000086become a tool or demo. Requires the external program \program{sox}.
Fred Drake326c72a2003-01-08 07:21:53 +000087
88\item[\module{ossaudiodev}]
89--- Play audio data via the Open Sound System API. This is usable on
90Linux, some flavors of BSD, and some commercial \UNIX{} platforms.
Fred Drake272fb3a1998-04-07 14:15:28 +000091\end{description}
Guido van Rossum612316f1997-03-14 04:12:52 +000092
93
Fred Drake38e5d272000-04-03 20:13:55 +000094\section{Obsolete \label{obsolete-modules}}
Guido van Rossum612316f1997-03-14 04:12:52 +000095
Fred Drake38e5d272000-04-03 20:13:55 +000096These modules are not normally available for import; additional work
97must be done to make them available.
98
99Those which are written in Python will be installed into the directory
100\file{lib-old/} installed as part of the standard library. To use
101these, the directory must be added to \code{sys.path}, possibly using
102\envvar{PYTHONPATH}.
103
104Obsolete extension modules written in C are not built by default.
105Under \UNIX, these must be enabled by uncommenting the appropriate
106lines in \file{Modules/Setup} in the build tree and either rebuilding
107Python if the modules are statically linked, or building and
108installing the shared object if using dynamically-loaded extensions.
109
110% XXX need Windows instructions!
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000111
Fred Drake272fb3a1998-04-07 14:15:28 +0000112\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +0000113\item[\module{addpack}]
Fred Drake88fa9622000-09-11 05:23:25 +0000114--- Alternate approach to packages. Use the built-in package support
115instead.
Guido van Rossum612316f1997-03-14 04:12:52 +0000116
Fred Drakea8052a31999-10-26 16:27:28 +0000117\item[\module{cmp}]
Fred Drake47a27b61999-10-29 17:25:59 +0000118--- File comparison function. Use the newer \refmodule{filecmp} instead.
Fred Drakea8052a31999-10-26 16:27:28 +0000119
120\item[\module{cmpcache}]
121--- Caching version of the obsolete \module{cmp} module. Use the
Fred Drake47a27b61999-10-29 17:25:59 +0000122newer \refmodule{filecmp} instead.
Fred Drakea8052a31999-10-26 16:27:28 +0000123
Fred Drakee4694eb1999-07-01 20:42:57 +0000124\item[\module{codehack}]
Fred Drake9ed1a0a1998-11-02 15:46:21 +0000125--- Extract function name or line number from a function
Fred Drakeae4d5c21999-06-23 14:56:13 +0000126code object (these are now accessible as attributes:
127\member{co.co_name}, \member{func.func_name},
128\member{co.co_firstlineno}).
Fred Drake9ed1a0a1998-11-02 15:46:21 +0000129
Fred Drake2bb43a22000-02-03 15:27:26 +0000130\item[\module{dircmp}]
Fred Drake88fa9622000-09-11 05:23:25 +0000131--- Class to build directory diff tools on (may become a demo or tool).
132\deprecated{2.0}{The \refmodule{filecmp} module replaces
133\module{dircmp}.}
Fred Drake2bb43a22000-02-03 15:27:26 +0000134
Fred Drakee4694eb1999-07-01 20:42:57 +0000135\item[\module{dump}]
Fred Drake88fa9622000-09-11 05:23:25 +0000136--- Print python code that reconstructs a variable.
Fred Drake46e1a321999-06-18 17:12:15 +0000137
Fred Drakee4694eb1999-07-01 20:42:57 +0000138\item[\module{fmt}]
Fred Drake88fa9622000-09-11 05:23:25 +0000139--- Text formatting abstractions (too slow).
Guido van Rossum612316f1997-03-14 04:12:52 +0000140
Fred Drakee4694eb1999-07-01 20:42:57 +0000141\item[\module{lockfile}]
Fred Drake88fa9622000-09-11 05:23:25 +0000142--- Wrapper around FCNTL file locking (use
143\function{fcntl.lockf()}/\function{flock()} instead; see \refmodule{fcntl}).
Guido van Rossum612316f1997-03-14 04:12:52 +0000144
Fred Drakea8052a31999-10-26 16:27:28 +0000145\item[\module{newdir}]
146--- New \function{dir()} function (the standard \function{dir()} is
Fred Drake88fa9622000-09-11 05:23:25 +0000147now just as good).
Fred Drakea8052a31999-10-26 16:27:28 +0000148
149\item[\module{Para}]
Fred Drake88fa9622000-09-11 05:23:25 +0000150--- Helper for \module{fmt}.
Fred Drakea8052a31999-10-26 16:27:28 +0000151
Fred Drakee4694eb1999-07-01 20:42:57 +0000152\item[\module{poly}]
Fred Drake88fa9622000-09-11 05:23:25 +0000153--- Polynomials.
Fred Drake9ed1a0a1998-11-02 15:46:21 +0000154
Fred Drake44774c92000-09-28 05:31:39 +0000155\item[\module{regex}]
156--- Emacs-style regular expression support; may still be used in some
157old code (extension module). Refer to the
158\citetitle[http://www.python.org/doc/1.6/lib/module-regex.html]{Python
1591.6 Documentation} for documentation.
160
161\item[\module{regsub}]
162--- Regular expression based string replacement utilities, for use
163with \module{regex} (extension module). Refer to the
164\citetitle[http://www.python.org/doc/1.6/lib/module-regsub.html]{Python
1651.6 Documentation} for documentation.
166
Fred Drakee4694eb1999-07-01 20:42:57 +0000167\item[\module{tb}]
Fred Drake272fb3a1998-04-07 14:15:28 +0000168--- Print tracebacks, with a dump of local variables (use
Fred Drake88fa9622000-09-11 05:23:25 +0000169\function{pdb.pm()} or \refmodule{traceback} instead).
Guido van Rossum612316f1997-03-14 04:12:52 +0000170
Fred Drakee4694eb1999-07-01 20:42:57 +0000171\item[\module{timing}]
Fred Drake3700b6f1998-08-07 16:02:28 +0000172--- Measure time intervals to high resolution (use
173\function{time.clock()} instead). (This is an extension module.)
Fred Drake9ed1a0a1998-11-02 15:46:21 +0000174
Fred Drake4e6d09e2001-03-20 23:13:53 +0000175\item[\module{tzparse}]
176--- Parse a timezone specification (unfinished; may disappear in the
177future, and does not work when the \envvar{TZ} environment variable is
178not set).
179
Fred Drakee4694eb1999-07-01 20:42:57 +0000180\item[\module{util}]
Fred Drake4d5c87b1999-06-10 21:17:11 +0000181--- Useful functions that don't fit elsewhere.
182
Fred Drakee4694eb1999-07-01 20:42:57 +0000183\item[\module{whatsound}]
Fred Drakee36e4e61999-01-13 17:11:52 +0000184--- Recognize sound files; use \refmodule{sndhdr} instead.
Fred Drake60adb361999-01-05 23:09:12 +0000185
Fred Drakee4694eb1999-07-01 20:42:57 +0000186\item[\module{zmod}]
Fred Drake88fa9622000-09-11 05:23:25 +0000187--- Compute properties of mathematical ``fields.''
Fred Drake272fb3a1998-04-07 14:15:28 +0000188\end{description}
Guido van Rossum61c27031997-07-18 21:08:07 +0000189
Fred Drakee4694eb1999-07-01 20:42:57 +0000190
Fred Drakefffe5db2000-09-21 05:25:30 +0000191The following modules are obsolete, but are likely to re-surface as
192tools or scripts:
Fred Drakee4694eb1999-07-01 20:42:57 +0000193
194\begin{description}
195\item[\module{find}]
Fred Drake88fa9622000-09-11 05:23:25 +0000196--- Find files matching pattern in directory tree.
Fred Drakee4694eb1999-07-01 20:42:57 +0000197
198\item[\module{grep}]
Fred Drake88fa9622000-09-11 05:23:25 +0000199--- \program{grep} implementation in Python.
Fred Drakee4694eb1999-07-01 20:42:57 +0000200
201\item[\module{packmail}]
Fred Drake88fa9622000-09-11 05:23:25 +0000202--- Create a self-unpacking \UNIX{} shell archive.
Fred Drakee4694eb1999-07-01 20:42:57 +0000203\end{description}
204
205
Fred Drake20ca9171998-04-09 14:32:28 +0000206The following modules were documented in previous versions of this
Fred Drakeae4d5c21999-06-23 14:56:13 +0000207manual, but are now considered obsolete. The source for the
208documentation is still available as part of the documentation source
209archive.
Fred Drake20ca9171998-04-09 14:32:28 +0000210
211\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +0000212\item[\module{ni}]
Fred Drake3700b6f1998-08-07 16:02:28 +0000213--- Import modules in ``packages.'' Basic package support is now
Fred Drake88fa9622000-09-11 05:23:25 +0000214built in. The built-in support is very similar to what is provided in
215this module.
Fred Drake20ca9171998-04-09 14:32:28 +0000216
Fred Drakee4694eb1999-07-01 20:42:57 +0000217\item[\module{rand}]
Fred Drake20ca9171998-04-09 14:32:28 +0000218--- Old interface to the random number generator.
219
Fred Drakee4694eb1999-07-01 20:42:57 +0000220\item[\module{soundex}]
Fred Drake20ca9171998-04-09 14:32:28 +0000221--- Algorithm for collapsing names which sound similar to a shared
Fred Drake88fa9622000-09-11 05:23:25 +0000222key. The specific algorithm doesn't seem to match any published
223algorithm. (This is an extension module.)
Fred Drake20ca9171998-04-09 14:32:28 +0000224\end{description}
225
Guido van Rossum612316f1997-03-14 04:12:52 +0000226
Fred Drake88fa9622000-09-11 05:23:25 +0000227\section{SGI-specific Extension modules}
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000228
Fred Drakeae4d5c21999-06-23 14:56:13 +0000229The following are SGI specific, and may be out of touch with the
230current version of reality.
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000231
Fred Drake3700b6f1998-08-07 16:02:28 +0000232\begin{description}
Fred Drakee4694eb1999-07-01 20:42:57 +0000233\item[\module{cl}]
Fred Drake272fb3a1998-04-07 14:15:28 +0000234--- Interface to the SGI compression library.
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000235
Fred Drakee4694eb1999-07-01 20:42:57 +0000236\item[\module{sv}]
Fred Drake272fb3a1998-04-07 14:15:28 +0000237--- Interface to the ``simple video'' board on SGI Indigo
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000238(obsolete hardware).
Fred Drake3700b6f1998-08-07 16:02:28 +0000239\end{description}