Cette page est affichée en anglais. Une traduction française est en cours.
ConfigsApr 20, 2026·3 min de lecture

Rye — Comprehensive Python Project Manager by Astral

Rye is an all-in-one Python project management tool that handles installation, virtualenv creation, dependency management, linting, and formatting in a single unified workflow.

Introduction

Rye is a comprehensive project and package management solution for Python created by Armin Ronacher. It manages Python installations, virtual environments, and dependencies through a single tool, eliminating the need to juggle pyenv, pip, virtualenv, and pip-tools separately. Now maintained by Astral (the team behind uv and Ruff), Rye provides a cargo-like experience for Python developers.

What Rye Does

  • Manages Python interpreter installations across multiple versions automatically
  • Creates and maintains virtual environments per project without manual intervention
  • Handles dependency resolution and lockfile generation for reproducible builds
  • Provides built-in linting and formatting via integration with Ruff
  • Supports workspaces for monorepo-style Python projects

Architecture Overview

Rye is written in Rust for speed and ships as a single static binary. It downloads and manages Python toolchains from the indygreg standalone builds. Each project gets an isolated virtualenv, and Rye generates both a requirements.lock and requirements-dev.lock using pip-tools or uv as the resolver backend. The pyproject.toml file serves as the single source of truth for project metadata and dependencies.

Self-Hosting & Configuration

  • Install via the official shell script or download prebuilt binaries from GitHub releases
  • Configure global settings in ~/.rye/config.toml including default Python version
  • Set per-project Python version with rye pin 3.12
  • Enable uv as the dependency resolver backend for faster installs
  • Integrate with CI by running rye sync --no-lock to use existing lockfiles

Key Features

  • Automatic Python version management without external tools like pyenv
  • Lockfile-based dependency resolution ensuring reproducible environments
  • Built-in script runner similar to npm scripts via rye run
  • Global tool installation with rye install for CLI utilities
  • Workspace support for managing multiple related Python packages

Comparison with Similar Tools

  • uv — faster package installer and resolver from the same team; Rye delegates to uv internally and recommends migration for new projects
  • Poetry — popular dependency manager but does not manage Python installations
  • PDM — PEP 582-supporting manager with similar scope but without Python version management
  • Hatch — project manager with built-in build system, less focus on lockfiles
  • pipx — focuses only on installing CLI tools globally, not project management

FAQ

Q: Is Rye still maintained now that uv exists? A: Yes. Rye is maintained by Astral and continues to receive updates. For new projects, Astral recommends evaluating uv, but Rye remains a supported option.

Q: Can Rye manage Python versions like pyenv? A: Yes. Rye downloads and manages Python interpreters directly. Running rye fetch 3.12 installs Python 3.12 and rye pin 3.12 sets it for the current project.

Q: Does Rye work with existing pyproject.toml files? A: Yes. Rye reads standard pyproject.toml metadata and can adopt existing projects with rye sync.

Q: How does Rye handle global tools? A: Use rye install <package> to install CLI tools into an isolated global environment, similar to pipx.

Sources

Discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires