This page contains an overview of the client libraries for using the Argo API from various programming languages.
To write applications using the REST API, you do not need to implement the API calls and request/response types yourself. You can use a client library for the programming language you are using.
Client libraries often handle common tasks such as authentication for you.
We have libraries for the following languages:
Please feel free to contribute more language libraries to help improve the Argo Workflows ecosystem.
The Go SDK is a fully-featured client for Argo Workflows. It provides two client approaches:
- Kubernetes Client - Direct CRD access for in-cluster applications
- Argo Server Client - gRPC/HTTP access for remote applications
Documentation:
- Go SDK Guide - Comprehensive documentation
- Examples - Working code examples
- API Reference
The Java library is auto-generated using OpenAPI Generator. It is community supported.
Hera is the recommended Python SDK for Argo Workflows. It makes Argo Workflows simple and intuitive, going beyond a basic REST interface to allow you to easily turn Python functions into script templates and write whole Workflows in Python:
from hera.workflows import DAG, Workflow, script
@script()
def echo(message: str):
print(message)
with Workflow(
generate_name="dag-diamond-",
entrypoint="diamond",
) as w:
with DAG(name="diamond"):
A = echo(name="A", arguments={"message": "A"})
B = echo(name="B", arguments={"message": "B"})
C = echo(name="C", arguments={"message": "C"})
D = echo(name="D", arguments={"message": "D"})
A >> [B, C] >> D # Define execution order
w.create()Learn more in the Hera walk-through.