Skip to content

Jakeelamb/SWATCH

Repository files navigation

๐ŸŽฏ SWATCH (Slurm Watch)

A sleek, modern job monitoring tool for Slurm workload manager that doesn't make you want to pull your hair out!

SWATCH GUI

๐ŸŒŸ Features

  • ๐ŸŽจ Beautiful dark theme interface
  • ๐Ÿ”„ Real-time job status monitoring
  • ๐Ÿ” Secure SSH authentication
  • ๐ŸŽฏ Status-based color coding
  • โšก Configurable auto-refresh
  • ๐ŸŽฎ Drag-and-drop window movement
  • ๐Ÿงช Test mode for demos and development

๐Ÿ“ฆ Installation

Using pip

pip install swatch-slurm

Development Installation

git clone https://github.com/Jakeelamb/SWATCH.git
cd SWATCH
pip install -e ".[dev]"
pytest

The older Flutter experiment lived in Slurm_Watch (archived). This repo is the canonical Python implementation.

๐Ÿš€ Usage

After installation, simply run the tool using the swatch command:

# Run SWATCH with normal mode
swatch

# Run SWATCH in test mode
swatch --test

๐ŸŽฎ Command Line Options

Flag Description Example
-h, --help Show help message and exit swatch --help
-t, --test Run in test mode with sample data swatch --test

๐ŸŽฏ Job Status Colors

Status Color Description
๐ŸŸข Running Soft Green Job is actively running
๐ŸŸก Pending Soft Orange Job is waiting in queue
๐Ÿ”ต Completed Soft Blue Job finished successfully
๐Ÿ”ด Failed Soft Red Job failed or timed out

โš™๏ธ Configuration

SWATCH automatically saves your configuration in ~/.hpcjobmonitor/config.json. You can:

  • ๐Ÿ’พ Save login credentials (optional)
  • โฐ Set refresh intervals:
    • 5 seconds
    • 30 seconds
    • 1 minute
    • 5 minutes
    • 10 minutes
    • 30 minutes

๐Ÿ”’ Security Note

When saving credentials, passwords are stored locally. For enhanced security:

  • ๐Ÿšซ Don't save credentials on shared machines
  • โœ… Use SSH keys when possible
  • ๐Ÿ”‘ Ensure ~/.hpcjobmonitor has appropriate permissions

๐ŸŽจ Interface Features

  • ๐Ÿ–ฑ๏ธ Draggable window (click and drag title bar)
  • ๐Ÿ“Š Sortable job columns
  • ๐ŸŽฏ Status indicators
  • ๐Ÿ“ˆ Job statistics summary
  • โฑ๏ธ Auto-refresh toggle

๐Ÿค Contributing

Found a bug? Want to add a feature? We'd love your help!

  1. ๐Ÿด Fork the repository
  2. ๐ŸŒฟ Create your feature branch
  3. ๐Ÿ’พ Commit your changes
  4. ๐Ÿ“ค Push to the branch
  5. ๐ŸŽฏ Open a Pull Request

๐Ÿ“ License

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

๐ŸŽ‰ Fun Facts

  • The name "SWATCH" comes from "Slurm Watch" (not the watch company! ๐Ÿ˜‰)

๐Ÿ› Known Issues

Remember: Happy monitoring! ๐Ÿš€

About

Slurm job monitor โ€” Python GUI for HPC clusters (pip: swatch-slurm)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages