A task queue system for lab experiments
Project description
Make your ML experiment wrapper scripts smarter with...
Install • Tutorial / Demo • Documentation • FAQs • Releases
🌟 Labtasker makes ML experiment wrapper scripts smarter with task prioritization, failure handling, halfway resume and more: just change 1 line of code.
If you like our project, please give us a star ⭐ on GitHub for latest update.
✨ When and Where to Use
TLDR: Replace for loops in your experiment wrapper script with labtasker to enable features like experiment
parallelization, dynamic task prioritization, failure handling, halfway resume, and more.
🐳 For detailed examples and concepts, check out the documentation.
🧪️ A Quick Demo
This demo shows how to easily submit task arguments and run jobs in parallel.
It also features an event listener to monitor task execution in real-time and automate workflows, such as sending emails on task failure.
For more detailed steps, please refer to the content in the Tutorial / Demo.
⚡️ Features
- ⚙️ Easy configuration and setup.
- 🧩 Versatile and minimalistic design.
- 🔄 Supports both CLI and Python API for task scheduling.
- 🔌 Customizable plugin system.
🔮 Supercharge Your ML Experiments with Labtasker
- ⚡️ Effortless Parallelization: Distribute tasks across multiple GPU workers with just a few lines of code.
- 🛡️ Intelligent Failure Management: Automatically capture exceptions, retry failed tasks, and maintain detailed error logs.
- 🔄 Seamless Recovery: Resume failed experiments with a single command - no more scavenging through logs or directories.
- 🎯 Real-time Prioritization: Changed your mind about experiment settings? Instantly cancel, add, or reschedule tasks without disrupting existing ones.
- 🤖 Workflow Automation: Set up smart event triggers for email notifications or task workflow based on FSM transition events.
- 📊 Streamlined Logging: All stdout/stderr automatically organized in
.labtasker/logs- zero configuration required. - 🧩 Extensible Plugin System: Create custom command combinations or leverage community plugins to extend functionality.
- 🦾 AI Agent Skills: First-class skill definitions for Claude Code and OpenCode — let your AI assistant decompose and manage experiment scripts automatically.
🛠️ Installation
[!NOTE] You need a running Labtasker server to use the client tools. Simply use the installed Python CLI
labtasker-server serveor use docker-compose to deploy the server. See deployment instructions.
1. Install via PyPI
# Install with optional bundled plugins
pip install 'labtasker[plugins]'
2. Install the Latest Version from GitHub
pip install git+https://github.com/luocfprime/labtasker.git
🚀 Quick Start
Use the following command to launch a labtasker server in the background:
labtasker-server serve &
Use the following command to quickly setup a labtasker queue for your project:
labtasker init
Then, use labtasker submit to submit tasks and use labtasker loop to run tasks across any number of workers.
[!TIP] Use AI to help decompose your experiment scripts. Install the Labtasker skill for your agent:
Claude Code — copy
docs/docs/guide/skill.md(Claude Code section) to~/.claude/skills/labtasker/SKILL.md
📚 Documentation
For detailed information on demo, tutorial, deployment, usage, please refer to the documentation.
🔒 License
See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file labtasker-1.0.0.tar.gz.
File metadata
- Download URL: labtasker-1.0.0.tar.gz
- Upload date:
- Size: 295.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f06b9f345e5f9d7a7850f476c940af711bab6ea21a971ecc10a7622537099132
|
|
| MD5 |
456c45f36a0d80fe042417591e8f7cc7
|
|
| BLAKE2b-256 |
11cc577666da9d9fb9d241c5ab7983ddcb7b4bcefbcaa38fc987a0e5663140de
|
Provenance
The following attestation bundles were made for labtasker-1.0.0.tar.gz:
Publisher:
release.yml on luocfprime/labtasker
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
labtasker-1.0.0.tar.gz -
Subject digest:
f06b9f345e5f9d7a7850f476c940af711bab6ea21a971ecc10a7622537099132 - Sigstore transparency entry: 1356878630
- Sigstore integration time:
-
Permalink:
luocfprime/labtasker@9909b3f7f94bfde40363d7b7790c48421b9de3b1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/luocfprime
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9909b3f7f94bfde40363d7b7790c48421b9de3b1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file labtasker-1.0.0-py3-none-any.whl.
File metadata
- Download URL: labtasker-1.0.0-py3-none-any.whl
- Upload date:
- Size: 273.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2b87e23cc13e884e065a26ba22c14ad6391826da79aebb4d774bd0f0b09ffea
|
|
| MD5 |
23f56718e2058c7dfb847de8f6f8e3a3
|
|
| BLAKE2b-256 |
fa8745ed18d1115d5481f6c6aa1d058cb6fe439d3b99962a4cc0933b6a4f8bf5
|
Provenance
The following attestation bundles were made for labtasker-1.0.0-py3-none-any.whl:
Publisher:
release.yml on luocfprime/labtasker
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
labtasker-1.0.0-py3-none-any.whl -
Subject digest:
e2b87e23cc13e884e065a26ba22c14ad6391826da79aebb4d774bd0f0b09ffea - Sigstore transparency entry: 1356878657
- Sigstore integration time:
-
Permalink:
luocfprime/labtasker@9909b3f7f94bfde40363d7b7790c48421b9de3b1 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/luocfprime
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9909b3f7f94bfde40363d7b7790c48421b9de3b1 -
Trigger Event:
release
-
Statement type: