blob: 735e902a836ac6f5667d1ecdd973bd4c4710d2f0 [file] [log] [blame]
Guido van Rossum612316f1997-03-14 04:12:52 +00001\chapter{Undocumented Modules}
2
3Here's a quick listing of modules that are currently undocumented, but
4that should be documented. Feel free to contribute documentation for
5them! (The idea and most contents for this chapter were taken from a
6posting by Fredrik Lundh; I have revised some modules' status.)
7
8
9\section{Fundamental, and pretty straightforward to document}
10
11UserDict.py -- user-defined wrapper around dictionary objects
12
13UserList.py -- user-defined wrapper around list objects
14
15ni.py -- New import scheme with package support
16
17site.py -- easy access to site-specific modules
18
19
20\section{Frameworks; somewhat harder to document, but
21well worth the effort}
22
23Tkinter.py -- Interface to Tcl/Tk for graphical user interfaces;
24Fredrik is working on this one!
25
26BaseHTTPServer.py -- HTTP server base class
27
28CGIHTTPServer.py -- CGI-savvy HTTP Server
29
30SimpleHTTPServer.py -- Simple HTTP Server
31
32SocketServer.py -- Generic socket server classes
33
34anydbm.py -- Generic interface to all dbm clones
35
36
37\section{Stuff useful to a lot of people, including the CGI crowd}
38
39MimeWriter.py -- Generic MIME writer
40
41mimify.py -- Mimification and unmimification of mail messages
42
43multifile.py -- make each part of a multipart message ``feel'' like
44
45base64.py -- Conversions to/from base64 transport encoding
46
Guido van Rossum612316f1997-03-14 04:12:52 +000047mailbox.py -- handle Unix style, MMDF style, and MH style mailboxes
48
49quopri.py -- Conversions to/from quoted-printable transport encoding
50
51
52\section{Miscellaneous useful utilities}
53
54Some of these are very old and/or not very robust; marked with ``hmm''.
55
Guido van Rossum612316f1997-03-14 04:12:52 +000056fnmatch.py -- filename globbing (low level interface)
57
58calendar.py -- Calendar printing functions
59
60cmp.py -- Efficiently compare files
61
62cmpcache.py -- Efficiently compare files (uses statcache)
63
64dircache.py -- like os.listdir, but caches results
65
66dircmp.py -- class to build directory diff tools on
67
68linecache.py -- Cache lines from files (used by pdb)
69
70pipes.py -- Conversion pipeline templates (hmm)
71
72popen2.py -- improved popen? (read AND write simultaneously) (hmm)
73
74random.py -- random numbers, layered on top of whrandom.py
75
76statcache.py -- Maintain a cache of file stats
77
78colorsys.py -- Conversion between RGB and other color systems
79
80commands.py -- executing commands and looking at their output and
81status
82
83dumbdbm.py -- A dumb and slow but simple dbm clone (anydbm's last
84resort)
85
86mhlib.py -- MH interface
87
88pty.py -- Pseudo terminal utilities
89
90tty.py -- Terminal utilities
91
92cmd.py -- build line-oriented command interpreters (used by pdb)
93
94whichdb.py -- Guess which db package to use to open a db file
95
96bdb.py -- A generic Python debugger base class (used by pdb)
97
98ihooks.py -- Import hook support (for ni and rexec)
99
100
101\section{Parsing Python}
102
103(One could argue that these should all be documented together with the
104parser module; in fact the parser module section already references
105the token and symbol modules.)
106
107token.py -- Tokens (from ``token.h'')
108
109symbol.py -- Symbols (from ``graminit.h'')
110
111tokenize.py -- regular expression that recognizes Python tokens
112
113AST.py -- see parser module documentation
114
115pyclbr.py -- Parse a Python file and retrieve classes and methods
116
117
118\section{Platform specific modules}
119
120ntpath.py -- equivalent of posixpath on 32-bit Windows
121
122dospath.py -- equivalent of posixpath on MS-DOS
123
124macpath.py -- equivalent of posixpath on Mac
125
126
127\section{Code objects and files, debugger etc.}
128
129compileall.py -- force "compilation" of all .py files in a directory
130
131py_compile.py -- "compile" a .py file to a .pyc file
132
133codehack.py -- extract a function name from a code object
134
135dis.py -- Disassembler for Python bytecode objects
136
137repr.py -- Redo the `...` (representation) but with limits on most
138sizes (used by pdb)
139
140newdir.py -- New dir() function
141
142
143\section{Multimedia}
144
145audiodev.py -- Plays audio files
146
147sunau.py -- parse Sun and NeXT audio files
148
149sunaudio.py -- interpret sun audio headers
150
151toaiff.py -- Convert "arbitrary" sound files to AIFF files
152
153sndhdr.py -- recognizing sound files
154
155wave.py -- parse WAVE files
156
157whatsound.py -- recognizing sound files
158
159
160\section{Oddities}
161
162These modules are probably also obsolete, or just not very useful.
163
164Queue.py -- A multi-producer, multi-consumer queue
165
166bisect.py -- Bisection algorithms
167
168dump.py -- Print python code that reconstructs a variable
169
170emacs.py -- Execute Emacs code from a Python interpreter
171
172find.py -- find files matching pattern in directory tree
173
174fpformat.py -- General floating point formatting functions
175
176grep.py -- grep
177
178mutex.py -- Mutual exclusion -- for use with module sched
179
180packmail.py -- create a self-unpacking shell archive
181
182poly.py -- Polynomials
183
184sched.py -- event scheduler class
185
186shutil.py -- utility functions usable in a shell-like program
187
188util.py -- useful functions that don't fit elsewhere
189
190zmod.py -- Compute properties of mathematical "fields"
191
192tzparse.py -- Parse a timezone specification (unfinished)
193
194
195\section{Obsolete}
196
197addpack.py -- standard support for "packages" (use ni instead)
198
199dbhash.py -- (g)dbm-compatible interface to bsdhash.hashopen (use
200bsddb instead)
201
202fmt.py -- obsolete text formatting abstractions
203
204Para.py -- helper for fmt.py
205
206lockfile.py -- wrapper around FCNTL file locking (use
207fcntl.lockf/flock intead)
208
209tb.py -- Print tracebacks, with a dump of local variables (use
210pdb.pm() or traceback.py instead)
211
212
213\section{Extension modules}
214
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000215bsddbmodule.c -- Interface to the Berkeley DB interface (yet another
216dbm clone).
217
218cmathmodule.c -- Exactly the same as math, except takes complex
219arguments and returns complex results.
220
221cursesmodule.c -- Curses interface.
222
223dbhashmodule.c -- Obsolete.
224
225dlmodule.c -- A highly experimental and dangerous device for calling
226arbitrary C functions in arbitrary shared libraries.
227
228newmodule.c -- Tommy Burnette's `new' module (creates new empty
229objects of certain kinds) -- dangerous.
230
231nismodule.c -- NIS (a.k.a. Sun's Yellow Pages) interface.
232
233timingmodule.c -- Measure time intervals to high resolution (obsolete
234-- use time.clock() instead).
235
236The following are SGI specific:
237
238clmodule.c -- Interface to the SGI compression library.
239
240svmodule.c -- Interface to the ``simple video'' board on SGI Indigo
241(obsolete hardware).