Skip to main content

hedron

PyPI Python CI License: MIT

FastAPI-native typed component framework for HTML and HTMX — dashboards, admin tools, and CRUD without a Node.js frontend stack.

Package maturity: Beta · Train: 0.25.x (last published 0.25.1; workspace 0.25.2 candidate) · pin >=0.25.0,<0.26

Install

pip install "hedron>=0.25.0,<0.26"
# or
uv add "hedron>=0.25.0,<0.26"

Requires Python 3.11–3.14.

Optional extras

Extra Installs
data hedron-data (DataTable / DataEditor)
jinja hedron-jinja (.hdj templates)
dev hedron-explorer (Component Explorer)
extras hedron-extras (workbenches)
conformance hedron-conformance
charts hedron-charts (Alpha; install hedron[charts]>=0.25.1,<0.26 for the 0.1.6 satellite floor)
native hedron-native (Alpha)
notebook / mcp / gradio Experimental Alpha packages
markdown / code / images / email / sanitize Content helpers
auth Authlib OIDC helpers
browser Playwright + axe helpers
otel OpenTelemetry hooks
pip install "hedron[data,dev]>=0.25.0,<0.26"

Charts require the fixed satellite floor: pip install "hedron[charts]>=0.25.1,<0.26". See Compatibility.

Quick start

Scaffold an app with a working HTMX Refresh status control:

# Need uv? https://docs.astral.sh/uv/getting-started/installation/
uvx --from "hedron>=0.25.0,<0.26" hedron new my-hedron-app
cd my-hedron-app && uv sync && uv run uvicorn app:app --reload

Open http://127.0.0.1:8000 — click Refresh status; the timestamp updates via an HTMX fragment swap.

Full walkthrough: Build your first app.

Built on hedron-core. Flask/Django: hedron-flask / hedron-django. Capability readiness: What’s ready. Auth (OIDC helpers): OIDC.

Plain FastAPI

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

uvx --from "hedron>=0.25.0,<0.26" hedron new demoapp
cd demoapp && uv sync
uv run hedron --app app:app routes
uv run hedron --app app:app components
uv run hedron --app app:app preview home
uv run hedron check --format json --severity error
uv run hedron --app app:app graph
uv run hedron --app app:app audit-components

If hedron is not on your PATH, use python -m hedron.

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.25.2.tar.gz (122.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.25.2-py3-none-any.whl (142.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hedron-0.25.2.tar.gz
  • Upload date:
  • Size: 122.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.25.2.tar.gz
Algorithm Hash digest
SHA256 6324d387ffae4f146a012a7a2271ca99082cdd09e15d84980b1deb03821179a9
MD5 6606667f9d730245fb4aa2dcc00e4005
BLAKE2b-256 153c046e35a0e4ed7fda4890f81e3a7cb49da86840aa372dbc4aa31ae069a551

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hedron-0.25.2-py3-none-any.whl
  • Upload date:
  • Size: 142.5 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.25.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4458144758052e7a115c147d1b9a67c3fe2d37469668b335b75b0f908bab8aba
MD5 6f023e2466ae5a1c5d8bc00f967fafac
BLAKE2b-256 46ca09033cae81f2128b03d9c41e8ec3248cd7eeb4630821ff2a04805b77fd7a

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