From openhands-skills
Manages Python projects with uv: initializes projects, creates venvs, adds/removes dependencies, syncs from uv.lock, and runs commands in the project environment.
npx claudepluginhub openhands/extensionsThis skill uses the workspace's default tool permissions.
Use `uv` as the default tool for Python dependency + environment management when the repo has `uv.lock`, mentions `uv` in its docs/Makefile, or already uses a `.venv` created by `uv`.
Manages Python projects with uv: initializes projects, adds/removes dependencies, handles lockfiles and syncing, configures pyproject.toml. Use for uv init, add, remove, lock, sync.
Guides uv for Python: init projects, add/sync deps, manage venvs/interpreters, resolve conflicts, generate lockfiles. Use for fast setups, pip/poetry migrations, CI/Docker optimization.
Share bugs, ideas, or general feedback.
Use uv as the default tool for Python dependency + environment management when the repo has uv.lock, mentions uv in its docs/Makefile, or already uses a .venv created by uv.
uv.lock and pyproject.toml: treat it as a uv-managed project.requirements.txt: you can still use uv pip for fast installs.uv add/remove/sync/run/lock) over raw pip unless the repo explicitly uses uv pip.Prefer a packaged install method when available. If you use the official installer, review it first (avoid blindly piping into a shell) and follow the latest instructions in the official docs.
# macOS/Linux (official installer)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell, official installer)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
uv init
# or
uv init my-project
uv venv # creates .venv
# If you need a specific version, match the project's declared requirement
# (e.g., pyproject.toml / CI config), not an arbitrary latest version.
uv venv --python 3.x
# optional activation (not required for uv commands)
source .venv/bin/activate # macOS/Linux
# .venv\\Scripts\\activate # Windows
uv add requests
uv add 'requests==2.31.0'
uv add -r requirements.txt
uv remove requests
uv lock # (re)generate uv.lock
uv sync # create/update .venv to match uv.lock
If you pulled new changes and uv.lock changed, run uv sync.
uv run python -m pytest -q
uv run python main.py
uv run ruff check .
uv venv
uv pip install -r requirements.txt
uv pip freeze
uv pip list
uv will usually auto-detect and use .venv in the project root.uv pip install --system, but prefer virtualenvs for local dev.uv add/remove/lock/sync so uv.lock stays correct.