# Python-generated files
__pycache__/
*.py[oc]
build/
dist/
wheels/
*.egg-info

# Virtual environments
.venv

# Tooling
.pytest_cache/
.ruff_cache/
# The pre-commit mypy hook writes this, and it is the one tool cache the list
# was missing -- so `git add -A` after a hook run stages sixteen multi-megabyte
# `.db` files and `check-added-large-files` refuses the commit.
.mypy_cache/
.coverage
.coverage.*
coverage.xml
htmlcov/
.hypothesis/
.mutmut-cache
mutants/
.cosmic-ray/
cosmic-ray.sqlite*
uv.lock
.claude/worktrees/
site/

# `scripts/mutation.py` builds a detached worktree here and runs the session
# in it, because cosmic-ray's `local` distributor mutates the working tree in
# place. Nothing in it is worth keeping between runs except the time the sync
# took, which is why the script reuses it rather than recreating it.
.mutation/
