hedron-flask
Flask adapter for Hedron component rendering and HTMX interactions.
Render Page / fragment components with the same hedron-core
renderer used by FastAPI, map portable InteractionResult values to native Flask
responses, and integrate CSRF double-submit cookies with Flask sessions. Does not
install FastAPI.
Package maturity: Beta · Package line: 1.0.x · pin >=1.0.0,<2.0
Adapter capability readiness is Supported when pinned — see What’s ready.
Install
pip install "hedron-flask>=1.0.0,<2.0"
# or
uv add "hedron-flask>=1.0.0,<2.0"
Requires Python 3.10–3.14, hedron-core, and Flask 3.x.
Scaffold a new Flask app:
uvx --from "hedron>=1.0.0,<1.1" hedron new --flask my-flask-app
Quick start
from flask import Flask
from hedron_core import Heading, Page, Text
from hedron_core.interaction import FragmentRegion, InteractionResult
from hedron_flask import HedronBlueprint, HedronFlask
hedron = HedronFlask()
ui = HedronBlueprint("ui", __name__)
PANEL = FragmentRegion(id="panel", selector="#panel")
@ui.page("/")
def home():
return Page(
Heading("Hello Flask", level=1),
Text("Native Flask routing with Hedron components."),
title="Home",
)
@ui.component("/fragment", fragment_regions=(PANEL,))
def fragment():
return InteractionResult(content=Text("Fragment ok"), explanation="demo")
def create_app() -> Flask:
app = Flask(__name__)
app.secret_key = "replace-in-production"
hedron.init_app(app)
app.register_blueprint(ui)
return app
flask --app app:create_app run --reload
What this package includes
HedronFlask/init_appapplication integrationHedronBlueprintwith@page/@view/@actionstyle routingcomponent_response/interaction_responsehelpers- Fragment region authorization and approved HTMX header merging
- Portable
SecurityPolicyheaders and Flask-LoginAuthSignalbridge - Job status polling helpers (
poll_status_response)
Links
- Add to an existing Flask app
- Adapters API
- Changelog
- Source
- Issues
- Flask reference example
hedron-core·hedron·hedron-django
License
MIT. See the repository license.
Release files for hedron-flask 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hedron_flask-1.0.1.tar.gz | 27.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hedron_flask-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.5 kB
Release files / hedron_flask-1.0.1.tar.gz
| Download URL | hedron_flask-1.0.1.tar.gz |
|---|---|
| Size | 27.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b555a8a9eb7d51473021c15dd72c265b504b0d960e5669bc477550cf4a22fc42
|
|
BLAKE2b-256 checksum How to use checksums |
b21bbf80181de8a123b499a5080014873a5ebc796ae57489f7f57ba33dde7460
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / hedron_flask-1.0.1-py3-none-any.whl
| Download URL | hedron_flask-1.0.1-py3-none-any.whl |
|---|---|
| Size | 28.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d939a36465a62670ec87363de87144084272082d0ae14b6a87bae6731bfe2bc1
|
|
BLAKE2b-256 checksum How to use checksums |
0e133abce54c17f6f681478ad6ee2364465a99014279ecae6deb55e9fa769722
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|