Hiro — desktop server CLI (the `hiro` command)
Project description
hirocli
The desktop server CLI for Hiro League — installs the hiro command.
This is the server package. It does not pull in the device channel plugin
(hiro-channel-devices ships as a separate package and runs as a subprocess).
End users almost always want the umbrella package hiroleague instead, which
bundles the full desktop install.
hirocli does pull in hirogate transitively — its CLI commands
(hiro gateway start/stop/setup/...) call directly into hirogateway.service
to manage local gateway instances. VPS-only operators should install hirogate
alone, not hirocli.
Install matrix
| Use case | Command |
|---|---|
| Full desktop (recommended) | pip install hiroleague |
| Server only (no device channel, gateway still pulled in) | pip install hirocli |
| VPS gateway only | pip install hirogate |
Installation from source (workspace dev)
cd hiroserver
uv sync
uv tool install --editable hirocli
The workspace member directory is named hirocli, and the installed command
is hiro.
After pulling updated code
Run from the repo root every time you pull changes or switch environments:
./dev-sync.sh
dev-sync.sh stops the server, syncs dependencies, and reinstalls the
editable tool binaries (hiro, hiro-channel-devices, hirogate) so all
entry points stay current.
Quick start
# If you want a named workspace
hiro workspaces create home --set-default
hiro workspaces setup home
# One-time setup with auto-created default workspace
hiro workspaces setup
# If needed on Windows, request UAC to create an elevated scheduled task
hiro workspaces setup --elevated-task
# Manual start / stop
hiro start
hiro stop
# Start in foreground with live log output
hiro start --foreground
hiro start -f
# Check status
hiro status
# Device pairing helpers
hiro device add
hiro device list
hiro device revoke <device_id>
# Cleanup auto-start and running process
hiro workspaces teardown
# Full uninstall flow
hiro uninstall
Runtime data
Runtime data is stored in the platform app data directory for hiro:
config.json— device id, gateway URL, ports, and logging settingsstate.json— live WebSocket connection statehiro.pid— PID of the running server processmaster_key.pem— desktop Ed25519 master key used for gateway authenticationpairing_session.json— current active pairing code and expiryworkspace.db— workspace SQLite datalogs/server.log— server loglogs/plugin-<name>.log— one log file per channel plugin subprocess
HTTP API
When running, the server exposes a local HTTP API at the configured HTTP port:
GET /status— server and gateway connection statusGET /channels— connected channel pluginsGET /tools— registered tool schemasPOST /invoke— execute a registered tool
Project details
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 hirocli-0.1.0.tar.gz.
File metadata
- Download URL: hirocli-0.1.0.tar.gz
- Upload date:
- Size: 620.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9840a3077763b77e6f0a8099802f5abaac82cd2c87e67de3e986a9e8e562a52f
|
|
| MD5 |
37b407caf6489d607c8a14576ecf0fab
|
|
| BLAKE2b-256 |
e0edb03d7edda1c42038b89ce9f296900bc1250341e22ba08a6905712513a83e
|
File details
Details for the file hirocli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: hirocli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 748.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f2250447fcb82ffab267985ec6156a7fe9f9f8c374986bf7e469a80ee229196
|
|
| MD5 |
9f2cb06e13727f68bce6b096f0eb291e
|
|
| BLAKE2b-256 |
7bfbebf3c1419010098451700a76ca5aeb918e4b8f43f44d41436cddca8067ea
|