Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 1 | \chapter{Undocumented Modules} |
Fred Drake | 710c035 | 1998-02-18 15:47:17 +0000 | [diff] [blame] | 2 | \label{undoc} |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 3 | |
| 4 | Here's a quick listing of modules that are currently undocumented, but |
| 5 | that should be documented. Feel free to contribute documentation for |
| 6 | them! (The idea and most contents for this chapter were taken from a |
| 7 | posting by Fredrik Lundh; I have revised some modules' status.) |
| 8 | |
| 9 | |
| 10 | \section{Fundamental, and pretty straightforward to document} |
| 11 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 12 | cPickle.c --- mostly the same as pickle but no subclassing |
Guido van Rossum | 08157f8 | 1997-08-21 02:29:19 +0000 | [diff] [blame] | 13 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 14 | cStringIO.c --- mostly the same as StringIO but no subclassing |
Guido van Rossum | 08157f8 | 1997-08-21 02:29:19 +0000 | [diff] [blame] | 15 | |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 16 | |
Fred Drake | a007c13 | 1997-12-29 21:32:26 +0000 | [diff] [blame] | 17 | \section{Frameworks; somewhat harder to document, but well worth the effort} |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 18 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 19 | Tkinter.py --- Interface to Tcl/Tk for graphical user interfaces; |
Guido van Rossum | 1508538 | 1997-04-03 23:49:28 +0000 | [diff] [blame] | 20 | Fredrik Lundh is working on this one! |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 21 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 22 | CGIHTTPServer.py --- CGI-savvy HTTP Server |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 23 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 24 | SimpleHTTPServer.py --- Simple HTTP Server |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 25 | |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 26 | |
| 27 | \section{Stuff useful to a lot of people, including the CGI crowd} |
| 28 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 29 | MimeWriter.py --- Generic MIME writer |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 30 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 31 | multifile.py --- make each part of a multipart message ``feel'' like |
Guido van Rossum | 00f1569 | 1997-11-24 17:50:09 +0000 | [diff] [blame] | 32 | |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 33 | |
| 34 | \section{Miscellaneous useful utilities} |
| 35 | |
| 36 | Some of these are very old and/or not very robust; marked with ``hmm''. |
| 37 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 38 | calendar.py --- Calendar printing functions |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 39 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 40 | ConfigParser.py --- Parse a file of sectioned configuration parameters |
Guido van Rossum | 5de1eb9 | 1997-12-30 04:41:56 +0000 | [diff] [blame] | 41 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 42 | cmp.py --- Efficiently compare files |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 43 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 44 | cmpcache.py --- Efficiently compare files (uses statcache) |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 45 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 46 | dircache.py --- like os.listdir, but caches results |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 47 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 48 | dircmp.py --- class to build directory diff tools on |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 49 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 50 | linecache.py --- Cache lines from files (used by pdb) |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 51 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 52 | pipes.py --- Conversion pipeline templates (hmm) |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 53 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 54 | popen2.py --- improved popen, can read AND write simultaneously |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 55 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 56 | statcache.py --- Maintain a cache of file stats |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 57 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 58 | colorsys.py --- Conversion between RGB and other color systems |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 59 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 60 | dbhash.py --- (g)dbm-like wrapper for bsdhash.hashopen |
Guido van Rossum | 1508538 | 1997-04-03 23:49:28 +0000 | [diff] [blame] | 61 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 62 | mhlib.py --- MH interface |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 63 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 64 | pty.py --- Pseudo terminal utilities |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 65 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 66 | tty.py --- Terminal utilities |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 67 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 68 | cmd.py --- build line-oriented command interpreters (used by pdb) |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 69 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 70 | bdb.py --- A generic Python debugger base class (used by pdb) |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 71 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 72 | ihooks.py --- Import hook support (for rexec) |
| 73 | |
| 74 | bisect.py --- Bisection algorithms (this is actually useful at times, |
| 75 | especially as reference material) |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 76 | |
Guido van Rossum | 9085822 | 1997-08-15 02:52:46 +0000 | [diff] [blame] | 77 | |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 78 | \section{Parsing Python} |
| 79 | |
| 80 | (One could argue that these should all be documented together with the |
Fred Drake | c211254 | 1997-10-06 21:41:30 +0000 | [diff] [blame] | 81 | parser module.) |
Guido van Rossum | cfaf143 | 1997-07-16 15:48:20 +0000 | [diff] [blame] | 82 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 83 | tokenize.py --- regular expression that recognizes Python tokens; also |
Guido van Rossum | 9085822 | 1997-08-15 02:52:46 +0000 | [diff] [blame] | 84 | contains helper code for colorizing Python source code. |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 85 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 86 | pyclbr.py --- Parse a Python file and retrieve classes and methods |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 87 | |
| 88 | |
| 89 | \section{Platform specific modules} |
| 90 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 91 | ntpath.py --- equivalent of posixpath on 32-bit Windows |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 92 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 93 | dospath.py --- equivalent of posixpath on MS-DOS |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 94 | |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 95 | |
| 96 | \section{Code objects and files, debugger etc.} |
| 97 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 98 | compileall.py --- force "compilation" of all .py files in a directory |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 99 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 100 | py_compile.py --- "compile" a .py file to a .pyc file |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 101 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 102 | repr.py --- Redo the `...` (representation) but with limits on most |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 103 | sizes (used by pdb) |
| 104 | |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 105 | |
| 106 | \section{Multimedia} |
| 107 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 108 | audiodev.py --- Plays audio files |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 109 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 110 | sunau.py --- parse Sun and NeXT audio files |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 111 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 112 | sunaudio.py --- interpret sun audio headers |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 113 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 114 | toaiff.py --- Convert "arbitrary" sound files to AIFF files |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 115 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 116 | sndhdr.py --- recognizing sound files |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 117 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 118 | wave.py --- parse WAVE files |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 119 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 120 | whatsound.py --- recognizing sound files |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 121 | |
| 122 | |
| 123 | \section{Oddities} |
| 124 | |
| 125 | These modules are probably also obsolete, or just not very useful. |
| 126 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 127 | dump.py --- Print python code that reconstructs a variable |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 128 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 129 | find.py --- find files matching pattern in directory tree |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 130 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 131 | fpformat.py --- General floating point formatting functions --- |
| 132 | interesting demonstration of how to do this without using the \C{} |
| 133 | library |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 134 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 135 | grep.py --- grep |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 136 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 137 | mutex.py --- Mutual exclusion --- for use with module sched |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 138 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 139 | packmail.py --- create a self-unpacking \UNIX{} shell archive |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 140 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 141 | poly.py --- Polynomials |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 142 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 143 | sched.py --- event scheduler class |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 144 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 145 | shutil.py --- utility functions usable in a shell-like program |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 146 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 147 | util.py --- useful functions that don't fit elsewhere |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 148 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 149 | zmod.py --- Compute properties of mathematical "fields" |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 150 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 151 | tzparse.py --- Parse a timezone specification (unfinished) |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 152 | |
| 153 | |
| 154 | \section{Obsolete} |
| 155 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 156 | These modules are not on the standard module search path; |
| 157 | \indexiii{module}{search}{path} |
| 158 | but are available in the directory \file{lib-old/} installed under |
| 159 | \file{\textrm{\$prefix}/lib/python\version/}. To use any of these |
| 160 | modules, add that directory to \code{sys.path}, possibly using |
| 161 | \envvar{PYTHONPATH}. |
Guido van Rossum | cfaf143 | 1997-07-16 15:48:20 +0000 | [diff] [blame] | 162 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 163 | newdir.py --- New dir() function (the standard dir() is now just as good) |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 164 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 165 | addpack.py --- standard support for "packages" |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 166 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 167 | fmt.py --- text formatting abstractions (too slow) |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 168 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 169 | Para.py --- helper for fmt.py |
| 170 | |
| 171 | lockfile.py --- wrapper around FCNTL file locking (use |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 172 | fcntl.lockf/flock intead) |
| 173 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 174 | tb.py --- Print tracebacks, with a dump of local variables (use |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 175 | pdb.pm() or traceback.py instead) |
| 176 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 177 | codehack.py --- extract function name or line number from a function |
Guido van Rossum | 61c2703 | 1997-07-18 21:08:07 +0000 | [diff] [blame] | 178 | code object (these are now accessible as attributes: co.co_name, |
| 179 | func.func_name, co.co_firstlineno) |
| 180 | |
Guido van Rossum | 612316f | 1997-03-14 04:12:52 +0000 | [diff] [blame] | 181 | |
| 182 | \section{Extension modules} |
| 183 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 184 | bsddbmodule.c --- Interface to the Berkeley DB interface (yet another |
Guido van Rossum | 8d2893b | 1997-03-27 20:57:52 +0000 | [diff] [blame] | 185 | dbm clone). |
| 186 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 187 | cursesmodule.c --- Curses interface. |
Guido van Rossum | 8d2893b | 1997-03-27 20:57:52 +0000 | [diff] [blame] | 188 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 189 | dlmodule.c --- A highly experimental and dangerous device for calling |
Guido van Rossum | 8d2893b | 1997-03-27 20:57:52 +0000 | [diff] [blame] | 190 | arbitrary C functions in arbitrary shared libraries. |
| 191 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 192 | newmodule.c --- Tommy Burnette's `new' module (creates new empty |
| 193 | objects of certain kinds) --- dangerous. |
Guido van Rossum | 8d2893b | 1997-03-27 20:57:52 +0000 | [diff] [blame] | 194 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 195 | nismodule.c --- NIS (a.k.a. Sun's Yellow Pages) interface. |
Guido van Rossum | 8d2893b | 1997-03-27 20:57:52 +0000 | [diff] [blame] | 196 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 197 | timingmodule.c --- Measure time intervals to high resolution (obsolete |
| 198 | --- use time.clock() instead). |
Guido van Rossum | 8d2893b | 1997-03-27 20:57:52 +0000 | [diff] [blame] | 199 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 200 | stdwinmodule.c --- Interface to STDWIN (an old, unsupported |
Guido van Rossum | b9ee9c2 | 1997-06-02 17:34:02 +0000 | [diff] [blame] | 201 | platform-independent GUI package). Obsolete; use Tkinter for a |
| 202 | platform-independent GUI instead. |
| 203 | |
Guido van Rossum | 8d2893b | 1997-03-27 20:57:52 +0000 | [diff] [blame] | 204 | The following are SGI specific: |
| 205 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 206 | clmodule.c --- Interface to the SGI compression library. |
Guido van Rossum | 8d2893b | 1997-03-27 20:57:52 +0000 | [diff] [blame] | 207 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 208 | svmodule.c --- Interface to the ``simple video'' board on SGI Indigo |
Guido van Rossum | 8d2893b | 1997-03-27 20:57:52 +0000 | [diff] [blame] | 209 | (obsolete hardware). |
Guido van Rossum | 9bdc436 | 1998-03-03 02:00:14 +0000 | [diff] [blame] | 210 | |
| 211 | The following is Windows specific: |
| 212 | |
Fred Drake | 71c1e50 | 1998-04-04 07:03:19 +0000 | [diff] [blame^] | 213 | msvcrtmodule.c (in directory PC) --- define a number of Windows |
Guido van Rossum | 9bdc436 | 1998-03-03 02:00:14 +0000 | [diff] [blame] | 214 | specific goodies like \code{khbit()}, \code{getch()} and |
| 215 | \code{setmode()}. (Windows 95 and NT only.) |