@simon 100% what Hynek said. One of the most painful things about Python development, for me, is how fragile the packaging stuff is and how little regard for backward compatibility there is in the leading tools. It isn't that it's bad or that it's unreasonably slow, it's that it's an element of chaos. I never know when an update will break my CI builds, so I have to lock to a specific set of versions. And, somehow every packaging related thing in Python is fragile like that.