hexastack-ui
Reactive UI presentation adapters and turnkey DevTools dashboard for Hexastack.
Part of the Hexastack Framework · Governed by Hexaqual.
1. Overview & Capabilities
hexastack-ui provides reactive web and terminal user interface adapters for Hexastack architectures, headlined by the turnkey Hexastack DevTools Console:
- NiceGUI Reactive Web Presentation: Build domain UI pages with
@ui_page, mount reactive sub-applications withmount_ui_app, and dispatch directly to the CQRS bus usingdispatch_commandanddispatch_query. - Live CQRS Dispatcher & Explorer: Test and trigger command handlers and queries directly in your browser with dynamic input forms and schema validation.
- Resource Interconnect Topology Navigation: Explore the live architectural interconnect graph, visually tracing links across inbound HTTP endpoints, middlewares, CQRS buses, distributed event brokers, and outbound persistence ports.
- Hexaflow Workflow Visualizer & Saga Simulator: Live Mermaid diagram generation for CQRS sagas, TD/LR layout orientation toggling, critical path detection, and dry-run saga simulation with step highlighting.
- Dynamic Feature Flag Hot-Swapping: Inspect evaluated feature flags in real time and apply temporary in-memory overrides without rebooting servers or clearing caches.
- DI Container & Configuration Inspector: Inspect active service registrations, singletons, scoped instances, and loaded configuration schemas in the
rodiDI container. - Guaranteed WCAG 2.1 AA Accessibility: Every DevTools panel, modal, and button is tested end-to-end with Playwright and
axe-core, guaranteeing zero critical and zero serious violations.
2. Package Anatomy
hexastack_ui/
├── adapters/
│ ├── nicegui/ # DevTools console, workflow simulator, topology visualizer
│ └── textual/ # Terminal TUI adapters (in development)
├── domain/ # UI models, navigation state, DevTools tabs
├── ports/ # UI presentation interfaces
└── infra/ # UiBootstrapper (order=35), FastAPI mounting adapters
3. Quickstart: Launching the DevTools Console
Option A: Via the Hexastack CLI
# Launch DevTools on http://127.0.0.1:8000/_devtools
hexastack ui
Option B: Mount into an Existing FastAPI Application
from fastapi import FastAPI
from hexastack_ui.adapters.nicegui.devtools import mount_devtools_dashboard
app = FastAPI(title="My Hexastack Service")
# Mount interactive DevTools console under /_devtools
mount_devtools_dashboard(app, path="/_devtools")
Option C: Defining Reactive Domain Pages
from nicegui import ui
from hexastack_ui.infra.decorators import ui_page
from hexastack_ui.adapters.nicegui.dispatcher import dispatch_command
from my_domain.commands import CreateOrderCommand
@ui_page("/orders/new")
def new_order_page():
ui.label("Create New Order").classes("text-2xl font-bold")
item_input = ui.input("Item Name")
qty_input = ui.number("Quantity", value=1, min=1)
async def submit():
cmd = CreateOrderCommand(item=item_input.value, quantity=int(qty_input.value))
res = await dispatch_command(cmd)
ui.notify(f"Order created: {res.order_id}", type="positive")
ui.button("Submit Order", on_click=submit).props("primary")
4. Installation
# Standalone install with NiceGUI engine
pip install hexastack-ui[nicegui]
# With all UI extras
pip install hexastack-ui[all]
# Via the umbrella Hexastack framework
pip install hexastack[ui]
5. Accessibility Invariants (a11y)
Hexastack UI enforces strict accessibility standards verified continuously in CI:
- Zero Critical/Serious Violations: Validated under
wcag2a,wcag2aa, andwcag21aatags viaaxe-core. - 4.5:1 Minimum Contrast: Enforced for all body text, status indicators, and syntax highlights.
- Accessible Interactive Controls: Tooltips, aria-labels, and keyboard navigation on all interactive nodes and buttons.
Metadata
Release files for hexastack-ui 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| hexastack_ui-0.9.0.tar.gz | 19.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hexastack_ui-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.2 kB
Release files / hexastack_ui-0.9.0.tar.gz
| Download URL | hexastack_ui-0.9.0.tar.gz |
|---|---|
| Size | 19.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
425d025e94396c76e960407b67265406e262dd7ffb614748769cb1d0914478ff
|
|
BLAKE2b-256 checksum How to use checksums |
ef2a55cb2814dce1e1e52fa8861785ccf754c4647b330f4cc535ca0ef81538b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / hexastack_ui-0.9.0-py3-none-any.whl
| Download URL | hexastack_ui-0.9.0-py3-none-any.whl |
|---|---|
| Size | 24.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
26db65d44f95354b512e9339e1fe5aaa3022982fc89da8d6effcdb3b387a61df
|
|
BLAKE2b-256 checksum How to use checksums |
2b4ea55328b81a5c3c2a33ce45caf8045e3a570332a3fc495c2b4b654214b815
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for hexastack-ui 0.9.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.