# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# Virtual environments
.venv/
venv/
env/
ENV/

# Testing / coverage
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
coverage.xml
*.cover
.hypothesis/

# Type checkers
.mypy_cache/
.dmypy.json
.pyre/
.pytype/
.ruff_cache/

# Editors / OS
.idea/
.vscode/
*.swp
*.swo
.DS_Store

# Logs (research artifacts opt out — keep examples/* but not stray logs)
logs/
*.log

# Per-experiment outputs (regenerable; the scripts are tracked, not their output).
# Committed result sets live in experiments/results/, which is tracked.
experiments/out/

# LaTeX build artifacts
*.aux
*.bbl
*.bcf
*.blg
*.fdb_latexmk
*.fls
*.lof
*.log
*.lot
*.out
*.run.xml
*.synctex.gz
*.toc
revised.pdf
paper.pdf

# Local env
.env
.env.local
site/
.cache/
