summaryrefslogtreecommitdiffstats
path: root/Doc/lib/libundoc.tex
blob: c4eaeb68152ab03a3106bf712a8e8fb2a48a9a73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
\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!  (Send via email to \email{python-docs@python.org}.)

The idea and original contents for this chapter were taken
from a posting by Fredrik Lundh; the specific contents of this chapter
have been substantially revised.


\section{Frameworks}

Frameworks tend to be harder to document, but are well worth the
effort spent.

\begin{description}
\item[\module{Tkinter}]
--- Interface to Tcl/Tk for graphical user interfaces; Fredrik Lundh
is working on this one!  See
\citetitle[http://www.pythonware.com/library.htm]{An Introduction to
Tkinter} at \url{http://www.pythonware.com/library.htm} for on-line
reference material.

\item[\module{Tkdnd}]
--- Drag-and-drop support for \module{Tkinter}.

\item[\module{turtle}]
--- Turtle graphics in a Tk window.

\item[\module{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 single module.
\end{description}


\section{Miscellaneous useful utilities}

Some of these are very old and/or not very robust; marked with ``hmm.''

\begin{description}
\item[\module{bdb}]
--- A generic Python debugger base class (used by pdb).

\item[\module{ihooks}]
--- Import hook support (for \refmodule{rexec}; may become obsolete).

\item[\module{smtpd}]
--- An SMTP daemon implementation which meets the minimum requirements
for \rfc{821} conformance.
\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[\module{dospath}]
--- Implementation of \module{os.path} on MS-DOS.

\item[\module{ntpath}]
--- Implementation on \module{os.path} on Win32, Win64, WinCE, and
OS/2 platforms.

\item[\module{posixpath}]
--- Implementation on \module{os.path} on \POSIX.
\end{description}


\section{Multimedia}

\begin{description}
\item[\module{audiodev}]
--- Platform-independent API for playing audio data.

\item[\module{sunaudio}]
--- Interpret Sun audio headers (may become obsolete or a tool/demo).

\item[\module{toaiff}]
--- Convert "arbitrary" sound files to AIFF files; should probably
become a tool or demo.  Requires the external program \program{sox}.
\end{description}


\section{Obsolete \label{obsolete-modules}}

These modules are not normally available for import; additional work
must be done to make them available.

Those which are written in Python will be installed into the directory 
\file{lib-old/} installed as part of the standard library.  To use
these, the directory must be added to \code{sys.path}, possibly using
\envvar{PYTHONPATH}.

Obsolete extension modules written in C are not built by default.
Under \UNIX, these must be enabled by uncommenting the appropriate
lines in \file{Modules/Setup} in the build tree and either rebuilding
Python if the modules are statically linked, or building and
installing the shared object if using dynamically-loaded extensions.

% XXX need Windows instructions!

\begin{description}
\item[\module{addpack}]
--- Alternate approach to packages.  Use the built-in package support
instead.

\item[\module{cmp}]
--- File comparison function.  Use the newer \refmodule{filecmp} instead.

\item[\module{cmpcache}]
--- Caching version of the obsolete \module{cmp} module.  Use the
newer \refmodule{filecmp} instead.

\item[\module{codehack}]
--- 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[\module{dircmp}]
--- Class to build directory diff tools on (may become a demo or tool).
\deprecated{2.0}{The \refmodule{filecmp} module replaces
\module{dircmp}.}

\item[\module{dump}]
--- Print python code that reconstructs a variable.

\item[\module{fmt}]
--- Text formatting abstractions (too slow).

\item[\module{lockfile}]
--- Wrapper around FCNTL file locking (use
\function{fcntl.lockf()}/\function{flock()} instead; see \refmodule{fcntl}).

\item[\module{newdir}]
--- New \function{dir()} function (the standard \function{dir()} is
now just as good).

\item[\module{Para}]
--- Helper for \module{fmt}.

\item[\module{poly}]
--- Polynomials.

\item[\module{regex}]
--- Emacs-style regular expression support; may still be used in some
old code (extension module).  Refer to the
\citetitle[http://www.python.org/doc/1.6/lib/module-regex.html]{Python
1.6 Documentation} for documentation.

\item[\module{regsub}]
--- Regular expression based string replacement utilities, for use
with \module{regex} (extension module).  Refer to the
\citetitle[http://www.python.org/doc/1.6/lib/module-regsub.html]{Python
1.6 Documentation} for documentation.

\item[\module{tb}]
--- Print tracebacks, with a dump of local variables (use
\function{pdb.pm()} or \refmodule{traceback} instead).

\item[\module{timing}]
--- Measure time intervals to high resolution (use
\function{time.clock()} instead).  (This is an extension module.)

\item[\module{tzparse}]
--- Parse a timezone specification (unfinished; may disappear in the
future, and does not work when the \envvar{TZ} environment variable is
not set).

\item[\module{util}]
--- Useful functions that don't fit elsewhere.

\item[\module{whatsound}]
--- Recognize sound files; use \refmodule{sndhdr} instead.

\item[\module{zmod}]
--- Compute properties of mathematical ``fields.''
\end{description}


The following modules are obsolete, but are likely to re-surface as
tools or scripts:

\begin{description}
\item[\module{find}]
--- Find files matching pattern in directory tree.

\item[\module{grep}]
--- \program{grep} implementation in Python.

\item[\module{packmail}]
--- Create a self-unpacking \UNIX{} shell archive.
\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[\module{ni}]
--- Import modules in ``packages.''  Basic package support is now
built in.  The built-in support is very similar to what is provided in
this module.

\item[\module{rand}]
--- Old interface to the random number generator.

\item[\module{soundex}]
--- Algorithm for collapsing names which sound similar to a shared
key.  The specific algorithm doesn't seem to match any published
algorithm.  (This is an extension module.)
\end{description}


\section{SGI-specific Extension modules}

The following are SGI specific, and may be out of touch with the
current version of reality.

\begin{description}
\item[\module{cl}]
--- Interface to the SGI compression library.

\item[\module{sv}]
--- Interface to the ``simple video'' board on SGI Indigo
(obsolete hardware).
\end{description}