New (optional) python egg dependency generator for RPM

Nick Coghlan ncoghlan at gmail.com
Tue Nov 17 12:54:54 UTC 2015


On 17 November 2015 at 22:05, Neal Gompa <ngompa13 at gmail.com> wrote:
> On Tue, Nov 17, 2015 at 3:26 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> I'm not clear on what you mean by depending on an egg. Eggs are a
>> binary format that isn't compatible with Linux distro packaging
>> policies, since they lose too much structural information regarding
>> where files should be installed for policy compliance - that's one of
>> the major reasons we defined the wheel format as a next generation
>> replacement: https://www.python.org/dev/peps/pep-0427/.
>
> I don't think I've ever heard of this, much less seen it in use. And
> it looks like the format was approved well over two years ago, so I'm
> *really* surprised nothing has happened since then.

We don't currently have real-time stats, but when Donald Stufft ran
PyPI's download stats back in April, wheels represented about 20% of
all downloads, while eggs had dropped to 2-3% (from ~5% a year
earlier): https://caremad.io/2015/04/a-year-of-pypi-downloads/

> Variants of this generator are in use in both Mandriva and Mageia,

Ah, that's likely to have an impact. The upstream distutils-sig and
python-dev lists don't include any Mageia/Mandriva users that I'm
aware of, so that's likely to delay downstream community awareness of
changes in upstream recommendations. We currently only have close
collaborations with Debian, Ubuntu, Fedora and RHEL/CentOS due to
overlapping developer communities.

> and
> I wanted to give the Python SIG in Fedora the opportunity to try it
> out and see if we might want to enable it in Fedora.
>
> Essentially, for things that have egg info that includes the
> requirements and the name of the module, it makes it simpler to figure
> out what how to install Python packages in a more cross-distro manner.

Having a plugin to automatically generate appropriate upstream
Provides/Requires to allow installation based on PyPI distribution
names definitely has the potential to be useful. It was only the
choice of "python2egg" and "python3egg" as the name that threw me,
since that doesn't align with the upstream community terminology (the
egg format is specific to setuptools and easy_install)

Regards,
Nick.

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


More information about the python-devel mailing list