blob: 983ea70ca661ceba123f514c7ee5ed4d17402fd6 [file] [log] [blame]
Guido van Rossum612316f1997-03-14 04:12:52 +00001\chapter{Undocumented Modules}
Fred Drake710c0351998-02-18 15:47:17 +00002\label{undoc}
Guido van Rossum612316f1997-03-14 04:12:52 +00003
4Here's a quick listing of modules that are currently undocumented, but
5that should be documented. Feel free to contribute documentation for
6them! (The idea and most contents for this chapter were taken from a
7posting by Fredrik Lundh; I have revised some modules' status.)
8
9
10\section{Fundamental, and pretty straightforward to document}
11
Guido van Rossum08157f81997-08-21 02:29:19 +000012cPickle.c -- mostly the same as pickle but no subclassing
13
14cStringIO.c -- mostly the same as StringIO but no subclassing
15
Guido van Rossum612316f1997-03-14 04:12:52 +000016
Fred Drakea007c131997-12-29 21:32:26 +000017\section{Frameworks; somewhat harder to document, but well worth the effort}
Guido van Rossum612316f1997-03-14 04:12:52 +000018
19Tkinter.py -- Interface to Tcl/Tk for graphical user interfaces;
Guido van Rossum15085381997-04-03 23:49:28 +000020Fredrik Lundh is working on this one!
Guido van Rossum612316f1997-03-14 04:12:52 +000021
Guido van Rossum612316f1997-03-14 04:12:52 +000022CGIHTTPServer.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
Guido van Rossum612316f1997-03-14 04:12:52 +000031multifile.py -- make each part of a multipart message ``feel'' like
32
Guido van Rossum00f15691997-11-24 17:50:09 +000033fileinput.py -- convenient loop over the lines in a list of input files.
34
Guido van Rossum612316f1997-03-14 04:12:52 +000035
36\section{Miscellaneous useful utilities}
37
38Some of these are very old and/or not very robust; marked with ``hmm''.
39
Guido van Rossum612316f1997-03-14 04:12:52 +000040calendar.py -- Calendar printing functions
41
Guido van Rossum5de1eb91997-12-30 04:41:56 +000042ConfigParser.py -- Parse a file of sectioned configuration parameters
43
Guido van Rossum612316f1997-03-14 04:12:52 +000044cmp.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
Guido van Rossum612316f1997-03-14 04:12:52 +000094
95\section{Code objects and files, debugger etc.}
96
97compileall.py -- force "compilation" of all .py files in a directory
98
99py_compile.py -- "compile" a .py file to a .pyc file
100
Guido van Rossum612316f1997-03-14 04:12:52 +0000101repr.py -- Redo the `...` (representation) but with limits on most
102sizes (used by pdb)
103
Guido van Rossum612316f1997-03-14 04:12:52 +0000104
105\section{Multimedia}
106
107audiodev.py -- Plays audio files
108
109sunau.py -- parse Sun and NeXT audio files
110
111sunaudio.py -- interpret sun audio headers
112
113toaiff.py -- Convert "arbitrary" sound files to AIFF files
114
115sndhdr.py -- recognizing sound files
116
117wave.py -- parse WAVE files
118
119whatsound.py -- recognizing sound files
120
121
122\section{Oddities}
123
124These modules are probably also obsolete, or just not very useful.
125
Guido van Rossum73369351997-11-18 15:30:13 +0000126bisect.py -- Bisection algorithms (this is actually useful at times)
Guido van Rossum612316f1997-03-14 04:12:52 +0000127
128dump.py -- Print python code that reconstructs a variable
129
Guido van Rossum612316f1997-03-14 04:12:52 +0000130find.py -- find files matching pattern in directory tree
131
Guido van Rossum15085381997-04-03 23:49:28 +0000132fpformat.py -- General floating point formatting functions -- obsolete
Guido van Rossum612316f1997-03-14 04:12:52 +0000133
134grep.py -- grep
135
136mutex.py -- Mutual exclusion -- for use with module sched
137
Guido van Rossum5bbf0f71997-04-30 19:41:48 +0000138packmail.py -- create a self-unpacking \UNIX{} shell archive
Guido van Rossum612316f1997-03-14 04:12:52 +0000139
140poly.py -- Polynomials
141
142sched.py -- event scheduler class
143
144shutil.py -- utility functions usable in a shell-like program
145
146util.py -- useful functions that don't fit elsewhere
147
148zmod.py -- Compute properties of mathematical "fields"
149
150tzparse.py -- Parse a timezone specification (unfinished)
151
152
153\section{Obsolete}
154
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000155newdir.py -- New dir() function (the standard dir() is now just as good)
156
Guido van Rossum612316f1997-03-14 04:12:52 +0000157addpack.py -- standard support for "packages" (use ni instead)
158
Guido van Rossum15085381997-04-03 23:49:28 +0000159fmt.py -- text formatting abstractions (too slow)
Guido van Rossum612316f1997-03-14 04:12:52 +0000160
161Para.py -- helper for fmt.py
162
163lockfile.py -- wrapper around FCNTL file locking (use
164fcntl.lockf/flock intead)
165
166tb.py -- Print tracebacks, with a dump of local variables (use
167pdb.pm() or traceback.py instead)
168
Guido van Rossum61c27031997-07-18 21:08:07 +0000169codehack.py -- extract function name or line number from a function
170code object (these are now accessible as attributes: co.co_name,
171func.func_name, co.co_firstlineno)
172
Guido van Rossum612316f1997-03-14 04:12:52 +0000173
174\section{Extension modules}
175
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000176bsddbmodule.c -- Interface to the Berkeley DB interface (yet another
177dbm clone).
178
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000179cursesmodule.c -- Curses interface.
180
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000181dbhashmodule.c -- Obsolete; this functionality is now provided by
182bsddbmodule.c.
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000183
184dlmodule.c -- A highly experimental and dangerous device for calling
185arbitrary C functions in arbitrary shared libraries.
186
187newmodule.c -- Tommy Burnette's `new' module (creates new empty
188objects of certain kinds) -- dangerous.
189
190nismodule.c -- NIS (a.k.a. Sun's Yellow Pages) interface.
191
192timingmodule.c -- Measure time intervals to high resolution (obsolete
193-- use time.clock() instead).
194
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000195stdwinmodule.c -- Interface to STDWIN (an old, unsupported
196platform-independent GUI package). Obsolete; use Tkinter for a
197platform-independent GUI instead.
198
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000199The following are SGI specific:
200
201clmodule.c -- Interface to the SGI compression library.
202
203svmodule.c -- Interface to the ``simple video'' board on SGI Indigo
204(obsolete hardware).
Guido van Rossum9bdc4361998-03-03 02:00:14 +0000205
206The following is Windows specific:
207
208msvcrtmodule.c (in directory PC) -- define a number of Windows
209specific goodies like \code{khbit()}, \code{getch()} and
210\code{setmode()}. (Windows 95 and NT only.)