# Python
__pycache__/
*.py[cod]
*.so

# Distribution
dist/
build/
*.egg-info/

# Virtual environments
.venv/
.venv-*/

# Tools
.pytest_cache/
.mypy_cache/
.ruff_cache/
.hypothesis/
.coverage
htmlcov/

# Environment
.env

# MkDocs build output
site/

# Packaging lockfile (keep uv.lock tracked — omit if you prefer not to)
# uv.lock

# Large downloaded test fixtures (fetched on-demand by integration tests)
tests/fixtures/documents/_cache/
tests/fixtures/documents/*.txt
tests/fixtures/documents/_mtsamples.csv
tests/fixtures/documents/clinical_note.txt

# Closed-book benchmark source dumps (downloadable; build_fixtures.py lists the URLs and
# regenerates the committed fixture folders). The fixtures themselves are tracked.
benchmark/datasets/closed_book/*.json
benchmark/datasets/closed_book/*.dat

# Benchmark documents are committed for reproducibility (the War & Peace text is
# public domain, from Project Gutenberg). Of a run's output only MANIFEST.json and
# summary.csv are tracked (the scores and provenance); the per-document raw and
# scored dumps are regenerable and can carry source text, so they stay local.
benchmark/results/**/raw/
benchmark/results/**/scored/

# FinTagging per-size folders hold raw calls and per-document outputs (regenerable,
# can carry source text); only the run-level MANIFEST, README, summary.csv/md and plot
# are tracked.
benchmark/results/fintagging/*/*table/

# Vendored third-party benchmark datasets (cloned on demand; large, separately licensed)
benchmark/external/

# Local experiment workbench and its outputs (never published)
test-scripts/
test-results/
