pydevtools.com blog
Google Sunsets Pytype: The End of an Era for Python Type Checking
Google announced that Pytype, their Python static type checker, will end support with Python 3.12. After 13 years of development, Google is shifting resources toward “new typing approaches” rather than continuing to maintain their bytecode-based analyzer. Pytype’s fundamental architecture became its limitation. Built on bytecode analysis, the tool struggled with Python’s evolving type system. As Google noted, “bytecode’s inherent instability and propensity to change” made implementing new typing PEPs increasingly difficult.
August 21, 2025
ty's Breakthrough: Why Incremental Analysis Matters for Python
In a recent PyBytes podcast interview, Astral’s Charlie Marsh shared insights into what makes their new type checker ty unique and how it aims to address longstanding challenges in Python type checking. What is ty? ty serves dual purposes: it functions as a standalone command-line type checker (similar to mypy) and as a language server that powers IDE features like go-to-definition, code completion, and real-time diagnostics. “We wanted to build a great type checker and a great language server, and they have things that are in common but they also have very different requirements,” Marsh explained. “If you don’t think about both of those from the start, you end up in a little bit of trouble.”
August 11, 2025
How Python's RFC Process Paved the Way for uv, Ruff, and Ty
Astral, an independent startup, has taken the Python world by storm over the last few years with three fast, robust Python developer tools: ruff (linter and formatter) uv (packaging and project management) ty (static type checker, still under development) These tools came from the mind of Charlie Marsh, who is neither a Python core developer nor directed by the Python Steering Council. While being independently developed, these tools work seamlessly within the established Python ecosystem. This success is in part due to Astral’s attention to the guidelines extablished by the Python Enhancement Proposal (PEP) process over the last twenty-five years
August 1, 2025
Interview with the Pybites podcast
Bob Belderbos invited me on the Pybites podcast where I talked about the handbook, uv, and more. I hope you enjoy it.
July 30, 2025
Use Interceptors to teach Claude Code to use uv
AI coding agents like Claude Code, Cursor, or GitHub Copilot often default to using system Python interpreters instead of using uv. Armin Ronacher, creator of Flask and Jinja, shared an elegant solution to this problem: creating dummy Python interpreter that actively redirect AI agents toward better tooling choices. Tip
July 28, 2025
uvhow: Get uv upgrade instructions for your uv install
I’ve released uvhow, a simple command-line tool that detects how uv was installed on your system and provides the correct upgrade instructions. uv can be installed through multiple methods. When it’s time to upgrade, users often struggle to remember which installation method they used, leading to confusion about the correct upgrade command. uvhow automatically detects your uv installation method and tells you exactly how to upgrade: uvx uvhow The tool works across Windows, macOS, and Linux and supports all major installation methods including:
July 22, 2025
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