New (optional) python egg dependency generator for RPM

Donald Stufft donald at stufft.io
Tue Nov 17 13:05:51 UTC 2015


> On Nov 17, 2015, at 7:54 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> 
> 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/

Another stat that I just computed, Eggs have had.. what 15 years? or so
as a format and in that time they have accumulated 41,060 eggs uploaded
to PyPI. In the uh, 2 or 3 years that Wheels have been around they have
accumulated 38,720 total files on PyPI. We’re close to having Wheels
beat Eggs in both the download counts and the number of files available.


> 
>> 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)

This sounds like it’s actually use the “other” Egg (because for maximum
confusion setuptools eggs are actually like 3 different things). Right now
both distutils and setuptools will generate an egg-info metadata when
installing projects (though distutils generates a file and setuptools a
directory). However wheels install a dist-info directory.

I don’t have a better suggestion for name other than I’d prefer not to bake
more things onto the “egg” terminology since we (Python packaging upstream)
are trying to phase it out.

-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.fedoraproject.org/pipermail/python-devel/attachments/20151117/bb6c7f0e/attachment.sig>


More information about the python-devel mailing list