Re: [Distutils] pre-PEP : Synthesis of previous threads, and irc talks + proposals
At 02:10 PM 10/1/2008 +0200, Tarek Ziadé wrote:
Proposals ========
this is also a synthezis of what I hurd, and some elements I have added to respect the needs that were expressed.
0/ a lot of work can be done to clean distutils, no matter what is decided (another PEP is built for that) cleanning, removing old-style code, testing
1/ let's change the Python Metadata , in order to introduce a better dependency system, by
- officialy introduce "install requires" and "test requires" metadata in there - mark "requires" as deprecated
2/ Let's move part of setuptools code in distutils, to respect those changes.
3/ let's create a simple convention : the metadata should be expressed in a python module called 'pkginfo.py' where each metadata is a variable.
that can be used by setup.py and therefore by any tool that work with it, even if it does not run a setup.py command.
This is simpler, this is cleaner. you don't have to run some setup magic to read them. at least some magic introduces by commands
I'm -1 on all of the above. I think we need a standard for tools interop (ala WSGI), not implementation tweaks for the existing tools. I also think that a concrete metadata format proposal is premature at this time; we've barely begun to gather -- let alone specify -- our requirements for that metadata. (Essentially, only version dependencies have been discussed, AFAICT.) There have been many people agreeing that the distutils are thoroughly broken and a new approach is needed; these proposals sound like minor tweaks to the existing infrastructure, rather than a way to get rid of it. So to me, the above doesn't seem like a synthesis of the threads that I've been reading.
4/ let's change PyPI to make it work with the new metadata and to enforce a few things
Enforcements: - a binary distribution cannot be uploaded if a source distrbution has not been previously provided for the version
Note that this doesn't allow closed-source packages to be uploaded; thus it would need to be a warning, rather than a requirement.
New features: - we should be able to download the metadata of a package without downloading the package - PyPI should display the install and test dependencies in the UI
It could only do this for specific binaries, since dependencies can be dynamic.
On Wed, Oct 1, 2008 at 7:29 PM, Phillip J. Eby
I'm -1 on all of the above. I think we need a standard for tools interop (ala WSGI), not implementation tweaks for the existing tools. I also think that a concrete metadata format proposal is premature at this time; we've barely begun to gather -- let alone specify -- our requirements for that metadata. (Essentially, only version dependencies have been discussed, AFAICT.)
What are the other important points we need to discuss at this point in your opinion ?
There have been many people agreeing that the distutils are thoroughly broken and a new approach is needed; these proposals sound like minor tweaks to the existing infrastructure, rather than a way to get rid of it. So to me, the above doesn't seem like a synthesis of the threads that I've been reading.
4/ let's change PyPI to make it work with the new metadata and to enforce a few things
Enforcements: - a binary distribution cannot be uploaded if a source distrbution has not been previously provided for the version
Note that this doesn't allow closed-source packages to be uploaded; thus it would need to be a warning, rather than a requirement.
Right. do you agree it is something useful to do ?
New features: - we should be able to download the metadata of a package without downloading the package - PyPI should display the install and test dependencies in the UI
It could only do this for specific binaries, since dependencies can be dynamic.
What dynamic means here ? the python module to static file process or more ? can you provide an example ? Regards Tarek -- Tarek Ziadé | Association AfPy | www.afpy.org Blog FR | http://programmation-python.org Blog EN | http://tarekziade.wordpress.com/
Phillip J. Eby wrote:
I think we need a standard for tools interop (ala WSGI), not implementation tweaks for the existing tools.
Agreed.
4/ let's change PyPI to make it work with the new metadata and to enforce a few things
Enforcements: - a binary distribution cannot be uploaded if a source distrbution has not been previously provided for the version
Note that this doesn't allow closed-source packages to be uploaded; thus it would need to be a warning, rather than a requirement.
This is an important point. We can't assume any one repository will have all needed packages.
It could only do this for specific binaries, since dependencies can be dynamic.
They should not be dynamic :-( Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk
At 04:18 PM 10/3/2008 +0100, Chris Withers wrote:
Phillip J. Eby wrote:
It could only do this for specific binaries, since dependencies can be dynamic.
They should not be dynamic :-(
Too bad. They are, because they have to be in order to support more than one platform and/or Python version from the same source base.
participants (3)
-
Chris Withers
-
Phillip J. Eby
-
Tarek Ziadé