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

Nick Coghlan ncoghlan at gmail.com
Mon Aug 15 20:02:57 EDT 2016


On 16 Aug 2016 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.

General +1 from me for data driven design simplification.

As far as ideas for *how* to go about it go, I think there a few user
categories to consider:

* new user making their first project: we can deprecate legacy formats
aggressively here (since there shouldn't be many, if any, backwards
compatibility considerations for either automated workflows or people's
habits)

* new release of existing project: here is where we want to actively warn
project maintainers using the old formats that PyPI's behaviour will be
changing *before* we force them to change their workflows and habits

*  new project by existing maintainer: here, I'd be inclined to flag
maintainer accounts at the start of the deprecation period based on whether
or not they're currently using the legacy formats on any of their projects
- that is, the migration period would be applied at the *user* level, in
addition to the project level. If someone has never used the legacy
formats, they can be treated like a new user immediately, and will
presumably never even notice the change.

Cheers,
Nick.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20160816/e3c38ede/attachment-0001.html>


More information about the Distutils-SIG mailing list