Hyperflask – Full stack Flask and Htmx framework
Overall reception
- Many commenters find Hyperflask attractive: “simple, easy, batteries-included” Flask + HTMX with a pleasant design.
- Some are excited to try it for greenfield apps, especially those already using Flask, Tailwind/DaisyUI, and HTMX.
- Others see it as “too abstracted” given Flask and HTMX’s original simplicity, and question whether it adds enough beyond vanilla Flask + HTMX.
Flask vs FastAPI / async debate
- Several question choosing Flask in 2025, arguing that non-async foundations limit scalability and that FastAPI (or Litestar) offer integrated async, DI, OpenAPI, and Pydantic.
- Defenders of Flask emphasize:
- Stability, maturity, and small issue backlog vs FastAPI’s high-maintenance surface area.
- Simplicity of threaded request model and global context (
g), and skepticism about async Python ergonomics and bugs. - Many real-world apps don’t need massive scale; “boring tech” is a plus.
- Counterpoints:
- Flask lacks first-class typing, DI, and async; add-on libraries exist but feel fragmented or under-maintained.
- Some see building a new sync-only framework as “bizarre,” though others call this FUD and argue that not all scaling needs async.
HTMX: strengths, limits, and team fit
- Solo developers report very positive experiences with HTMX + server-rendered HTML (Flask/Django/FastAPI/Go).
- One concern: HTMX is “structureless,” making larger teams harder to coordinate vs opinionated SPA frameworks.
- Big debate over state management:
- Critique: with HTMX, too much UI state must live in URL/session/cookies/DB, which becomes spaghetti for complex UIs with many zones/popups; React/Vue’s centralized state is seen as simpler.
- Rebuttals: that’s just “web dev 101”; URL vs session vs DB is a design decision, and modern SPAs often duplicate server state and add bloat.
- Some hypermedia advocates go further: most state should live on the server (even popups), trading some latency for consistency and multi-user features; others reject storing such ephemeral UI state server-side.
Framework design: components, jinjapy, ORM
- Interesting features called out:
- Components built on Jinja macros.
- “Locality of behavior” approach: controller + template in one
.jinjapyfile, inspired by Astro pages and old-school PHP. sqlorm: a new lightweight ORM heavily based on Pydantic and SQL-in-docstrings; intriguing but seen as too new for production.
- Concerns:
- “Batteries included” means a long list of Flask extensions; some wish the component system were more backend-agnostic or Django-compatible.
Alternatives and ecosystem
- Mentioned alternatives: FastAPI + HTMX, Litestar (with HTMX support), Quart (async Flask), Go + Templ + HTMX, plain Django + HTMX, and FastHTML.
- Django’s admin and “apps” structure are missed by some when using lighter frameworks; a richer admin story for Hyperflask is requested for serious adoption.