Skip to main content

batchrun

A simple workflow for launching, tracking, and resuming jobs with varying argument values and parameter sweeps.

Quickstart

Launch multiple jobs

Given a runfile containing a list of shell commands:

sleep 1; echo "First!"
sleep 1; echo "Second!"
sleep 1; echo "Third!"

we can launch them line by line as follows:

batchrun launch runfile --n_jobs 2

Batchrun will run the commands in parallel with n_jobs workers and keep track of the jobs. By default, it will write the logs of each command to runs/runfile/logs/<hash of command>, and keep the metadata in runs/runfile/metadata.json. The metadata file contains the mapping from the commands to their hashes, and status information about the jobs.

Resuming where we left and adding new jobs

In the case of shutdown, batchrun will by default resume the jobs which have not finished. Similarly, if we add more jobs to the runlist, batchrun will only run the new ones. The way batchrun tells if a job is new or not is by the command itself. If the command has changed in any way, e.g., the order of arguments is different, batchrun will assume it's a new job.

Create a parameter sweep

Given a specification of a parameter value grid gridspec.yml:

program: python3 my_script.py
parameters:
  alpha:
    values:
      - 1
      - 2
      - 5
  beta:
    values: [0.1, 0.25, 0.5]
  gamma:
    value: 100

we can generate a list of commands corresponding to all possible parameter value combinations:

python3 my_script.py --alpha=1 --beta=0.1 --gamma=100
python3 my_script.py --alpha=1 --beta=0.25 --gamma=100
python3 my_script.py --alpha=1 --beta=0.5 --gamma=100
python3 my_script.py --alpha=2 --beta=0.1 --gamma=100
...

by running the following command:

batchrun sweep gridspec.yml

The runfile containing the commands by default will be written to gridspec.runfile. You can then launch the sweep using the batchrun launch gridspec.runfile as detailed before.

Metadata

Release files for batchrun 0.0.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for batchrun 0.0.14
File Size Uploaded
batchrun-0.0.14.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for batchrun 0.0.14
File Interpreter ABI Platform
batchrun-0.0.14-py3-none-any.whl Python 3 none any Details

Total release size: 11.6 kB

Release files / batchrun-0.0.14.tar.gz

Download URL batchrun-0.0.14.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
810bbe58a70c1de536e5006fa0cc5768f00a18e6c1002dbeecc9b49ce378dd36
BLAKE2b-256 checksum
How to use checksums
24842063d550eb98aa24acb298a3631d643db72562bd7dad7d970cf212bec2a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.10.12 Linux/6.5.0-35-generic

Release files / batchrun-0.0.14-py3-none-any.whl

Download URL batchrun-0.0.14-py3-none-any.whl
Size 6.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
956814796686949bc2b8470e600555cdf254341bb0f0191517ae91de2eee27c0
BLAKE2b-256 checksum
How to use checksums
c6fc2e6df1b458042396b8fe16d56f49eafbe5489d57c9b55df9e586c54ab1dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.7.1 CPython/3.10.12 Linux/6.5.0-35-generic

Release history Release notifications | RSS feed

This release

0.0.14 This release

2 release files

0.0.13

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page