blob: 55f30a9cac5545d0bc2849eabdac804723cd701e [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
Guido van Rossum612316f1997-03-14 04:12:52 +000026
27\section{Stuff useful to a lot of people, including the CGI crowd}
28
29MimeWriter.py -- Generic MIME writer
30
31mimify.py -- Mimification and unmimification of mail messages
32
33multifile.py -- make each part of a multipart message ``feel'' like
34
Guido van Rossumcfaf1431997-07-16 15:48:20 +000035gzip.py -- compression using zlib (compatible with gzip)
36
Guido van Rossum612316f1997-03-14 04:12:52 +000037
38\section{Miscellaneous useful utilities}
39
40Some of these are very old and/or not very robust; marked with ``hmm''.
41
Guido van Rossum612316f1997-03-14 04:12:52 +000042calendar.py -- Calendar printing functions
43
44cmp.py -- Efficiently compare files
45
46cmpcache.py -- Efficiently compare files (uses statcache)
47
48dircache.py -- like os.listdir, but caches results
49
50dircmp.py -- class to build directory diff tools on
51
52linecache.py -- Cache lines from files (used by pdb)
53
54pipes.py -- Conversion pipeline templates (hmm)
55
Guido van Rossum5bbf0f71997-04-30 19:41:48 +000056popen2.py -- improved popen, can read AND write simultaneously
Guido van Rossum612316f1997-03-14 04:12:52 +000057
Guido van Rossum612316f1997-03-14 04:12:52 +000058statcache.py -- Maintain a cache of file stats
59
60colorsys.py -- Conversion between RGB and other color systems
61
Guido van Rossum15085381997-04-03 23:49:28 +000062dbhash.py -- (g)dbm-like wrapper for bsdhash.hashopen
63
Guido van Rossum612316f1997-03-14 04:12:52 +000064mhlib.py -- MH interface
65
66pty.py -- Pseudo terminal utilities
67
68tty.py -- Terminal utilities
69
70cmd.py -- build line-oriented command interpreters (used by pdb)
71
Guido van Rossum612316f1997-03-14 04:12:52 +000072bdb.py -- A generic Python debugger base class (used by pdb)
73
74ihooks.py -- Import hook support (for ni and rexec)
75
Guido van Rossum612316f1997-03-14 04:12:52 +000076\section{Parsing Python}
77
78(One could argue that these should all be documented together with the
79parser module; in fact the parser module section already references
80the token and symbol modules.)
81
82token.py -- Tokens (from ``token.h'')
83
84symbol.py -- Symbols (from ``graminit.h'')
85
Guido van Rossumcfaf1431997-07-16 15:48:20 +000086keyword.py -- Keywords (from ``graminit.c'')
87
Guido van Rossum612316f1997-03-14 04:12:52 +000088tokenize.py -- regular expression that recognizes Python tokens
89
Guido van Rossum612316f1997-03-14 04:12:52 +000090pyclbr.py -- Parse a Python file and retrieve classes and methods
91
92
93\section{Platform specific modules}
94
95ntpath.py -- equivalent of posixpath on 32-bit Windows
96
97dospath.py -- equivalent of posixpath on MS-DOS
98
99macpath.py -- equivalent of posixpath on Mac
100
101
102\section{Code objects and files, debugger etc.}
103
104compileall.py -- force "compilation" of all .py files in a directory
105
106py_compile.py -- "compile" a .py file to a .pyc file
107
Guido van Rossum612316f1997-03-14 04:12:52 +0000108dis.py -- Disassembler for Python bytecode objects
109
110repr.py -- Redo the `...` (representation) but with limits on most
111sizes (used by pdb)
112
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000113copy_reg.py -- helper to provide extensibility for pickle/cPickle
Guido van Rossum612316f1997-03-14 04:12:52 +0000114
115
116\section{Multimedia}
117
118audiodev.py -- Plays audio files
119
120sunau.py -- parse Sun and NeXT audio files
121
122sunaudio.py -- interpret sun audio headers
123
124toaiff.py -- Convert "arbitrary" sound files to AIFF files
125
126sndhdr.py -- recognizing sound files
127
128wave.py -- parse WAVE files
129
130whatsound.py -- recognizing sound files
131
132
133\section{Oddities}
134
135These modules are probably also obsolete, or just not very useful.
136
137Queue.py -- A multi-producer, multi-consumer queue
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000138p
Guido van Rossum612316f1997-03-14 04:12:52 +0000139bisect.py -- Bisection algorithms
140
141dump.py -- Print python code that reconstructs a variable
142
143emacs.py -- Execute Emacs code from a Python interpreter
144
145find.py -- find files matching pattern in directory tree
146
Guido van Rossum15085381997-04-03 23:49:28 +0000147fpformat.py -- General floating point formatting functions -- obsolete
Guido van Rossum612316f1997-03-14 04:12:52 +0000148
149grep.py -- grep
150
151mutex.py -- Mutual exclusion -- for use with module sched
152
Guido van Rossum5bbf0f71997-04-30 19:41:48 +0000153packmail.py -- create a self-unpacking \UNIX{} shell archive
Guido van Rossum612316f1997-03-14 04:12:52 +0000154
155poly.py -- Polynomials
156
157sched.py -- event scheduler class
158
159shutil.py -- utility functions usable in a shell-like program
160
161util.py -- useful functions that don't fit elsewhere
162
163zmod.py -- Compute properties of mathematical "fields"
164
165tzparse.py -- Parse a timezone specification (unfinished)
166
167
168\section{Obsolete}
169
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000170newdir.py -- New dir() function (the standard dir() is now just as good)
171
Guido van Rossum612316f1997-03-14 04:12:52 +0000172addpack.py -- standard support for "packages" (use ni instead)
173
Guido van Rossum15085381997-04-03 23:49:28 +0000174fmt.py -- text formatting abstractions (too slow)
Guido van Rossum612316f1997-03-14 04:12:52 +0000175
176Para.py -- helper for fmt.py
177
178lockfile.py -- wrapper around FCNTL file locking (use
179fcntl.lockf/flock intead)
180
181tb.py -- Print tracebacks, with a dump of local variables (use
182pdb.pm() or traceback.py instead)
183
Guido van Rossum61c27031997-07-18 21:08:07 +0000184codehack.py -- extract function name or line number from a function
185code object (these are now accessible as attributes: co.co_name,
186func.func_name, co.co_firstlineno)
187
Guido van Rossum612316f1997-03-14 04:12:52 +0000188
189\section{Extension modules}
190
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000191bsddbmodule.c -- Interface to the Berkeley DB interface (yet another
192dbm clone).
193
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000194cursesmodule.c -- Curses interface.
195
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000196dbhashmodule.c -- Obsolete; this functionality is now provided by
197bsddbmodule.c.
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000198
199dlmodule.c -- A highly experimental and dangerous device for calling
200arbitrary C functions in arbitrary shared libraries.
201
202newmodule.c -- Tommy Burnette's `new' module (creates new empty
203objects of certain kinds) -- dangerous.
204
205nismodule.c -- NIS (a.k.a. Sun's Yellow Pages) interface.
206
207timingmodule.c -- Measure time intervals to high resolution (obsolete
208-- use time.clock() instead).
209
Guido van Rossum5bbf0f71997-04-30 19:41:48 +0000210resource.c -- Interface to getrusage() and friends.
211
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000212stdwinmodule.c -- Interface to STDWIN (an old, unsupported
213platform-independent GUI package). Obsolete; use Tkinter for a
214platform-independent GUI instead.
215
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000216The following are SGI specific:
217
218clmodule.c -- Interface to the SGI compression library.
219
220svmodule.c -- Interface to the ``simple video'' board on SGI Indigo
221(obsolete hardware).