Skip to main content

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

Native tuig answer with folded public details and synthetic data

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)

Source distribution for tuig 2.3.5
File Size Uploaded Provenance
tuig-2.3.5.tar.gz 120.7 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for tuig 2.3.5
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

2.3.5 This release

3 release files No provenance

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