Skip to content

Beginner / stable facade inventory

Historical facade inventory

This page is the historical FACADE-023 artifact. It records the 0.23-era beginner facade as carried through the 0.66.x train; it is not the 1.0 stable inventory. Symbols listed under Expanded stable tier (0.23) remain compatibility-protected stable on the current 1.3.x train. Pin uv sync from a checkout. Application users should install hedron>=1.0.0 from PyPI; use uv sync for repository development.

For the current 1.3 contract, use the machine-enumerated stable inventory and the canonical @app.page / @app.view / @app.action roles documented in Hedron.

Owning gates: FACADE-023 (python scripts/check_stable_facade.py), STABLE-023, INVENTORY-023. Decision: D-053 / RFC-0056.

Rules

  1. Beginner apps import the golden-path surface from hedron (and the module paths below for jobs / testing).
  2. Alpha packages and hedron.experimental names must not appear in this inventory.
  3. Optional extras (hedron[data], hedron[charts], hedron[jinja], hedron[auth], …) stay package-local — not root-stable via this facade.
  4. Machine-checked block: fenced text inventory under Inventory (machine-checked). Format: module:Name or module:Class.method.

Beginner imports (human table)

Import Role
from hedron import Hedron, HedronRouter, Page, Text, html App + document (already minimal-stable)
from hedron import Stack, TextInput, TextArea, SubmitButton, RefreshButton CRUD chrome
from hedron import Form, CsrfField, Hx, FormField, FormErrors, Label Forms / CSRF
from hedron import SecurityPolicy, SecurityHeadersPolicy Profiles / headers
from hedron import DoubleSubmitCookieCsrf, SessionTokenCsrf, CsrfStrategy CSRF strategies
from hedron import swap, swap_oob, retarget, redirect_htmx, Poll Fragments / polling UI
from hedron.jobs import enqueue_durable, job_status_response Durable job HTTP helpers
from hedron_core.jobs import JobBackend, JobStatus, JobHandle, JobState, set_job_backend, get_job_backend Job protocol
from hedron.testing import AppScenario, assert_page_document, assert_fragment_body, assert_htmx_trigger, assert_hx_retarget, assert_oob_present, assert_hx_push_url, assert_hx_redirect, assert_hx_reswap App tests

The 1.0 application facade uses app.page(...), app.view(...), app.action(...), and app.include(...). Removed 0.67 spellings are reported by the static migration tooling. On HedronRouter, declare FragmentRegion values and pass fragment_regions= to @page / @view / @action.

Deny list (must not appear in inventory)

  • Any hedron.experimental export (job_status_sse_response, SseResponse, stream/WS/preload helpers, …)
  • Optional-integration root names from charts / notebook / MCP / Gradio / native
  • DataTable, DataEditor, dashboard/inference facades

Inventory (machine-checked)

hedron:Hedron
hedron:HedronRouter
hedron:Hedron.page
hedron:Hedron.view
hedron:Hedron.action
hedron:FragmentRegion
hedron:Page
hedron:Text
hedron:html
hedron:Stack
hedron:TextInput
hedron:TextArea
hedron:SubmitButton
hedron:RefreshButton
hedron:Form
hedron:CsrfField
hedron:Hx
hedron:FormField
hedron:FormErrors
hedron:Label
hedron:SecurityPolicy
hedron:SecurityHeadersPolicy
hedron:DoubleSubmitCookieCsrf
hedron:SessionTokenCsrf
hedron:CsrfStrategy
hedron:swap
hedron:swap_oob
hedron:retarget
hedron:redirect_htmx
hedron:Poll
hedron.jobs:enqueue_durable
hedron.jobs:job_status_response
hedron_core.jobs:JobBackend
hedron_core.jobs:JobStatus
hedron_core.jobs:JobHandle
hedron_core.jobs:JobState
hedron_core.jobs:set_job_backend
hedron_core.jobs:get_job_backend
hedron.testing:AppScenario
hedron.testing:assert_page_document
hedron.testing:assert_fragment_body
hedron.testing:assert_htmx_trigger
hedron.testing:assert_hx_retarget
hedron.testing:assert_oob_present
hedron.testing:assert_hx_push_url
hedron.testing:assert_hx_redirect
hedron.testing:assert_hx_reswap

See also