# Python
__pycache__/
*.py[cod]
*.egg-info/
.eggs/
.pytest_cache/
.ruff_cache/
.mypy_cache/

# venv / conda
.venv/
venv/
env/

# build artifacts (scikit-build-core / CMake / wheels)
build/
dist/
wheelhouse/
_skbuild/
*.so
*.dylib
*.pyd

# C++
*.o
*.a

# docs
docs/_build/

# editor / OS
.idea/
.vscode/
*.iml
.DS_Store

# Claude Code local state (session config + nested agent worktrees — never commit)
.claude/

# scratch
tmp/

# example-notebook data (fetched from HuggingFace, md5-cached; never committed)
examples/.data/

# marimo session/run cache
__marimo__/

# coverage artifacts
.coverage
.coverage.*
htmlcov/

data_dump/*
!data_dump/.gitkeep
# Example/notebook exports that land in the cwd when run from the repo root. One of these
# (a 6 MB scRepertoire TSV) rode into master inside an unrelated `git add -A` docs commit.
screpertoire_airr.tsv
*.h5ad
*.h5ddl

# Working notes that carry cohort names, cluster paths and collaborator-specific detail.
# These are the input to a release, not part of one: a filed bug report names the cohort the bug
# was found on, which belongs in the private analysis repo and nowhere in a public history.
/TODO.md
/NOTES.md
/ROADMAP.md
/STATUS.md
