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
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
Reposted by Charlie Marsh
zlib-rs is now used in uv!
uv is the extremely fast Python package & project manager with over 200M requests/day.

Not only are we happy about the adoption but also grateful for Astral and @crmarsh.com stepping up and supporting us through a GitHub sponsorship. Thanks!
Migrate to `zlib-rs` (again) by charliermarsh · Pull Request #11894 · astral-sh/uv
Summary I believe zlib-rs is now a better choice on ARM and x86, so I'm just going to assume it's a better choice everywhere. It's much easier to build (removes our CMake dependency), a...
github.com
March 14, 2025 at 11:06 AM
Reposted by Charlie Marsh
In the latest version of uv, we've updated the build system for our managed Python versions to use the latest LLVM version and cherry-picked an extra fix for a performance bug (github.com/llvm/llvm-pr...) and the early benchmarks are pretty exciting!

On M3 macOS
March 12, 2025 at 12:45 AM
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
Reposted by Charlie Marsh
Python 3.14.0a5 is out today in uv 0.5.31 and includes a new tail calling interpreter which, from some quick benchmarks, looks like a 1.23x performance improvement !
February 12, 2025 at 10:37 PM
Reposted by Charlie Marsh
How to create a Python CLI that's globally available in your system in 5 easy steps.

1. Install uv
2. Init project with `uv init --app --package mycli`
3. Write code
4. Install with `uv tool install . -e`
5. Use `mycli` anywhere in your computer
February 11, 2025 at 11:07 AM
Reposted by Charlie Marsh
🐍🎧 Charlie Marsh: Accelerating Python Tooling With Ruff and uv

How is the Rust programming language being used to speed up Python tools? This week on the show, we speak with @crmarsh.com about his company, Astral, and their tools, uv and Ruff.

https://realpython.com/podcasts/rpp/238/
February 10, 2025 at 10:21 PM
Reposted by Charlie Marsh
I want to thank @crmarsh.com for coming on the show this week. What a great conversation! We dug in to Ruff, uv, Astral, and a new typing tool being developed. Thanks again!
realpython.com/podcasts/rpp...
Episode #238: Charlie Marsh: Accelerating Python Tooling With Ruff and uv – The Real Python Podcast
Are you looking for fast tools to lint your code and manage your projects? How is the Rust programming language being used to speed up Python tools? This week on the show, we speak with Charlie Marsh ...
realpython.com
February 7, 2025 at 6:17 PM
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
Incredible: PyCharm now ships with first-class support for uv!
January 29, 2025 at 4:06 PM
We're continuing to grow the Astral team, and every hire we make is like a dream hire. I don't understand how we're doing it but it rules.

This time, it's @gankra.bsky.social! Most recently CTO at Axo, author of cargo-dist, author of The Rustonomicon, Rust 1.0 team member, and more.
January 27, 2025 at 6:14 PM
It was really valuable for me to stay at a single company long enough to live with the consequences of my own engineering decisions. To come face-to-face with my own technical debt.

It takes a few years for this to play out but IMO it's an important part of engineering growth.
January 11, 2025 at 2:08 PM
Reposted by Charlie Marsh
🚀 Big news for #Python devs! Socket now supports uv.lock files, bringing deterministic dependency resolution and enhanced supply chain security to your projects. 🛡️ Say goodbye to dependency hell and hello to secure, consistent builds! 🔒✨ @crmarsh.com

socket.dev/blog/socket-...
Socket Now Supports uv.lock Files - Socket
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
socket.dev
January 9, 2025 at 8:56 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
A nice side-effect of making things programmable is that it's much easier to get help from LLMs...

For example: infrastructure-as-code means that I can get an LLM to generate CDK, then run the generated CDK, paste back errors, and iterate. No need for any other form interaction.
January 5, 2025 at 8:45 PM
As someone that learned Rust in 2022, it's easy to forgot how long it takes to build a language and an ecosystem...

Rust 1.0 was almost 10 years ago (2015). Graydon Hoare started working on it almost 20 years ago (2006).
January 3, 2025 at 4:00 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
I love the Fish shell writeup on their Rewrite-it-in-Rust journey. It's really nuanced: there's some good, some bad, some introspection on their own mistakes.

But most importantly: they did it! 2604 commits over ~two years of work across > 200 authors. Ship ship ship!

fishshell.com/blog/rustport/
Fish 4.0: The Fish Of Theseus
A smart and user-friendly command line shell
fishshell.com
December 29, 2024 at 4:10 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
Any good write-ups on performance improvements across glibc versions? I.e., what kind of lift can you expect when bumping your glibc version?
December 24, 2024 at 3:14 PM