This release is a pre-release and may not be stable for production use.
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
Metadata
Release files for slurm-top-python 1.0.0a14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| slurm_top_python-1.0.0a14-py3-none-any.whl | Python 3 | none | any | Details |
Release files / slurm_top_python-1.0.0a14-py3-none-any.whl
| Download URL | slurm_top_python-1.0.0a14-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
25c138d41ec1eaf231928734ebe3725a9ea2f1a915fe6fa9a5293ce51e8471ce
|
|
BLAKE2b-256 checksum How to use checksums |
b1b51e3cc3991eee02c4b4b8af163035135372371793926ed38981e55b52434e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|