[Python-Dev] PEP 376 and PEP 302 - allowing import hooks to provide distribution metadata

Nick Coghlan ncoghlan at gmail.com
Tue Jul 7 23:02:52 CEST 2009


Paul Moore wrote:
> 2009/7/7 Ben Finney <ben+python at benfinney.id.au>:
>>> - PEP 376 is an opportunity to consider cleanup
>>> - there are some strong supporters of keeping things
>>> setuptools-compatible
>> Your implication seems to be that these two are incompatible. It should
>> be noted that it's possible to clean up, by having a separate (e.g.
>> ‘.pydist’) directory as the new standard, with “cleaned up” standard
>> content, and continue backward compatibility in the actual tools while
>> deprecating the old ‘.egg-info’ format for some time until finally
>> removing that support.
> 
> Phillip argued strongly against this. I'm not going to repeat his
> arguments - they seemed to make sense to me at the time, but I haven't
> internalised them well enough that I'd be willing to try to repeat
> them here.
> 
> The crux of all this seems to be setuptools' backwards compatibility
> issues, As someone who has a very strong dislike of setuptools (the
> implementation, not the ideas), I'm trying very, very hard to leave it
> to someone else to say "stuff setuptools, this is a core distutils
> proposal, setuptools can keep up or die" :-)

Actually, the approach Ben suggests is the same as the one I suggested
for dealing with the backwards compatibility problem (i.e. distutils
would install both the existing .egg-info for detection by existing
packaging tools, while putting the new stuff in a .pydist directory).

The argument against *that* approach to backwards compatibility is the
accumulation of cruft in site-packages (and other module installation
directories) since even a simple installation of a single module or
small package would now be generating at least *three* entries in the
relevant directory (.egg-info, .pydist and the module or package itself).

Retaining the .egg-info naming provides detection of installed
distributions by old packaging systems with a minimum of cruft on the
end user's system. The only possible advantage changing the extension
name might give us is making it fractionally easier to clean up the
contents of the .egg-info directory, but I don't think it will actually
make that much difference (i.e. it really shouldn't be that hard to keep
the new PEP 376 based filenames all UPPERCASE and distinct from any
filenames currently stored in the directory by setuptools or other
packaging utilities)

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
---------------------------------------------------------------


More information about the Python-Dev mailing list