Skip to main content

labtasker-plugin-script-generate

[!WARNING] This plugin does not cover all possible scenarios and does not guarantee the correctness of the generated scripts. It is strongly advised to double-check and manually adjust the generated scripts to your need.

This is a plugin for Labtasker that helps you to automatically split your bash script into submit script and job script.

Install

pip install labtasker-plugin-script-generate

Example

You can find the code in the demo directory.

Imagine you have a bash wrapper script for your machine learning experiment. To divide the script into a submit script and a job script, simply add a few special comments (e.g., #@submit, #@task, #@end).

#!/bin/bash

export CUDA_HOME=/usr/local/cuda-12.1

+#@submit
for dataset in imagenet cifar10 mnist; do
  for model in resnet50 vit transformer; do
    LOG_DIR=/path/to/logs/$dataset/$model

+    #@task
    python train.py --dataset $dataset \
      --model $model \
      --cuda-home $CUDA_HOME \
      --log-dir $LOG_DIR
+    #@end

  done
done
+#@end

echo "done"

Run:

labtasker generate original.sh

You will see original_submit.sh and original_run.sh generated at the same directory, with the following content:

original_submit.sh:

#!/bin/bash
# This script is generated by Labtasker from original.sh

export CUDA_HOME=/usr/local/cuda-12.1

for dataset in imagenet cifar10 mnist; do
  for model in resnet50 vit transformer; do
    LOG_DIR=/path/to/logs/$dataset/$model

    labtasker task submit -- --CUDA_HOME "$CUDA_HOME" --LOG_DIR "$LOG_DIR" --dataset "$dataset" --model "$model"

  done
done

echo "done"

original_run.sh:

#!/bin/bash
# This script is generated by Labtasker from original.sh

export CUDA_HOME=/usr/local/cuda-12.1

LABTASKER_TASK_SCRIPT=$(mktemp)
cat <<'LABTASKER_LOOP_EOF' > "$LABTASKER_TASK_SCRIPT"
CUDA_HOME=%(CUDA_HOME)
LOG_DIR=%(LOG_DIR)
dataset=%(dataset)
model=%(model)
    python train.py --dataset $dataset \
      --model $model \
      --cuda-home $CUDA_HOME \
      --log-dir $LOG_DIR
LABTASKER_LOOP_EOF
labtasker loop --executable /bin/bash --script-path $LABTASKER_TASK_SCRIPT

echo "done"

Metadata

Release files for labtasker-plugin-script-generate 0.1.3

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

Source distribution (sdist)

Source distribution for labtasker-plugin-script-generate 0.1.3
File Size Uploaded
labtasker_plugin_script_generate-0.1.3.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for labtasker-plugin-script-generate 0.1.3
File Interpreter ABI Platform
labtasker_plugin_script_generate-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 19.8 kB

Release files / labtasker_plugin_script_generate-0.1.3.tar.gz

Download URL labtasker_plugin_script_generate-0.1.3.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
fa74041ffab5fcffa6e3929fe5bae880547eaf17eaf2014169a280849666e49b
BLAKE2b-256 checksum
How to use checksums
1a1f84bd0c9a0060f38d3700c4bcf0e166443d44ae555debb6306fb7bb85d5bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2025.

Transparency log

Release files / labtasker_plugin_script_generate-0.1.3-py3-none-any.whl

Download URL labtasker_plugin_script_generate-0.1.3-py3-none-any.whl
Size 6.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
44522dbec492e0afc8bc4cf058630d351e1c47431e574f7c57053964ebe27e71
BLAKE2b-256 checksum
How to use checksums
a17938ce84ca45b05770a70d2edda986381c5caa0ced082d1bbb82a6d54bbfb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 25, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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