Notice: This page displays a fallback because interactive scripts did not run. Possible causes include disabled JavaScript or failure to load scripts or stylesheets.

Nominee for 2026 Python Packaging Council Election

William Woodruff

  • Previous Packaging Council Service: New Packaging Council member
  • Employer: OpenAI
  • Other Affiliations: PyPI, PyPA
  • Nominee Statement:

      My name is William Woodruff (@woodruffw on GitHub and DPO). I'm employed by OpenAI as a member of the Astral team; I currently focus on uv's security features.

      I've been involved in Python (and Python packaging specifically) for about a decade; I'm currently a member of the PyPA, one of PyPI's maintainers, and an active contributor to Python packaging standards and modernization efforts. I've been privileged to be a core part of several large security and modernization efforts over the years, including building pip-audit, PyPI's implementations of MFA, API tokens, and Trusted Publishing, alongside PEP 740 (attestations), PEP 792 (project status markers), PEP 753 (project URL handling), and a handful of other things.

      My interests in being on the Python Packaging Council are twofold:

      • I want the PPC to be a truly normative body for Python packaging standards, i.e. I want its decisions to have binding force and not to be informal and limited in normative effect (like PyPA membership often is). PEP 772 defines this mandate, but the efficacy of the PPC in practice will depend in a large part on how proactive the inaugural council is willing to be.
      • I want the PPC to have future-oriented, optimistic ideas about how to make Python packaging better. In other words I don't want it to take an incrementalist approach, particularly in its augural session.

      In sum, I want the inaugural session of the PPC to establish a strong precedent for the PPC having both the political and technical authority to make large-scale changes to Python packaging.

      My concrete platform:

      • I will push for a modernization/overhaul of the Python packaging PEP process: a more streamlined and well-defined draft-to-PEP state machine, concrete assignments and timelines for responsible individuals, and an overhaul of the "living standard" process (which currently allows packaging.python.org to languish).
      • I will push for the PPC to adopt a system of "good standing" for standard Python packaging tooling: Python packaging tooling that wishes to be considered "official" will need to remain in good standing, which will involve adopting relevant standards in a timely manner. This is a tall order, and will require us to carefully balance individual maintainers' interests and time commitments with the larger community's interests.
      • I will advocate for the PPC to speedily approve and accelerate the adoption of a handful of next-generation standards, including:
        • PEP 694 (Upload 2.0)
        • Wheel variants/future wheelnext PEPs/JSON metadata
      • I will advocate for the PPC to research and advance additional potential next-generation standards, including:
        • An improved archive format for Python packaging (replacing .tar.gz and/or .zip), as part of a larger effort to eliminate archive differentials and ambiguities by construction, instead of patching around them.
      • I will advocate for the PPC to deprecate and remove legacy aspects of Python packaging, via the standards process. Some potential candidates:
        • Deprecating and eventually forbidding the upload of older metadata versions (and/or legacy individual metadata fields).
        • Deprecating "source archives" (versus sdists) as an installable artifact, as part of a larger initiative to improve the adoption of structured metadata in Python packaging processes.