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

  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.1.0.tar.gz (14.8 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.1.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

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

Hashes for python_maestro-0.1.0.tar.gz
Algorithm Hash digest
SHA256 601aed2536ef14af6aa0b099389b4ab0db3de7f68aa95e64a28a3eaa2b283797
MD5 15adeab8b8f0b5edc277456044d513be
BLAKE2b-256 ed9f8788784a8c03315f7e4ad133fd5a27af9299064840f2e099d1d93fecda7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_maestro-0.1.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.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

Hashes for python_maestro-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 945dedd260ae7072c06d0954bf130b267e68e823057abca9069b8b72b11d7a65
MD5 4975a414de0ac71e549d65e4fdad1e56
BLAKE2b-256 ec34686146c1e8287c4dad879321f027e3bb8e66a28eee9bf758a69679e2fef6

See more details on using hashes here.

Provenance

The following attestation bundles were made for python_maestro-0.1.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