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.1.tar.gz (18.8 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.1-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: spilot-1.0.1.tar.gz
  • Upload date:
  • Size: 18.8 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.1.tar.gz
Algorithm Hash digest
SHA256 0e8ce66ed0b971d616a5e478994c43406afa007c65a36a5c4864b2ad46444ad0
MD5 f05b21ac5e8df1941b06167702398155
BLAKE2b-256 1dde6e0caa6c13e4cdd8f89e67df495e20800a34f5c7bf69998c5c831453e47b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spilot-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 18.0 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 70eae7d87a2af64bfde4186fe2ded03b01be9a9df11fd9f26e235bc0165c6ce3
MD5 11669f73ffb6881955ab02176c283104
BLAKE2b-256 1394398d22e86b1a1d32c715efd4acc7b3ee82be4f83a2a55a353ab5b78584a3

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