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

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

# UV
.uv/

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

# OS
.DS_Store
Thumbs.db

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/
.nox/

# Type checking
.mypy_cache/
.dmypy.json
dmypy.json

# Rust
target/

# Node (for dashboard)
node_modules/
.next/
out/

# Unignore dashboard src/lib (it's source code, not Python build artifacts)
!packages/dashboard/src/lib/

# Environment
.env
.env.local
.env.*.local
*.local.env

# Logs
*.log
logs/

# Temporary
tmp/
temp/
*.tmp

# Claude Code (local config)
.claude/

# Research (local docs)
research/

# TypeScript build cache
*.tsbuildinfo

# Stale sub-workspace lock (root uv.lock is authoritative)
packages/uv.lock
