molq¶
Unified job queue for Python services, research scripts, and internal tooling that need one submission interface across local execution and HPC schedulers.
What it gives you¶
- One
SubmitorAPI forlocal,slurm,pbs, andlsf - Typed resources and execution models instead of backend-specific string munging
- SQLite persistence with WAL mode and durable job history
- Reconciliation, blocking waits, and pluggable polling strategies
- Rich terminal workflows for logs, status, watch, and full-screen monitoring
Quick example¶
from molq import Duration, JobResources, Memory, Submitor
cluster = Submitor("hpc", "slurm")
job = cluster.submit(
argv=["python", "train.py"],
resources=JobResources(
cpu_count=8,
memory=Memory.gb(32),
time_limit=Duration.hours(4),
),
)
record = job.wait()
assert record.state.value in {"succeeded", "failed", "cancelled"}
Documentation map¶
- Getting Started — installation, first job, and CLI basics
- Schedulers — backend matrix and scheduler option classes
- Monitoring — lifecycle, reconciliation, polling, dashboards, and logs
- CLI Reference — command reference for
molq - API Reference — exported classes, enums, options, and errors
- Release Notes — current release series summary