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?
with permission of course since this was a friendly transfer ↩︎