A lightweight orchestrator for managing Python tasks
Project description
pymaestro is a lightweight Python orchestration framework for defining and executing tasks. It supports multiple ways of interacting with the system:
- A programmatic (functional) API for explicit and dynamic job registration
- A declarative, decorator-based API for concise and readable task definitions
- A CLI interface for managing and executing jobs without writing orchestration code
All approaches are built on the same underlying execution model, allowing users to choose the style that best fits their workflow.
Why pymaestro is Lightweight
pymaestro is designed to be lightweight by construction.
It runs entirely in-process and does not require a scheduler daemon, persistent metadata store,
message broker, or external services. Tasks are explicitly added, inspected, and executed
by the user, making the execution model transparent and easy to reason about.
Unlike full-scale orchestration platforms that target distributed and long-running
pipelines, pymaestro focuses on simplicity, portability, and low operational overhead.
By deliberately limiting its scope, it covers the majority of common orchestration
use cases while remaining easy to build, deploy, and extend.
Supported Functionality
Maestro currently supports a concise set of core orchestration features:
- Add tasks from scripts, Python callables, or async callables
- Assign optional names, arguments, and parallel execution groups
- Remove scheduled tasks by name or insertion order
- Inspect the current execution plan and task ordering
- Execute tasks sequentially or in parallel, depending on grouping
- Serialize and deserialize the orchestration state to and from JSON
- Interact via a CLI or an interactive shell for iterative workflows
Installation
To install the core library from TestPyPI:
pip install python-maestro
To install the core library with CLI support:
pip install python-maestro[cli]
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 python_maestro-0.1.0.tar.gz.
File metadata
- Download URL: python_maestro-0.1.0.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
601aed2536ef14af6aa0b099389b4ab0db3de7f68aa95e64a28a3eaa2b283797
|
|
| MD5 |
15adeab8b8f0b5edc277456044d513be
|
|
| BLAKE2b-256 |
ed9f8788784a8c03315f7e4ad133fd5a27af9299064840f2e099d1d93fecda7a
|
Provenance
The following attestation bundles were made for python_maestro-0.1.0.tar.gz:
Publisher:
release.yaml on I-Mougios/pymaestro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_maestro-0.1.0.tar.gz -
Subject digest:
601aed2536ef14af6aa0b099389b4ab0db3de7f68aa95e64a28a3eaa2b283797 - Sigstore transparency entry: 771612601
- Sigstore integration time:
-
Permalink:
I-Mougios/pymaestro@26dec8a129f0420ff106145d0c97c67c0502519b -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/I-Mougios
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@26dec8a129f0420ff106145d0c97c67c0502519b -
Trigger Event:
push
-
Statement type:
File details
Details for the file python_maestro-0.1.0-py3-none-any.whl.
File metadata
- Download URL: python_maestro-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
945dedd260ae7072c06d0954bf130b267e68e823057abca9069b8b72b11d7a65
|
|
| MD5 |
4975a414de0ac71e549d65e4fdad1e56
|
|
| BLAKE2b-256 |
ec34686146c1e8287c4dad879321f027e3bb8e66a28eee9bf758a69679e2fef6
|
Provenance
The following attestation bundles were made for python_maestro-0.1.0-py3-none-any.whl:
Publisher:
release.yaml on I-Mougios/pymaestro
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
python_maestro-0.1.0-py3-none-any.whl -
Subject digest:
945dedd260ae7072c06d0954bf130b267e68e823057abca9069b8b72b11d7a65 - Sigstore transparency entry: 771612602
- Sigstore integration time:
-
Permalink:
I-Mougios/pymaestro@26dec8a129f0420ff106145d0c97c67c0502519b -
Branch / Tag:
refs/tags/0.1.0 - Owner: https://github.com/I-Mougios
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@26dec8a129f0420ff106145d0c97c67c0502519b -
Trigger Event:
push
-
Statement type: