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