This release is a pre-release and may not be stable for production use.
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:
- Define workflow tasks using A4X-Orchestration
- Combine workflow tasks into a workflow represented as a DAG using A4X-Orchestration
- Call A4X-Orchestration's
Workflow.convertmethod to get a WMS-specific representation of the workflow - 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:
- Python 3.7 or newer
- networkx
- ruamel.yaml
- Jinja2
- importlib-metadata (only for Python versions less than 3.10)
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.
Metadata
Release files for a4x-orchestration 1.0.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| a4x_orchestration-1.0.0rc1.tar.gz | 51.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| a4x_orchestration-1.0.0rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 115.6 kB
Release files / a4x_orchestration-1.0.0rc1.tar.gz
| Download URL | a4x_orchestration-1.0.0rc1.tar.gz |
|---|---|
| Size | 51.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d5547729e00525de2d08bc1d65eaa7f3bb48307f8e0b6113b985453f100ea973
|
|
BLAKE2b-256 checksum How to use checksums |
1384f2c1f349ca865176971489ff83aa6a4ba751b9d54096485097fb9a0dc3db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 29, 2026.
Transparency logRelease files / a4x_orchestration-1.0.0rc1-py3-none-any.whl
| Download URL | a4x_orchestration-1.0.0rc1-py3-none-any.whl |
|---|---|
| Size | 64.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cccffefe73d925381272ce9f3f0c161680f9dfef6ab0f20b54a5e589d1748baa
|
|
BLAKE2b-256 checksum How to use checksums |
de75ee1ba4fb10433a53882fe02575f36a8ba87f3d8690199ca6bc834671fd29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 29, 2026.
Transparency logSecurity for a4x-orchestration 1.0.0rc1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for a4x_orchestration-1.0.0rc1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 29, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.