← Corpus / ai-labs / reminder
Preferred Stack — uv over pip, and other defaults
- Path
- reminders/Preferred-Stack.md
- Authors
- Michael Staton
- Augmented with
- Claude Code on Claude Opus 4.7
- Tags
- Reminder · Python · Tooling · Stack-Preferences
Preferred Stack — uv over pip, and other defaults
Short, sharp guidance to keep agents from defaulting to the wrong tool when the user has a clear preference. Update as preferences harden.
Python: use uv, not pip
Rule. When installing Python packages, default to uv over pip. Use uv pip install <pkg> for one-off installs, uv pip install -r requirements.txt for project deps, and uv add <pkg> when working in a project that already uses a uv-managed pyproject.toml.
Why: the user prefers uv for its speed, deterministic resolution, and modern dependency-management ergonomics. Repeated pip invocations from agents create friction; the user has explicitly flagged this as a guidance point worth memorializing.
How to apply:
- In documentation and READMEs: lead with
uv pip install ...examples; note the plainpipform as a fallback for users who don’t haveuvinstalled. - In scripts that bootstrap dependencies: assume
uvavailable; fall back topiponly with a clear message. - Don’t retroactively reinstall packages that were already installed with plain
pipin a session — the user has confirmed that’s wasted effort. Just switch going forward. - Don’t install pip packages into the user’s global / pyenv environment without surfacing the install. Prefer adding to a project’s
requirements.txtorpyproject.tomland letting the user run the install command, OR runuv pip installand explicitly note what landed where.
Other defaults (extend as they emerge)
This file is the home for stack-preference reminders that span multiple projects in ai-labs/. As new preferences come up — preferred testing framework, preferred logging library, preferred HTTP client, etc. — append a new section here rather than scattering them across project READMEs.
When a preference is project-specific (e.g., “this kit uses chromadb for vectors”), document it in the project’s own README.md or context-v/blueprints/. This file is for cross-project defaults only.
Related
- [[context-vigilance]] skill — for what a reminder is and how it should be shaped
- [[Collate-Context-Files-into-Context-Vigilance-as-Repo-&-Project]] — exploration where the kit’s
requirements.txtlives - [[ChromaDB-as-Context-Improvement-Across-Everything-Everyone]] — adjacent exploration; Python deps install pattern from this preference applies