Home > Articles > Open Source > Python

Python Libraries

  • Print
  • + Share This

Undocumented Modules

Currently, the modules listed in this section don't have any official documentation. However, you might find some information about them in this book, by browsing an updated version of the online library reference, or by checking some other Web site.


The next modules represent some Python frameworks that don't have any official documentation yet.

Tkinter—This module allows you to create GUIs (graphical user interfaces) because it implements an interface to the Tcl/Tk windowing libraries (see Chapter 15, "Tkinter," for details).

Tkdnd—This module provides drag-and-drop support for Tkinter.

test—This package is responsible for the regression-testing framework.

Miscellaneous Useful Utilities

At this time this book went to press, the following modules didn't have any official documentation.


This module defines a class on which to build directory comparison tools.


This module is an unfinished work to parse a time zone specification.


The ihooks module is a framework that manages the co-existence of different import routines.

Platform Specific Modules

These are implementation details of the os module.

dospath, macpath, posixpath, ntpath

These modules are for their platforms what the os.path module is for the UNIX platform. They can all be used by any platform in order to handle pathnames of different platforms.


At the time this book went to press, the following modules didn't have any official documentation.

audiodev, sunaudio, toaiff


The following modules became obsolete as of release 1.6:

stdwin, soundex, cml, cmpcache, dircache, dump, find, grep, packmail, poly, zmod, strop, util, and whatsound.

Note that release 2.0 hasn't made any module obsolete. All modules that were replaced were moved to the lib-old subdirectory of the distribution. That list, includes: cmp, cmpcache, dircmp, dump, find, grep, packmail, poly, util, whatsound, zmod.


Before version 1.5a4, the ni module was used to support import package statements.


The dump module prints the definition of a variable. Note that this module can be substituted for the pickle module.

>>> import dump
>>> var = (10, 20, 30, 40)
>>> dump.dumpvar("newvar", var)
newvar = (10, 20, 30, 40)

Extension Modules

The following modules are obsolete tools to support GUI implementations.

stdwin—This module provides an interface to the obsolete STDWIN. STDWIN is an unsupported platform-independent GUI interface that was replaced by Tkinter.

,p>stdwinevents—Interacts with the stdwin module by providing piping services.

New Modules on Python 2.0

Next, you a have a list of new modules that were introduced to Python recently. As always, I suggest you take a look at the 2.0 documentation for details about any given module.

atexit—Registers functions to be called when Python exits. If you already use the function sys.exitfunc(), you should change your code to import atexit, and call the function atexit.register(), passing as an argument the function that you want to call on exit.

codecs—Provides support (base classes) for Unicode encoders and decoders, and provides access to Python's codec registry. You can use the functions provided by this module to search for existing encodings, or to register new ones. Most frequently, you will adhere to the function codecs.lookup(encoding), which returns a 4-function tuple: (encoder, decoder, stream_reader, stream_writer). This module along with the unicodedata module was added as part of the new Unicode support to Python 2.0. The condec class defines the interface for stateless encoders and decoders. The following functions and classes are also available in this module.

codec.encode()—Takes a Unicode string, and returns a 2-tuple (8-bit-string, length). The length part of the tuple shows how much of the Unicode string was converted.

codec.decode()—Takes an 8-bit string, and returns a 2-tuple (ustring, length). The length part of the tuple shows how much of the 8-bit string was consumed.

codecs.stream_reader(file_object)—This is a class that supports decoding input from a stream. Objects created with this class carry the read(), readline(), and readlines() methods, which allow you to take the given encoding of the object, and read as a Unicode string.

codecs.stream_writer(file_object)—This is a class that supports encoding output to a stream. Objects created with this class carry the write() and writelines() methods, which allow you to pass Unicode string to the object, and let the object translate them to the given encoding on output.

unicodedata—This module provides access to the Unicode 3.0 database of character properties. The following functions are available:

unicodedata.category(u'P') returns the 2-character string 'Lu', the 'L' denoting it's a letter, and 'u' meaning that it's uppercase.

unicodedata.bidirectional(u'\x0660') returns 'AN', meaning that U+0660 is an Arabic number.

encodings—This is a package that supplies a wide collection of standard codecs. Currently, only the new Unicode support is provided.

distutils—Package of tools for distributing Python modules.

filecmp—This module comes into place of both the cmp.py, the cmpcache.py and dircmp.py modules.

gettext—Provides an interface to the GNU gettext message catalog library in order to supply internationalization (I18N) and localization (L10N) support for Python programs.

imputil—This module is an alternative API for writing customized import hooks in a simpler way. It is similar to the existing ihooks module.

linuxaudiodev—Provides audio for any platform that supports the Open Sound System (OSS). Most often, it is used to support the /dev/audio device on Linux boxes. This module is identical to the already existing sunaudiodev module.

mmap—This module works on both Windows and Unix to treat a file as a memory buffer, making it possible to map a file directly into memory, and make it behave like a mutable string.

pyexpat—This module is an interface to the Expat XML parser.

robotparser—Initially at Tools/webchecker/, this module parses a robots.txt file, which is used for writing web spiders.

sre—This module is a new implementation for handling regular expressions. Although it is still very raw, its features include: faster mechanism, and support to unicode. The idea of the development team is to reimplement the re module using sre (without making changes to the re API).

tabnanny—Originally at Tools/scripts/, this module checks Python sources for tab-width dependance (ambiguous indentation).

urllib2—This module is an experimental version of urllib, which will bring new and enhanced features, but will be incompatible with the current version.
UserString—This module exposes a base class for deriving objects from the string type.

xml—This package covers the whole-new XML support and it is organized in three subpackages: xml.dom, xml.sax, and xml.parsers.

webbrowser—A module that provides a platform independent API to launch a web browser on a specific URL.

_winreg—This module works as an interface to the Windows registry. It contains an enhanced set of functions that has been part of PythonWin since 1995.

zipfile—This module reads and writes zip-format archives (the format produced by PKZIP and zip applications. Not the one produced by the gzip program!).

  • + Share This
  • 🔖 Save To Your Account

Related Resources

There are currently no related titles. Please check back later.