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

Nick Coghlan ncoghlan at gmail.com
Thu Aug 18 21:40:19 EDT 2016

On 19 August 2016 at 08:12, Nathaniel Smith <njs at pobox.com> wrote:
> On Mon, Aug 15, 2016 at 5:02 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> *  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.
> Like any invisible state, there's some potential for confusion here --
> "how come I can upload these files but my co-maintainer can't?" Not
> necessarily a fatal flaw, but something to be aware of.

I wasn't suggesting the state would be invisible, more something akin
to the PEP 438 settings:

- existing projects with no legacy formats uploaded get "No legacy
formats" flagged
- existing projects with legacy formats uploaded get "Legacy formats" flagged
- existing maintainers with projects in the second category get a "Can
enable legacy formats" flag

By default, new projects would have the "No legacy formats" flag
(regardless of who created them), but existing maintainers with the
"Can enable legacy formats" marker would be able to change that. Once
a maintainer flipped the setting for a given project, then anyone
maintaining that project could upload the legacy formats, but wouldn't
automatically gain the ability to change the setting on other

This approach would mean we could be fairly aggressive in pushing
*new* users towards the newer formats (since there'd be a sharp
historical line beyond which new accounts simply can't enable the
legacy formats for their projects), *without* breaking the workflows
of existing projects and maintainers (at least, not yet).

Alternatively, we could simply not worry about a user level flag, and
just have a project level flag that's set to "No legacy formats" by
default for new projects - new users won't have any incentive to
change it, while existing users can change it (at least for the time
being) if that suits their workflow.


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

More information about the Distutils-SIG mailing list