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.