Skip to main content

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 basic Plugin class that other plugins in the slurm_top_python.plugins inherit.
  • 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.e Disk 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slurm_top_python-1.0.0a14-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file slurm_top_python-1.0.0a14-py3-none-any.whl.

File metadata

File hashes

Hashes for slurm_top_python-1.0.0a14-py3-none-any.whl
Algorithm Hash digest
SHA256 25c138d41ec1eaf231928734ebe3725a9ea2f1a915fe6fa9a5293ce51e8471ce
MD5 cbde152365093a5dc80f39d76a39089b
BLAKE2b-256 b1b51e3cc3991eee02c4b4b8af163035135372371793926ed38981e55b52434e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page