[Distutils] packaging terminology confusion
Tres Seaver
tseaver at palladion.com
Thu Jan 7 19:18:26 CET 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Brad Allen wrote:
> This quote is taken from the distutils thread "current preferred way
> to specify dependencies? future?",
>
> On Wed, Jan 6, 2010 at 10:55 AM, Tarek Ziadé <ziade.tarek at gmail.com> wrote:
>> On Wed, Jan 6, 2010 at 3:35 PM, John Gabriele <jmg3000 at gmail.com> wrote:
>>> I'm a bit confused myself... PEP-345 says it "describes a mechanism
>>> for adding metadata to Python packages", but I think they really mean
>>> "distributions" (the things available at the PyPI).
>> Yes you are right, that was a mistake. I've just fixed it.
>
> Sorry, but I'm baffled. Are we really now using the word
> 'distribution' for those 'things available at the PyPI'?
>
> The text inside PEP-345 uses the word 'distutils project' a lot as the
> name for this concept.
>
> It's very common to see the word 'package' used to refer to these
> 'distutils projects'; but in the Python documentation we also use the
> word 'package' to refer to any directory having an __init__.py. Can
> the word 'package' be used for both concepts? Maybe a qualifier would
> help, like module-package and setup-package.
>
> Normally the word 'distribution' is reserved for what lands in the
> 'dist' directory, such as a tarball or an egg...right?
Here is my take:
- "pacakge" means a Python package, (directory intended to be on
sys.path, with an __init__.py. We *never* mean a distributable
or installable archive, except when "impedance matching" with folks
who think in terms of operating system distributions.
- "distribution" is such a distributable / installable archive: either
in source form (an 'sdist'), or one of the binary forms (egg., etc.).
Any distribution may contain multiple packages (or even no packages,
in the case of standalone scripts).
- "project" is the process / community which produces releases of
a given set of software, identified by a name unique within PyPI's
namespace. PyPI manages metadata about projects (names, owners) and
their releases. Every real project has at least one release.
And another one:
- "release" is a set of one or more distributions of a project, each
sharing the same version. Some PyPI metadata is specific to a
release, rather than a project. Every release has at least one
distribution.
Tres.
- --
===================================================================
Tres Seaver +1 540-429-0999 tseaver at palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAktGJW0ACgkQ+gerLs4ltQ6hIwCgndORnbKJc8K2AtJXYSBGv9xW
LEAAn3mrbR64sp/TUm2NIr6YM0pMWJxu
=CeVI
-----END PGP SIGNATURE-----
More information about the Distutils-SIG
mailing list