# Build + packaging artifacts
build/
dist/
*.egg-info/
*.egg

# Bytecode + caches
__pycache__/
*.py[cod]
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/

# The repo-root code/.gitignore ignores all *.csv. Re-include the committed
# test fixture (leading slash anchors the negation to this directory so it
# does not over-match nested paths). Parent dirs are not excluded, so the
# re-inclusion takes effect.
!/tests/fixtures/cohort_5k_pv.csv
