# Byte-compiled / optimized
__pycache__/
*.py[cod]
*$py.class

# Distribution / packaging
build/
dist/
*.egg-info/
.eggs/
wheels/

# Environments
.venv/
venv/
env/
.python-version

# Tooling caches
.mypy_cache/
.ruff_cache/
.pytest_cache/
.hypothesis/
.coverage
.coverage.*
htmlcov/
coverage.xml

# Benchmarks (asv)
benchmarks/.asv/
benchmarks/results/
benchmarks/html/
*.prof

# Generated benchmark reports (regenerated by the `qc` job; kept as CI artifacts).
# The directory itself is tracked via benchmarks/reports/.gitkeep.
benchmarks/reports/*
!benchmarks/reports/.gitkeep

# Docs build
site/

# Editors / OS
.vscode/
.idea/
*.swp
.DS_Store
Thumbs.db

# Datasets (TROTS etc. are downloaded, never committed)
data/
*.mat
# ...except the small, licensed reference tables that ship with the benchmarks
# (see benchmarks/corpus/data/breedveld2017/README.md). Un-ignore the directory
# itself (``data/`` above excludes it, and git cannot re-include a file inside
# an excluded directory), ignore everything in it, then re-include only that
# one subdirectory.
!benchmarks/corpus/data/
benchmarks/corpus/data/*
!benchmarks/corpus/data/breedveld2017/
