Also manages locally installed python versions, virtual environments, and tools. A truly beautiful tool ✨
Documentation Link: https://docs.astral.sh/uv/
It is best to install using a local package manager, not using pip. This fully isolates the installation from your global python enviroment.
Linux users should see distro-specific instructions in tool documentation linked above.
macOS
brew install uv
# Alternatively, use the direct installer
curl -LsSf https://astral.sh/uv/install.sh | shWindows
winget install uv # WinGet package manager
# Or
scoop install uv # Scoop Package Manager
# Alternatively, use the direct installer
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Linux users should see distro-specific instructions in tool documentation linked above.
Documentation Link: https://docs.astral.sh/ruff/
It is best to install using a local package manager, not using pip. This fully isolates the installation from your global python installation.
macOS
Homebrew is recommended as a macOS package manager.
brew install ruff
# Alternatively, use the direct installer
curl -LsSf https://astral.sh/ruff/install.sh | shWindows
winget install ruff # WinGet package manager
# Or
scoop install ruff # Scoop Package Manager
# Alternatively, use the direct installer
powershell -c "irm https://astral.sh/ruff/install.ps1 | iex"Python tooling employs two tools, both created by the Astral project. Specific justifications for each tool are included in their descriptions, but here is primary justification that applies to both. uv (package manager) and ruff (linter/formatter) are both written in the Rust language. This brings two benefits. First, Rust is a systems language and produces very high performance tooling. Second, Rust allows these tools to not depend on Python, where global installations can often cause inconsistencies.