blob: b391a4987cc961aa12de1f18f17f9056a24d7d23 [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 Rossum08157f81997-08-21 02:29:19 +000011cPickle.c -- mostly the same as pickle but no subclassing
12
13cStringIO.c -- mostly the same as StringIO but no subclassing
14
Guido van Rossum612316f1997-03-14 04:12:52 +000015
Fred Drakea007c131997-12-29 21:32:26 +000016\section{Frameworks; somewhat harder to document, but well worth the effort}
Guido van Rossum612316f1997-03-14 04:12:52 +000017
18Tkinter.py -- Interface to Tcl/Tk for graphical user interfaces;
Guido van Rossum15085381997-04-03 23:49:28 +000019Fredrik Lundh is working on this one!
Guido van Rossum612316f1997-03-14 04:12:52 +000020
Guido van Rossum612316f1997-03-14 04:12:52 +000021CGIHTTPServer.py -- CGI-savvy HTTP Server
22
23SimpleHTTPServer.py -- Simple HTTP Server
24
Guido van Rossum612316f1997-03-14 04:12:52 +000025
26\section{Stuff useful to a lot of people, including the CGI crowd}
27
28MimeWriter.py -- Generic MIME writer
29
Guido van Rossum612316f1997-03-14 04:12:52 +000030multifile.py -- make each part of a multipart message ``feel'' like
31
Guido van Rossum00f15691997-11-24 17:50:09 +000032fileinput.py -- convenient loop over the lines in a list of input files.
33
Guido van Rossum612316f1997-03-14 04:12:52 +000034
35\section{Miscellaneous useful utilities}
36
37Some of these are very old and/or not very robust; marked with ``hmm''.
38
Guido van Rossum612316f1997-03-14 04:12:52 +000039calendar.py -- Calendar printing functions
40
Guido van Rossum5de1eb91997-12-30 04:41:56 +000041ConfigParser.py -- Parse a file of sectioned configuration parameters
42
Guido van Rossum612316f1997-03-14 04:12:52 +000043cmp.py -- Efficiently compare files
44
45cmpcache.py -- Efficiently compare files (uses statcache)
46
47dircache.py -- like os.listdir, but caches results
48
49dircmp.py -- class to build directory diff tools on
50
51linecache.py -- Cache lines from files (used by pdb)
52
53pipes.py -- Conversion pipeline templates (hmm)
54
Guido van Rossum5bbf0f71997-04-30 19:41:48 +000055popen2.py -- improved popen, can read AND write simultaneously
Guido van Rossum612316f1997-03-14 04:12:52 +000056
Guido van Rossum612316f1997-03-14 04:12:52 +000057statcache.py -- Maintain a cache of file stats
58
59colorsys.py -- Conversion between RGB and other color systems
60
Guido van Rossum15085381997-04-03 23:49:28 +000061dbhash.py -- (g)dbm-like wrapper for bsdhash.hashopen
62
Guido van Rossum612316f1997-03-14 04:12:52 +000063mhlib.py -- MH interface
64
65pty.py -- Pseudo terminal utilities
66
67tty.py -- Terminal utilities
68
69cmd.py -- build line-oriented command interpreters (used by pdb)
70
Guido van Rossum612316f1997-03-14 04:12:52 +000071bdb.py -- A generic Python debugger base class (used by pdb)
72
73ihooks.py -- Import hook support (for ni and rexec)
74
Guido van Rossum90858221997-08-15 02:52:46 +000075
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
Fred Drakec2112541997-10-06 21:41:30 +000079parser module.)
Guido van Rossumcfaf1431997-07-16 15:48:20 +000080
Guido van Rossum90858221997-08-15 02:52:46 +000081tokenize.py -- regular expression that recognizes Python tokens; also
82contains helper code for colorizing Python source code.
Guido van Rossum612316f1997-03-14 04:12:52 +000083
Guido van Rossum612316f1997-03-14 04:12:52 +000084pyclbr.py -- Parse a Python file and retrieve classes and methods
85
86
87\section{Platform specific modules}
88
89ntpath.py -- equivalent of posixpath on 32-bit Windows
90
91dospath.py -- equivalent of posixpath on MS-DOS
92
Guido van Rossum612316f1997-03-14 04:12:52 +000093
94\section{Code objects and files, debugger etc.}
95
96compileall.py -- force "compilation" of all .py files in a directory
97
98py_compile.py -- "compile" a .py file to a .pyc file
99
Guido van Rossum612316f1997-03-14 04:12:52 +0000100repr.py -- Redo the `...` (representation) but with limits on most
101sizes (used by pdb)
102
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000103copy_reg.py -- helper to provide extensibility for pickle/cPickle
Guido van Rossum612316f1997-03-14 04:12:52 +0000104
105
106\section{Multimedia}
107
108audiodev.py -- Plays audio files
109
110sunau.py -- parse Sun and NeXT audio files
111
112sunaudio.py -- interpret sun audio headers
113
114toaiff.py -- Convert "arbitrary" sound files to AIFF files
115
116sndhdr.py -- recognizing sound files
117
118wave.py -- parse WAVE files
119
120whatsound.py -- recognizing sound files
121
122
123\section{Oddities}
124
125These modules are probably also obsolete, or just not very useful.
126
Guido van Rossum73369351997-11-18 15:30:13 +0000127bisect.py -- Bisection algorithms (this is actually useful at times)
Guido van Rossum612316f1997-03-14 04:12:52 +0000128
129dump.py -- Print python code that reconstructs a variable
130
Guido van Rossum612316f1997-03-14 04:12:52 +0000131find.py -- find files matching pattern in directory tree
132
Guido van Rossum15085381997-04-03 23:49:28 +0000133fpformat.py -- General floating point formatting functions -- obsolete
Guido van Rossum612316f1997-03-14 04:12:52 +0000134
135grep.py -- grep
136
137mutex.py -- Mutual exclusion -- for use with module sched
138
Guido van Rossum5bbf0f71997-04-30 19:41:48 +0000139packmail.py -- create a self-unpacking \UNIX{} shell archive
Guido van Rossum612316f1997-03-14 04:12:52 +0000140
141poly.py -- Polynomials
142
143sched.py -- event scheduler class
144
145shutil.py -- utility functions usable in a shell-like program
146
147util.py -- useful functions that don't fit elsewhere
148
149zmod.py -- Compute properties of mathematical "fields"
150
151tzparse.py -- Parse a timezone specification (unfinished)
152
153
154\section{Obsolete}
155
Guido van Rossumcfaf1431997-07-16 15:48:20 +0000156newdir.py -- New dir() function (the standard dir() is now just as good)
157
Guido van Rossum612316f1997-03-14 04:12:52 +0000158addpack.py -- standard support for "packages" (use ni instead)
159
Guido van Rossum15085381997-04-03 23:49:28 +0000160fmt.py -- text formatting abstractions (too slow)
Guido van Rossum612316f1997-03-14 04:12:52 +0000161
162Para.py -- helper for fmt.py
163
164lockfile.py -- wrapper around FCNTL file locking (use
165fcntl.lockf/flock intead)
166
167tb.py -- Print tracebacks, with a dump of local variables (use
168pdb.pm() or traceback.py instead)
169
Guido van Rossum61c27031997-07-18 21:08:07 +0000170codehack.py -- extract function name or line number from a function
171code object (these are now accessible as attributes: co.co_name,
172func.func_name, co.co_firstlineno)
173
Guido van Rossum612316f1997-03-14 04:12:52 +0000174
175\section{Extension modules}
176
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000177bsddbmodule.c -- Interface to the Berkeley DB interface (yet another
178dbm clone).
179
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000180cursesmodule.c -- Curses interface.
181
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000182dbhashmodule.c -- Obsolete; this functionality is now provided by
183bsddbmodule.c.
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000184
185dlmodule.c -- A highly experimental and dangerous device for calling
186arbitrary C functions in arbitrary shared libraries.
187
188newmodule.c -- Tommy Burnette's `new' module (creates new empty
189objects of certain kinds) -- dangerous.
190
191nismodule.c -- NIS (a.k.a. Sun's Yellow Pages) interface.
192
193timingmodule.c -- Measure time intervals to high resolution (obsolete
194-- use time.clock() instead).
195
Guido van Rossum5bbf0f71997-04-30 19:41:48 +0000196resource.c -- Interface to getrusage() and friends.
197
Guido van Rossumb9ee9c21997-06-02 17:34:02 +0000198stdwinmodule.c -- Interface to STDWIN (an old, unsupported
199platform-independent GUI package). Obsolete; use Tkinter for a
200platform-independent GUI instead.
201
Guido van Rossum8d2893b1997-03-27 20:57:52 +0000202The following are SGI specific:
203
204clmodule.c -- Interface to the SGI compression library.
205
206svmodule.c -- Interface to the ``simple video'' board on SGI Indigo
207(obsolete hardware).