Skip to main content

Client for Argo Workflows

Project description

Argo Workflows Client

Python client for Argo Workflows

Installation

pip install argo-workflows

Usage

If you're familiar with Kubernetes client, the Argo client follows the same behaviour.

from argo.workflows.client import V1alpha1Api
from argo.workflows.config import load_kube_config

load_kube_config()  # loads local configuration from ~/.kube/config

And to list Workflows from a namespace (say argo):

v1alpha1 = V1alpha1Api()

wfs = v1alpha1.list_namespaced_workflows(namespace="argo")

To submit a Workflow, one would simply load it from a YAML* and submit it as such:

import requests
import yaml

namespace = "argo"

# hello-world example
resp = requests.get("https://raw.githubusercontent.com/argoproj/argo/master/examples/hello-world.yaml")
resp.raise_for_status()

manifest: dict = yaml.safe_load(resp.text)

# Submit the Workflow to the `argo` namespace
v1alpha1.create_namespaced_workflow(namespace, manifest)

* When working on a higher level of abstraction, check out the Argo Python DSL

Versioning

The client is generated from the Argo and Kubernetes OpenAPI specification.

We follow semantic versioning, the client starts at version 1.0 which matches Argo release 2.3.0 and continues onwards.

Compatibility matrix

Argo 2.3 Argo 2.4 Argo 2.5
client-python 1.0 - -
client-python 2.0 + -
client-python 3.0 + +

Key:

  • Exactly the same features / API objects in both client-python and the Kubernetes version.
  • + client-python has features or api objects that may not be present in the Kubernetes cluster, but everything they have in common will work.
  • - The Kubernetes cluster has features the client-python library can't use (additional API objects, etc).

We try to be consistent with Argo as much as possible and hence we created special branches for user convenience --- for example argo/v2.4.0 is identical with Argo release v2.4.0.

These can be then installed directly from github:

pip install -e "git+git://github.com/CermakM/argo-client-python@argo/v2.4.0#egg=argo-workflows"

:warning: The compatibility for such cases is not guaranteed

Code generation

If you wish to generate code yourself, you can do so by running make generate with the ARGO_VERSION environment variable being set to the you want to generate the client for.

Before

in the Makefile:

For additional configuration check out the Makefile.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

argo-workflows-3.1.0.tar.gz (98.4 kB view details)

Uploaded Source

Built Distribution

argo_workflows-3.1.0-py3-none-any.whl (132.5 kB view details)

Uploaded Python 3

File details

Details for the file argo-workflows-3.1.0.tar.gz.

File metadata

  • Download URL: argo-workflows-3.1.0.tar.gz
  • Upload date:
  • Size: 98.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.10

File hashes

Hashes for argo-workflows-3.1.0.tar.gz
Algorithm Hash digest
SHA256 a83609bd32793d4790c5e7ee46212efdb9f3f6eb869667a85360d82ae0e8d62c
MD5 47fc3e6f4afcbf1e4a0b775c330d17a0
BLAKE2b-256 eff7b829b95b0e49af9acb632b67e9b125d99b6ea709102acaafc864238848f7

See more details on using hashes here.

File details

Details for the file argo_workflows-3.1.0-py3-none-any.whl.

File metadata

  • Download URL: argo_workflows-3.1.0-py3-none-any.whl
  • Upload date:
  • Size: 132.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.10

File hashes

Hashes for argo_workflows-3.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4b493fb5e36ee1ba115d468c520a1272c827535a83ee7411d3f24d4222d65882
MD5 e2aec82b190daa3dd3c935419af8e335
BLAKE2b-256 c2727362f66489294416c5fbc8e9d9c20458ccf150d10d672da5acbc3a575c0b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page