A task manager written in Python for HPC systems that use Slurm
Project description
slurm_top_python
slurm_top_python is a task manager for high-performance computing systems that use Slurm. It was originally designed for the UCSD Expanse servers, but can work on other servers that use Slurm and Slurm jobs.
Credit to ptop - original creators of the Python taskmanager app that this is based on. You can view the licensing under the LICENSE file. This app is an adaptation of their program.
Work in progress
Installation
slurm_top_python is compatible with both Python2.x and Python3.x and is tested on Linux environments.
pip install slurm_top_python
or
git clone https://github.com/kinetekenergy/slurm_top_python
cd slurm_top_python/
pip install -r requirements.txt
sudo python setup.py install
Upgrading slurm_top_python
pip install --upgrade slurm_top_python
Usage
slurm_top_python
Alternatively, you can type s_top.
Common Errors
When running the program, you might get the following error: (<class 'npyscreen.wgwidget.NotEnoughSpaceForWidget'>, NotEnoughSpaceForWidget('Not enough space for requested size'), <traceback object at 0x155552ca4e00>).
This means that your terminal size isn't big enough. To fix this, make your terminal window larger. You can maximize it or manually make it larger.
Developing slurm_top_python
git clone https://github.com/kinetekenergy/slurm_top_python
code slurm_top_python # vscode is preferred, but any IDE that supports docker + devcontainers will work
Open the devcontainer in your IDE. If you are using vscode, there will be a pop-up asking to reopen the folder in a devcontainer. Accept it, and all the necessary tools will be installed.
Note: slurm_top_python will create a log file called .slurm_top_python.log in the home directory of the user.
Main modules
slurm_top_python.core: Defines a basicPluginclass that other plugins in theslurm_top_python.pluginsinherit.slurm_top_python.interfaces: The interface to the slurm_top_python built using npyscreen.slurm_top_python.plugins: This module contains all the plugin sensors supported i.eDisk Sensor,Memory Sensor,Process Sensor, etc. ( Any new plugin should be added here).slurm_top_python.statistics: Generate continuous statistics using background thread jobs by locating plugins in the plugins directory.slurm_top_python.utils: Custom thread classes.
Publishing
First time:
python -m build
python -m twine upload dist/*
# enter your api key when prompted
To update:
First, update your version number. Then:
python -m build
python -m twine upload dist/<the .whl file that was generated>
# enter your api key when prompted
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slurm_top_python-1.0.0a14-py3-none-any.whl.
File metadata
- Download URL: slurm_top_python-1.0.0a14-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25c138d41ec1eaf231928734ebe3725a9ea2f1a915fe6fa9a5293ce51e8471ce
|
|
| MD5 |
cbde152365093a5dc80f39d76a39089b
|
|
| BLAKE2b-256 |
b1b51e3cc3991eee02c4b4b8af163035135372371793926ed38981e55b52434e
|