# --- Python ---
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
dist/
*.egg-info/
*.egg
.eggs/
develop-eggs/
sdist/
wheels/
pip-wheel-metadata/

# --- Virtual envs ---
.venv/
venv/
env/
ENV/

# --- uv ---
# uv.lock IS committed (reproducible installs). Only ignore local cache.
.uv/

# --- Testing / lint / type caches ---
.pytest_cache/
.ruff_cache/
.mypy_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.cache/
nosetests.xml
coverage.xml
*.cover

# --- Notebooks ---
.ipynb_checkpoints/

# --- Environment / secrets ---
.env
.env.*
!.env.example
*.pem
*.key

# --- IDE ---
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store

# --- Databases / runtime artifacts (Rung 1 SQLite) ---
*.db
*.db-journal
*.db-wal
*.db-shm
seahorse.sqlite*

# --- Build outputs ---
*.log

# --- Claude Code session artifacts ---
# Workflow scripts persist here per session; they are reproducible from the
# conversation, not source. Do not commit.
.claude-workflows/
# F7 experiment output (reproducible artifacts)
exp-*/
benchmark-output/
