On Thursday, June 21, 2012 at 4:01 PM, Paul Moore wrote:
> End users should not need packaging tools on their machines.
> 
Sort of riffing on this idea, I cannot seem to find a specification for what a 
Python
package actually is. Maybe the first effort should focus on this instead of 
arguing one
implementation or another.  

As a packager:
    I should not (in general) care what tool (pip, pysetup, easy_install, 
buildout, whatever) is used
    to install my package, My package should just describe what to do to 
install itself.

As a end user:
   I should not (in general) care what tool was used to create a package 
(setuptools, bento, distutils,
   whatever). My tool of choice should look at the package and preform the 
operations that the package
   says are needed for install.

Ideally the package could have some basic primitives that are enough to tell 
the package installer
tool what to do to install it, These primitives should be enough to cover the 
common cases (pure python
modules at the very least, maybe additionally some C modules). Now as others 
have remarked it would
be insane to attempt to do this in every case as it would involve writing a 
build system that is more
advanced than anything else existing, so a required primitive would be 
something that allows calling out
to a specific package decided build system (waf, make, whatever) to handle the 
build configuration.

The eventual end goal here being to make a package from something that varies 
from implementation
to implementation to a standardized format that any number of tools can build 
on top of. It would likely
include some things defining where metadata MUST be defined.

For instance, if metadata in setuptools was "compiled" down to static file, and 
easy_install, pip et;al
used that static file to install from instead of executing setup.py, then the 
end user would not have
required setup tools installed and instead any number of tools could have been 
created that utilized
that data.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to