At 03:59 PM 6/14/2010 +0900, David Cournapeau 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) ?
As Paul mentioned, it's so that discovery can happen without needing
anything more than a listdir(). (A legacy of eggs' origin as a
binary plugin format.)
- why are the metadata split into files instead of one single
metadata file ?
Because that's simpler than trying to define a single universal file
format that's forward and backward-compatible with every possible
feature and use case. Each use case can have an optimized file format.
It also scales better for performance when you have multiple things
you might (or might not) be reading. For example, since entry points
are separate from dependencies, you you don't need to read the
dependencies from an egg that doesn't have an entry point you're scanning for.
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig