Introducing quads-client


quads-client is a new CLI and GUI for managing QUADS servers, built for the way we actually work: self-scheduling without tickets, multi-server sessions, and a terminal UI that is genuinely pleasant to use. It is available now via RPM or PyPi (Mac/Windows/Linux), with full self-scheduling support on QUADS 2.2.6.

What Does it Do?

quads-client gives you two ways to work with QUADS:

  • Standalone CLI – interactive shell with tab completion, command history, scripting support and one-shot commands
  • GUI – modern graphical interface for Linux/macOS with onboarding wizard, dark/light themes and visual host management

It connects to multiple QUADS servers from one interface, keeps authenticated sessions alive, and switches between them instantly (Ctrl+A Ctrl+A toggles like GNU screen). Authentication uses qat_-prefixed SSO tokens from the QUADS web portal, no passwords sitting in your config, and all authorization is enforced server-side.

Installation

Python 3.13 or newer is required. From PyPI:

python3 -m venv venv
source venv/bin/activate
pip install quads-client

On Fedora, install from our COPR repository:

dnf copr enable quadsdev/python3-quads -y
dnf install quads-client

Install the GUI

The same COPR repository ships the full-featured GUI:

dnf install quads-client-gui

quads-client GUI self-scheduling

Self-Scheduling in One Shot

The headline feature is one-shot self-scheduling. Set a default server in ~/.config/quads/quads-client.yml, then from a script or shell one-liner:

quads-client schedule 3 description "dev testing"

QUADS picks matching hosts automatically. Need hardware filters? Count mode accepts model, RAM, disk type/size, NIC speed, even GPU vendor and product:

quads-client schedule 5 description "perf lab" model r640 ram 128
gpu-vendor "NVIDIA Corporation"

Prefer specific hosts or a list file?

quads-client schedule host01.example.com,host02.example.com description "CI pipeline"
quads-client schedule host-list ~/hosts.txt description "batch test"

When you are done, release everything with quads-client terminate 42 (or a single host). One-shots return proper exit codes for scripting, and commands can be piped: echo "my_hosts" | quads-client. No tickets, no admin approval.
quads-client one-shot self-scheduling
quads-client interactive self-scheduling

More Than Scheduling

  • Move progress: move_status, live track with auto-refresh, and cloud-grouped activity across the 12-stage provisioning pipeline
  • Multi-user workstations: keep separate admin and user sessions to the same server
  • Context-aware tab completion that queries your server for clouds, hostnames, assignment IDs and values
  • The GUI mirrors all of it, with a self-scheduling view, My Hosts, and a Move Progress panel

Availability

quads-client is available now. Fully working today: self-scheduling on QUADS 2.2.6. QUADS 3.0, expected in the coming weeks, brings full admin scheduling capability to the client as well.

Links

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.