Skip to main content

Abstracts the process of configuring workflows for various workflow management systems (WMS)

Reason this release was yanked:

Bad version string and superceded by 0.1.0b3

Project description

A4X-Orchestration

About

A4X-Orchestration is a Python library that abstracts the process of configuring a workflow to be agnostic of the workflow management system (WMS) used. When using A4X-Orchestration, users can configure their workflow for any supported WMS by performing the following steps:

  1. Define workflow tasks using A4X-Orchestration
  2. Combine workflow tasks into a workflow represented as a DAG using A4X-Orchestration
  3. Call A4X-Orchestration's Workflow.convert method to get a WMS-specific representation of the workflow
  4. If desired, perform additional, WMS-specific configuration using the output of Workflow.convert

Support for different WMSes is (for the most part) not built directly into A4X-Orchestration. Instead, A4X-Orchestration uses entry point-based plugins to support different WMSes. So, to use A4X-Orchestration with a specific WMS, users must install the plugin for that WMS. Below is an unofficial list of all supported WMSes and how to install them:

Plugin Name Workflow Management System or
Resource Manager
Install Command
A4X Pegasus WMS Pegasus pip install a4x-pegasus-wms
Flux Plugin Flux N.A. (builtin)

Dependencies

A4X-Orchestration has the following dependencies:

Note that most users should not have to install these manually. Most Python package managers (e.g., pip) will automatically install all these dependencies (except Python itself) when you install A4X-Orchestration.

Installation

There are two ways to install A4X-Orchestration: (1) with pip and (2) with Spack.

(1) Pip

A4X-Orchestration can be installed like most other Python packages by simply running:

$ python3 -m pip install a4x-orchestration

Additionally, users can install A4X-Orchestration from source by cloning the repository and running:

$ python3 -m pip install [-e] .

(2) Spack

Support for building with Spack is not yet implemented.

Using in Other Projects

A4X-Orchestration can be used by other projects once installed by simply importing it with:

from a4x.orchestration import ...

To make A4X-Orchestration a dependency of your project, simply add the following to pyproject.toml for a pip-installable project:

[project]
dependencies = [
    "a4x-orchestration"
]

Or add the following to package.py for a Spack-installable project:

depends_on("a4x-orchestration")

Contact Us

A4X-Orchestration is part of the Analytics4X project from the Global Computing Lab. For more information, please contact Michela Taufer (email: taufer@acm.org).

Copyright and License

Copyright 2025 Global Computing Lab.

A4X-Core is distributed under the terms of the Apache License, Version 2.0 with LLVM Exceptions.

See LICENSE and COPYRIGHT for more details.

SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

Acknowledgements

This material is based upon work supported by the US National Science Foundation under Grant No. 2530461, 2513101, 2331152, 2223704, 2138811, and 2103845.

This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344 and was supported by the LLNL-LDRD Program under Project No. 24-SI-005.

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

a4x_orchestration-0.1.0rc1.tar.gz (50.3 kB view details)

Uploaded Source

Built Distribution

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

a4x_orchestration-0.1.0rc1-py3-none-any.whl (45.8 kB view details)

Uploaded Python 3

File details

Details for the file a4x_orchestration-0.1.0rc1.tar.gz.

File metadata

  • Download URL: a4x_orchestration-0.1.0rc1.tar.gz
  • Upload date:
  • Size: 50.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for a4x_orchestration-0.1.0rc1.tar.gz
Algorithm Hash digest
SHA256 0acbeb670b797afd23845acbc2bf1d481662579fe36ac12a4ec0c5921afa6eed
MD5 08565418aa8c2b085f9ea16b1ec17626
BLAKE2b-256 eaa4b04bc17a1fdc511b9ee9b8e8d6c40d28282e30bf81082b52e35b404c5730

See more details on using hashes here.

Provenance

The following attestation bundles were made for a4x_orchestration-0.1.0rc1.tar.gz:

Publisher: build_and_upload_wheels.yml on Analytics4MD/a4x-orchestration

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

File details

Details for the file a4x_orchestration-0.1.0rc1-py3-none-any.whl.

File metadata

File hashes

Hashes for a4x_orchestration-0.1.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 6b43de4be56e17fa8ccc30fe521cc2fb5ab5451fe5e3849a4a36428e527f9f4b
MD5 b368ad7b39567f1dda8d4882754335d6
BLAKE2b-256 05a1d24d20eb113b55ce76e5c9e622f1185094d4eba692f6209e48b5f02bb7c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for a4x_orchestration-0.1.0rc1-py3-none-any.whl:

Publisher: build_and_upload_wheels.yml on Analytics4MD/a4x-orchestration

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