Skip to main content

hexastack-ui

Reactive UI presentation adapters and turnkey DevTools dashboard for Hexastack.

PyPI: hexastack-ui Python 3.13+ Coverage Part of Hexastack Governed by Hexaqual License: Apache 2.0

Accessibility: WCAG 2.1 AA Tested with: axe--core

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 with mount_ui_app, and dispatch directly to the CQRS bus using dispatch_command and dispatch_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 rodi DI 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, and wcag21aa tags via axe-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.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hexastack-ui 0.10.0
File Size Uploaded Provenance
hexastack_ui-0.10.0.tar.gz 20.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for hexastack-ui 0.10.0
File Interpreter ABI Platform
hexastack_ui-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 45.4 kB

Release files / hexastack_ui-0.10.0.tar.gz

Download URL hexastack_ui-0.10.0.tar.gz
Size 20.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7b9452643621f715cf23194f111f4f34e7ccf7182f466713d1f3f144db6ddd59
BLAKE2b-256 checksum
How to use checksums
d386e3ef1886cfe87a882cf93cfc0873dc167848ca2269c4f248236334cd8caa
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.10.0-py3-none-any.whl

Download URL hexastack_ui-0.10.0-py3-none-any.whl
Size 25.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4ae8f183eb37aee6fcff9d783668fa7d871f53029dd21dc9a4476be0bba94376
BLAKE2b-256 checksum
How to use checksums
2a99c46d71d2ac21a18c0b0f9fc2d4db560f4b1b5ea6ea23f053db63bddf08ca
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.10.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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page