[Distutils] packaging terminology confusion

Brad Allen bradallen137 at gmail.com
Thu Jan 7 17:29:45 CET 2010

On Thu, Jan 7, 2010 at 9:12 AM, John Gabriele <jmg3000 at gmail.com> wrote:
> On Thu, Jan 7, 2010 at 9:56 AM, Tarek Ziadé <ziade.tarek at gmail.com> wrote:
>> On Thu, Jan 7, 2010 at 3:52 PM, John Gabriele <jmg3000 at gmail.com> wrote:
>>> The only inconsistency, I think, is that operating systems like Debian
>>> refer to their software distributions as "packages" (as in, a packaged
>>> up piece of software that you can download and install). "Packages" is
>>> a great name for them -- too bad it's already being used in Python.
>> I believe that's basically where the confusion comes from.
> Whoops. Just noticed that the front page of the PyPI says:
>> "There are currently 8614 packages here."
> (is that 8614 packages or 8614 distributions?)
> and,
>> "To submit a package use "python setup.py upload" and to use a package from this index either "pip install package" or download, unpack and "python setup.py install" it."
> and
>> "# Browse the tree of packages
> # Submit package information"

Right! The word 'package' is used all over the place, including the
name PyPI abbreviates (Python Package Index), and the title of
PEP-345. Haven't we all also encountered this common usage? I've
noticed in various discussions on this mailing list.

Furthermore, even the official docs make an apology about this
terminology that no one seems to use, stating that the word 'package'
would be preferred but that term is already taken:

> http://docs.python.org/distutils/introduction.html#distutils-specific-terminology

"This would be called a package, except that term is already taken in
the Python context: a single module distribution may contain zero,
one, or many Python packages."

If the official terminology has not caught on in common parlance, is
it really worth maintaining? The word 'package' seems to be what
people want to use, and it is a more accessible term to newbies,
system package maintainers, etc. Rather than waste energy fighting
this popular usage, why not find a solution for this little namespace

Of many possible solutions; here are some ideas:

* Make the word 'package' an official replacement for
'module-distribution', without even deprecating the old 'package'
usage for __init__.py directories. English is full of words with
contextual meaning, and people can usually tell by the context which
kind of package is being referred to. After all, that's what's is
happening today. There could be a document clearly stating the
different kinds of packages.

* Use a qualifier, like one of these: 'PyPI Package', 'Setup Package',
'Project Package' while the old kind of package could be qualified as
'Python package' or 'Module Package'.

* Deprecate the old use of 'package' and replace it with another word
such as 'bundle', and try to get it into all Python 3 documentation.

* Introduce a catchy new term to quell the popular tendency to use the
word package instead of 'module-distribution'. Ideas: 'MetaPackage',
'Pkg', 'Porridge', 'Punkage', 'Spankage', 'Spackage', 'Pancake',

More information about the Distutils-SIG mailing list