Most of June went into pip work.
Work (June 1 - July 12)
Code
- pip
- Discussed whether pip should use
filenameor the URL basename from a PEP 691 JSON response. #14113 - Fixed a bug where option-error usage was not rendered by Rich and exposed the markup instead. #14143
- Added an opt-out environment variable for Git servers that cannot handle partial clones correctly. #14163
- Some performance improvements (very niche ones…).
pip shownow builds the file list only with--files, and the importlib backend no longer parsesMETADATAtwice. #14118, #14090 - Fixed bugs where an invalid requirement marker caused a traceback,
pip list --excludechanged the--not-requiredresult, and extras disappeared fromDiscardinglogs because Rich treated them as markup. #14135, #14130, #14085 - Working on a clearer warning for incompletely removed
~...dist-infodirectories. #14047
- Discussed whether pip should use
- django-auditlog
- django-hosts
- Also working on moving django-hosts to Django Commons. django-commons/membership#505
- pipx
Triage
I started triaging mostly older pip issues. I compared them against current code and used git bisect to find when they had been fixed. Spending time in older code also helped me get a better grasp of the codebase.
- Wheels larger than 4GB failed to install. The response body was stored inside the msgpack cache and hit its roughly 4GB limit. Moving it to a separate file fixed the issue. #9549, #11143
- pip mistook a GitHub Actions image name for a version and failed. The issue was fixed in
packaging#932and reached pip when it was vendored in 26.0. #12825, packaging#932 - A local sdist source directory was removed even with
--no-clean. I confirmed that current code preserves it. #2779, #7516
Reviews
- Reviewed the
abstractpropertyremoval and caught an omission. #14099 - Found that a path traversal PR used an incorrect reproducer. #14109
Footnotes
-
Jazzband is winding down and moving its projects to other organizations (Sunsetting Jazzband). ↩