On Thu, Jan 7, 2010 at 5:22 PM, Tarek Ziadé <ziade.ta...@gmail.com> wrote: > On Thu, Jan 7, 2010 at 11:12 PM, M.-A. Lemburg <m...@egenix.com> wrote: > [..] >> I usually refer to the latter as 'Python package' and the former >> as 'package'. >> >> What you download is a 'distribution file' which could be an exe, >> a tarball, an egg, etc. There are many forms such a package >> distribution can take and just as many ways to install them. > > That would be a "release" instead imho. (I like Tres' definitions for that) > e.g. a "release" comes in several "distributions" : an egg, a source > dist, a binary dist, etc. > >> >> Once installed a 'package' usually creates a single 'Python package' >> (at top-level or some lower level). > > That's not always the case. Many projects have also scripts, and /or > top level modules in site-packages.
I've got a few brief observations, and also a suggestion. 1. In english, the word "package" can mean an aggregation of features, as in, "We got married, stayed at a hotel, and got the honeymoon package. Heart-shaped bed, champagne, and chocolate-covered strawberries in the fridge!". So, it's a great name for something that aggregates things, like modules. 2. Also, in english, the word "package" can also mean a nice sealed box that you send out via or receive from the postal mail. So, it's a great name for those tgz things that you upload to or download from the PyPI. 3. People don't like calling those MyProject-1.0.2.tgz thingies "distributions". They keep calling them packages, and when you correct them, they say, "[sigh], fine. [eyes roll] 'distribution'." 4. A "project" is just a general term for a named thing that people work on. "I'm working on my Isengard Reforestation project! I think it's going to be very successful! I'm keeping it in my `~/dev/projects/IsengardReforestation` dir." But I don't think `IsengardReforestation-1.0.2.tgz` would be referred to as a "project" per se, nor a "project file". A "project file" is one of those things that an IDE gives you to keep track of which files belong in the project, how to build it, and so on---so I wouldn't call it that either. 5. There are already a bunch of tools that refer to those PyPI tgz things as distributions (for example, Distutils). 6. The word "distribution" is long to type and long to say. And also, when I think of a Python distribution, I imagine the `Python-2.6.4.tgz` file you download from python.org. *That's* a Python distribution (along with the previous Python releases). Also, ActiveState has a Python distribution too. So, here's a suggestion: just call both things (packages and distributions) "packages", but then agree to fully qualify the names when you need to avoid ambiguity, for example: "I just built a distribution-package (or "dist-package" for short) and included numerous module-packages in it." * If you mean the kind of package holds modules, and the meaning isn't clear from the context, say "module-package" (think "honeymoon package") * If you mean the kind of package hosted at the PyPI, and the meaning isn't clear from the context, say "distribution-package" or "dist-package" (think parcel/postal package) This way, * The PyPI now becomes the "Python dist-package index", or just "Python Package Index (PyPI)" for short. :) * Distutils is now the "distribution-package utilities" or just "dist utilities" for short. :) * We can slowly fully-qualify the name "distribution" in the docs, gradually replacing it with "distribution-package" or "dist-package" (when it's referring to dist-packages) and it won't be much of a shock to the system. How's that sound? ---John _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig