hedron-sim
Offline HTMX simulation for Hedron docs and demos.
Author demos with ordinary Hedron components (Page, RefreshButton, swap,
regions), then embed them in static docs. A small JavaScript runtime intercepts
hx-* attributes and serves pre-rendered fragment HTML — no FastAPI process
required.
Package maturity: Beta tooling-grade (0.2.x) · pin >=0.2.0,<0.3
Install
pip install "hedron-sim>=0.2.0,<0.3"
# or
uv add "hedron-sim>=0.2.0,<0.3"
Requires Python 3.11–3.14 and hedron (for component imports used in demos).
Quick start
from hedron import Page, RefreshButton, Stack, Text, html, swap
from hedron_sim import SimApp, embed_demo, sim_utc
app = SimApp(demo_id="hello-status")
status = app.region("service-status")
def status_panel():
return html.div(
Text(f"All systems operational · refreshed {sim_utc()}"),
id=status.id,
role="status",
aria={"live": "polite"},
)
@app.page("/")
def home() -> Page:
return Page(
Stack(
Text("Hello from hedron-sim"),
status_panel(),
RefreshButton.for_region(status, href="/status", label="Refresh status"),
),
title="Demo",
)
@app.fragment("/status", region=status)
def refresh_status():
return swap(status_panel())
print(embed_demo(app))
Ship static assets
from pathlib import Path
from hedron_sim.assets import copy_assets
copy_assets(Path("docs/javascript"), Path("docs/stylesheets"))
Then load hedron-sim.js (and optionally hedron-sim.css) from MkDocs
extra_javascript / extra_css.
Public API
| Symbol | Role |
|---|---|
SimApp |
Offline app with @page / @fragment and regions |
embed_demo(app) |
HTML snippet for static docs |
sim_utc / sim_local_time |
Deterministic clock helpers for demos |
hedron_sim.assets.copy_assets |
Copy JS/CSS into a docs tree |
Links
License
MIT. See the repository license.
Release files for hedron-sim 0.2.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_sim-0.2.1.tar.gz | 26.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hedron_sim-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.3 kB
Release files / hedron_sim-0.2.1.tar.gz
| Download URL | hedron_sim-0.2.1.tar.gz |
|---|---|
| Size | 26.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
63aa8962715c228730e787bc55d183ed610e919c0ef71626a45ff1625254ba8c
|
|
BLAKE2b-256 checksum How to use checksums |
29da8a14613a034fa77f4729ee95dce8be664d2cec623801f03a7112bcb57f67
|
| 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_sim-0.2.1-py3-none-any.whl
| Download URL | hedron_sim-0.2.1-py3-none-any.whl |
|---|---|
| Size | 29.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5871a8a1d0483cc07dc2826eea0ada63eee8ffdd1423963b12cdee7231d51b3d
|
|
BLAKE2b-256 checksum How to use checksums |
638413d7b8017b35e75599adce6df05c7c5ab97dc0e56e2d4e96421ecb435e12
|
| 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}
|