Skip to main content

hedron

PyPI Python CI License: MIT

FastAPI-native typed component framework for HTML and HTMX.

Builds on framework-neutral hedron-core with pages, addressable components, typed actions, CSRF-aware forms, OpenAPI text/html metadata, interaction built-ins (Lazy, Poll, Pagination, …), caching (cache_data / cache_component), utility UI, ColorMode persistence, a thin Hedron() application facade, CLI (new/check/graph/build/…), plugin loader, and public hedron.testing helpers.

Install

pip install hedron
# or
uv add hedron

Optional data and charts:

pip install "hedron[data]"
pip install "hedron[charts]"

Development Explorer:

pip install "hedron[dev]"

Optional browser testing extras:

pip install "hedron[browser]"

Requires Python 3.11, 3.12, 3.13, or 3.14.

Quick start

from hedron import Hedron, Page, Text

app = Hedron(
    title="Demo",
    security="standard",
    session_secret="replace-me",
    explorer="off",
)


@app.page("/")
def home() -> Page:
    return Page(Text("Hello, Hedron"), title="Demo")

Plain FastAPI without the Hedron subclass:

from fastapi import FastAPI
from hedron import HTML, HedronRouter, Text, hedron_response, mount_hedron_static
from hedron.security.policy import SecurityPolicy

app = FastAPI()
app.state.hedron_security = SecurityPolicy.from_name("standard")
mount_hedron_static(app)
router = HedronRouter()


@router.get("/card", **hedron_response())
def card():
    return HTML(Text("plain"))


app.include_router(router)

CLI inspection (optionally load an app module first):

hedron new demoapp
cd demoapp
hedron --app app:app routes
hedron --app app:app components
hedron --app app:app preview home
hedron check --format json --severity error
hedron graph
hedron audit-components

Links

License

MIT. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hedron-0.10.1.tar.gz (84.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hedron-0.10.1-py3-none-any.whl (100.1 kB view details)

Uploaded Python 3

File details

Details for the file hedron-0.10.1.tar.gz.

File metadata

  • Download URL: hedron-0.10.1.tar.gz
  • Upload date:
  • Size: 84.0 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for hedron-0.10.1.tar.gz
Algorithm Hash digest
SHA256 d4393dcdd847aa90d9d2eb096a9b608ddda4c44d27ddd5096edd2e8f23d9f986
MD5 e041ad2c382ee9cc9fcc3fd76be108a4
BLAKE2b-256 e1016bfea2fb450df867ce3485175aaee3a2f70f0970d112488daf2af3eb28e3

See more details on using hashes here.

File details

Details for the file hedron-0.10.1-py3-none-any.whl.

File metadata

  • Download URL: hedron-0.10.1-py3-none-any.whl
  • Upload date:
  • Size: 100.1 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for hedron-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 258e4851dbfe6c712128a2924f703e2574112f9d2da4f4d0f228731722ab5098
MD5 3547db0cf9aecf8c026182eac7b33848
BLAKE2b-256 dd908f25778f39579171fda0f29ef02dda81c48d2dba5c894da7caa52e8b6e4b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page