__pycache__/
*.py[cod]
*$py.class
*.egg-info/
dist/
build/
.eggs/
*.egg
.venv/
venv/
.ruff_cache/
.pyright/
.pytest_cache/
site/
.cache/

# Coverage artifacts are build outputs — CI regenerates them on every run.
.coverage
.coverage.*
coverage.json
coverage.xml
htmlcov/
