OSS Work update #7

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

I am working on open source projects, as part of an internship at FOSSEE and as a part of grant-funded work on pip’s dependency resolver.

Work I did (Dec 11 - Jan 5)

Technical

  • Wrore and adopted vendoring for use in pip.
    • Initiated conversation for pipenv to switch to it too.
  • Made progress toward TOML 1.0, via useful clarifications in the specification
  • Continued tackling pip’s build logic refactoring.
    • Refactoring of pip’s wheel building logic.
    • Designing a “package builder” library – figuring out what Python Packaging’s “build” step should look like to end users.
  • Started reviewing virtualenv’s rewrite.
  • PR Reviews: ~25, including improvements to pip’s installation logic, better wheel-related error messages and more.

Communication

  • A few release manager-y things:
    • (I’ll be the release manager for pip 20.0)
    • Identified tasks that need to happen prior to pip’s release.
  • Discussions on discuss.python.org:
    • Giving pip an API https://discuss.python.org/t/2833
    • Python Packaging in GSoC 2020 https://discuss.python.org/t/2830
    • PyPA governance PEP https://discuss.python.org/t/2619
  • Discussions on issue trackers:
    • New Resolver: technical choices https://github.com/pypa/pip/issues/7406
    • Switch to a dedicated tool for vendoring pip’s dependencies https://github.com/pypa/pip/pull/7485
  • Provided helper/starter for pip’s UX review work.
  • Onboarded a new triager to pip: Welcome Stéphane Bidoul! :)

Additional notes on challenges

December was fairly productive, until the end of the month, when the holidays came in and I also wasn’t in the best of health.

I couldn’t come up with a good talk topic for PyCon US 2020. :/

Goals for January 2020

Technical

  • Onboard and co-work with a developer, on pip.
  • Triage pip’s issue tracker. A lot.
  • Spend some time improving pip’s test suite infrastructure.
  • Investigate Python 2 usage from PyPI, to identify anomalies.

Communication

  • Ensure pip 20.0’s release goes well (I’m the release manager).
    • Yay automation that I worked on a little while back!
  • I’ll be very active on PSF’s Zulip instance, as part of the grant-funded work on pip’s resolver.

Other commitments

None.

Help us

How can you help us?

  • provide test cases where the latest released version of pip (19.3.1, 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.
  • talk with your company about becoming a PSF sponsor. The Fundable Packaging Improvements page lists fairly well-scoped projects that would happen much faster if we get funding to achieve them.