[Distutils] Name the software! Package quality tester.

Jim Fulton jim at zope.com
Thu Mar 10 14:08:46 CET 2011

I really should let this rest ....... really ....

On Wed, Mar 9, 2011 at 11:43 AM, P.J. Eby <pje at telecommunity.com> wrote:
> At 07:06 AM 3/9/2011 -0500, Jim Fulton wrote:
>> They certainly aren't "projects" in any sense that most people would
>> understand.
> I don't follow you.  Sourceforge hosts projects.  Freshmeat indexes
> projects. Mozdev.org hosts projects.  The Apache Foundation hosts projects.
>  "Project", IOW, is *exactly* the word people use for these things, in the
> larger world of software, and that's precisely why I chose it for my
> original terminology proposal.

But the things in PyPI are not projects. Projects have bug trackers,
and mailing lists, and source code repositories. Projects are
organizations of people -- not software distributions.

The things in PyPI that you call "projects" are things that get
produced by projects. There isn't a buildout.recipe.egg
"project". buildout.recipe.egg is just a um packaging of some software
components. It's not a "project" in any usual sense of the word.

>> The term "project" has has never stuck, despite being discussed
>> repeatedly.
> It's only been discussed here, on this list.  It hasn't been put in official
> documentation, or really blessed by anybody.  When it has been discussed,
> it's been considered a reasonable name, and when people have needed to make
> the distinction, they've tended to use it.

OK, fair enough. Distutils uses the name "package" for both Python
packages and for the things it makes distributions of.  The historical
precedent from official documentation is to use "package" for what you
call project. Let's stick with that. :)

> And let's face it, it really only makes a difference if you are creating
> some kind of packaging or distribution tool, or if you have a corner case of
> using one.

No. End users need to know about this. They need to know what these
names mean and that the "package name" (distutils) or "project name"
(setuptools) doesn't imply that the distribution will provide a python
package of the same name.  Trust me on this. Users care about this.

> For one thing, if the distutils documentation simply starts out like:
> "If you want to distribute your work to the larger Python community, you
> need to create a project for it.  In practical terms, this means having a
> directory with a setup.py and the code, data, or documentation you wish to
> distribute.  Your project will also need a unique name, if you want to make
> it accessible to others via the Python Project Index (PyPI)."  (replace
> setup.py w/setup.cfg for distutils2, of course)

It does? Where? Can you give a link? I don't see this text anywhere.

> This usage of project also maps onto common IDE usage of the term project --
> a directory of stuff that you're going to edit and build.

That use of project is equivalent to "working directory" and not
relevant, IMO.

> And, it immediately introduces the term to a superset of the audience that
> will need to know it.  Having PyPI describe its contents as "projects" is
> pretty much the other half of the indoctrination needed.

Only if you think indoctrination is needed. I'd rather make things
more obvious.


Jim Fulton

More information about the Distutils-SIG mailing list