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

# Virtualenv (managed by uv)
.venv/

# chDB persistent state (regenerated by ingestion)
.chdb/

# DuckDB annotation database (downloaded reference data, regenerated by loaders)
annotations/*.duckdb
annotations/*.duckdb.wal

# Cached reference-data downloads (regenerated by loaders)
annotations/loaders/_cache/

# Benchmark working files (per-sample VCFs, TileDB-VCF array, sample lists,
# the chr17 slice cache, and the bench's isolated chDB working dir).
# Keep BENCHMARK.md and run.sh; ignore the GBs of intermediate data.
bench/per_sample_vcfs/
bench/tiledbvcf_out/
bench/samples_list*.txt
bench/.tiledbvcf-venv/
bench/data/
bench/.vcfclick/
bench/.vcfclick_smoke/

# VCF inputs — too large for git, fetched on demand. See README.
data/*.vcf
data/*.vcf.gz
data/*.vcf.gz.tbi
data/*.bcf
data/*.bcf.csi
data/*.parquet

# Editor / OS
.vscode/
.idea/
*.swp
.DS_Store

# Marketing/landing site — lives on disk, not in the OSS repo.
web/

# Preprint / working manuscript drafts. Never push these — same lesson
# as PLAN.md. When the bioRxiv version is final, push the rendered PDF
# under a paper/v1/ subdirectory and leave the draft sources here.
paper/

# Browser-automation artefacts (Playwright MCP screenshots etc.)
.playwright-mcp/
*.png
*.jpeg
*.jpg
bench/.tiledbvcf-env/

# Adoption snapshot logs from scripts/adoption.sh — local-only history
logs/
