Skip to content

killiansheriff/SbatchPy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SbatchPy

PyPI Version PyPI Downloads

A python package that allows easy sbatch job script creation and submissions on hpc clusters, directly from python.

Installation

# to install latest PyPI release pip install sbatchpy # to install latest GitHub commit pip install --upgrade git+https://github.com/killiansheriff/sbatchpy

Usage

An example on how to run a python script called my_script.py taking 2 arguments var1 and var2 as inputs, and using the base environement is provided below. A complete example with outputs can be found here.

from sbatchpy import run config = { "mem": "1gb", "time": "00:01:00", "account": "myaccount", "cpus-per-task": "5", "partition": "shared", "ntasks-per-node": "1", "nodes": "1", } for var1, var2 in zip([1, 2, 3], ["A", "B", "C"]): config["job-name"] = f"myjob_{var1}var1_{var2}var2.sh" config["output"] = f"out/myjob_{var1}var1_{var2}var2.out" run( config, code=f"source activate base \n python my_script.py {var1} {var2}", )

By default, sbatchpy will check that config["output"]'s directory folder exists. If it doesn't, you will be notified and the job will not run.

Additionally, each sbatch submission script is saved inside the f"{os.getcwd()}/.job" folder. Another saving folder can be chosen by passing job_directory=my_saving_directory_path to the run function which is responsible of creating the submission script and running it using sbatch job_directory/config["job-name"].

About

A python package that allows easy sbatch job script creation and submissions on hpc clusters, directly from python.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages