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

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

# uv — lockfile IS committed (app reproducibility / supply-chain integrity)

# Test / coverage / type-check caches
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
htmlcov/
coverage.xml
.tox/
.nox/

# Secrets & local env — NEVER commit these
.env
.env.*
!.env.example
*.secret
*.token

# OS / editor
.DS_Store
Thumbs.db
.idea/
.vscode/
*.swp

# o2cloud local state (non-secret metadata, caches, sync manifests)
.o2cloud-state/

# Local tooling / editor state
.omc/
.claude/

# Network captures — may contain live tokens/cookies/PII
*.har
