[Distutils] providing a way for pip to communicate extra info to users

Paul Moore p.f.moore at gmail.com
Wed Apr 11 13:18:30 EDT 2018

On 11 April 2018 at 17:32, Pradyun Gedam <pradyunsg at gmail.com> wrote:
> On Tue, 10 Apr 2018, 05:17 Chris Jerdonek, <chris.jerdonek at gmail.com> wrote:
>> A possible middle-ground could be to hard-code a message in pip. Pip
>> could display the message in certain circumstances, e.g. in response
>> to certain types of failures. For example, the message could tell
>> users to check a certain URL maintained by PyPA for further
>> information / possible announcements.
>> What do people think?
> I like the idea.
> I think linking to a location where we can make informative comments would
> be a good idea — ideally where we can show announcements reverse
> chronologically.
> I don’t know how relevant they are but scenarios where this would help, that
> come to my mind are:
> - Status Page: "pypi.org is undergoing an incident and installations may
> fail. You can find more information at status.python.org."

For HTTP type responses, which is what I understood Chris' question to
be about, this seems like a good approach to me - the index can supply
a response that triggers pip to report a message. "The index XXX
reported an issue - for more information see XXX/status". That would
need a PEP 503 change to say that an index can trigger this message by
sending a certain response code, and that if an index does send that
code, it must provide additional information at its /status page.

> - Major Features: for things like PEP 517 when it's released. "There's news.
> Have a look at pypi.org/news" or something like that.

For these, I was thinking about this in the context of how we announce
releases like pip 10. Maybe something like this would better fit as an
addition to the pip selfcheck code - so that as well as checking for a
newer version, pip would also check for a "Message of the day" at a
known URL and display it if there is one. That gives us a way to
announce releases or betas, or upcoming deprecations, in a way that
reaches every pip user (at least every one who's connected to the
internet!) It's a bit intrusive, so I think it's critical that we use
it sparingly, but it would be good to have at least some channel that
reaches everyone. I don't think it's something we'd want to use for
transient issues like pypi outages, for instance.


More information about the Distutils-SIG mailing list