Skip to main content

A terminal-based SLURM job monitoring utility that provides a clean, interactive TUI for viewing and managing jobs on HPC clusters.

Project description

spilot

A terminal-based SLURM job monitoring utility that provides a clean, interactive TUI for viewing and managing jobs on HPC clusters.

PyPI version License

Installation

pip install spilot

Usage

After installation, simply run:

spilot

⚠️ If SLURM is not installed, the application will display a notification banner.

Keyboard Controls

  • q: Quit the application
  • r: Refresh data in the current view
  • h: Switch to hardware configuration view
  • j: Switch to job submission view
  • m: Monitor the selected job's output
  • c: Cancel the selected job
  • b: Go back to the main jobs view

Features

  • Clean, interactive terminal user interface using textual
  • Real-time display and management of SLURM jobs
  • Detailed job information including IDs, states, time limits, and more
  • Hardware status monitoring for partitions and nodes
  • Job submission interface with form-based input
  • Real-time job output monitoring (stdout and stderr)
  • Job cancellation capability
  • Automatic detection of SLURM availability
  • Refresh data with a single keypress

Views

Jobs View

The main view displays all running and pending SLURM jobs, with your own jobs displayed at the top. Select a job to view detailed information.

Hardware View

Displays information about SLURM partitions and nodes, including states, available resources, and detailed configuration.

Job Submission View

Form-based interface for creating and submitting new SLURM jobs with options for partition selection, resource allocation, and job parameters.

Job Monitor View

Real-time monitoring of job output, displaying both stdout and stderr streams as they are generated.

Requirements

  • Python 3.7+
  • SLURM installation

Dependencies including textual are automatically installed.

Development

To set up the development environment:

git clone https://github.com/atrey-a/spilot.git
cd spilot
pip install -e .

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Links

Roadmap

spilot is under development. Upcoming releases will include:

  • v1.1.0: Confirmation dialogs, immediate job monitoring, performance improvements
  • v1.2.0: Theme support, enhanced job submission, broader compatibility

For a detailed list of planned features, please see the ROADMAP.md file.

Contributing

Please see CONTRIBUTION.md for details on how to contribute to this project.

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

spilot-1.0.2.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

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

spilot-1.0.2-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file spilot-1.0.2.tar.gz.

File metadata

  • Download URL: spilot-1.0.2.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for spilot-1.0.2.tar.gz
Algorithm Hash digest
SHA256 4bb925eba9aeb756c05c230fe3b53e4f12424848388e75873f7709faadf4e522
MD5 34272d0fedd6c61aa284586ce05ab4b6
BLAKE2b-256 2b6cea9972cf4f755ef4e48ecdf5ea064ba47ad91a5191fe2e47f235d3b31f82

See more details on using hashes here.

File details

Details for the file spilot-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: spilot-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for spilot-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 320613e448e3c35cc763097cd2cb4996a54aad3047e9e8c72f05e3fb0d4f7b47
MD5 1e13a6a7be829ce901c9aa271181398e
BLAKE2b-256 6a4719a067588cb091fb496b805da6e8ba61ec61d80e6cdb7e83b336cf808d87

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