blob: 954997869c65ebcca10b5945027396b40f810d4b [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
Guido van Rossum612316f1997-03-14 04:12:52 +000037mailbox.py -- handle Unix style, MMDF style, and MH style mailboxes
38
Guido van Rossumcfaf1431997-07-16 15:48:20 +000039gzip.py -- compression using zlib (compatible with gzip)
40
Guido van Rossum612316f1997-03-14 04:12:52 +000041
42\section{Miscellaneous useful utilities}
43
44Some of these are very old and/or not very robust; marked with ``hmm''.
45
Guido van Rossum612316f1997-03-14 04:12:52 +000046calendar.py -- Calendar printing functions
47
48cmp.py -- Efficiently compare files
49
50cmpcache.py -- Efficiently compare files (uses statcache)
51
52dircache.py -- like os.listdir, but caches results
53
54dircmp.py -- class to build directory diff tools on
55
56linecache.py -- Cache lines from files (used by pdb)
57
58pipes.py -- Conversion pipeline templates (hmm)
59
Guido van Rossum5bbf0f71997-04-30 19:41:48 +000060popen2.py -- improved popen, can read AND write simultaneously
Guido van Rossum612316f1997-03-14 04:12:52 +000061
Guido van Rossum612316f1997-03-14 04:12:52 +000062statcache.py -- Maintain a cache of file stats
63
64colorsys.py -- Conversion between RGB and other color systems
65
Guido van Rossum15085381997-04-03 23:49:28 +000066dbhash.py -- (g)dbm-like wrapper for bsdhash.hashopen
67
Guido van Rossum612316f1997-03-14 04:12:52 +000068mhlib.py -- MH interface
69
70pty.py -- Pseudo terminal utilities
71
72tty.py -- Terminal utilities
73
74cmd.py -- build line-oriented command interpreters (used by pdb)
75
Guido van Rossum612316f1997-03-14 04:12:52 +000076bdb.py -- A generic Python debugger base class (used by pdb)
77
78ihooks.py -- Import hook support (for ni and rexec)
79
Guido van Rossumcfaf1431997-07-16 15:48:20 +000080pprint.py -- support to pretty-print lists, tuples, & dictionaries recursively
81
Guido van Rossum612316f1997-03-14 04:12:52 +000082
83\section{Parsing Python}
84
85(One could argue that these should all be documented together with the
86parser module; in fact the parser module section already references
87the token and symbol modules.)
88
89token.py -- Tokens (from ``token.h'')
90
91symbol.py -- Symbols (from ``graminit.h'')
92
Guido van Rossumcfaf1431997-07-16 15:48:20 +000093keyword.py -- Keywords (from ``graminit.c'')
94
Guido van Rossum612316f1997-03-14 04:12:52 +000095tokenize.py -- regular expression that recognizes Python tokens
96
Guido van Rossum612316f1997-03-14 04:12:52 +000097pyclbr.py -- Parse a Python file and retrieve classes and methods
98
99
100\section{Platform specific modules}
101
102ntpath.py -- equivalent of posixpath on 32-bit Windows
103
104dospath.py -- equivalent of posixpath on MS-DOS
105
106macpath.py -- equivalent of posixpath on Mac
107
108
109\section{Code objects and files, debugger etc.}
110
111compileall.py -- force "compilation" of all .py files in a directory
112
113py_compile.py -- "compile" a .py file to a .pyc file
114
115codehack.py -- extract a function name from a code object
116
117dis.py -- Disassembler for Python bytecode objects
118
119repr.py -- Redo the `...` (representation) but with limits on most
120sizes (used by pdb)
121
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000122copy_reg.py -- helper to provide extensibility for pickle/cPickle
Guido van Rossum612316f1997-03-14 04:12:52 +0000123
124
125\section{Multimedia}
126
127audiodev.py -- Plays audio files
128
129sunau.py -- parse Sun and NeXT audio files
130
131sunaudio.py -- interpret sun audio headers
132
133toaiff.py -- Convert "arbitrary" sound files to AIFF files
134
135sndhdr.py -- recognizing sound files
136
137wave.py -- parse WAVE files
138
139whatsound.py -- recognizing sound files
140
141
142\section{Oddities}
143
144These modules are probably also obsolete, or just not very useful.
145
146Queue.py -- A multi-producer, multi-consumer queue
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000147p
Guido van Rossum612316f1997-03-14 04:12:52 +0000148bisect.py -- Bisection algorithms
149
150dump.py -- Print python code that reconstructs a variable
151
152emacs.py -- Execute Emacs code from a Python interpreter
153
154find.py -- find files matching pattern in directory tree
155
Guido van Rossum15085381997-04-03 23:49:28 +0000156fpformat.py -- General floating point formatting functions -- obsolete
Guido van Rossum612316f1997-03-14 04:12:52 +0000157
158grep.py -- grep
159
160mutex.py -- Mutual exclusion -- for use with module sched
161
Guido van Rossum5bbf0f71997-04-30 19:41:48 +0000162packmail.py -- create a self-unpacking \UNIX{} shell archive
Guido van Rossum612316f1997-03-14 04:12:52 +0000163
164poly.py -- Polynomials
165
166sched.py -- event scheduler class
167
168shutil.py -- utility functions usable in a shell-like program
169
170util.py -- useful functions that don't fit elsewhere
171
172zmod.py -- Compute properties of mathematical "fields"
173
174tzparse.py -- Parse a timezone specification (unfinished)
175
176
177\section{Obsolete}
178
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000179newdir.py -- New dir() function (the standard dir() is now just as good)
180
Guido van Rossum612316f1997-03-14 04:12:52 +0000181addpack.py -- standard support for "packages" (use ni instead)
182
Guido van Rossum15085381997-04-03 23:49:28 +0000183fmt.py -- text formatting abstractions (too slow)
Guido van Rossum612316f1997-03-14 04:12:52 +0000184
185Para.py -- helper for fmt.py
186
187lockfile.py -- wrapper around FCNTL file locking (use
188fcntl.lockf/flock intead)
189
190tb.py -- Print tracebacks, with a dump of local variables (use
191pdb.pm() or traceback.py instead)
192
193
194\section{Extension modules}
195
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000196bsddbmodule.c -- Interface to the Berkeley DB interface (yet another
197dbm clone).
198
199cmathmodule.c -- Exactly the same as math, except takes complex
200arguments and returns complex results.
201
202cursesmodule.c -- Curses interface.
203
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000204dbhashmodule.c -- Obsolete; this functionality is now provided by
205bsddbmodule.c.
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000206
207dlmodule.c -- A highly experimental and dangerous device for calling
208arbitrary C functions in arbitrary shared libraries.
209
210newmodule.c -- Tommy Burnette's `new' module (creates new empty
211objects of certain kinds) -- dangerous.
212
213nismodule.c -- NIS (a.k.a. Sun's Yellow Pages) interface.
214
215timingmodule.c -- Measure time intervals to high resolution (obsolete
216-- use time.clock() instead).
217
Guido van Rossum5bbf0f71997-04-30 19:41:48 +0000218resource.c -- Interface to getrusage() and friends.
219
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000220stdwinmodule.c -- Interface to STDWIN (an old, unsupported
221platform-independent GUI package). Obsolete; use Tkinter for a
222platform-independent GUI instead.
223
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000224The following are SGI specific:
225
226clmodule.c -- Interface to the SGI compression library.
227
228svmodule.c -- Interface to the ``simple video'' board on SGI Indigo
229(obsolete hardware).