Faster Python Development with Astral Tools
Presto Python
© Photo by David Clode on Unsplash
The ecosystem for Python developers has evolved remarkably during the past few years. Much of this is due to three new tools created by Astral: uv, Ruff, and ty.
In less than four years, Charlie Marsh and his company Astral [1] (see the "Astral Acquired by OpenAI" box) have created three tools that make Python developers' lives easier: the package and project manager uv [2], the linter and formatter Ruff [3], and the type checker ty [4]. What these tools have in common is that they're fast and written in the Rust programming language [5]. They're open source, using MIT and Apache 2.0 licenses. As a result, at least Ruff and uv (the initial two tools) have gained adoption by numerous high-profile Python projects. In this article, I'll guide you through setting up Python development projects using uv, Ruff, and ty.
Managing Packages and Projects with uv
While uv wasn't Astral's first project, it's the most foundational, offering both package and project management for Python. This single tool replaces pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more. It allows you to install and manage various Python versions and virtual environments and handles installing and updating dependencies in your Python projects. It's typically 10 to 100 times faster than pip for executing the same tasks, thanks to its development in Rust and intelligent caching techniques.
There are various ways to install uv. The standalone installer can be downloaded and executed with
[...]
Buy this article as PDF
(incl. VAT)