This release is a pre-release and may not be stable for production use.
AceTeam Workflow Engine
A powerful, modular workflow orchestration system designed for composing complex computational tasks from smaller, configurable steps. This engine powers the workflow functionality in AceTeam.ai.
Overview
The Workflow Engine enables you to:
- Define workflows as directed acyclic graphs (DAGs)
- Chain node-based tasks with type-safe data passing
- Persist and retrieve node outputs using various storage backends
- Execute workflows programmatically or via API
Installation
pip install aceteam-workflow-engine
Claude Code skill (optional)
The wengine skill is distributed through the AceTeam marketplace (its source lives here, in plugins/wengine/). If you use Claude Code, install it so Claude can help you explore, compose, validate, and run workflows:
/plugin marketplace add aceteam-ai/marketplace
/plugin install wengine@aceteam
Example
import asyncio
from workflow_engine import IntegerValue, Workflow
import workflow_engine.nodes
from workflow_engine.contexts import LocalContext
from workflow_engine.execution import TopologicalExecutionAlgorithm
context = LocalContext()
algorithm = TopologicalExecutionAlgorithm()
# Load and run a workflow
with open("examples/addition.json") as f:
workflow = Workflow.model_validate_json(f.read())
result = asyncio.run(algorithm.execute(
context=context,
workflow=workflow,
input={"c": IntegerValue(-256)},
)) # {'sum': 1811}
Check the examples directory for more sample workflows in JSON form:
addition.json: basic arithmetic operationsappend.json: text file manipulationerror.json: graceful error handling
Key Features
Core Functionality
- Graph-Based Execution: Workflows are executed as DAGs with automatic dependency resolution
- Type-Safe Data Flow: Data passing between nodes is validated using MIME types
- Flexible Storage: Supports multiple storage backends (Supabase, Local, In-Memory)
- Error Handling: Robust error propagation and logging system
- Versioning: Built-in support for workflow versioning
Workflow Structure
Workflows are defined as JSON with:
- input_node: Defines the workflow's input schema using
InputNode - inner_nodes: The processing nodes that perform computations
- output_node: Defines the workflow's output schema using
OutputNode - edges: Connect node outputs to inputs (including to/from input/output nodes)
Node Types
- InputNode: Special node defining workflow input fields and their types
- OutputNode: Special node defining workflow output fields and their types
- Processing Nodes: Execute computational tasks with configurable parameters
Storage Backends
- Supabase: Primary storage backend for production use
- Local: File-system based storage for development
- In-Memory: Lightweight storage for testing
Value Type Casting
The workflow engine supports automatic type casting between Value types. The graph below shows all available casting paths:
Value types serialize to JSON Schema for validation and type resolution. See Values for how the schema system works and limitations around deeply nested generics.
Architecture
src/workflow_engine/
├── contexts/ # Storage backend implementations
│ ├── in_memory.py # In-memory storage
│ └── local.py # Local file system storage
├── core/ # Core workflow components
│ ├── context.py # Execution context
│ ├── data.py # Data handling
│ ├── edge.py # Edge definitions
│ ├── execution.py # Execution logic
│ ├── file.py # File handling
│ ├── node.py # Node base classes
│ └── workflow.py # Workflow definitions
├── execution/ # Execution strategies
│ └── topological.py # DAG-based execution
├── nodes/ # Node implementations
│ ├── arithmetic.py # Math operations
│ ├── constant.py # Constant values
│ ├── json.py # JSON operations
│ └── text.py # Text operations
└── utils/ # Helper utilities
Development
Setup
# Using uv (recommended)
uv sync
uv run pre-commit install
Testing
uv run pytest # Runs both unit and integration tests
Documentation
- Getting Started - Installation and first workflow
- Architecture - Module structure and design decisions
- Nodes - Built-in node reference
- Values - Value type system and casting rules
- Execution - Execution algorithms, retry, and rate limiting
- Contexts - Storage backends and lifecycle hooks
- Migrations - Node versioning and migration system
- Workflow Loading - Safe workflow loading with migration
- CLI - The
wenginecommand-line reference - Node Distribution - Installing nodes from packages, git, and paths via
engine.yaml - Examples
- Changelog
- Contributing
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
About
This workflow engine is developed and maintained by Adanomad Consulting and powers the workflow functionality in AceTeam.ai. For commercial support or consulting, please contact us at contact@adanomad.com.
Metadata
Release files for aceteam-workflow-engine 2.0.0rc16
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 | |
|---|---|---|---|---|
| aceteam_workflow_engine-2.0.0rc16.tar.gz | 367.5 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aceteam_workflow_engine-2.0.0rc16-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 538.2 kB
Release files / aceteam_workflow_engine-2.0.0rc16.tar.gz
| Download URL | aceteam_workflow_engine-2.0.0rc16.tar.gz |
|---|---|
| Size | 367.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfc0cb0bbf971d49e9364d6ba3c1c30a1c237e4077a3d0d9bf807cf40ae87bf7
|
|
BLAKE2b-256 checksum How to use checksums |
57c8718f8561fa3892b7bacb106e5e077fe048ee888d559017bb2161113f2a8d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 9, 2026.
Transparency logRelease files / aceteam_workflow_engine-2.0.0rc16-py3-none-any.whl
| Download URL | aceteam_workflow_engine-2.0.0rc16-py3-none-any.whl |
|---|---|
| Size | 170.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aa6bb127bf0ceeae995f1e2f6122dbf76d72e8f85422e9815974da34bd5ba6e9
|
|
BLAKE2b-256 checksum How to use checksums |
4eb8e7e1a6770e8591a8537e6a8f8a01b734e1e97984d626aa8f6cfd2d1af2b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 9, 2026.
Transparency logSecurity for aceteam-workflow-engine 2.0.0rc16
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 aceteam_workflow_engine-2.0.0rc16.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 Sep 9, 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.