summaryrefslogtreecommitdiffstats
path: root/Doc/libundoc.tex
blob: c2ad10227f27d0c78e3a670c0d219ace2d91a9fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
\chapter{Undocumented Modules}

Here's a quick listing of modules that are currently undocumented, but
that should be documented.  Feel free to contribute documentation for
them!  (The idea and most contents for this chapter were taken from a
posting by Fredrik Lundh; I have revised some modules' status.)


\section{Fundamental, and pretty straightforward to document}

UserDict.py -- user-defined wrapper around dictionary objects

UserList.py -- user-defined wrapper around list objects

ni.py -- New import scheme with package support

site.py -- easy access to site-specific modules


\section{Frameworks; somewhat harder to document, but
well worth the effort}

Tkinter.py -- Interface to Tcl/Tk for graphical user interfaces;
Fredrik is working on this one!

BaseHTTPServer.py -- HTTP server base class

CGIHTTPServer.py -- CGI-savvy HTTP Server

SimpleHTTPServer.py -- Simple HTTP Server

SocketServer.py -- Generic socket server classes

anydbm.py -- Generic interface to all dbm clones


\section{Stuff useful to a lot of people, including the CGI crowd}

MimeWriter.py -- Generic MIME writer

mimify.py -- Mimification and unmimification of mail messages

multifile.py -- make each part of a multipart message ``feel'' like

base64.py -- Conversions to/from base64 transport encoding

mailbox.py -- handle Unix style, MMDF style, and MH style mailboxes

quopri.py -- Conversions to/from quoted-printable transport encoding


\section{Miscellaneous useful utilities}

Some of these are very old and/or not very robust; marked with ``hmm''.

fnmatch.py -- filename globbing (low level interface)

calendar.py -- Calendar printing functions

cmp.py -- Efficiently compare files

cmpcache.py -- Efficiently compare files (uses statcache)

dircache.py -- like os.listdir, but caches results

dircmp.py -- class to build directory diff tools on

linecache.py -- Cache lines from files (used by pdb)

pipes.py -- Conversion pipeline templates (hmm)

popen2.py -- improved popen? (read AND write simultaneously) (hmm)

random.py -- random numbers, layered on top of whrandom.py

statcache.py -- Maintain a cache of file stats

colorsys.py -- Conversion between RGB and other color systems

commands.py -- executing commands and looking at their output and
status

dumbdbm.py -- A dumb and slow but simple dbm clone (anydbm's last
resort)

mhlib.py -- MH interface

pty.py -- Pseudo terminal utilities

tty.py -- Terminal utilities

cmd.py -- build line-oriented command interpreters (used by pdb)

whichdb.py -- Guess which db package to use to open a db file

bdb.py -- A generic Python debugger base class (used by pdb)

ihooks.py -- Import hook support (for ni and rexec)


\section{Parsing Python}

(One could argue that these should all be documented together with the
parser module; in fact the parser module section already references
the token and symbol modules.)

token.py -- Tokens (from ``token.h'')

symbol.py -- Symbols (from ``graminit.h'')

tokenize.py -- regular expression that recognizes Python tokens

AST.py -- see parser module documentation

pyclbr.py -- Parse a Python file and retrieve classes and methods


\section{Platform specific modules}

ntpath.py -- equivalent of posixpath on 32-bit Windows

dospath.py -- equivalent of posixpath on MS-DOS

macpath.py -- equivalent of posixpath on Mac


\section{Code objects and files, debugger etc.}

compileall.py -- force "compilation" of all .py files in a directory

py_compile.py -- "compile" a .py file to a .pyc file

codehack.py -- extract a function name from a code object

dis.py -- Disassembler for Python bytecode objects

repr.py -- Redo the `...` (representation) but with limits on most
sizes (used by pdb)

newdir.py -- New dir() function


\section{Multimedia}

audiodev.py -- Plays audio files

sunau.py -- parse Sun and NeXT audio files

sunaudio.py -- interpret sun audio headers

toaiff.py -- Convert "arbitrary" sound files to AIFF files

sndhdr.py -- recognizing sound files

wave.py -- parse WAVE files

whatsound.py -- recognizing sound files


\section{Oddities}

These modules are probably also obsolete, or just not very useful.

Queue.py -- A multi-producer, multi-consumer queue

bisect.py -- Bisection algorithms

dump.py -- Print python code that reconstructs a variable

emacs.py -- Execute Emacs code from a Python interpreter

find.py -- find files matching pattern in directory tree

fpformat.py -- General floating point formatting functions

grep.py -- grep

mutex.py -- Mutual exclusion -- for use with module sched

packmail.py -- create a self-unpacking shell archive

poly.py -- Polynomials

sched.py -- event scheduler class

shutil.py -- utility functions usable in a shell-like program

util.py -- useful functions that don't fit elsewhere

zmod.py -- Compute properties of mathematical "fields"

tzparse.py -- Parse a timezone specification (unfinished)


\section{Obsolete}

addpack.py -- standard support for "packages" (use ni instead)

dbhash.py -- (g)dbm-compatible interface to bsdhash.hashopen (use
bsddb instead)

fmt.py -- obsolete text formatting abstractions

Para.py -- helper for fmt.py

lockfile.py -- wrapper around FCNTL file locking (use
fcntl.lockf/flock intead)

tb.py -- Print tracebacks, with a dump of local variables (use
pdb.pm() or traceback.py instead)


\section{Extension modules}

There are some undocumented goodies here, too.  Someone should make a
list.