Design rationale for the egg format ?
Hi, I have a few questions about the egg format implementation, and was hoping people who designed it could answer them: - why does the filename encode some metadata (which python version if the package contains extensions, platform specifier) ? - why are the metadata split into files instead of one single metadata file ? I tried to find a rationale for those, but could not find much info on distutils-sig or setuptools doc, thanks, David
On 14 June 2010 07:59, David Cournapeau <cournape@gmail.com> wrote:
Hi,
I have a few questions about the egg format implementation, and was hoping people who designed it could answer them: - why does the filename encode some metadata (which python version if the package contains extensions, platform specifier) ?
I'm not one of the designers, nor an expert, but I believe that this is so that the basic metadata can be obtained as part of an initial listdir(), without needing to open and read a file at all - so essentially it's to reduce the number of OS calls needed in certain key cases. Paul.
On Mon, Jun 14, 2010 at 4:34 PM, Paul Moore <p.f.moore@gmail.com> wrote:
On 14 June 2010 07:59, David Cournapeau <cournape@gmail.com> wrote:
Hi,
I have a few questions about the egg format implementation, and was hoping people who designed it could answer them: - why does the filename encode some metadata (which python version if the package contains extensions, platform specifier) ?
I'm not one of the designers, nor an expert, but I believe that this is so that the basic metadata can be obtained as part of an initial listdir(), without needing to open and read a file at all - so essentially it's to reduce the number of OS calls needed in certain key cases.
Do you happen to know what those key cases are ? cheers, David
Paul Moore wrote:
On 14 June 2010 07:59, David Cournapeau <cournape@gmail.com> wrote:
- why does the filename encode some metadata (which python version if the package contains extensions, platform specifier) ?
I believe that this is so that the basic metadata can be obtained as part of an initial listdir()
It would also seem useful to be able to keep a collection of versions of a package for different python configurations in the same directory without their names clashing. -- Greg
David Cournapeau <cournape@gmail.com> writes:
I have a few questions about the egg format implementation, and was hoping people who designed it could answer them: […]
I tried to find a rationale for those, but could not find much info on distutils-sig or setuptools doc,
You might find it useful to read this archived thread: I've noticed that there seems to be a lot of confusion out there about what setuptools is and/or does, at least among Python-Dev folks, so I thought it might be a good idea to give an overview of its structure, so that people have a better idea of what is and isn't "magic". […] <URL:http://mail.python.org/pipermail/python-dev/2006-April/064145.html> It goes into some amount of detail on the background and rationale for Setuptools and its early design decisions. -- \ “Sane people have an appropriate perspective on the relative | `\ importance of foodstuffs and human beings. Crazy people can't | _o__) tell the difference.” —Paul Z. Myers, 2010-04-18 | Ben Finney
participants (4)
-
Ben Finney -
David Cournapeau -
Greg Ewing -
Paul Moore