Python Interface for Slurm


Keywords
HPC, Batch, Scheduler, Resource, Manager, Slurm, Cython, cluster, python
License
GPL-2.0
Install
pip install pyslurm==18.8.1.1

Documentation

PySlurm: Slurm Interface for Python

https://travis-ci.org/PySlurm/pyslurm.svg?branch=master

Overview

Currently PySlurm is under development to move from it's thin layer on top of the Slurm C API to an object orientated interface.

This release is based on Slurm 17.11. For Slurm 18.08, please see the 18.08.0 branch <https://github.com/PySlurm/pyslurm/tree/18.08.0>_.

Prerequisites

This PySlurm branch has been tested with:

  • Cython 0.15.1*, 0.19.2, and the latest stable

  • Python 2.6, 2.7, and 3.4

  • Slurm 17.11.0 thru 17.11.9

    Note: Cython 0.15.1 is only tested on Python 2.7.

Installation

You will need to instruct the setup.py script where either the Slurm install root directory or where the Slurm libraries and Slurm include files are :

  1. Slurm default directory (/usr):

    • python setup.py build
    • python setup.py install
  2. Indicate Blue Gene type Q on build line:

    • --bgq
  3. Slurm root directory (Alternate installation directory):

    • python setup.py build --slurm=PATH_TO_SLURM_DIR
    • python setup.py install
  4. Separate Slurm library and include directory paths:

    • python setup.py build --slurm-lib=PATH_TO_SLURM_LIB --slurm-inc=PATH_TO_SLURM_INC
    • python setup.py install
  5. The build will automatically call a cleanup procedure to remove temporary build files but this can be called directly if needed as well with :

    • python setup.py clean

Documentation

The API documentation is hosted at https://pyslurm.github.io.

To build the docs locally, use Sphinx to generate the documentation from the reStructuredText based docstrings found in the pyslurm module once it is built:

cd doc
make clean
make html

Authors

Help

Ask questions on the pyslurm group.