Re: [Distutils] Name the software! Package quality tester.
At 11:46 AM 3/7/2011 +0100, Lennart Regebro wrote:
I'll make a note of this in the documentation to clear it up. Distutils2 is definitely in the minority at the moment when it comes to calling them "projects".
The term has been in use in setuptools since around 2005, but it hasn't caught on much outside of the small group of people who need to be able to speak precisely about the concept. ;-) If you search the sig archives, though, you will find that it gets proposed and mostly-approved every time the topic comes up, of what to call these "things we distribute releases of". The more-or-less consensus terminology (for people who need a precise terminology): package = thing you import in Python that contains modules project = thing you make releases of release = one version of a project distribution = a file that embodies the release of a project (may be source or binary) People who don't care about precision just call everything a package, pretty much. Heck, a lot of times I find myself starting to type "package" when I'm really talking about a project, release, or distribution, despite promoted the more-precise terminology for half a decade or so. ;-)
On Mon, Mar 7, 2011 at 4:15 PM, P.J. Eby <pje@telecommunity.com> wrote:
At 11:46 AM 3/7/2011 +0100, Lennart Regebro wrote:
I'll make a note of this in the documentation to clear it up. Distutils2 is definitely in the minority at the moment when it comes to calling them "projects".
The term has been in use in setuptools since around 2005, but it hasn't caught on much outside of the small group of people who need to be able to speak precisely about the concept. ;-)
If you search the sig archives, though, you will find that it gets proposed and mostly-approved every time the topic comes up, of what to call these "things we distribute releases of". The more-or-less consensus terminology (for people who need a precise terminology):
package = thing you import in Python that contains modules project = thing you make releases of release = one version of a project distribution = a file that embodies the release of a project (may be source or binary)
+1
People who don't care about precision just call everything a package, pretty much. Heck, a lot of times I find myself starting to type "package" when I'm really talking about a project, release, or distribution, despite promoted the more-precise terminology for half a decade or so. ;-)
The root of the problem, IMO, is Python's (mis)use of the name "package" for what is really only a nested module. Heck:
import distutils distutils <module 'distutils' ...>
Given that Python 3 is a reboot, maybe it's time for the Python community to start calling these what ``python`` calls them, "modules". If what we now call "packages" were called "modules", then we could start using the term "package" the way everyone else does. I think lots of people would be less confused. Otherwise, I prefer we try hard to use the precise definitions above. This topic can be confusing enough without making it more so through sloppy terminology. Jim -- Jim Fulton http://www.linkedin.com/in/jimfulton
On Mar 07, 2011, at 05:18 PM, Jim Fulton wrote:
Given that Python 3 is a reboot, maybe it's time for the Python community to start calling these what ``python`` calls them, "modules".
Very nice. +1. And "nested module" where the distinction is important. Even "namespace module" sounds okay to me. -Barry
Jim Fulton wrote:
If what we now call "packages" were called "modules", then we could start using the term "package" the way everyone else does.
But then we would not have a term for a module that corresponds to a directory rather than a single .py file. -- Greg
On Mon, Mar 7, 2011 at 6:57 PM, Greg Ewing <greg.ewing@canterbury.ac.nz> wrote:
Jim Fulton wrote:
If what we now call "packages" were called "modules", then we could start using the term "package" the way everyone else does.
But then we would not have a term for a module that corresponds to a directory rather than a single .py file.
I question whether that distinction is important, but if and when it is, then we could use an adjective to clarify. Under the hood, the object we call packages today are just modules. Jim -- Jim Fulton http://www.linkedin.com/in/jimfulton
Jim Fulton wrote:
I question whether that distinction is important, but if and when it is, then we could use an adjective to clarify. Under the hood, the object we call packages today are just modules.
I think the fact that we used the word "package" in the first place testifies that it *is* important -- otherwise we wouldn't have invented the term. The word "package" covers much more than just the module object that comes into being when you import it. It also implies the associated directory structure, extra import facilities and mechanisms, etc. It's not just a minor variation on the concept of a module. -- Greg
On Tue, Mar 8, 2011 at 6:00 PM, Greg Ewing <greg.ewing@canterbury.ac.nz> wrote:
Jim Fulton wrote:
I question whether that distinction is important, but if and when it is, then we could use an adjective to clarify. Under the hood, the object we call packages today are just modules.
I think the fact that we used the word "package" in the first place testifies that it *is* important -- otherwise we wouldn't have invented the term.
We invented the term long before distutils was invented and without much, of any, consideration for software distribution. Just because we've historiaclly uses a term, doesn't mean it's a good term.
The word "package" covers much more than just the module object that comes into being when you import it. It also implies the associated directory structure, extra import facilities and mechanisms, etc. It's not just a minor variation on the concept of a module.
I agree to disagree. :) Jim -- Jim Fulton http://www.linkedin.com/in/jimfulton
On Mon, Mar 7, 2011 at 23:18, Jim Fulton <jim@zope.com> wrote:
Given that Python 3 is a reboot, maybe it's time for the Python community to start calling these what ``python`` calls them, "modules".
Well, given that the term "project" hasn't gained widespread acceptance, maybe we should adjust the terminology to how people actually use it. That could only happen in Python 3.3, though, and obviously needs to be discussed widely. Is there a language summit this year? //Lennart
Le 08/03/2011 09:39, Lennart Regebro a écrit :
Well, given that the term "project" hasn't gained widespread acceptance, maybe we should adjust the terminology to how people actually use it. That could only happen in Python 3.3, though, and obviously needs to be discussed widely. Is there a language summit this year?
The sure thing is we have to agree on something different that what we already have: packages for directories containing .py files and packages for things we want to distribute, which should have different names. I'm +1 with the idea of replacing "packages" by "modules", especially because this "package" thing just add some fuss to the overall comprehension. Why do we need to make a distinctions between python packages and python modules ? Why a package does contains modules rather thatn the other way around? If you have some pointers to the discussion (if any) that leaded to these choices, it could certainly help us to understand the rationale leading to this choice, and make us able to chose the right names. We really need to do something about those names *now*, especially because it's not too late to change names in use in distutils2 (it will probably be more complicated once it will be integrated in the stdlib). Maybe can we even match the rename of PyPI into python project index with the release of distutils2 and the "renew of python packaging" ? Cheers, Alex
participants (6)
-
Alexis Métaireau -
Barry Warsaw -
Greg Ewing -
Jim Fulton -
Lennart Regebro -
P.J. Eby