PEP 541 and friendly PyPI transfers

For my $job, I recently completed a friendly transfer of a PyPI package name. All in all, it was a very nice experience - the original owner was really great to work with, and we will be maintaining a backward compatibility shim for a while.

PEP 541 - Package Index Name Retention was the guiding document, but I found a few things that could possibly be improved there.

Given that its status is Final and was created back in 2017, I’m not sure whether it’s worth updating the PEP – but it might be! Also, the PEP seems to be much more concerned with unfriendly transfers, so if that’s its purpose, then let this topic be a guide to others wanting to effect a friendly transfer.

The first hiccup was that PEP 541 doesn’t really talk about friendly transfers. The closest section in the PEP is How to request a name transfer.

Following those suggestions, I did indeed contact the current owner, and there was already an open issue on their repository, which predated my involvement, so I engaged on that existing ticket. As it turns out, the owner had already followed up positively on the topic, so things went pretty smoothly thereafter.

PEP 541 also suggests opening an issue on the PyPI support page, but that’s pretty much unnecessary for friendly transfers. Besides that, the ticket that I did open there was basically ignored – no PyPI admin or triager ever responded.

And that makes sense! Because the other thing PEP 541 doesn’t tell you is that friendly transfers are pretty much trivial, and no need for a PyPI admin to get involved. As @encukou says in this Discuss thread, the current owner just needs to go to Collaborators, and add the new owner as an Owner. Once I was added as an owner, I simply removed the old owner [1], and we were done! I closed the ticket on the PyPI support page and everyone is happy.

So there ya go. Should we update PEP 541 to better cover the friendly transfer use case?

  1. with permission of course since this was a friendly transfer ↩︎


I see that the PyPI help links directly to the PEP, but perhaps it should have its own docs, and then there’s no issue with updating that?


Agreed, that seems right. PEPs are historical documents, not living documents, so expanding on the PyPI help seems more appropriate.

1 Like

I’m mostly just parroting the takeaway from recent threads about packaging–it seems like two common complaints are a) referring to stuff by PEP can be cryptic and b) the docs don’t get enough attention.

I wonder how many people find PEP 541 through that help link, versus any other way.

Not all PEPs are historical documents, for better or worse. This is a Process PEP. It looks like it could be Active rather than Final, and Active PEPs can be changed.

OTOH, the PEP itself sets a very high bar for amending it – lawyer review and formal voting.
Putting an abriged, user-focused version in PyPI docs does seem like the best way to go.