Hello there! My schoolyear is coming to an end, with some final assignments and group projects left to be done. I for sure underestimated the workload of these and in the last (and probably next) few days I'm drowning in work trying to meet my deadlines.
One project that might be remotely relevant is cheese-shop, which tries to manage the metadata of packages from the real Cheese Shop. Other than that, schoolwork is draining a lot of my time and I can't remember the last time I came up with something new for my GSoC Project )-;
On the bright side, I received a lot of help and encouragement from contributors and stakeholders of
pip. In the last week alone, I had five pull requests merged:
- GH-8332: Add license requirement to
- GH-8320: Add utilities for parallelization
- GH-8504: Parallelize
pip list --outdated and
- GH-8411: Refactor operations.prepare.prepare_linked_requirement
- GH-8467: Add utitlity to lazily acquire wheel metadata over HTTP
In addition to helping me getting my PRs merged, my mentor Pradyun Gedam also gave me my first official feedback, including what I'm doing right (and wrong too!) and what I should keep doing to increase the chance of the project being successful.
GH-7819's roadmap (Danny McClanahan's discoveries and works on lazy wheels) is being closely tracked by
hatch's maintainter Ofek Lev, which really makes me proud and warms my heart, that what I'm helping build is actually needed by the community!
Learning How To Swim
With GH-8467 and GH-8530 merged, I'm now working on GH-8532 which aims to roll out the lazy wheel as the way to obtain dependency information via the CLI flag
GH-8532 was failing initially, despite being relatively trivial and that the commit it used to base on was passing. Surprisingly, after rebasing it on top of GH-8530, it suddenly became green mysteriously. After the first (early) review, I was able to iterate on my earlier code, which used the ambiguous exception
The rest to be done is just adding some functional tests (I'm pretty sure this will be either overwhelming or underwhelming) to make sure that the command-line flag is working correctly. Hopefully this can make it into the beta of the upcoming release this month.
In other news, I've also submitted a patch improving the tests for the parallelization utilities, which was really messy as I wrote them. Better late than never!
Metaphors aside, I actually can't swim d-:
After GH-8532, I think I'll try to parallelize downloads of wheels that are lazily fetched only for metadata. By the current implementation of the new resolver, for
pip install, this can be injected directly between the resolution and build/installation process.