Charlie Marsh
banner
crmarsh.com
Charlie Marsh
@crmarsh.com
Building Astral: Ruff, uv, and other high-performance Python tools, written in Rust.
Today, we're announcing our first hosted infrastructure product: pyx, a Python-native package registry.

We think of pyx as an optimized backend for uv: it’s a package registry, but it also solves problems that go beyond the scope of a traditional "package registry".
August 13, 2025 at 6:24 PM
The uv build backend is now stable, and considered ready for production use.

An alternative to setuptools, hatchling, etc. for pure Python projects, with a focus on good defaults, user-friendly error messages, and performance.

When used with uv, it's 10-35x faster.
July 3, 2025 at 1:55 AM
Alongside the preview release, we're also shipping an official VS Code extension.

And you can use `ty server` directly in any editor that supports the Language Server Protocol (Neovim, etc.).
May 13, 2025 at 5:00 PM
Today, we’re announcing the preview release of ty, an extremely fast type checker and language server for Python, written in Rust.

In early testing, it's 10x, 50x, even 100x faster than existing type checkers. (We've seen >600x speed-ups over Mypy in some real-world projects.)
May 13, 2025 at 5:00 PM
uv is one year old today. Hard to believe its only been a year. The growth, adoption, and impact surpassed my wildest expectations.

Happy birthday, uv! 🥳
February 16, 2025 at 2:18 AM
We’re building a new static type checker for Python, from scratch, in Rust.

From a technical perspective, it’s probably our most ambitious project yet. We’re about 800 PRs deep!
January 29, 2025 at 5:18 PM
Once selected, Quick Fix actions will allow you to install missing packages into your environment with uv.
January 29, 2025 at 4:06 PM
You can now choose uv when setting the Python interpreter for your project, which will then invoke uv to create the virtual environment.
January 29, 2025 at 4:06 PM
Incredible: PyCharm now ships with first-class support for uv!
January 29, 2025 at 4:06 PM
We now have first-class documentation for using uv with AWS Lambda

docs.astral.sh/uv/guides/in...
January 8, 2025 at 4:44 PM
In the next uv release, resolving Apache Airflow (with a warm cache) gets over 2x faster.
January 8, 2025 at 3:29 PM
You can now install the latest Python 3.14 alpha with uv
January 7, 2025 at 6:03 PM
When we get Renovate PRs for dependencies that people on the Astral team maintain
January 6, 2025 at 1:05 AM
Being 100% serious, for me what's described here is a big part of Rust's success.

It's fun. And it makes things that are often un-fun (installing the toolchain, adding dependencies) easy.
December 29, 2024 at 4:15 PM
My Christmas gift is this series of PRs making standalone PEP 723 scripts first-class targets for all uv commands.

You'll be able to create lockfiles for PEP 723 scripts, export them to requirements.txt, view the dependencies with uv tree, and more.
December 25, 2024 at 7:24 PM
Hearing early reports that the first Astral PR upstreaming python-build-standalone changes to CPython has been merged...
December 23, 2024 at 5:29 PM
If you've ever seen this unguarded symbol error, it's now fixed.
December 23, 2024 at 2:38 PM
If you've ever seen this "Python.h: No such file or directory" error, it's now fixed.
December 23, 2024 at 2:38 PM
If you've ever seen this "clang: No such file or directory" error, it's now fixed.
December 23, 2024 at 2:38 PM
If you've ever seen this "Compiling with an SDK that doesn't seem to exist" error when building wheels on macOS, it's now fixed.
December 23, 2024 at 2:38 PM
Last week I focused on addressing quirks in python-build-standalone and fixing the common pain points with uv-installed Pythons.

For example: if you've ever run into this tkinter error, it's now fixed.
December 23, 2024 at 2:38 PM
python-build-standalone is now officially part of the Astral organization!
December 17, 2024 at 10:47 PM
uv's resolver now recognizes that certain combinations of markers are impossible, even if the grammar allows them.

For example, sys_platform == "darwin" and platform_system == "Windows" can't be true at the same time.

Lets us do less work by solving fewer combinations.
December 15, 2024 at 11:08 PM
uv has made it into GitHub's default .gitignore
December 9, 2024 at 5:57 PM
It's what makes `uv python install` feel magical. There's no build step!
December 4, 2024 at 2:10 AM