Skip to main content

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 PyPI:

  pip install python-maestro

To install the core library with CLI support:

  pip install python-maestro[cli]

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

python_maestro-0.2.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

python_maestro-0.2.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file python_maestro-0.2.0.tar.gz.

File metadata

  • Download URL: python_maestro-0.2.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_maestro-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1fd106b0384850938b687248e50dc0fa6694e4c414815f6dcba14938b0e7fe31
MD5 238d74e2925d29334c674982d57f0864
BLAKE2b-256 112d48232ec7ad7632844270e212b70983c4f0ba3d584cf4a5c036a76df3d8ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_maestro-0.2.0.tar.gz:

Publisher: release.yaml on I-Mougios/pymaestro

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

File details

Details for the file python_maestro-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: python_maestro-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_maestro-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 16dea538bb8c2f21319381a56e0e03a9398d5e5404372fbfa5e21305e03ae889
MD5 509aef913d6aaf85c0823491a86a956f
BLAKE2b-256 77919f0455bfa4a37fc26c4cc6c143a34b443e5702539742e207cd6ee39356a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_maestro-0.2.0-py3-none-any.whl:

Publisher: release.yaml on I-Mougios/pymaestro

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