OSS Work update – 6 Sept 2019

I’m trying to post these roughly once a month. Here’s the August post which includes the work I was planning to do this month.

Work I did (Aug 6 - Sept 5)

Technical

  • Began working on splitting the code for handling of the two kinds of source distributions.
  • Wrap up pip 19.2, with pip 19.2.3 release, unblocking Python 3.8’s final beta. Hooray!
  • Fix documentation builds for pip, on ReadTheDocs – this took way longer to figure out than I’d expected.
  • Multiple miscellaneous fixes that I could do in gaps between classes.
  • Lots of PRs reviewed (30+)

In August, I wanted to get further on separating “prepare distribution” logic from the resolution logic and on turning distribution-type-specific build code into dedicated modules within the new “distributions” sub-package in pip. I didn’t get there.

Communication

  • Gave a keynote at PyCon Korea! (no video links yet – will probably be here)
  • The details and requirements for my final semester internship have been clarified.
  • OKed the MOSS funding proposal
  • Contributed to several discussions on the Python discussion forum, including on better licensing metadata and PyPA governance.

During this month, I also proposed an improvement to twine check (motivated by confusing output when making a pip release), made some more progress toward TOML 1.0, and worked on some of my personal tooling which broke due to a VS Code update. :)

Additional notes on challenges

Lack of time. Outside of my talk at PyCon Korea and mid-semester examinations at college, I could not find much time to work on the goals I had set for myself. In the time that I could make, the urgency of the pip release, broken documentation build, and code review left very little time for me to make progress on foundational improvements to pip’s codebase.

Goals for September

Technical

  • Wrap up the goals I’d set for August:
    • Finish splitting logic for handling on source distributions in the new “distributions” sub-package in pip.
    • Separate “prepare distribution” logic from the resolution logic.
  • Develop a clearer mental model for pip’s handling of distribution metadata.
  • Investigate how to adapt pip’s distribution preparation logic to provide distribution metadata as an independent object.

Communication

  • (rolled over from August) Reach out to maintainers of pipenv, pip-tools and poetry, to have a conversation about code reuse.
  • Break down tasks, and discuss the priorities for future items for work in pip’s build logic refactor.

Other commitments

I expect to have more time to work on pip in September. There will be less academic workload (read: no exams) and I’m not travelling this month. In mid-October, I’ll be speaking at PyCon India 2019 (yay!) on the state of Python packaging, so I’ll also be working on that talk this month.

Help us

I’m currently looking for 20+ week internships, for my final semester credits in college, starting in December 2019 or early January 2020. If you reckon I’d be a good addition to your team, please reach out.

And if you are reviewing funding requests for the Chan Zuckerberg Initiative or for Mozilla’s Open Source Support program, I hope you’ll approve our proposals. :)

Also, if you care about how Python Packaging is governed, please respond to my PyPA governance proposal.

Other than that, I have the same list as in June. Thanks!

Also, thanks to Sumana Harihareswara for help in editing.