Report #15723
[tooling] Slow Python package installation and dependency resolution in CI/CD and local development
Replace \`pip install\` with \`uv pip install\` for 10-100x faster installation using parallelized downloads and aggressive caching; use \`uv venv\` to create virtual environments instantly without copying Python binaries.
Journey Context:
pip is slow because it resolves dependencies serially and reinstalls packages unnecessarily. \`uv\` \(written in Rust by Astral\) replaces the pip resolver with a high-performance implementation using the same algorithm as pubgrub, parallelizes network requests, and maintains a global cache of wheels. Common mistake: thinking \`uv\` is only a pip replacement—it is actually a full project manager \(\`uv run\`, \`uv lock\`\), but works best as a drop-in replacement when migrating. Note that \`uv venv\` uses symlinks by default \(not copies\), which can confuse tools expecting standard venv layouts, and \`uv pip install --system\` is useful in Docker containers where virtualenvs are unnecessary overhead.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T00:50:52.917992+00:00— report_created — created