Case

csphere

In use

An accessible command-line client for VMware vSphere — the same braille-first model as cjira, in pure standard library.

What & why

vCenter is normally managed through a heavy graphical web interface. csphere is a flat, line-oriented terminal client on the vSphere Automation REST API, with the same accessibility model as cjira: identifier first, no colour-as-meaning, no popups. And it is pure Python standard library — including a built-in SOCKS5 tunnel and handling of self-signed TLS — so a bare install has nothing to compile.

A flat text client has real value for screen-reader and braille use: the cursor parks on the selected line so Orca and BRLTTY follow exactly, and every view is plain text that pipes cleanly. The client comes with a Dutch, screen-reader-first manual with which a colleague can get started independently.

Approach

  1. The cjira accessibility model adopted one-to-one — the tools feel like family.
  2. The vSphere Automation REST API addressed with the standard library alone: no dependencies, nothing to compile.
  3. SOCKS5 tunnel and self-signed-TLS handling built in, so even a shielded management environment is reachable.
  4. A screen-reader-first quickstart in Dutch: installing, logging in, first commands, the TUI.

Technology

  • Python (stdlib only)
  • vSphere Automation REST API
  • Built-in SOCKS5 tunnel
  • Screen-reader-first docs

Images & demo

csphere vms
vm-1024  [on]  web-01  (4 vCPU, 8 GiB)
vm-1025  [on]  web-02  (4 vCPU, 8 GiB)
vm-1031  [on]  db-01  (8 vCPU, 32 GiB)
vm-1044  [off]  build-01  (2 vCPU, 4 GiB)
4 VM(s).
Real csphere output over example data: one machine per line, identifier first, on/off as text — and every view pipes cleanly to grep or sort.

The same TUI approach for vSphere: one screen at a time, plain text, the cursor on the selection. Real screens, here over example data.

  1. csphere  Menu                                               https://vcenter.example.local
    1  Hosts & Clusters (tree)
    2  VMs & Templates (tree)
    3  Storage (tree)
    4  Networking (tree)
    V  All VMs (flat list)
    P  Powered-on VMs
    /  Find a VM by name…
    H  Hosts (flat list)
    C  Clusters (flat list)
    D  Datastores (flat list)
    N  Networks (flat list)
    T  Recent tasks
    E  Recent events
    A  Alarms
    S  Setup
    
    ? Help       > Open       < Inventory
    O OtherCmds  / Find       Q Quit
  2. csphere  All VMs                                                                        1/5
    vm-1044  [off]  build-01  (2 vCPU, 4 GiB)
    vm-1031  [on]  db-01  (8 vCPU, 32 GiB)
    vm-1038  [on]  mail-01  (2 vCPU, 4 GiB)
    vm-1024  [on]  web-01  (4 vCPU, 8 GiB)
    vm-1025  [on]  web-02  (4 vCPU, 8 GiB)
    
    
    
    ? Help       > Open       N Next       A Power      < Menu       M Menu
    O OtherCmds  / Find       P Prev       S Snapshots  R Reload     Q Quit
  3. csphere  vm-1031                                                                     2 of 5
    db-01  on  RHEL_9_64  8 vCPU / 32 GiB  10.12.4.31
    [+] Guest   Red Hat Enterprise Linux 9
    [+] Hardware   8 vCPU · 32 GiB · 2 disks · 1 NICs
    [+] Network   1 NIC(s)
    [+] Tags
    » Snapshots
    
    
    
    
    ? Help           A Actions        < Collapse/Back  S Snapshots      C Console
    O OtherCmds      > Open/Edit      H Expand all     E Hardware       N NextVM