On Wed, Nov 21, 2012 at 2:04 AM, Vinay Sajip <vinay_sajip@yahoo.co.uk> wrote:
Nick Coghlan <ncoghlan <at> gmail.com> writes:

> Provides/Requires/Obsoletes are *not* for bundling. Publishing bundled packages
> on the index is bad, and people shouldn't do it.
[detail snipped]
> It's likely fine if an installer doesn't use sophisticated graph
> analysis to find the "best" way to satisfy a set of requirements - you can
> just as easily use it in the simple way Daniel describes of only using these
> fields to check for existing locally installed packages with the necessary
> capabilities, before going out to get whatever is missing from the package
> index based purely on the distribution names.

In which case, it seems sensible to put these constraints into the PEP,
so that both PEP implementers and users of those implementations have these
guidelines clarified.

Yes, I thought Daniel's rewording looked pretty reasonable on that front. However, the details of how an installer uses this information is really up to the installer developers and what their users expect/demand. It certainly isn't *practical* to do a full dependency analysis when PyPI doesn't provide the same kind of precalculated metadata that a yum repo does, but that's not something that should be spelled out in the distribution metadata PEP, any more than it is spelled out in the RPM format spec.

Cheers,
Nick.

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