# ── Python ────────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*.pyo
*.so
*.egg
*.egg-info/
*.eggs/
dist/
build/
MANIFEST

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

# ── Testing & coverage ────────────────────────────────────────────────────────
.pytest_cache/
.coverage
.coverage.*
htmlcov/
coverage.xml
*.cover

# ── Type checking ─────────────────────────────────────────────────────────────
.mypy_cache/

# ── Linting ───────────────────────────────────────────────────────────────────
.ruff_cache/

# ── Jupyter ───────────────────────────────────────────────────────────────────
.ipynb_checkpoints/
*.ipynb_checkpoints

# ── Docusaurus / Node ─────────────────────────────────────────────────────────
website/node_modules/
website/build/
website/.docusaurus/

# ── Outputs / artefacts ───────────────────────────────────────────────────────
*.png
*.gif
*.csv
*.log

# ── Website static assets (exceptions) ────────────────────────────────────────
!website/static/img/*.png
!website/static/img/*.gif
!website/static/img/examples/
!website/static/img/examples/*.png
!website/static/img/examples/*.gif
!website/static/img/simview/
!website/static/img/simview/*.gif
!website/static/img/simview/docs/
!website/static/img/simview/docs/*.gif
!website/static/img/quickstart/
!website/static/img/quickstart/*.png

# ── OS & editors ──────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db
*.swp
*.swo
.idea/
.vscode/

# ── Env files ─────────────────────────────────────────────────────────────────
.env
.envrc

# ── Social media / marketing ──────────────────────────────────────────────────
linkedin/
coverage.json
