Skip to main content

A task queue system for lab experiments

Project description

Make your ML experiment wrapper scripts smarter with...

Labtasker

InstallTutorial / DemoDocumentationFAQsReleases

unit-test-matrix codecov Python version PyPI

🌟 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.

comparison

🐳 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.

demo

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 serve or 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 — install via marketplace:

/plugin marketplace add luocfprime/labtasker
/plugin install labtasker-skill@labtasker

Or other agents — install via CLI:

npx skills add luocfprime/labtasker

Or copy skills/labtasker/SKILL.md 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labtasker-1.0.1.tar.gz (295.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

labtasker-1.0.1-py3-none-any.whl (273.5 kB view details)

Uploaded Python 3

File details

Details for the file labtasker-1.0.1.tar.gz.

File metadata

  • Download URL: labtasker-1.0.1.tar.gz
  • Upload date:
  • Size: 295.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for labtasker-1.0.1.tar.gz
Algorithm Hash digest
SHA256 bea3e6591bd27d07787f1417e68229c15fa6bbe34ded4dab22f5b14d0b45106e
MD5 575b0036f9a58d3c36e947a814cff440
BLAKE2b-256 eb791c2a2d06d0fe414458b4be4ae325f6039e89d3ea7ddbf4254df3b9fe9dbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for labtasker-1.0.1.tar.gz:

Publisher: release.yml on luocfprime/labtasker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file labtasker-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: labtasker-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 273.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for labtasker-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d1ebd1bc859f722fca7e7082b25cfd99a98aaad7999397c9484b258595db3d49
MD5 e53e26a3c2dcfaaaef193fea4c594d0b
BLAKE2b-256 45951b4dba23c1c1803fadb6cdbce769d46f615fa432b3afce59838082496fce

See more details on using hashes here.

Provenance

The following attestation bundles were made for labtasker-1.0.1-py3-none-any.whl:

Publisher: release.yml on luocfprime/labtasker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page