twc-rs
A fast, single-binary CLI and interactive TUI dashboard for Timeweb Cloud.
Servers, databases, S3, Kubernetes, balancers, domains, firewalls and more —
managed from one native binary. No Python, no pip, no virtualenv.
Table of contents
- Why twc-rs
- The dashboard
- Install
- Authenticate
- Usage
- Shell completions
- Benchmarks
- Building from source
- License
Why twc-rs
The official Timeweb CLI (timeweb-cloud/twc)
is a Python application. twc-rs matches its command coverage and beats it on
speed, footprint, and experience — every number below is measured, not
estimated (see docs/COMPARISON.md for the full report
and the reproducible benchmark).
twc-rs (Rust) |
Official twc (Python) |
|
|---|---|---|
Cold start (--version) |
2.3 ms | 357 ms |
Cold start (--help) |
2.1 ms | 347 ms |
| Peak memory (RSS) | 13.7 MB | 59.2 MB |
| Footprint | 1 static binary, 15 MB stripped | 33 MB packages + a Python interpreter |
| Runtime deps | system libc only | Python + 15 PyPI packages |
| Command coverage | near-full parity | baseline |
| Interactive dashboard | yes — full TUI with live metrics | no |
| Create / delete from the dashboard | yes | no |
| Shell completions | bash, zsh, fish, powershell, elvish, nushell | bash, zsh, fish, powershell |
| Output formats | table, json, yaml, quiet | default, raw, json, yaml |
| Profiles (multi-account) | yes (--profile, switchable in the TUI) |
yes |
| Languages | English + Russian (TUI & CLI) | English only |
Measured on an AMD Ryzen AI MAX+ 395 (Linux 7.1, rustc 1.96) against
twc-cli v2.15.2, 50 runs each. The Python tool pays ~350 ms of interpreter
and import startup before any application code runs.
The dashboard
The headline feature the Python CLI does not have: a live, k9s-style TUI
(twc-rs dashboard).
| Key | Action |
|---|---|
h / l |
switch resource tabs |
j / k |
move selection |
Enter |
open the action menu / drill into a resource |
n |
create a new resource (where supported) |
/ |
filter the current list |
Ctrl+K |
command palette — actions, theme, language, profile switch |
? |
help overlay |
Q |
quit |
- Context action menu per resource (reboot / shutdown / clone / delete) with a confirmation step for destructive actions.
- Create resources and switch account profile without leaving the dashboard.
- Live per-resource metrics (CPU / RAM / network sparklines), fetched off the UI thread so input never blocks on the network.
- Drill into a project to see the resources it contains; live event log.
- Customizable layout, hide-empty-tabs, 4 true-color themes and EN/RU — all persisted to the config file.
Install
Pick the channel that fits your platform. Every channel ships with the
interactive TUI dashboard enabled by default. For a lean, headless CLI,
build without it: cargo install twc-rs --no-default-features --features auth.
| Channel | Command |
|---|---|
| crates.io | cargo install twc-rs |
| Installer (Linux/macOS) | curl -fsSL https://raw.githubusercontent.com/RAprogramm/twc-rs/main/install.sh | sh |
| Arch (AUR) | yay -S twc-rs-bin |
| Debian/Ubuntu | sudo apt install ./twc-rs_<ver>_amd64.deb |
| Releases | download an archive from Releases, verify the .sha256, put twc-rs on your PATH |
The one-line installer detects your OS/arch, downloads the matching tarball
from the latest GitHub release and installs to ~/.local/bin (or
/usr/local/bin when writable). The .deb package is attached to every tagged
release automatically.
twc-rsis not in the official Debian/Ubuntu (apt install twc-rs) or Arch (pacman -S twc-rs) repositories — those require distro maintainership. Use the AUR package, the.deb, the installer, orcargo install.
Supported platforms
Every tagged release ships prebuilt, checksummed binaries for:
| OS | Architectures |
|---|---|
| Linux (glibc) | x86_64, aarch64 |
| macOS | x86_64 (Intel), aarch64 (Apple Silicon) |
| Windows | x86_64 |
Authenticate
# or
The token is resolved from the OS keyring, the config file, --token, or the
TWC_TOKEN environment variable, in that order. Multiple accounts are
supported via named profiles:
Usage
Every resource type is a subcommand; run twc-rs <group> --help to see its
actions and flags.
Resource groups: server, database, s3, kubernetes, registry,
balancer, domain, firewall, apps, image, ip, vpc, ssh,
project, account. The full command coverage versus the official CLI is in
docs/COMPARISON.md.
Global flags:
| Flag | Env | Meaning |
|---|---|---|
-f, --format <table|json|yaml|quiet> |
TWC_OUTPUT |
output format (default table) |
-t, --token <TOKEN> |
TWC_TOKEN |
API token override |
--profile <NAME> |
TWC_PROFILE |
use a named profile for multi-account setups |
Shell completions
Supported shells: bash, zsh, fish, powershell, elvish, nushell.
Benchmarks
All performance claims are reproducible. docs/COMPARISON.md documents the test environment and methodology; rerun it with:
&&
Prefer CI? The Benchmarks workflow runs the same comparison on demand (Actions → Benchmarks → Run workflow) and prints the head-to-head table in the run summary. It is manual only — never on push — so it never slows down regular CI.
Building from source
&&
# headless, no TUI:
Requires Rust 1.96+. The crate is linted under clippy pedantic + nursery
and the SDK is generated from the official OpenAPI spec via
timeweb-rs.
License
MIT © RAprogramm