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

# ── Virtual environments ───────────────────────────────────────────────────────
.venv/
venv/
env/
ENV/
.python-version

# ── Packaging / build artifacts ────────────────────────────────────────────────
build/
dist/
*.egg-info/
*.egg
*.whl
.eggs/
MANIFEST
pip-log.txt
pip-delete-this-directory.txt

# ── Hatch (build backend) ──────────────────────────────────────────────────────
.hatch/

# ── Test / coverage artifacts ──────────────────────────────────────────────────
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/

# ── Type-checker / linter caches ──────────────────────────────────────────────
.mypy_cache/
.ruff_cache/
.ty_cache/
.pytype/

# ── Secrets and credentials (NEVER commit these) ──────────────────────────────
.env
.env.*
*.env
*.pem
*.key
*.p12
*.pfx
secrets.toml
secrets.yaml
secrets.json

# ── Celery runtime files ───────────────────────────────────────────────────────
celerybeat-schedule*
celerybeat.pid
*.celerybeat

# ── Logs ───────────────────────────────────────────────────────────────────────
*.log
logs/

# ── Database / local state ────────────────────────────────────────────────────
*.sqlite3
*.db

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

# ── OS files ───────────────────────────────────────────────────────────────────
.DS_Store
.DS_Store?
Thumbs.db
desktop.ini

# ── Local tool state (not for others) ─────────────────────────────────────────
.codex
.claude/
CLAUDE.md

# ── Thesis / research artifacts (not part of the published library) ──────────
/evaluation/
/demo/
/graphify-out/
/presentation.html
/image.png
/docs/approach3-design.md
/docs/transport-resumable.md
