Sign in

Charlie Marsh

@crmarsh.com
7.8K followers 315 following 270 posts

Building Astral: Ruff, uv, and other high-performance Python tools, written in Rust.

PostsRepliesMedia
Reposted by Charlie Marsh
Sebastián Ramírez @tiangolo.com · 10/11/2025
A basic @fastapi.tiangolo.com app, just one command away. 🎁 First FastAPI thing from @savannah.dev ! 🙌 Also, @crmarsh.com 's uv is awesome, use it. 😎
1172
Charlie Marsh @crmarsh.com · 13/08/2025
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".
417237
Charlie Marsh @crmarsh.com · 03/07/2025
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.
523643
Charlie Marsh @crmarsh.com · 13/05/2025
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.)
1433384
Reposted by Charlie Marsh
Trifecta Tech Foundation @trifectatech.bsky.social · 14/03/2025
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!
github.com
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...
0285
Reposted by Charlie Marsh
Zanie Blue @zanieb.bsky.social · 12/03/2025
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
>40% improvement on aarch64 macOS
5528
Charlie Marsh @crmarsh.com · 16/02/2025
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! 🥳
1741136
Reposted by Charlie Marsh
Zanie Blue @zanieb.bsky.social · 12/02/2025
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 !
48017
Reposted by Charlie Marsh
Rodrigo Girão Serrão 🐍🚀 @mathspp.com · 11/02/2025
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
67614
Reposted by Charlie Marsh
Real Python @realpython.com · 10/02/2025
🐍🎧 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. realpython.com/podcasts/rpp/238
3237
Reposted by Charlie Marsh
Christopher Bailey @digiglean.bsky.social · 07/02/2025
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...
realpython.com
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 ...
1301
Charlie Marsh @crmarsh.com · 29/01/2025
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!
35722104
Charlie Marsh @crmarsh.com · 29/01/2025
Incredible: PyCharm now ships with first-class support for uv!
51094
Charlie Marsh @crmarsh.com · 27/01/2025
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.
11264
Charlie Marsh @crmarsh.com · 11/01/2025
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.
1019122
Reposted by Charlie Marsh
Socket @socket.dev · 09/01/2025
🚀 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.dev
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.
0153
Charlie Marsh @crmarsh.com · 08/01/2025
We now have first-class documentation for using uv with AWS Lambda docs.astral.sh/uv/guides/in...
4728
Charlie Marsh @crmarsh.com · 08/01/2025
In the next uv release, resolving Apache Airflow (with a warm cache) gets over 2x faster.
3622
Charlie Marsh @crmarsh.com · 07/01/2025
You can now install the latest Python 3.14 alpha with uv
uv python install 3.14 --preview
512610
Charlie Marsh @crmarsh.com · 06/01/2025
When we get Renovate PRs for dependencies that people on the Astral team maintain
2280
Charlie Marsh @crmarsh.com · 05/01/2025
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.
1361
Charlie Marsh @crmarsh.com · 03/01/2025
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).
3774
Charlie Marsh @crmarsh.com · 29/12/2024
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.
511611
Charlie Marsh @crmarsh.com · 29/12/2024
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/
fishshell.com
Fish 4.0: The Fish Of Theseus
A smart and user-friendly command line shell
19717
Charlie Marsh @crmarsh.com · 25/12/2024
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.
1856
Charlie Marsh @crmarsh.com · 24/12/2024
Any good write-ups on performance improvements across glibc versions? I.e., what kind of lift can you expect when bumping your glibc version?
3151
Charlie Marsh @crmarsh.com · 23/12/2024
We now have a shared channel with the CPython core devs where we're discussing upstreaming python-build-standalone changes to CPython itself. It's been pretty awesome to see how welcoming, receptive, and helpful they've been. Grateful!
21427
Charlie Marsh @crmarsh.com · 23/12/2024
Hearing early reports that the first Astral PR upstreaming python-build-standalone changes to CPython has been merged...
gh-100384: Error on unguarded-availability in Darwin builds (#128155)
0451
Charlie Marsh @crmarsh.com · 23/12/2024
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.
A build failure indicating that Tcl wasn't installed properly.
4475
Reposted by Charlie Marsh
David Soria Parra @thedsp.bsky.social · 19/12/2024
Thanks to @crmarsh.com's uv and @jlowin.dev's FastMCP, the simplest MCP Server in Python with prompts, resources and tools, will soon be: gist.github.com/dsp-ant/f5f7.... One file, 34 lines! FastMCP will be part of Python MCP SDK 1.2.0, coming in the next days.
gist.github.com
1152
Charlie Marsh @crmarsh.com · 19/12/2024
A Git repo is worth a thousand words (when filing issues)
2151
Reposted by Charlie Marsh
Douglas Creager @dcreager.net · 18/12/2024
First panel: Bart says "Unfortunately I've discovered a new 'hardest problem in Python dependency resolution'"

Second panel: Homer replies "Hardest problem in Python dependency resolution so far!"
0582
Charlie Marsh @crmarsh.com · 18/12/2024
Unfortunately I’ve discovered a new “hardest problem in Python dependency resolution”
9581
Charlie Marsh @crmarsh.com · 17/12/2024
python-build-standalone is now officially part of the Astral organization!
https://github.com/astral-sh/python-build-standalone
212215
Charlie Marsh @crmarsh.com · 16/12/2024
It's so over (just wrote some C)
4340
Charlie Marsh @crmarsh.com · 15/12/2024
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.
2670
Charlie Marsh @crmarsh.com · 15/12/2024
Justifying my terrible new abstraction by referring to it as a "lowering" (wiser, more powerful)
0260
Reposted by Charlie Marsh
Hugo van Kemenade @hugovk.dev · 10/12/2024
Congratulations to the new #Python Steering Council for 2025! 🗳️ @pumpichank.bsky.social 🗳️ @corona10.bsky.social 🗳️ @emilyemorehouse.bsky.social 🗳️ @gpshead.bsky.social 🗳️ @pablogsal.com discuss.python.org/t/steering-c... hugovk.github.io/python-steer... #SteeringCouncil #PythonSteeringCouncil
Chart showing the members of each council over time.

This is the fifth year Pablo, fourth for Greg third for Emily, second (in a row) for Barry and first for Donghee.The same chart but including Guido's 28 year stint as BDFL.
05218
Charlie Marsh @crmarsh.com · 10/12/2024
Have we reached peak Member of Technical Staff?
260
Charlie Marsh @crmarsh.com · 09/12/2024
uv has made it into GitHub's default .gitignore
gitignore/Python.gitignore, with a uv.lock entry
4983
Charlie Marsh @crmarsh.com · 06/12/2024
My @eurorust.eu talk is up! "Building an extremely fast Python package manager, in Rust" It was the closing talk of the conference, covering what uv is, why we built it, how it works, what makes it fast -- and the role that Rust plays in all of this. www.youtube.com/watch?v=zOY9...
youtube.com
Building an extremely fast Python package manager, in Rust - Charlie Marsh | EuroRust 2024
YouTube video by EuroRust
5728
Reposted by Charlie Marsh
John Paton @johnpaton.net · 05/12/2024
How I use Astral’s uv to manage my local development environments: 1. Install uv through homebrew, install Python versions through uv. Upgrade uv version to get access to new Python builds, do this frequently #pythonprogramming
docs.astral.sh
uv
2356
Charlie Marsh @crmarsh.com · 04/12/2024
2025 budget? That's an Astral Projection
3360
Charlie Marsh @crmarsh.com · 04/12/2024
python-build-standalone has exploded in popularity, with over 70M downloads all-time. But what is a "standalone" Python build? It wasn't obvious to me at first! Initially, I didn't understand what problem was being solved or why it mattered...
716020
Charlie Marsh @crmarsh.com · 04/12/2024
Big news: Gregory Szorc's python-build-standalone project will be transitioning to Astral. If you've installed Python with uv, then you've used python-build-standalone. It powers installs for uv, Rye, mise, Bazel, pipx, Hatch, and more, with over 70,000,000 downloads. astral.sh/blog/python-...
astral.sh
A new home for python-build-standalone
Astral is taking stewardship of python-build-standalone, Gregory Szorc's foundational project for installing portable Python distributions.
418121
Charlie Marsh @crmarsh.com · 03/12/2024
The Astral documentation gets... a lot of traffic? That seems good
2360
Reposted by Charlie Marsh
Douglas Creager @dcreager.net · 02/12/2024
Today is my first day at Astral! Very excited to work with @crmarsh.com and the gang on Python tooling. It'll be fun (and strange) to focus on only one language for a bit!
2426
Charlie Marsh @crmarsh.com · 02/12/2024
I still find that Claude and ChatGPT are really, really weak at answering questions about Rust. Instead I use BurntSushi API for my questions.
7690
Charlie Marsh @crmarsh.com · 02/12/2024
Always a good reminder: both Ruff and uv see more PyPI downloads from Windows than macOS.
7871
Charlie Marsh @crmarsh.com · 01/12/2024
I've never done Advent of Code and at this point I'm afraid to try
11502