Changes
* 🐛 Fix usage with **shared subscriptions** (from 81, 82)
* ✨ Add explicit async methods for fastapi app lifespan (79)
* ✏️ Fixed typos and better docs (from 73, 74, 76, 80)
* 🎨 Internal changes for linter configuration (now using `pre-commit` and `ruff`) (66)
* 🥚 Add a more complex **example app**, with fastapi lifespan, router, dependencies, websocket endpoint, and more (83)