[Distutils] Deprecating little used file types/extensions on PyPI?

Nick Coghlan ncoghlan at gmail.com
Mon Aug 22 23:46:17 EDT 2016

On 16 August 2016 at 05:09, Donald Stufft <donald at stufft.io> wrote:
> Hello!
> I'd like to restrict what folks can upload to PyPI in an effort to help narrow
> the scope down and to enable more a more consistent experience for everyone.
> First off, we currently allow people to upload sdist, bdist_wheel, bdist_egg,
> bdist_dmg, bdist_dumb, bdist_msi, bdist_rpm, and bdist_wininst. However I think
> that we should try to get rid of support for most of these. Just for reference
> currently the number of files uploaded for each type of file looks like:
> * sdist: 506,585
> * bdist_wheel: 81,207
> * bdist_egg: 48,282
> * bdist_wininst: 14,002
> * bdist_dumb: 5,502
> * bdist_msi: 497
> * bdist_rpm: 464
> * bdist_dmg: 45
> Out of all of these, I think that we can easily remove bdist_dmg, bdist_rpm,
> and bdist_dumb. I also believe that there is a strong case for removing
> bdist_msi and bdist_wininst. I also think we should consider removing
> bdist_egg.
> First of all, when I say "remove", I mean disallow new uploads, but do not
> delete the existing files.


> Next we have bdist_dmg, bdist_msi, and bdist_winist. I'm lumping these together
> because they're all OS specific installers for OSs that don't already have some
> sort of repository. This lack of a repository format for them means that random
> downloads are already the norm for people using these systems. For these, I
> think the usage numbers for bdist_dmg and bdist_msi easily suggest that they
> are not very important to continue to support, but it would be weird to
> eliminate them without also elminating bdist_wininst. The wininst format has
> the most usage out of all of the seldom used formats, however when we look at
> the downloads for the last 30 days only 0.42% of the downloads were for wininst
> files, so I think that it's pretty safe to remove them.

Based on the discussion about Windows package management, I realised
that "percentage of overall downloads" is probably the wrong way to
measure the importance of the platform specific downloads, since those
percentages will be suppressed by the overwhelming dominance of sdist
and wheel downloads for sdist-only and sdist+wheel projects.

Instead, I think the numbers we need to make good data driven
decisions about publisher and end user impact here are:

- for projects publishing bdist_egg, what percentage of downloads are bdist_egg?
- for projects publishing bdist_wininst, what percentage of downloads
are bdist_wininst?
- ditto for bdist_msi and bdist_dmg

For bdist_rpm, the Fedora/CentOS/RHEL ecosystem has the Fedora COPR
service at http://copr.fedoraproject.org/ now, and openSuSE has long
offered http://openbuildservice.org/ to build and publish RPMs for a
range of RPM based distributions, so I'm already happy for us to end
bdist_rpm support on PyPI and direct people that want to publish RPMs
to those services instead.


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

More information about the Distutils-SIG mailing list