[Python-Dev] shal we redefine "module" and "package"?

Steve Holden steve at holdenweb.com
Thu May 1 00:53:45 CEST 2008


zooko wrote:
> Folks:
> 
> Here's an experiment you can perform.  Round up a Python programmer and 
> ask him the following three questions:
> 
> Q1.  You type "import foo" and it works.  What kind of thing is foo?
> 
> Q2.  You go to the Python package index and download something named 
> "bar-1.0.0.tar.gz".  What kind of thing is bar?
> 
> Q3.  What is a "distribution"?
> 
> I'm willing to bet that you will get the following answers:
> 
> A1.  foo is a module.
> 
> A2.  bar is a package.
> 
> A3.  A distribution is a version of Linux that comes with a lot of Free 
> Software.
> 
> 
> Unfortunately these answers aren't quite right.  A "package" is actually 
> a directory containing an __init__.py file, and a distribution is 
> actually what you think of when you say "package" -- a reusable package 
> of Python code that you can, for example, get from the Python package 
> index.
> 
> Educational efforts such as the Python tutorial and the distutils docs 
> have not succeeded in training Python programmers to understand the 
> terminology for these things as used by the Python implementors, so 
> perhaps instead the implementors should start using the terminology 
> understood by the programmers:
> 
> 1.  A "module" shall henceforth be the name for either a foo.py file (a 
> single-file module), or a directory with an __init__.py in it (a 
> directory module).
> 
> 2.  A "package" shall henceforth be the name of the thing that is 
> currently called a "distribution".
> 
-1

> 
> Zooko
> 
> who doesn't mind stirring up trouble on occasion...
> 
regards
  Steve

who doesn't mind trouble but would rather see communications improve
-- 
Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC              http://www.holdenweb.com/



More information about the Python-Dev mailing list