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

# Distribution / packaging
.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
.env
.venv
env/
venv/
ENV/

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

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

# IDEs
.vscode/
.idea/
*.swp
*.swo
*~

# Jupyter
.ipynb_checkpoints/
*.ipynb_checkpoints

# OS
.DS_Store
Thumbs.db

# Project-specific
notebooks/scratch/
notebooks/*.ipynb
!notebooks/README.md

# R artifacts (in case someone runs R locally for validation)
.Rhistory
.RData
.Ruserdata

# Claude Code (local agent state, settings, scratch plans)
.claude/
.claudeignore
CLAUDE.local.md
docs/plans/

# Paper working material (local only — not part of the package)
paper/

# Git worktrees (local isolated workspaces)
.worktrees/

# papers/: only SOURCES.md is tracked; keep local reading copies untracked
papers/*.pdf
