Skip to content

Latest commit

 

History

History
65 lines (42 loc) · 2.17 KB

File metadata and controls

65 lines (42 loc) · 2.17 KB

Client Libraries

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.

Client Libraries

We have libraries for the following languages:

Please feel free to contribute more language libraries to help improve the Argo Workflows ecosystem.

Go SDK

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:

Java SDK

The Java library is auto-generated using OpenAPI Generator. It is community supported.

Hera Python SDK

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.