__pycache__/
*.py[cod]
*$py.class
*.egg-info/
*.egg
dist/
build/
.eggs/
*.so
.Python
env/
venv/
.venv/
.env
*.whl
.pytest_cache/
.mypy_cache/
.ruff_cache/

# uv lockfile — pyproject.toml already pins deps with explicit version
# ranges and we don't enforce uv as the canonical resolver, so the lockfile
# is local-only.
uv.lock
