Skip to content
/ spilot Public

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

License

Notifications You must be signed in to change notification settings

atrey-a/spilot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks