mirror of https://github.com/python/cpython
331 lines
7.2 KiB
TeX
331 lines
7.2 KiB
TeX
\chapter{Undocumented Modules}
|
|
\label{undoc}
|
|
|
|
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}
|
|
|
|
\begin{description}
|
|
\item[cPickle.c]
|
|
--- mostly the same as pickle but no subclassing
|
|
|
|
\item[cStringIO.c]
|
|
--- mostly the same as StringIO but no subclassing
|
|
\end{description}
|
|
|
|
|
|
\section{Frameworks; somewhat harder to document, but well worth the effort}
|
|
|
|
\begin{description}
|
|
\item[Tkinter.py]
|
|
--- Interface to Tcl/Tk for graphical user interfaces;
|
|
Fredrik Lundh is working on this one!
|
|
|
|
\item[CGIHTTPServer.py]
|
|
--- CGI-savvy HTTP Server
|
|
|
|
\item[SimpleHTTPServer.py]
|
|
--- Simple HTTP Server
|
|
\end{description}
|
|
|
|
|
|
\section{Stuff useful to a lot of people, including the CGI crowd}
|
|
|
|
\begin{description}
|
|
\item[MimeWriter.py]
|
|
--- Generic MIME writer
|
|
|
|
\item[multifile.py]
|
|
--- make each part of a multipart message ``feel'' like
|
|
|
|
\item[poplib.py]
|
|
--- Post Office Protocol client by Dave Ascher.
|
|
|
|
\item[smtplib.py]
|
|
--- Simple Mail Transfer Protocol (SMTP) client code.
|
|
\end{description}
|
|
|
|
|
|
\section{Miscellaneous useful utilities}
|
|
|
|
Some of these are very old and/or not very robust; marked with ``hmm''.
|
|
|
|
\begin{description}
|
|
\item[calendar.py]
|
|
--- Calendar printing functions
|
|
|
|
\item[ConfigParser.py]
|
|
--- Parse a file of sectioned configuration parameters
|
|
|
|
\item[cmp.py]
|
|
--- Efficiently compare files
|
|
|
|
\item[cmpcache.py]
|
|
--- Efficiently compare files (uses statcache)
|
|
|
|
\item[dircache.py]
|
|
--- like os.listdir, but caches results
|
|
|
|
\item[dircmp.py]
|
|
--- class to build directory diff tools on
|
|
|
|
\item[linecache.py]
|
|
--- Cache lines from files (used by pdb)
|
|
|
|
\item[pipes.py]
|
|
--- Conversion pipeline templates (hmm)
|
|
|
|
\item[popen2.py]
|
|
--- improved popen, can read AND write simultaneously
|
|
|
|
\item[statcache.py]
|
|
--- Maintain a cache of file stats
|
|
|
|
\item[colorsys.py]
|
|
--- Conversion between RGB and other color systems
|
|
|
|
\item[dbhash.py]
|
|
--- (g)dbm-like wrapper for bsdhash.hashopen
|
|
|
|
\item[mhlib.py]
|
|
--- MH interface
|
|
|
|
\item[pty.py]
|
|
--- Pseudo terminal utilities
|
|
|
|
\item[tty.py]
|
|
--- Terminal utilities
|
|
|
|
\item[cmd.py]
|
|
--- build line-oriented command interpreters (used by pdb)
|
|
|
|
\item[bdb.py]
|
|
--- A generic Python debugger base class (used by pdb)
|
|
|
|
\item[wdb.py]
|
|
--- A primitive windowing debugger based on STDWIN.
|
|
|
|
\item[ihooks.py]
|
|
--- Import hook support (for rexec)
|
|
|
|
\item[bisect.py]
|
|
--- Bisection algorithms (this is actually useful at times,
|
|
especially as reference material)
|
|
\end{description}
|
|
|
|
|
|
\section{Parsing Python}
|
|
|
|
(One could argue that these should all be documented together with the
|
|
parser module.)
|
|
|
|
\begin{description}
|
|
\item[tokenize.py]
|
|
--- regular expression that recognizes Python tokens; also
|
|
contains helper code for colorizing Python source code.
|
|
|
|
\item[pyclbr.py]
|
|
--- Parse a Python file and retrieve classes and methods
|
|
\end{description}
|
|
|
|
|
|
\section{Platform specific modules}
|
|
|
|
\begin{description}
|
|
\item[ntpath.py]
|
|
--- equivalent of posixpath on 32-bit Windows
|
|
|
|
\item[dospath.py]
|
|
--- equivalent of posixpath on MS-DOS
|
|
\end{description}
|
|
|
|
|
|
\section{Code objects and files, debugger etc.}
|
|
|
|
\begin{description}
|
|
\item[compileall.py]
|
|
--- force "compilation" of all .py files in a directory
|
|
|
|
\item[py_compile.py]
|
|
--- "compile" a .py file to a .pyc file
|
|
|
|
\item[repr.py]
|
|
--- Redo the `...` (representation) but with limits on most
|
|
sizes (used by pdb)
|
|
\end{description}
|
|
|
|
|
|
\section{Multimedia}
|
|
|
|
\begin{description}
|
|
\item[audiodev.py]
|
|
--- Plays audio files
|
|
|
|
\item[sunau.py]
|
|
--- parse Sun and NeXT audio files
|
|
|
|
\item[sunaudio.py]
|
|
--- interpret sun audio headers
|
|
|
|
\item[toaiff.py]
|
|
--- Convert "arbitrary" sound files to AIFF files
|
|
|
|
\item[sndhdr.py]
|
|
--- recognizing sound files
|
|
|
|
\item[wave.py]
|
|
--- parse WAVE files
|
|
|
|
\item[whatsound.py]
|
|
--- recognizing sound files
|
|
\end{description}
|
|
|
|
|
|
\section{Oddities}
|
|
|
|
These modules are probably also obsolete, or just not very useful.
|
|
|
|
\begin{description}
|
|
\item[dump.py]
|
|
--- Print python code that reconstructs a variable
|
|
|
|
\item[find.py]
|
|
--- find files matching pattern in directory tree
|
|
|
|
\item[fpformat.py]
|
|
--- General floating point formatting functions ---
|
|
interesting demonstration of how to do this without using the \C{}
|
|
library
|
|
|
|
\item[grep.py]
|
|
--- grep
|
|
|
|
\item[mutex.py]
|
|
--- Mutual exclusion --- for use with module sched
|
|
|
|
\item[packmail.py]
|
|
--- create a self-unpacking \UNIX{} shell archive
|
|
|
|
\item[poly.py]
|
|
--- Polynomials
|
|
|
|
\item[sched.py]
|
|
--- event scheduler class
|
|
|
|
\item[shutil.py]
|
|
--- utility functions usable in a shell-like program
|
|
|
|
\item[util.py]
|
|
--- useful functions that don't fit elsewhere
|
|
|
|
\item[zmod.py]
|
|
--- Compute properties of mathematical "fields"
|
|
|
|
\item[tzparse.py]
|
|
--- Parse a timezone specification (unfinished)
|
|
\end{description}
|
|
|
|
|
|
\section{Obsolete}
|
|
|
|
These modules are not on the standard module search path;
|
|
\indexiii{module}{search}{path}
|
|
but are available in the directory \file{lib-old/} installed under
|
|
\file{\textrm{\$prefix}/lib/python1.5/}. To use any of these
|
|
modules, add that directory to \code{sys.path}, possibly using
|
|
\envvar{PYTHONPATH}.
|
|
|
|
\begin{description}
|
|
\item[newdir.py]
|
|
--- New dir() function (the standard dir() is now just as good)
|
|
|
|
\item[addpack.py]
|
|
--- standard support for "packages"
|
|
|
|
\item[fmt.py]
|
|
--- text formatting abstractions (too slow)
|
|
|
|
\item[Para.py]
|
|
--- helper for fmt.py
|
|
|
|
\item[lockfile.py]
|
|
--- wrapper around FCNTL file locking (use
|
|
fcntl.lockf/flock intead)
|
|
|
|
\item[tb.py]
|
|
--- Print tracebacks, with a dump of local variables (use
|
|
pdb.pm() or traceback.py instead)
|
|
|
|
\item[codehack.py]
|
|
--- extract function name or line number from a function
|
|
code object (these are now accessible as attributes: co.co_name,
|
|
func.func_name, co.co_firstlineno)
|
|
\end{description}
|
|
|
|
The following modules were documented in previous versions of this
|
|
manual, but are now considered obsolete:
|
|
|
|
\begin{description}
|
|
\item[ni]
|
|
--- Import modules in ``packages.''
|
|
|
|
\item[rand]
|
|
--- Old interface to the random number generator.
|
|
|
|
\item[soundex]
|
|
--- Algorithm for collapsing names which sound similar to a shared
|
|
key. (This is an extension module.)
|
|
\end{description}
|
|
|
|
|
|
\section{Extension modules}
|
|
|
|
\begin{description}
|
|
\item[bsddbmodule.c]
|
|
--- Interface to the Berkeley DB interface (yet another
|
|
dbm clone).
|
|
|
|
\item[cursesmodule.c]
|
|
--- Curses interface.
|
|
|
|
\item[dlmodule.c]
|
|
--- A highly experimental and dangerous device for calling
|
|
arbitrary C functions in arbitrary shared libraries.
|
|
|
|
\item[newmodule.c]
|
|
--- Tommy Burnette's `new' module (creates new empty objects of
|
|
certain kinds) --- dangerous.
|
|
|
|
\item[nismodule.c]
|
|
--- NIS (a.k.a. Sun's Yellow Pages) interface.
|
|
|
|
\item[timingmodule.c]
|
|
--- Measure time intervals to high resolution (obsolete --- use
|
|
time.clock() instead).
|
|
|
|
\item[stdwinmodule.c]
|
|
--- Interface to STDWIN (an old, unsupported
|
|
platform-independent GUI package). Obsolete; use Tkinter for a
|
|
platform-independent GUI instead.
|
|
|
|
The following are SGI specific:
|
|
|
|
\item[clmodule.c]
|
|
--- Interface to the SGI compression library.
|
|
|
|
\item[svmodule.c]
|
|
--- Interface to the ``simple video'' board on SGI Indigo
|
|
(obsolete hardware).
|
|
|
|
The following is Windows specific:
|
|
|
|
\item[msvcrtmodule.c]
|
|
(in directory \file{PC/}) --- define a number of Windows
|
|
specific goodies like \code{khbit()}, \code{getch()} and
|
|
\code{setmode()}. (Windows 95 and NT only.)
|
|
\end{description}
|