Tuig
Tuig is the Rust/Ratatui terminal frontend for Arbora. The brand is pronounced
“twig” (/twɪɡ/); the command remains tuig. There is one executable
and one UI implementation. The former Python/Textual frontend is retired.
Native terminal preview
This capture shows the compiled Rust/Ratatui terminal with synthetic fixture data,
not the retired Python/Textual UI. It comes from source commit a8952ff.
See all six native views and capture provenance.
The README uses the same committed asset as the gallery. CI validates asset hashes; it does not automatically replace screenshots. See the screenshot refresh procedure.
Installation
The PyPI distribution and installed command are tuig.
Native wheel availability and platform qualification are release requirements.
Do not assume a published older version already includes this cutover.
pip install tuig
tuig --help
Connect
Arbora runs separately. Configure AGENT_URL and AGENT_BEARER_TOKEN.
Remote access requires TLS. For a deliberately anonymous loopback service, set
AGENT_AUTH_MODE=none and omit the bearer token.
tuig
tuig --prompt "Summarize the project"
tuig --observe-task TASK_ID
tuig --headless --prompt "Summarize the project"
tuig --headless --observe-task TASK_ID
The no-argument view discovers the configured agent, or reads AGENT_TASK_ID.
Prompt submission and task observation use Arbora A2A. Run inspection and logs
use served Arbora operations. Task/context/run identifiers remain distinct.
Headless execution prints validated unary snapshots and polls active tasks. It exits unsuccessfully if input, approval or authentication is required, or if the task fails, is canceled or is rejected. It never approves or cancels a task. Its four-hour observation bound does not stop backend work.
Current boundary
Native rendering includes task state, public output details, themes, keyboard
and mouse scrolling, run inspection and host logs. Remote cancellation in the
interactive view requires confirmation. --observe-task remains read-only.
With no selected task or prompt, tuig opens a one-task text composer.
Enter submits; Ctrl+J adds a newline; Escape reviews status and p returns
to the draft before submission. It never resubmits an unknown outcome.
Central streaming, approval attachment, context continuation and durable resume
are not yet implemented. Explicit local ACP sessions support sequential text
turns within one owned backend process; they do not resume after restart. The removed Python frontend is not a fallback. --override, --bg, --model and --session are
rejected. Full served parity and release performance remain open in
the runtime specification.
See architecture, configuration and development. Historical Python source and screenshots remain in git history, not in the live application.
License
MIT.
Metadata
Release files for tuig 2.3.5
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 | |
|---|---|---|---|---|
| tuig-2.3.5.tar.gz | 120.7 kB | Without provenance | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tuig-2.3.5-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details |
| tuig-2.3.5-py3-none-manylinux_2_28_aarch64.whl | Python 3 | none | Linux glibc 2.28+ ARM64 | Details |
Total release size: 4.9 MB
Release files / tuig-2.3.5.tar.gz
| Download URL | tuig-2.3.5.tar.gz |
|---|---|
| Size | 120.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
009ff37d75f6d8d88f2b3a330b8967a959d99f5702ced2e924009e7666848bd5
|
|
BLAKE2b-256 checksum How to use checksums |
4929a99d4f94d9d7b179febcf4f357ed7750fba3f2f8e4e9e05662535aece736
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tuig-2.3.5-py3-none-manylinux_2_28_x86_64.whl
| Download URL | tuig-2.3.5-py3-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
5854bed391cc9ff99c6ff69bb536f6a76e86491426fc31a0616dc90df1cc2811
|
|
BLAKE2b-256 checksum How to use checksums |
bd9e0f5081202ec189e3ce760bdf08a2d9c863e45c3122ca6381963bb360841b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tuig-2.3.5-py3-none-manylinux_2_28_aarch64.whl
| Download URL | tuig-2.3.5-py3-none-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
6807f7c10f1aaad7e9e87affe21813fadcbb152e82d96b59a3de39c655c0790e
|
|
BLAKE2b-256 checksum How to use checksums |
e961ea530b827cc10a77f85e39b28cf76c889433ac9851ff742e5200de87d8d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for tuig 2.3.5
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.