A configurable hacker-style terminal UI toolkit driven by YAML screens, widgets, and providers.
Project description
Hatui
Hatui is a configurable hacker-style terminal UI toolkit for Python. It lets you compose full-screen TUIs from YAML screens, reusable widgets, themes, routing, and data providers.
Install
Recommended for end users:
pipx install hatui-kit
Python package install:
pip install hatui-kit
Installed CLI command:
hatui
Windows convenience build:
- Download
hatui-windows-amd64.zipfrom GitHub Releases - Unzip it
- Run
hatui.exe
Quick start
Run the bundled demo:
hatui
Validate the bundled demo spec:
hatui validate
Render a non-interactive preview:
hatui preview --width 100 --height 28 --frames 1
Run a custom spec:
hatui run path/to/screen.yaml
What Hatui provides
- declarative YAML screen loading with includes
- widget and provider registries
- routing, modals, focus traversal, and debug overlays
- theme slots, color tokens, and font tokens
- reusable hacker-style widgets for dashboards and console simulations
Example custom spec
theme:
preset: clean_ops
providers:
- type: constant
name: hello_text
target: ui.hello
value: Hello from Hatui
screen:
type: box
name: root_box
title: demo
padding: 1
child:
type: text
name: hello_text
text_key: ui.hello
Run it with:
hatui run ./demo.yaml
Development
Editable install:
python -m pip install -e .
Smoke checks:
python -m compileall src
PYTHONPATH=src python -m hatui validate
PYTHONPATH=src python -m hatui preview --width 100 --height 28 --frames 1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hatui_kit-0.1.0.tar.gz.
File metadata
- Download URL: hatui_kit-0.1.0.tar.gz
- Upload date:
- Size: 70.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea0607b2767b86bb80fbfd232de2033d1d68b0b0c4ef92410aca762880de4222
|
|
| MD5 |
2d4cbafc5a80a4315f270eb3247eee0d
|
|
| BLAKE2b-256 |
3b48035faf87af69cc1c7552315daa85fcbafb6e272e2364a054a3a462138064
|
Provenance
The following attestation bundles were made for hatui_kit-0.1.0.tar.gz:
Publisher:
release.yml on almajd3713/hacker_tui_sim
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hatui_kit-0.1.0.tar.gz -
Subject digest:
ea0607b2767b86bb80fbfd232de2033d1d68b0b0c4ef92410aca762880de4222 - Sigstore transparency entry: 2154790686
- Sigstore integration time:
-
Permalink:
almajd3713/hacker_tui_sim@8774baefd8f56c0e547d55de90d169b86053801c -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/almajd3713
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8774baefd8f56c0e547d55de90d169b86053801c -
Trigger Event:
push
-
Statement type:
File details
Details for the file hatui_kit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hatui_kit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 117.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3142fb0e9f4a7f69b5ed730ea813087494e0d8ef67e1b33e4d8de6ece6be7d1
|
|
| MD5 |
51f97dc7b9dc94956ef6fae2de6acee7
|
|
| BLAKE2b-256 |
3fc50cb8fe0559c00c149c00468cb11be5e69e021770f1d6fefe66c1a1cbd4bd
|
Provenance
The following attestation bundles were made for hatui_kit-0.1.0-py3-none-any.whl:
Publisher:
release.yml on almajd3713/hacker_tui_sim
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hatui_kit-0.1.0-py3-none-any.whl -
Subject digest:
a3142fb0e9f4a7f69b5ed730ea813087494e0d8ef67e1b33e4d8de6ece6be7d1 - Sigstore transparency entry: 2154791038
- Sigstore integration time:
-
Permalink:
almajd3713/hacker_tui_sim@8774baefd8f56c0e547d55de90d169b86053801c -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/almajd3713
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8774baefd8f56c0e547d55de90d169b86053801c -
Trigger Event:
push
-
Statement type: