OSS Work update #5

I’m trying to post these roughly once a month. Here’s the October post.

Work I did (Oct 6 - Nov 5)

Technical

  • Wrapped up refactoring metadata generation within pip. (yay!)
  • Started refactoring wheel building logic within pip.
  • A few minor fixes/cleanup within pip.
  • Helped out with pip 19.3’s release.
  • Significantly simplified pip’s release processes.
  • Reviewed >50 PRs.
  • Fixed a “major” regression in pip’s detection of virtual environments.
  • Got some work done, progressing closer to TOML 1.0.0.

Communication

  • Summarized the progress on the build logic refactoring.
  • PyCon India 2019! (yay!)
    • I gave a talk!
    • I ran a sprint! ~20 contributors and just me as a mentor. (This was fun!)
  • Figured out a lot of the details around my semster-long internship.
  • Had a chat with b.p.o. maintainers, and published a blog post describing their plans going forward.
  • My proposed governance model for PyPA, is becoming a PEP.

Additional notes on challenges

Oh boi, pip’s test suite doesn’t like venv. The initial draft for this commit message was about 4x as long, and a lot less… nice. I sunk quite a few hours across two days, into that one commit, trying to make things work before realizing that it’d be better to tackle fixing the test isolation separately.

A lot of my time over the last two weeks has gone into handling a big mess, in my hostel room caused by fungi. Even though I didn’t cause this mess, I have to deal with it (allergic bronchitis isn’t making it easier).

Other than that though, I think everything went as I had anticipated. During PyCon India + Diwali, I made the exact amount of progress on the “code” problems as I’d expected – None. Back in college, there was enough academic workload to drain me by the end of the day. :)

Basically, I think almost all of my “write code”, happened on 2 or 3 days total, in this past month.

Goals for November

Technical

  • Figure out a plan for refactoring pip’s wheel building logic.
  • Make more progress on the TOML’s compliance suite.

Communication

  • Wrap up final-semester internship search.
  • (stretch) Write a blog post using all the material that was trimmed out of my PyCon India talk – “A checkin on Python Packaging”.

Other commitments

I have my end-sem examinations all of November (there’s one tomorrow).

Overall, November is gonna be fairly “low” productivity. Hopefully, I would be able to make some progress in early December (I’ll be back home!).

Help us

How can you help us?

  • talk with your company about becoming a PSF sponsor. The Fundable Packaging Improvements page now summarizes what bugfixes/features/projects within and outside PyPA are blocked on the new resolver, some background context, and how funding would help us get it finished faster.
  • provide test cases where the latest released version of pip (19.2.3, at the time of writing) fails to resolve dependencies properly (on zazo’s issue tracker). They will help us design and test the new resolver.
  • volunteer to help us build robust testing infrastructure
  • triage pip bugs! Around 10% of pip’s issues have not been triaged yet and many others need of action/review.