pydevtools.com blog
uv 0.8 Release: Automatic Python Installation to PATH
Tip Check out our guide to upgrading uv uv 0.8 stabilizes one of the most significant workflow improvements in Python tooling: automatic installation of Python executables to your PATH. This means you can finally install Python versions with uv python install and use them system-wide without wrestling with environment activation.
July 19, 2025
Python is good now!
I love César Soto Valero’s recent post I’m Switching to Python and Actually Liking It. To my great surprise, I’ve found that Python, and everything around it, has really improved a lot over the last decades. Here are just three examples: Python has created a very complete ecosystem of libraries and tools for processing and analyzing data. Python has gotten faster with optimized static compilers like Cython. Python has done a good job of hiding its legacy ugliness (such as __init__, __new__, and similar aberrations), sweetening its syntax to accommodate developers with good taste. Read the whole post.
July 16, 2025
Why isn't Python packaging part of core development?
bitecode.dev just posted a massive video interview with Python core dev Brett Cannon. Among many other things, Brett explains why Python packaging hasn’t been part of Python core development: Basically, they’re separate because Guido doesn’t care about packaging. That’s really what it comes down to. When packaging started to become a thing, we just didn’t have any interest in it, and so it never became a core dev concern. It just never came up—it was just not our thing. So the community in various ways stepped up to fill that void.
July 16, 2025
Hynek Schlawack's uv Workflow Guide
Hynek Schlawack’s new video “uv: Making Python Local Workflows FAST and BORING in 2025” demonstrates practical uv workflows using real examples. He covers: Replacing pip/virtualenv/pyenv with a single tool Dependency management and lock files Testing and linting integration just integration for cross-platform commands If you missed Part 1 of Hynek’s series, it’s available here.
July 7, 2025
The uv build backend is now stable
uv build backend is now stable and really, really fast
July 3, 2025
Managing Python Versions In Your uv Projects
One of the many ways the package manager uv has changed Python is by making it painless to install and run different versions of the Python interpreter. That said, I’ve occasionally gotten tripped up configuring this correctly in my development environments. I’ve written a few articles to try to clarify things: What is a .python-version file? Not unique to uv, a .python-version file specifies which Python version should be used for a particular project or directory. .python-version vs requires-python in pyproject.toml. The former is for development environments, while the latter is for package metadata. How to change the python version of a uv project. If uv run isn’t using the version of Python you expected or wanted, here is what you can do. The goal of the handbook is to help you understand the ecosystem of tools used to make Python development easier and more productive. What are some missing topics you’d like to see included?
June 25, 2025
Comparison of the Two New Typecheckers
At PyCon 2025’s Typing Summit, participants were given a first look at Meta’s Pyrefly and Astral’s ty, two new Python type checkers that promise dramatically faster, more powerful type analysis. Edward Li helpfully took notes and provided a right-up. Here are some takeaways: Both tools are blazingly fast Pyrefly claims up to 1.8 million lines/sec (35× faster than Pyre, 14× faster than MyPy/Pyright), while ty benchmarks show it running 2–3× faster than Pyrefly on real-world codebases. The tools have distinct philosophies
May 28, 2025
Pyrefly: Meta's New Type Checker for Python
Meta has announced Pyrefly, a new static type checker built in Rust to deliver fast performance and scalability for large Python codebases. While inspired by Meta’s earlier tool Pyre, Pyrefly is not a rewrite: it’s a clean-slate implementation with a new type inference engine, a custom incremental computation model, and cross-platform support. Despite the maturity of tools like Mypy, Pyright, and Pyre, Meta found that scaling static analysis across massive codebases required a faster, more flexible foundation. Pyrefly is designed to deliver instant IDE feedback with strong type inference.
April 30, 2025
Why uv makes Make less essential for Python projects
For years, I’ve been a strong advocate for using Makefiles in Python projects. They’ve provided a consistent interface for common tasks like environment setup (make venv), testing (make test), and code formatting (make format). But with the advent of uv, I’m reconsidering this approach. Make might be becoming less essential in the modern Python ecosystem. The Speed Factor One of Make’s traditional strengths is avoiding unnecessary work. A properly configured Makefile only rebuilds targets when dependencies change. This was valuable when setting up Python environments, for example:
April 4, 2025
Early Explorations of Astral's Red Knot Type Checker
ℹ️ Update (May 5, 2025): Red Knot has been renamed ty. A recent blog post by Michael Jurasovic provides an interesting early peek at Astral’s upcoming static type checker, Red Knot. While still under active development with an alpha release targeted for PyCon 2025, this in-development tool shows impressive potential.
April 3, 2025