# ──────────────────────────────────────────────────────────────────────────────
# Python bytecode & cache
# ──────────────────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class

# ──────────────────────────────────────────────────────────────────────────────
# Distribution / packaging
# ──────────────────────────────────────────────────────────────────────────────
build/
dist/
wheels/
*.egg-info/
*.egg
sdist/

# ──────────────────────────────────────────────────────────────────────────────
# Virtual environments
# ──────────────────────────────────────────────────────────────────────────────
.venv/
venv/
ENV/

# ──────────────────────────────────────────────────────────────────────────────
# IDE & editor settings
# ──────────────────────────────────────────────────────────────────────────────
.vscode/
.idea/
*.swp
*.swo
*~
.project
.pydevproject

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

# ──────────────────────────────────────────────────────────────────────────────
# Type checking & linting
# ──────────────────────────────────────────────────────────────────────────────
.mypy_cache/
.ruff_cache/
.dmypy.json
dmypy.json

# ──────────────────────────────────────────────────────────────────────────────
# OS-generated files
# ──────────────────────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db
ehthumbs.db

# ──────────────────────────────────────────────────────────────────────────────
# Logs & local data
# ──────────────────────────────────────────────────────────────────────────────
*.log
*.json
!pyproject.toml

# ──────────────────────────────────────────────────────────────────────────────
# UV lock file (uncomment if you want to track it)
# ──────────────────────────────────────────────────────────────────────────────
# uv.lock
