SPB Git
5.5 KB · 50 lines json
1{2  "slug": "uv",3  "name": "uv",4  "aliases": ["astral uv"],5  "vendor": { "name": "Astral", "slug": "astral", "website": "https://astral.sh" },6  "homepage_url": "https://docs.astral.sh/uv/",7  "docs_url": "https://docs.astral.sh/uv/",8  "repo_url": "https://github.com/astral-sh/uv",9  "license_url": "https://github.com/astral-sh/uv/blob/main/LICENSE-MIT",10  "product_type": "cli-tool",11  "product_status": "active",12  "summary": "Rust-based Python package and project manager from Astral that replaces pip, venv, pip-tools and pyenv with one command-line tool",13  "description": "uv is a command-line package and project manager for Python, developed by Astral, the company behind the Ruff linter. Written in Rust and distributed as a single binary, it consolidates functions that previously required several tools: installing packages, creating virtual environments, resolving and locking dependencies, downloading Python interpreters, and running scripts with inline dependency metadata.\n\nIn project mode, uv reads `pyproject.toml`, writes a cross-platform `uv.lock`, and keeps a `.venv` synchronized with it; `uv run` executes commands inside that environment without manual activation. In tool mode, `uvx` runs command-line utilities in throwaway environments, similar to pipx. A pip-compatible interface (`uv pip`) eases migration for teams with existing requirements files. Interpreter management downloads standalone CPython builds on demand, so a fresh machine can go from zero to a working environment with one command.\n\nuv fits research and cluster workflows where many projects with different interpreter versions coexist and environments must be rebuilt reproducibly on other machines. Its global cache deduplicates packages across environments, which matters on hosts with many projects.\n\nCaveats: uv is still evolving quickly and some behaviors (lock file format, workspace features) change between minor releases; it does not manage non-Python dependencies the way conda does; and because it installs standalone interpreter builds, system-integrated Pythons from Homebrew or the OS remain separate unless explicitly selected.",14  "capabilities": ["Dependency resolution with a cross-platform lock file", "Virtual environment creation and automatic synchronization", "Python interpreter download and version management", "pip-compatible command interface for migration", "Run tools in isolated environments (uvx)", "Script execution with inline dependency metadata (PEP 723)", "Workspaces for multi-package repositories", "Build and publish packages to PyPI"],15  "workflows": ["Initialize a project, add dependencies and commit the lock file", "Reproduce an environment on a cluster node with uv sync", "Run one-off CLI tools without polluting global site-packages", "Pin a specific interpreter version per project"],16  "advantages": ["Single binary with no Python prerequisite", "Fast resolution and installs thanks to a global cache", "One tool covering the whole environment lifecycle", "Dual MIT/Apache-2.0 license"],17  "limitations": ["Rapid release cadence; some features still change", "Does not manage non-Python (system) dependencies", "Standalone interpreters are separate from system or Homebrew Pythons", "Lock file is uv-specific and not yet a universal standard"],18  "prerequisites": ["macOS, Linux or Windows; installer script, Homebrew or pipx"],19  "audiences": ["Python developers and data scientists", "Teams maintaining many Python projects", "Cluster operators reproducing environments across nodes"],20  "alternatives": ["python", "homebrew"],21  "comparison_notes": "The Python interpreter ships pip and venv, which cover installation and isolation but not locking, interpreter management or tool isolation; uv layers those on top while staying compatible with the same packaging standards. Homebrew installs interpreters and some Python applications at the system level but does not manage per-project dependencies; many setups use Homebrew for the base tooling and uv for project environments.",22  "categories": [{ "slug": "programming-languages", "primary": true }],23  "tags": ["python", "rust", "cli", "open-source", "package-manager"],24  "use_cases": ["manage-python-environments"],25  "operating_systems": ["macos", "linux", "windows"],26  "execution_modes": ["local"],27  "interfaces": ["cli"],28  "deployment_models": ["desktop"],29  "integrations": ["PyPI", "pyproject.toml", "Ruff", "Docker", "GitHub Actions", "VS Code"],30  "data_formats": ["pyproject.toml", "uv.lock", "requirements.txt", "wheel"],31  "languages": ["Rust", "Python"],32  "source_model": "open-source",33  "license_spdx": "MIT OR Apache-2.0",34  "pricing_model": ["open-source", "free"],35  "self_hostable": true,36  "sources": [37    { "url": "https://docs.astral.sh/uv/", "type": "official_site", "title": "uv documentation", "supports": ["name", "summary", "capabilities"], "checked_at": "2026-11-02" },38    { "url": "https://github.com/astral-sh/uv", "type": "repository", "title": "astral-sh/uv", "supports": ["repo_url", "source_model"], "checked_at": "2026-11-02" },39    { "url": "https://github.com/astral-sh/uv/blob/main/LICENSE-MIT", "type": "license_page", "supports": ["license_spdx"], "checked_at": "2026-11-02", "note": "Repository also carries LICENSE-APACHE; dual licensed" },40    { "url": "https://astral.sh/", "type": "official_site", "title": "Astral", "supports": ["vendor"], "checked_at": "2026-11-02" }41  ],42  "confidence": "high",43  "discovery_method": "editorial-research",44  "depth": "deep",45  "editorial_status": "reviewed",46  "visibility": "public",47  "featured": false,48  "author": "batch-B1"49}50
Files · main
Menu

Theme