RSSAmplifier

Blog

Richard Si –

Recent content on Richard Si

sichard.caRSS feed ↗16 posts

Latest posts

What's new in pip 26.2 - only-deps and venv isolation!

On July 29, 2026, I 1 released pip 26.2. Compared to a typical pip release, this release is huge with many changes. This was largely made possible by the paid time I’ve had to work on pip (and agentic LLM assistance). My contract expires in late August, however, so expect future releases to be less blockbuster. As always, please consult the changelog to learn about all of the changes…

I'm working on pip part-time for three months

This is the most exciting news I get to announce so far in my open-source tenure! If you follow the Python packaging ecosystem closely, you may have seen hints to this proposal. It’s finally real, having received the greenlight from the Packaging-WG in the past few days. Hang on, what’s happening? I will be working on pip part-time for 10 weeks from June 15 to August 21, 2026. The…

What's new in pip 26.1 - lockfiles and dependency cooldowns!

On April 26, 2026, we, the pip team, released pip 26.1. As always, please consult the changelog to learn about all of the changes contained in this release. Python 3.9 is no longer supported pip 26.1 now targets Python 3.10 and higher. Python 3.9 entered End-of-Life (EOL) status six months ago in October 2025. At this point in the year, many of pip’s vendored dependencies have stopped…

What's new in pip 26.0 - prerelease and upload-time filtering!

On January 30, 2026, we, the pip team, released pip 26.0. As always, please consult the changelog to learn about all of the changes contained in this release. Also, I apologise for the lack of a release post for pip 25.3. Changes have occurred in my personal life that have resulted in me having very little free time. I was thus unable to find the time to write a post in time for pip 25.3. Please…

What's new in pip 25.2 ... and a sneak peek of 25.3

On July 30, 2025, we, the pip team released pip 25.2 . Relative to the large 25.1 release, this release is tiny. It’s honestly so small that it barely warrants a post, but it wouldn’t be a proper release without a post, so enjoy whatever this is. As always, please consult the changelog to learn about all of the changes contained in this release. Key changes Python 3.14 is now…

What's new in pip 25.1 - Dependency groups!

On April 26, 2025, we, the pip team released pip 25.1. Compared to previous releases, this release is a large one. The changelog is quite long. Among the changes, there are numerous new features, including an install progress bar and support for Dependency Groups ! I won’t cover every single change here, so as always, please refer to the changelog for the full list of changes. Key features ✨…

Speeding up pip's Windows CI by setting TEMP to the D: drive

TL;DR If your GHA Windows jobs are I/O heavy, double check whether the I/O work is happening on the C: drive (OS) or D: drive (working space). If the C: drive is being used, you will likely benefit by moving that work to the D: drive . If you’re feeling more adventurous, you should also consider trying a ReFS/Dev Drive . A few weeks ago, I was waiting for pip’s CI to turn 🍏 so I could…

What's new in pip 25.0

On January 26, 2025, the pip team released pip 25.0 . Before delving into the key changes, I’d like to mention that the pip project has two new maintainers: Damian Shaw and Richard Si (that’s me!). I want to thank the pip core team for entrusting me with the commit bit on such a foundational project like pip. Also, this is the first release cut from a GitHub Actions CI/CD workflow that…

What's new in pip 24.3

On October 27, 2024, the pip team released pip 24.3 . This release was a significantly smaller release with only a handful of minor fixes and improvements. This write-up also includes the hotfixes included in pip 24.3.1 released on the same day. Thank you to Damian Shaw, Hugo van Kemenade, and Stéphane Bidoul for reviewing the draft of this write-up. PSA: Legacy editable installs are deprecated…

What's new in pip 24.2 — or why legacy editable installs are deprecated

On July 28, 2024, the pip team released pip 24.2 . As a recent addition to the pip core team, I’ll walk you through the noteworthy or interesting changes from pip 24.2. Let’s go! PSA, PSA, PSA 📣 If you’re using setuptools, do not have a pyproject.toml , and use pip’s -e flag, you may be impacted by the deprecation of legacy editable installs . If you’re an user of…

What's new in Black 23.1.0

Today we released Black 23.1.0 🎉. While Black does not follow SemVar, it is indeed a major release as it ships with the 2023 stable style . Many changes made to the preview style over the past year have been finally promoted to the stable style. You can install it by running this command: python -m pip install black == 23.1.0 Below I’ll cover the important changes worth mentioning. If you’d…

Black 23.1a1 - please help us test the 2023 stable style!

As the post summary says, earlier today we released Black 23.1a1 . You might be wondering why we released an alpha… it’s because the upcoming Black 23.1.0 release will see many preview code style changes promoted to the stable style. In other words, Black 23.1.0 will format your code differently out of the box . If you’re surprised we’re doing this, our stability policy…

What's new in Black 22.10.0

On October 6th, 2022, we released Black 22.10.0 . It’s a smaller release by the size of the changelog, but hey that means I don’t have to write as much! This is meant to be an accompanying blog post for 22.10.0. I won’t discuss every change, just the ones worth highlighting. Instead, I’ll go into more detail, providing context and explanations (and probably some behind of…

Compiling Black with mypyc, Pt. 3 - Deployment

This is part of the “ Compiling Black with mypyc ” series. Pt. 1 - Initial Steps Pt. 2 - Optimization Pt. 3 - Deployment (you’re reading this one) Building compiled wheels with GitHub Actions With the mypyc branch functional and pretty fast, it was time to automate building the wheels. Not only does this make the release process easier, but it also means I can easily build wheels…

Compiling Black with mypyc, Pt. 2 - Optimization

This is part of the “ Compiling Black with mypyc ” series. Pt. 1 - Initial Steps Pt. 2 - Optimization (you’re reading this one) Pt. 3 - Deployment Optimizing for mypyc Having compiled Black successfully without it blowing up, it was time to try to optimize Black for mypyc. While mypyc is designed to handle all sorts of statically typed code, changing up the code even a little bit…

Compiling Black with mypyc, Pt. 1 - Initial Steps

Release 22.1.0 of Black was special, not only was it the first stable version of Black, it was also the first release to ship with mypyc compiled wheels, doubling performance 1 🎉. The journey getting here took over two years, the creation of two new dev tools, and lots and lots of headscratching. Let’s go down memory lane, shall we? This is a long story so it’s broken up into three…