Orchestration Python#
Workflows are written in Artificial’s Orchestration Python (OP), a strict subset of the Python programming language.
✅ Orchestration Python supports the following:
Most built-in functions
dataclasses-json
andjson
: these are imported, but wfgen will not try to load or introspect these.dataclasses
:@dataclass
andfield()
(including thedefault_factory
parameter)Any module that is parseable by wfgen
Unpacking return values - e.g.
foo, bar = baz()
❌ Orchestration Python does not support the following:
del
async for
andasync with
raise
assert
global
nonlocal
lambda
set literals
list, dict, and set comprehensions and generator expressions
yield
andyield from
tuples (except unpacking return values as noted above)
the
*
and**
splat operatorsthe
@
operatorrange
instantiating plain Python classes (
dataclasses
: are supported)
Finally, most of the Python object model is unsupported. You can access fields of dataclasses and elements of lists, but you cannot call methods on objects.