Metadata-Version: 2.4
Name: slurm-aio-gui
Version: 1.0.0
Summary: A modern, cross-platform GUI for managing and monitoring SLURM clusters.
Author-email: Morelli-01 <nicolamorelli30008@gmail.com>
License: MIT License
Project-URL: Homepage, https://github.com/Morelli-01/slurm_gui
Project-URL: Bug Tracker, https://github.com/Morelli-01/slurm_gui/issues
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: X11 Applications :: Qt
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: bcrypt==4.3.0
Requires-Dist: certifi==2025.4.26
Requires-Dist: cffi==1.17.1
Requires-Dist: charset-normalizer==3.4.2
Requires-Dist: cryptography==45.0.3
Requires-Dist: idna==3.10
Requires-Dist: paramiko==3.5.1
Requires-Dist: pycparser==2.22
Requires-Dist: PyNaCl==1.5.0
Requires-Dist: PyQt6==6.9.0
Requires-Dist: PyQt6-Qt6==6.9.0
Requires-Dist: PyQt6_sip==13.10.2
Requires-Dist: requests==2.32.3
Requires-Dist: urllib3==2.4.0
Dynamic: license-file

# Slurm AIO

A modern, cross-platform GUI for managing and monitoring SLURM clusters, designed for simplicity and efficiency.

## ✨ Features

-   **Real-time Monitoring:** Visualize cluster status (Nodes, CPU, GPU, and RAM usage) and track the job queue as it happens.
-   **Project-Based Organization:** Group your jobs into projects for better management and clarity.
-   **Intuitive Job Management:** Easily create, submit, modify, duplicate, and cancel jobs through a user-friendly interface.
-   **Integrated Tools:**
    -   Browse remote directories on the cluster.
    -   Open an SSH terminal directly to the cluster or a running job's node.
    -   View job output and error logs in real-time.
-   **Notifications:** Get Discord notifications for job status changes (start, completion, failure).
-   **Modern UI:** A clean, dark-themed interface with helpful toast notifications.

## 📸 Screenshots

*Visualization of the cluster status and the jobs panel.*

![Cluster Status Panel](https://raw.githubusercontent.com/Morelli-01/slurm_gui/refs/heads/main/src_static/cluster_status.webp)

![Jobs Panel](https://raw.githubusercontent.com/Morelli-01/slurm_gui/refs/heads/main/src_static/job_panel.webp)

## 🚀 Getting Started

### Prerequisites

-   Python 3.8+
-   Access to a SLURM cluster via SSH.
-   `sshpass` is required for password-based terminal authentication on Linux/macOS.
    -   **Ubuntu/Debian:** `sudo apt-get install sshpass`
    -   **macOS (Homebrew):** `brew install sshpass`

### Installation

1.  **Clone the repository:**
    ```sh
    git clone https://github.com/Morelli-01/slurm_gui.git
    cd slurm_gui
    ```

2.  **Install the dependencies:**
    ```sh
    pip install -r requirements.txt
    ```

3.  **Run the application:**
    ```sh
    python main_application.py
    ```
    The first time you run the application, you will be prompted to enter your cluster's SSH connection details.

## 📄 License

This project is licensed under the MIT License.
