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 compaible with both Python2.x and Python3.x and is tested on Linux and MaxOSx (should be invoked as root) 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 # install requirements
sudo python setup.py install

Upgrading slurm_top_python

pip install --upgrade slurm_top_python

Usage

slurm_top_python

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.0a5-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for slurm_top_python-1.0.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 73fb01e6bece76df7dde7aa8e2656f3859639806a8eaeb045ca979be9f6bf231
MD5 034fd13dde96b7d67e63ba0773aeca98
BLAKE2b-256 c0eb0683f8c66920207b11d5c6913675f67ed41cfaa7d67b2f01eff96c00a6a8

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