[Distutils] PEP 345: real-world examples of "virtual" projects (Provides-Release)

Sridhar sridhar.ratna at gmail.com
Fri Jan 7 23:48:42 CET 2011


> From: Alexis Métaireau <alexis at notmyidea.org>
> On 12/21/2010 09:41 PM, Sridhar Ratnakumar wrote:
>> 3. Did anyone--Alexis and Tarek, in particular--think of real-world use
>> cases for virtual projects (and even "provides" in general) other than
>> the Zope transaction case? If yes, what are they?
> "Provides-Release" lists the specific projects provided with this
> distribution. One case I can think about is having a distribution
> providing two different projects.
> A software can have a project for the "core" features and a project for
> the "default-plugins". It can then provides the two projects in only one
> distribution.
> Those can be two virtual projects 'core' and 'defaultplugins', which can
> be *provided* by different projects then. This allows to choose between
> the possible projects when resolving the dependencies.

What is the benefit of distributing two projects in a single
distribution, compared to the more simpler (traditional) solution of
distributing them in separate distributions  (and, optionally, making
one depend on another; eg: 'core' depend on 'defaultplugins')? Does
this benefit justify the cost of introducing a new metadata field?

> setuptools and distribute can be both provided by the same virtual project.

Is this the only real-world use of virtual projects? Are there
(potential) others?

>> 4. Personally, I have needs for "virtual" packages from a binary (not
>> source) distribution perspective. For example, "MySQL-python" can be a
>> virtual package "provided by" the binary distributions: mysql5.1-python,
>> mysql5.0-python;
> [...]
>> How would PEP 345's "Provides-Release" help, if at
>> all, in describing this scenario?
> I'm not sure it will help in this case, unfortunately.



More information about the Distutils-SIG mailing list