# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
dist/
*.egg-info/
*.egg
.eggs/

# Virtualenv
.venv/
venv/
env/
ENV/

# Testing
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.mypy_cache/
.ruff_cache/

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

# OS
.DS_Store
Thumbs.db

# Local environment files — runtime values, NEVER committed
.env
.env.local
.env.local-*
.env.*.local

# Exception: the launcher's own example .env files are committed so the
# example is runnable straight from a fresh clone.
!examples/**/.env.local
!examples/**/.env.local-*

# Build artifacts
*.log
dist/
