snakemake-executor-plugin-aws-basic-batch
A Snakemake executor plugin for AWS Batch that uses pre-configured job definitions.
For full documentation, see the Snakemake Plugin Catalog.
Unlike the standard AWS Batch plugin which dynamically creates job definitions, this "basic" plugin relies on existing job definitions. This allows all resource configuration to be managed externally (e.g., via Terraform/CloudFormation). Additionally, workflow files and dependencies must bundled in the container image.
Usage
snakemake --executor aws-basic-batch \
--aws-basic-batch-region us-east-1 \
--aws-basic-batch-job-queue my-queue \
--aws-basic-batch-job-definition my-job-def \
--aws-basic-batch-tags "project=genomics,user=alice" \
--default-storage-provider s3 \
--default-storage-prefix s3://my-bucket/workdir
Workflow-Level Tags
Apply tags to all submitted jobs (both regular and coordinator) for cost tracking, filtering, etc.:
--aws-basic-batch-tags "project=genomics,run=exp1,costcenter=research"
Tags are comma-separated key=value pairs. Can also be set via the SNAKEMAKE_AWS_BASIC_BATCH_TAGS environment variable.
Coordinator Mode
Run the entire workflow as a fire-and-forget AWS Batch job:
snakemake --executor aws-basic-batch \
--aws-basic-batch-coordinator true \
...
The coordinator job runs Snakemake itself on AWS Batch, submitting and monitoring rule jobs. Your terminal can disconnect after submission.
Optional coordinator-specific settings:
--aws-basic-batch-coordinator-queue- Job queue for the coordinator (defaults to main queue)--aws-basic-batch-coordinator-job-definition- Job definition for the coordinator (defaults to main job definition)--aws-basic-batch-coordinator-job-name-prefix- Custom prefix for coordinator job names (defaults tosnakemake-coordinator)--aws-basic-batch-coordinator-job-uuid- Custom UUID/identifier for coordinator job names (defaults to auto-generated UUID)
Per-Job Resource Customization
Override CPU, memory, queue, or job definition on a per-rule basis using Snakemake's resource system:
rule compute_heavy:
output: "result.txt"
resources:
aws_batch_vcpu=4,
aws_batch_mem_mb=8192,
aws_batch_gpu=1,
aws_batch_job_queue="high-memory-queue",
aws_batch_job_name_prefix="myproject",
aws_batch_scheduling_priority=100,
aws_batch_job_uuid="my-run-id"
shell: "python compute.py > {output}"
| Resource | Description | Default |
|---|---|---|
aws_batch_vcpu |
Number of vCPUs | 1 |
aws_batch_mem_mb |
Memory in MiB | 1024 |
aws_batch_gpu |
Number of GPUs (only included when > 0) | 0 |
aws_batch_job_queue |
Job queue ARN/name | --aws-basic-batch-job-queue |
aws_batch_job_definition |
Job definition ARN/name | --aws-basic-batch-job-definition |
aws_batch_task_timeout |
Job timeout in seconds (min: 60) | --aws-basic-batch-task-timeout |
aws_batch_job_name_prefix |
Custom prefix for job names | snakejob |
aws_batch_scheduling_priority |
Scheduling priority override for fair-share queues | None |
aws_batch_job_uuid |
Custom UUID/identifier for job names | auto-generated UUID |
These values override the base job definition's resource configuration at submission time via AWS Batch's containerOverrides.resourceRequirements.
Requirements
- Workflow and dependencies must be included in the container image
- Job definitions should have appropriate IAM roles for S3 access and Batch job submission (for coordinator mode)
Metadata
Release files for snakemake-executor-plugin-aws-basic-batch 0.3.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| snakemake_executor_plugin_aws_basic_batch-0.3.3.tar.gz | 164.6 kB | With provenance | Details for snakemake_executor_plugin_aws_basic_batch-0.3.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| snakemake_executor_plugin_aws_basic_batch-0.3.3-py3-none-any.whl | Python 3 | none | any | Details for snakemake_executor_plugin_aws_basic_batch-0.3.3-py3-none-any.whl |
Total release size: 173.6 kB
Release files / snakemake_executor_plugin_aws_basic_batch-0.3.3.tar.gz
| Download URL | snakemake_executor_plugin_aws_basic_batch-0.3.3.tar.gz |
|---|---|
| Size | 164.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
df7fa2bc0a64abf4ca9b0204c47ec84d8b1ef74283a649a32042d4a58edeee75
|
|
BLAKE2b-256 checksum How to use checksums |
33857a136aaa2f6f72fd1b421f6f18676bdb2131e65c98592f94f41e68853f75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 13, 2026.
Transparency logRelease files / snakemake_executor_plugin_aws_basic_batch-0.3.3-py3-none-any.whl
| Download URL | snakemake_executor_plugin_aws_basic_batch-0.3.3-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b6a399ddf0b0214e115c2ffa182f3bc7afad79062da45427543ba8b3a743e0fb
|
|
BLAKE2b-256 checksum How to use checksums |
b5460cff8c0572eab0e4f956da0f50ef99e11750eea5d85ea3e457f0eebde4ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 13, 2026.
Transparency logSecurity for snakemake-executor-plugin-aws-basic-batch 0.3.3
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for snakemake_executor_plugin_aws_basic_batch-0.3.3.tar.gz
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 Mar 13, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.