Skip to main content

Qt6 system-tray replacement for Upbound's up CLI

Project description

up-tray

A Qt6 system-tray app that replaces Upbound's up CLI without the 250 MB Go binary.

Talks directly to api.upbound.io for cloud ops and to your Spaces clusters via the Kubernetes API. Composition render is supported either natively (Docker + gRPC, requires [render] extras and proto stubs) or by falling through to the upstream crossplane CLI when present.

Open source, use at your own risk. up-tray is a community, open-source project licensed under Apache-2.0. It is provided "as is", without warranty of any kind; you assume all risk from its use. It is not an official Upbound product and is not covered by any Upbound support agreement.

Vibe coded with Claude. This app was largely vibe-coded in close pairing with Anthropic's Claude (via Claude Code), which dramatically accelerated the Upbound/Crossplane learning curve and turned ideas into working PyQt6 features fast. Review the code before you rely on it.

Running it

up-tray.webm

./run.sh              # system Python + dnf-installed deps. If anything's
                      # missing it prints the dnf line and exits.
./run.sh --install    # dnf install missing deps, then run
./run.sh --venv       # force a local venv (for code iteration or non-Fedora)
./run.sh --help       # the rest of the flags

Qt must be installed.

For installed-on-disk daily use use pip or build the RPM:

pip install up-tray

or RPM:

./build-srpm.sh
rpmbuild --rebuild build/srpm/up-tray-*.src.rpm
sudo dnf install ~/rpmbuild/RPMS/noarch/up-tray-*.rpm
up-tray &

The RPM is noarch and depends on python3-pyqt6, python3-requests, python3-pyyaml, python3-kubernetes, with python3-keyring recommended. No venv anywhere on the install path.

Status

Alpha. Cloud, Spaces, kubeconfig, and xpkg paths are wired natively against the Upbound REST API and the Kubernetes Python client. Composition render currently shells to crossplane until proto stubs are compiled into the package.

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

up_tray-0.3.0.tar.gz (617.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

up_tray-0.3.0-py3-none-any.whl (658.4 kB view details)

Uploaded Python 3

File details

Details for the file up_tray-0.3.0.tar.gz.

File metadata

  • Download URL: up_tray-0.3.0.tar.gz
  • Upload date:
  • Size: 617.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for up_tray-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e2ad10a314b99cce7016c7c1a818524b842496de5875d6fd74017f0aae4fa444
MD5 1deb6b8cf6f80049d341a314a01a076d
BLAKE2b-256 1122fec81e3a87144b5eaf50500d36a6f410dd975d135d391c652f0ecb32a139

See more details on using hashes here.

File details

Details for the file up_tray-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: up_tray-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 658.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for up_tray-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5efd7fd370595fdacd96c722e77bf6876b7d22cb5f49cd3a53a4d14f934c12aa
MD5 4813fef7f8c50df679af0971b3fdd014
BLAKE2b-256 d76b20f7f7927f84480319cd182d8ff41db592ff12b7b55183a64b3f39c2fbdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page