[Distutils] Beyond wheels 1.0: helping downstream, FHS and more
Nick Coghlan
ncoghlan at gmail.com
Tue Apr 14 18:06:47 CEST 2015
On 13 April 2015 at 22:29, Donald Stufft <donald at stufft.io> wrote:
> So a possible way for this to work is in a PEP 426 world, simply define
> a twisted.plugins extension that says, in a declarative way, “hey when
> you install this Wheel, if there’s a plugin that understands this extension
> installed, let it do something before you actually move the files into
> place”. This let’s Wheels themselves still be declarative and moves the
> responsibility of implementing these bits into their own PyPI projects
> that can be versioned and independently upgraded and such. We’d probably
> need some method of marking an extension as “critical” (e.g. bail out and
> don’t install this Wheel if you don’t have something that knows how to handle
> it) and then non critical extensions just get ignored if we don’t know
> how to handle it.
Right, this is the intent of the "Required extension handling"
feature: https://www.python.org/dev/peps/pep-0426/#required-extension-handling
If a package flags an extension as "installer_must_handle", then
attempts to install that package are supposed to fail if the installer
doesn't recognise the extension. Otherwise, installers are free to
ignore extensions they don't understand.
So meta-installers like canopy could add their own extensions to their
generated wheel files, flag those extensions as required, and other
installers would correctly reject those wheels as unsupported.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Distutils-SIG
mailing list