python
Use for Python work with uv—envs, deps, and commands run through uv; avoid pip/venv/pip-tools; keep Justfile/CI parity with ruff, mypy, pytest.
$ 설치
git clone https://github.com/gakonst/dotfiles /tmp/dotfiles && cp -r /tmp/dotfiles/.codex/skills/python ~/.claude/skills/dotfiles// tip: Run this command in your terminal to install the skill
SKILL.md
name: python description: Use for Python work with uv—envs, deps, and commands run through uv; avoid pip/venv/pip-tools; keep Justfile/CI parity with ruff, mypy, pytest.
Python (uv-only)
Overview
Standardize Python workflows on uv for envs, dependency resolution, and execution. No pip, venv, or pip-tools unless forced by third-party tooling.
When to Use
- Any Python install/run/test/lint/typecheck in this repo.
- Setting up new projects or maintaining existing ones.
- CI steps for Python.
Core Pattern
- Standard commands (keep CI aligned):
uv venv .venv && source .venv/bin/activate && uv sync;uv run ruff format --check .;uv run ruff check .;uv run mypy .;uv run pytest;uv lock; combine as needed for CI. - Env:
uv venv .venv; activate shell or direnv; never use system/site-packages. - Deps:
uv add <pkg>; dev depsuv add --dev ruff mypy pytest; syncuv sync; commituv.lock+pyproject.toml. - Run: always
uv run <cmd>(python, pytest, scripts). - CI:
uv sync --frozen;uv run pytest(plus ruff/mypy as needed).
Quick Reference
| task | command |
|---|---|
| New env | uv venv .venv |
| Install | uv add foo / uv add --dev ruff mypy |
| Sync lock | uv sync --frozen |
| Run script | uv run python script.py |
| Tests | uv run pytest |
| Format | uv run ruff format --check . |
| Lint | uv run ruff check . |
| Types | uv run mypy . |
| Lock | uv lock |
Red Flags
- Any
pip install,python -m venv, orpipenv/poetryuse. - Missing
uv.lockin repo. - Running
python script.pywithoutuv run. - Mixing global site-packages with project env.
Verification
- Fresh clone:
uv venv && uv sync --frozen && uv run pytestsucceeds without pip. which pippoints to.venv/bin/pipcreated by uv.
