Python terminology

General Python terminology

If you’re reading this document, you probably have a good idea of what modules, extensions, and so forth are. Nevertheless, just to be sure that everyone is operating from a common starting point, we offer the following glossary of common Python terms:


pure Python module

extension module


root package

Distutils-specific terminology

The following terms apply more specifically to the domain of distributing Python modules using the Distutils:

module distribution

pure module distribution

non-pure module distribution

distribution root



To show how these terms fit, we can use the Mercurial project as an example.

The project publishes, for its 1.4.2 version release, a set of different distributions.

There's one source distribution (mercurial-1.4.2.tar.gz), a windows specific distribution using an executable format (mercurial-1.4.2.exe) and two OSX specific distributions, targeted at different OS versions ( and

Further discussion

Discussion goes here?

Rafael: One practical solution to the current use of package as synonymous of distribution in informal language may be adding further qualification to existing terms, so the term becomes legal.

The proposal would be changing package into module package and (module) distribution into distribution package. That would allow either maintain the existing package vs distribution terms or qualifying package as distribution package or module package when more context is needed.

Distutils/Terminology (last edited 2010-01-10 19:16:20 by 84)

Unable to edit the page? See the FrontPage for instructions.