Skip to main content

No project description provided

Project description

nvidb

A package that provides an aggregated view of the NVIDIA GPU information on several hosts.

1. Installation

1.1 Install using pip

You can install nvidb using pip. First, clone the repository:

git clone https://github.com/FanBB2333/nvidb.git
cd nvidb
pip install .

Or install directly from PyPI:

pip install nvidb
# If the specified version is unavailable in your custom repository, use pypi.org as the source:
pip install nvidb -i https://pypi.org/simple

1.2 Configuration

Option A: Interactive Setup (Recommended)

Use the interactive command to add servers:

nvidb add

This will guide you through adding a new server with prompts for host, port, username, authentication method, etc.

Option B: Manual Configuration

To manually configure remote servers, create or edit the configuration file at ~/.nvidb/config.yml:

mkdir -p ~/.nvidb/
cp config.example.yml ~/.nvidb/config.yml
# Edit the file with your server details

Configuration file structure:

servers:
  - host: "example1.com"
    port: 22
    username: "user1"
    description: "Description of the first server"
    auth: "auto"  # auto | key | password
    
  - host: "example2.com"
    port: 22
    username: "user2"
    password: "password2"  # Optional, prompted if not set
    description: "Description of the second server"
    auth: "auto"

Configuration Options:

  • host: Server hostname or IP address (required)
  • port: SSH port, default is 22 (required)
  • username: SSH username (required)
  • description: Human-readable server description (optional)
  • auth: Authentication method - auto, key, or password (optional, default: auto)
  • password: SSH password (optional, will prompt if needed)

Environment Variables

You can customize the working directory by setting NVIDB_HOME:

export NVIDB_HOME=/path/to/custom/nvidb

Default working directory is ~/.nvidb/.


2. Usage

2.1 Basic Commands

nvidb                  # Monitor local GPU only
nvidb --remote         # Monitor local and remote servers
nvidb --version        # Show version

2.2 Server Management

nvidb add              # Interactively add a new server
nvidb info             # Show configuration info and server list

2.3 GPU Logging

Continuously log GPU statistics to an SQLite database:

nvidb log                          # Log local GPU with default settings
nvidb log --remote                 # Log local and remote GPUs
nvidb log --interval 10            # Set logging interval to 10 seconds
nvidb log --db-path /path/to/db    # Specify custom database path

Press Ctrl+C to stop logging and save data.

2.4 Cleanup

Remove server configurations or delete log data:

nvidb clean              # Interactive cleanup menu
nvidb clean all          # Delete all data (requires double confirmation)

2.5 Interactive TUI Navigation

When viewing GPU stats, use these keyboard shortcuts:

Key Action
j / Move selection down
k / Move selection up
Enter / Space Toggle expand/collapse server
a Expand all servers
c Collapse all servers
q Quit

3. Sample Output

Time: 09:41:00 | Servers: 2 | [j/k] Navigate [Enter] Toggle [a] Expand All [c] Collapse All [q] Quit
--------------------------------------------------------------------------------
* v [1] Local Machine (l1ght@localhost)  1 GPUs | 1 idle | 0% avg | 0GB/24GB

Local Machine (l1ght@localhost)
Driver: 570.169 | CUDA: 12.8 | GPUs: 1
GPU  |    name     |   fan   |  util   | mem_util |  temp   |    rx    |    tx    |      power       | memory[used/total] |   processes   
-----+-------------+---------+---------+----------+---------+----------+----------+------------------+--------------------+---------------
 0   | RTX 3090 Ti |   0 %   |   0 %   |   0 %    |  39 C   | 350KB/s  | 500KB/s  | P8 32.72/450.00  |      41/24564      |    gdm(17M)   

  > [2] Server 1  8 GPUs | 0 idle | 78% avg | 156GB/192GB

4. System Requirements

  • NVIDIA driver installed with nvidia-smi available in terminal
  • Python 3.8+
  • SSH access to remote servers (for remote monitoring)

5. Tips

  • Use nvidia-smi --help-query-gpu to see available query options
  • Database files are stored in ~/.nvidb/gpu_log.db by default
  • Configuration and logs are stored in ~/.nvidb/ directory

6. Acknowledgements

Thanks to NVIDIA for providing the nvidia-smi tool, which is used to query GPU information.

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

nvidb-1.3.2.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

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

nvidb-1.3.2-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file nvidb-1.3.2.tar.gz.

File metadata

  • Download URL: nvidb-1.3.2.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nvidb-1.3.2.tar.gz
Algorithm Hash digest
SHA256 ca0ff36c79ecc5cc6383a5a6cbee809b15fefb2391634a6122627ba4cc68bf2b
MD5 bf2c76c53f1c4764f5f75a50fa54deee
BLAKE2b-256 6619c76da797c98f4d971fb4fe742144d2296e823acec4d67427b222d20bc8e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for nvidb-1.3.2.tar.gz:

Publisher: python-publish.yml on FanBB2333/nvidb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nvidb-1.3.2-py3-none-any.whl.

File metadata

  • Download URL: nvidb-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nvidb-1.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4f01442631ac5331722d620060b74190415c19256f4fac7042aec5c1cb507ea8
MD5 c508be389f46b88094da61693ec09365
BLAKE2b-256 403c0f2a553885cf046028e7125337ad61aa428ec9b31c54e5b228dee6c0dbae

See more details on using hashes here.

Provenance

The following attestation bundles were made for nvidb-1.3.2-py3-none-any.whl:

Publisher: python-publish.yml on FanBB2333/nvidb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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