Python Packaging Strategy Discussion - Part 1

From a PEP Editor perspective, if there’s enough consensus in this approach and interest in submitting proposals, we could perhaps consider allocating a series of PEP numbers (like the 3000 and 3100 series for Python 3, and the 8000 and 8100 series for Python governance), with a Process meta-PEP documenting and agreeing upon the process and listing the individual proposals added as PEPs after that one.

Having a council of 3-5 PEP-Delegates certainly sounds ideal to me, if there is a desire to go ahead with this. The only difficulty would be deciding on who would comprise the committee, and deciding on how we’d decide that. The PEP-Delegate selection process as of our latest revision of PEP 1 is just people self-nominate and the SC approve it, or make the decision if there are multiple candidates; beyond that there’s no formal process, so we’d have to invent one.

In this case, we could just have people here nominate candidates, with their approval, and then the SC approve the 3-5 based on our feedback here, or we could have a more formal vote on the thread, or in the PyPA committers group e.g. by single transferable vote (or similar multiple-selection method) (and have the SC formally confirm that, if needed).

IMO, the ideal candidates would be those who:

  • Are well-respected in the packaging community
  • Collectively possess a diversity of backgrounds
  • Lack an existing strong vested interest/established opinion about a particular approach.

That latter point is probably the most difficult, since pretty much the who’s who of packaging have commented in this thread, but at the minimum we can say that anyone accepting a nomination as a PEP-Delegate cannot be an author of any of the PEPs for consideration, and must generally recuse themselves from actively advocating a strong stance for or against any of them (as is the general principle for PEP-Delegates currently). This should hopefully help self-select those who are committed to taking on the role of stepping back to help select that which best captures the consensus of the broader packaging community and serves the needs of Python’s userbase, versus the equally valuable one of being an author or champion of a specific proposal.

I’d personally like to see at least one Delegate with a scientific Python/PyData background, given somewhere around half of Python’s userbase falls into this demographic (including me)—and at least my experience bridging both worlds, it’s among the scientific community that I’ve both heard the loudest and most consistent calls for packaging unification from people of all Python experience levels, and also are hit hardest by the lack thereof, as they are by and large not professional programmers and are most lacking in the background, experience, rationale and institutional knowledge/resources to be able to successfully navigate the current landscape.

Finally, as a PEP editor with experience in packaging specs, logistics/organizing, technical writing, and in equal measure the PyData and core Python realm, and who’s been closely following this discussion from the beginning and been strongly invested in seeing some form of packaging unification come about, but is equally strongly neutral so far on the most workable approach to do so (and have accordingly have just been listening) with no direct ties to any of the tools or proposals involved, I offer any help I can give in an administrative/procedural capacity.

4 Likes