Divvy
is a computing resource configuration manager. It reads a standard configuration file describing available compute resources and then uses a simple Jinja-like templating system to enable users to write custom job submission scripts.
In divvy
, computing resources are organized as compute packages, which define job submission templates and other variables. Users then select a compute package and provide variable values, and divvy
populates the templates to write compute jobs. The flexible templating system means users can quickly switch jobs to submit to any computing resource (laptop, cluster, cloud). Divvy
provides both an interactive python API and a command-line interface.
Releases are posted as GitHub releases, or you can install from PyPI using pip
:
pip install --user divvy
Update divvy
with:
pip install --user --upgrade divvy
Use divvy
via python interface:
import divvy
dcc = divvy.ComputingConfiguration()
dcc.activate_package("slurm")
# write out a submission script
dcc.write_script("test_script.sub", {"code": "bowtie2 input.bam output.bam"})
Or via command-line:
divvy list
divvy write --package slurm --settings myjob.yaml --sample sample1 --outfile submit_script.txt
To begin, check out the tutorial.