Re: [Distutils] Name the software! Package quality tester.

2011-03-10 Thread Lennart Regebro
Who are going to PyCon? I feel an open space on this coming up. :-)
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Name the software! Package quality tester.

2011-03-10 Thread Jim Fulton
I really should let this rest ... really 

On Wed, Mar 9, 2011 at 11:43 AM, P.J. Eby p...@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

--
Jim Fulton
http://www.linkedin.com/in/jimfulton
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


[Distutils] Buildout documentation sprint at PyCon

2011-03-10 Thread Jim Fulton
I've started working on a buildout documentation project to provide
decent sphinx documentation for buildout. This documentation will have
the following structure:

Introduction
How-tos
   ...
Special Topics
   ...
Reference
   ...

This is planned as a collection of relatively small relatively
independent documents.  Each document will be first and foremost
**documentation**, however manuel will be used to try to assure that
examples work.

This effort lends itself to small contributions and seems well suited
to sprint work if anyone is interested.  This is a good opportunity to
contribute to buildout and to learn about sphinx and manuel.

I'll have the subversion project in place by the time the sprints start.

I'll be there for all 4 sprint days.

Jim

-- 
Jim Fulton
http://www.linkedin.com/in/jimfulton
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Name the software! Package quality tester.

2011-03-10 Thread P.J. Eby

At 08:08 AM 3/10/2011 -0500, Jim Fulton wrote:

I really should let this rest ... really 


I notice you seem to have already let rest defending your proposal, 
as opposed to opposing mine.  ;-)


That is, I don't see where you've included any counterargument for 
why convincing people to *stop* using package for python package 
isn't going to be a lot harder than simply *adding* the term 
project to existing docs, via simple explanations like this one:


If you would like to distribute your python package or module, you 
need to create a project.  A project consists of a directory 
containing the package(s) or module(s) you want to distribute, along 
with a setup.py/.cfg, specifying the project's name, current version 
number, and other information.  If you wish to distribute your 
package via PyPI, then you must choose a unique project name and 
register it.   If you are only distributing one module or package, 
you can name the project after it, as long as it doesn't conflict 
with any other project names already registered on PyPI.


Context-specific explanations like this are easy to give, at a place 
where the recipient of the explanation *wants* to learn something.


In contrast, to convince everybody in the world to replace package 
with module, you must send out a constant broadcast to people who 
don't really care.


(your other points are addressed below)



On Wed, Mar 9, 2011 at 11:43 AM, P.J. Eby p...@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.


And which of those things have to be hosted on the same site as the 
project's index page?  Freshmeat, for example, is not a project 
*hosting* system, it's a project *index*.  PyPI is in that sense, a 
project index.  Some index pages may link to all the stuff associated 
with that project, some may not.


(i.e. the set of all possible project features is not equal to the 
intersection of all projects' actual features: some project have 
mailing lists and not bug trackers, and vice versa.  This does not 
make them non-projects.)




 Projects are organizations of people -- not software distributions.


I'm an organization of people; am I a project?  No, the various 
things I have listed on PyPI are my projects, and I distribute 
releases of them.




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.


I don't get that.  You work on it, and it is distinct from other 
works.  That makes it a project.




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.


Actually, I believe distutils calls it a distribution name, but I 
could be wrong about that.  ;-)




 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.


Of course not; it was a proposal for a hypothetical 
introduction.  That's why it says if up there.  ;-)



 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.


Huh?  In an IDE, a project is a thing you build and distribute, 
usually with source control.  It's distinct from other projects, and 
it has a name.  It is usually not tied to a specific code unit such 
as a module or package (regardless of what the code units of the 
relevant programming language are called).  It has additional 
metadata, over and above the actual code units, and possibly includes 
non-code resources such as documentation, data, images, etc.


IOW, it's *exactly* the sort of project we're talking about 
here.   So, the term project is