blob: 6289affcf8648d6b7a10318bd4264f4b62119ffb [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 Rossum08157f81997-08-21 02:29:19 +000013cPickle.c -- mostly the same as pickle but no subclassing
14
15cStringIO.c -- mostly the same as StringIO but no subclassing
16
Guido van Rossum612316f1997-03-14 04:12:52 +000017
18\section{Frameworks; somewhat harder to document, but
19well worth the effort}
20
21Tkinter.py -- Interface to Tcl/Tk for graphical user interfaces;
Guido van Rossum15085381997-04-03 23:49:28 +000022Fredrik Lundh is working on this one!
Guido van Rossum612316f1997-03-14 04:12:52 +000023
24BaseHTTPServer.py -- HTTP server base class
25
26CGIHTTPServer.py -- CGI-savvy HTTP Server
27
28SimpleHTTPServer.py -- Simple HTTP Server
29
Guido van Rossum612316f1997-03-14 04:12:52 +000030
31\section{Stuff useful to a lot of people, including the CGI crowd}
32
33MimeWriter.py -- Generic MIME writer
34
Guido van Rossum612316f1997-03-14 04:12:52 +000035multifile.py -- make each part of a multipart message ``feel'' like
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 Rossum90858221997-08-15 02:52:46 +000076
Guido van Rossum612316f1997-03-14 04:12:52 +000077\section{Parsing Python}
78
79(One could argue that these should all be documented together with the
Fred Drakec2112541997-10-06 21:41:30 +000080parser module.)
Guido van Rossumcfaf1431997-07-16 15:48:20 +000081
Guido van Rossum90858221997-08-15 02:52:46 +000082tokenize.py -- regular expression that recognizes Python tokens; also
83contains helper code for colorizing Python source code.
Guido van Rossum612316f1997-03-14 04:12:52 +000084
Guido van Rossum612316f1997-03-14 04:12:52 +000085pyclbr.py -- Parse a Python file and retrieve classes and methods
86
87
88\section{Platform specific modules}
89
90ntpath.py -- equivalent of posixpath on 32-bit Windows
91
92dospath.py -- equivalent of posixpath on MS-DOS
93
94macpath.py -- equivalent of posixpath on Mac
95
96
97\section{Code objects and files, debugger etc.}
98
99compileall.py -- force "compilation" of all .py files in a directory
100
101py_compile.py -- "compile" a .py file to a .pyc file
102
Guido van Rossum612316f1997-03-14 04:12:52 +0000103dis.py -- Disassembler for Python bytecode objects
104
105repr.py -- Redo the `...` (representation) but with limits on most
106sizes (used by pdb)
107
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000108copy_reg.py -- helper to provide extensibility for pickle/cPickle
Guido van Rossum612316f1997-03-14 04:12:52 +0000109
110
111\section{Multimedia}
112
113audiodev.py -- Plays audio files
114
115sunau.py -- parse Sun and NeXT audio files
116
117sunaudio.py -- interpret sun audio headers
118
119toaiff.py -- Convert "arbitrary" sound files to AIFF files
120
121sndhdr.py -- recognizing sound files
122
123wave.py -- parse WAVE files
124
125whatsound.py -- recognizing sound files
126
127
128\section{Oddities}
129
130These modules are probably also obsolete, or just not very useful.
131
132Queue.py -- A multi-producer, multi-consumer queue
Fred Drake2df75831997-10-06 21:52:31 +0000133
Guido van Rossum612316f1997-03-14 04:12:52 +0000134bisect.py -- Bisection algorithms
135
136dump.py -- Print python code that reconstructs a variable
137
Guido van Rossum612316f1997-03-14 04:12:52 +0000138find.py -- find files matching pattern in directory tree
139
Guido van Rossum15085381997-04-03 23:49:28 +0000140fpformat.py -- General floating point formatting functions -- obsolete
Guido van Rossum612316f1997-03-14 04:12:52 +0000141
142grep.py -- grep
143
144mutex.py -- Mutual exclusion -- for use with module sched
145
Guido van Rossum5bbf0f71997-04-30 19:41:48 +0000146packmail.py -- create a self-unpacking \UNIX{} shell archive
Guido van Rossum612316f1997-03-14 04:12:52 +0000147
148poly.py -- Polynomials
149
150sched.py -- event scheduler class
151
152shutil.py -- utility functions usable in a shell-like program
153
154util.py -- useful functions that don't fit elsewhere
155
156zmod.py -- Compute properties of mathematical "fields"
157
158tzparse.py -- Parse a timezone specification (unfinished)
159
160
161\section{Obsolete}
162
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000163newdir.py -- New dir() function (the standard dir() is now just as good)
164
Guido van Rossum612316f1997-03-14 04:12:52 +0000165addpack.py -- standard support for "packages" (use ni instead)
166
Guido van Rossum15085381997-04-03 23:49:28 +0000167fmt.py -- text formatting abstractions (too slow)
Guido van Rossum612316f1997-03-14 04:12:52 +0000168
169Para.py -- helper for fmt.py
170
171lockfile.py -- wrapper around FCNTL file locking (use
172fcntl.lockf/flock intead)
173
174tb.py -- Print tracebacks, with a dump of local variables (use
175pdb.pm() or traceback.py instead)
176
Guido van Rossum61c27031997-07-18 21:08:07 +0000177codehack.py -- extract function name or line number from a function
178code object (these are now accessible as attributes: co.co_name,
179func.func_name, co.co_firstlineno)
180
Guido van Rossum612316f1997-03-14 04:12:52 +0000181
182\section{Extension modules}
183
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000184bsddbmodule.c -- Interface to the Berkeley DB interface (yet another
185dbm clone).
186
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000187cursesmodule.c -- Curses interface.
188
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000189dbhashmodule.c -- Obsolete; this functionality is now provided by
190bsddbmodule.c.
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000191
192dlmodule.c -- A highly experimental and dangerous device for calling
193arbitrary C functions in arbitrary shared libraries.
194
195newmodule.c -- Tommy Burnette's `new' module (creates new empty
196objects of certain kinds) -- dangerous.
197
198nismodule.c -- NIS (a.k.a. Sun's Yellow Pages) interface.
199
200timingmodule.c -- Measure time intervals to high resolution (obsolete
201-- use time.clock() instead).
202
Guido van Rossum5bbf0f71997-04-30 19:41:48 +0000203resource.c -- Interface to getrusage() and friends.
204
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000205stdwinmodule.c -- Interface to STDWIN (an old, unsupported
206platform-independent GUI package). Obsolete; use Tkinter for a
207platform-independent GUI instead.
208
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000209The following are SGI specific:
210
211clmodule.c -- Interface to the SGI compression library.
212
213svmodule.c -- Interface to the ``simple video'' board on SGI Indigo
214(obsolete hardware).