Skip to main content

A CLI application for monitoring hardware with VU1-Dials

Project description

VU1-Monitor

A CLI application for monitoring hardware using VU1 Dials.

What is this?

The VU1 Dials come with a server application and demo monitoring app out of the box. The Demo app is set up to work on Windows machines only. This application fills this gap for both MacOS and Linux users that want to monitor their hardware using the VU1 Dials.

Quickstart

Prerequisites

  1. To install vu1-monitor it is recommended to use pipx to instal the tool.

    pipx is used to install Python CLI applications globally while still isolating them in virtual environments. pipx will manage upgrades and uninstalls of vu1-monitor. If pipx is not already installed, you can follow any of the options in the official pipx installation instructions.

  2. vu1-monitor is a python CLI application and supports 3.10+.

  3. vu1-monitor is a "VU" application and expects the vu-server to be running.

    To run vu-server, you can follow the instructions to install and run the application

  4. GPU support is handled differently per device type.

    • Nvidia GPUs will need the nvidia-smi.
    • AMD GPUs are supported natively through their drivers.

Install

To install vu1-monitor run the following:

pipx install vu1-monitor

Start monitoring

To start monitoring, you can run the following:

vu1-monitor start

Commands

vu1-monitor provides several utilities for interacting and configuring your VU1-Dials.

Start & Stop

vu1-monitor can be simply started (to run in the background) and stopped:

# starts monitoring of all available dials
vu1-monitor start

# stop monitoring all available dials
vu1-monitor stop

start will automatically detect what dials can be updated based on their name.

Run

vu1-monitor provides a run utility that runs monitoring within the CLI. By default it will only update the CPU dial. run can also update other dials and alter the update interval speed:

# runs all available dials, including CPU
vu1-monitor run --gpu --mem --net

# runs all dials, except CPU
vu1-monitor run --no-cpu --gpu --mem --net

# updates dials every second
vu1-monitor run --interval 1

vu1-monitor uses configuration to understand what GPU backend to use. To update this, you can set an envrionment varibale:

# set GPU backed to NVIDIA (Default)
export VU1__GPU__BACKEND=nvidia

# set GPU backed to AMD
export VU1__GPU__BACKEND=amd

Backlight

vu1-monitor provides a series of pre-set backlight colours and brightness profiles for each / all dials.

# set the CPU dial to its default colour and brightness (LOW & WHITE)
vu1-monitor backlight --dial CPU

# sets the GPU dial backlight to red, at its maximum brightness
vu1-monitor backlight --dial MEMORY --colour RED --brightness MAX

Image

vu1-monitor provides a utility to upload background images to each dial:

### sets the background image of the network dial to your supplied png

vu1-monitor image /your/file/path/dial.png --dial NETWORK

[!NOTE] VU1 Dials expect their background images to be either in .png or .jpg formats and must be exactly 200 x 144 pixels. vu1-monitor and the vu-server are strict about this requirement and will reject anything outside of this.

Reset

vu1-monitor provides a utility to reset each element (dial, backlight, image) of all dials:

# reset the position of a dial to 0
vu1-monitor reset dial

# reset the backlight of a dial to OFF
vu1-monitor reset backlight

# reset the image to default vu1-monitor images
vu1-monitor reset image

Configuration

vu1-monitor is set up to work with the default configurations of vu-server. However, these configurations can be overridden using environment variables. vu1-monitor looks for environment variables by looking for the prefix VU1.

Environment Variable Name Description Default Value
VU1__NAME The name of the application VU1-Monitor
VU1__SERVER__HOSTNAME The hostname of the VU-Server localhost
VU1__SERVER__PORT The port of the VU-Server 5430
VU1__SERVER__LOGGING_LEVEL The logging level of VU1-Monitor INFO
VU1__SERVER__KEY The API key to authenticate with VU-Server. The default value is the default value of VU-Server, please generate a new key in the VU UI Console and set as your new key cTpAWYuRpA2zx75Yh961Cg
VU1__SERVER__TIMEOUTS__RETRIES Number of retries to attempt on server timeout 5
VU1__SERVER__TIMEOUTS__SLEEP Number of seconds to wait before retry attempt 2
VU1__CPU__NAME The name of the Dial assigned to CPU monitoring CPU
VU1__GPU__NAME The name of the Dial assigned to GPU monitoring GPU
VU1__GPU__BACKEND The device type of the GPU. Valid values are: nvidia, amd nvidia
VU1__MEMORY__NAME The name of the Dial assigned to Memory monitoring MEMORY
VU1__NETWORK__NAME The name of the Dial assigned to Network monitoring NETWORK

[!NOTE] vu1-monitor identifies specific Dials by their name, as configured in vu-server. Please make sure that each dial name matches what is expected by vu1-monitor

Supported hardware

vu1-monitor supports OS agnostic tooling, particularly across Linux, MacOS & Linux. However, vu1-monitor is only tested and maintained on MacOS & Linux (vu-server had a default demo app for windows).

Currently, vu1-monitor supports NVIDIA & AMD GPU monitoring only. Apple GPU monitoring will be coming in later releases.

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

vu1_monitor-0.1.0.tar.gz (33.2 kB view details)

Uploaded Source

Built Distribution

vu1_monitor-0.1.0-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

File details

Details for the file vu1_monitor-0.1.0.tar.gz.

File metadata

  • Download URL: vu1_monitor-0.1.0.tar.gz
  • Upload date:
  • Size: 33.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for vu1_monitor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 86970d97c6bedf58d06fec30d6a979e233104242a753ae2f240ccd82c5b671e7
MD5 c3fe822ec5c93a6cbbcdd8752439223e
BLAKE2b-256 37130b705cb5948c76e38c755d21dde25690e42085db76210e3529752b61dbd1

See more details on using hashes here.

File details

Details for the file vu1_monitor-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: vu1_monitor-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for vu1_monitor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33a7524a363ba7c7eebec20a0f0a5d4a38df9a0c5680f81d72129b19adb56b11
MD5 8f27874e7eaf02c89415d04e96330789
BLAKE2b-256 f453027bcbf7e2c242c8c9133d8ca7e53343233ea3b84a682534192522d5b20d

See more details on using hashes here.

Supported by

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