Skip to content

Commit 50573ad

Browse files
authored
docs: Add Hera links (argoproj#14798)
Signed-off-by: Elliot Gunton <elliotgunton@gmail.com>
1 parent e1855be commit 50573ad

9 files changed

Lines changed: 47 additions & 25 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Argo is a [Cloud Native Computing Foundation (CNCF)](https://cncf.io/) graduated
3232

3333
* Argo Workflows is the most popular workflow execution engine for Kubernetes.
3434
* Light-weight, scalable, and easier to use.
35+
* Including for Python users through [the Hera Python SDK for Argo Workflows](https://hera.readthedocs.io/en/stable/).
3536
* Designed from the ground up for containers without the overhead and limitations of legacy VM and server-based environments.
3637
* Cloud agnostic and can run on any Kubernetes cluster.
3738

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Argo is a [Cloud Native Computing Foundation (CNCF)](https://cncf.io/) graduated
3232

3333
* Argo Workflows is the most popular workflow execution engine for Kubernetes.
3434
* Light-weight, scalable, and easier to use.
35+
* Including for Python users through [the Hera Python SDK for Argo Workflows](https://hera.readthedocs.io/en/stable/).
3536
* Designed from the ground up for containers without the overhead and limitations of legacy VM and server-based environments.
3637
* Cloud agnostic and can run on any Kubernetes cluster.
3738

docs/client-libraries.md

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,34 @@ Please expect very minimal support from the Argo team.
1616
|----------|---------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
1717
| Golang | [`apiclient.go`](https://github.com/argoproj/argo-workflows/blob/main/pkg/apiclient/apiclient.go) | [Example](https://github.com/argoproj/argo-workflows/blob/main/cmd/argo/commands/submit.go) |
1818
| Java | [Java](https://github.com/argoproj/argo-workflows/blob/main/sdks/java) | |
19-
| Python | ⚠️ deprecated [Python](https://github.com/argoproj/argo-workflows/blob/main/sdks/python) | Use one of the [community-maintained](#community-maintained-client-libraries) instead. Will be removed in version 3.7 |
19+
| Python | ⚠️ deprecated [Python](https://github.com/argoproj/argo-workflows/blob/main/sdks/python) | Use [Hera](#hera-python-sdk) instead. Will be removed in version 3.7 |
2020

21-
## Community-maintained client libraries
21+
## Hera Python SDK
2222

23-
The following client libraries are provided and maintained by their authors, not the Argo team.
23+
Hera is the go-to Python SDK to make Argo Workflows simple and intuitive. It goes beyond a basic REST interface,
24+
allowing you to easily turn Python functions into script templates, and write whole Workflows in Python:
2425

25-
| Language | Client Library | Examples/Docs |
26-
|----------|---------------------------------------------------------|--------------------------------------------------------------------------|
27-
| Python | [Hera](https://github.com/argoproj-labs/hera-workflows) | Easy and accessible Argo workflows construction and submission in Python |
28-
| Python | [Couler](https://github.com/couler-proj/couler) | Multi-workflow engine support Python SDK. May be unmaintained. |
26+
```py
27+
from hera.workflows import DAG, Workflow, script
28+
29+
30+
@script()
31+
def echo(message: str):
32+
print(message)
33+
34+
35+
with Workflow(
36+
generate_name="dag-diamond-",
37+
entrypoint="diamond",
38+
) as w:
39+
with DAG(name="diamond"):
40+
A = echo(name="A", arguments={"message": "A"})
41+
B = echo(name="B", arguments={"message": "B"})
42+
C = echo(name="C", arguments={"message": "C"})
43+
D = echo(name="D", arguments={"message": "D"})
44+
A >> [B, C] >> D # Define execution order
45+
46+
w.create()
47+
```
48+
49+
Learn more in the [Hera walk-through](https://hera.readthedocs.io/en/stable/walk-through/quick-start/).

docs/use-cases/ci-cd.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
## Docs
44

5-
* [Quick start](../quick-start.md) and [training](../training.md)
65
* Learn about [webhooks](../webhooks.md) for triggering pipelines.
76
* Head to the [Argo CD](https://github.com/argoproj/argo-cd/) docs.
87

docs/use-cases/data-processing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Docs
44

5-
* [Quick start](../quick-start.md) and [training](../training.md)
5+
* Try out [Hera](https://hera.readthedocs.io/en/stable/) for writing Workflows in Python.
66

77
## Videos
88

docs/use-cases/infrastructure-automation.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
## Docs
44

5-
* [Quick start](../quick-start.md) and [training](../training.md)
65
* Head to the [Argo Events](https://argoproj.github.io/argo-events/) docs.
76

87
## Videos

docs/use-cases/machine-learning.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22

33
## Docs
44

5-
* [Quick start](../quick-start.md) and [training](../training.md)
6-
* Try out the updated [Python and Java SDKs](../client-libraries.md).
7-
* [Authoring and Submitting Argo Workflows using Python](https://blog.argoproj.io/authoring-and-submitting-argo-workflows-using-python-aff9a070d95f)
8-
* Head to the [Kubeflow docs](https://www.kubeflow.org/docs/components/pipelines/).
5+
* Try out [Hera](https://hera.readthedocs.io/en/stable/) for writing Workflows in Python.
6+
* Also read: [How To Get the Most out of Hera for Data Science](https://pipekit.io/blog/how-to-get-the-most-out-of-hera-for-data-science)
7+
* Try out the [Go and Java SDKs](../client-libraries.md).
98

109
## Videos
1110

@@ -16,6 +15,7 @@
1615
* [CI/CD for Machine Learning at MLB using Argo Workflows - Eric Meadows](https://youtu.be/fccWoYlwZKc?t=184&utm_source=argo-docs)
1716
* [Dynamic, Event-Driven Machine Learning Pipelines with Argo Workflows](https://youtu.be/ei4r0a7eAV0)
1817
* [Engineering Cloud Native AI Platform](https://github.com/terrytangyuan/public-talks/tree/main/talks/platform-con-2024-engineering-cloud-native-ai-platform)
18+
* [How to Train an LLM with Argo Workflows and Hera](https://www.youtube.com/watch?v=nRYf3GkKpss)
1919
* [Machine Learning as Code: GitOps for ML with Kubeflow and Argo CD](https://www.youtube.com/watch?v=VXrGp5er1ZE&t=0s&index=135&list=PLj6h78yzYM2PZf9eA7bhWnIh_mK1vyOfU)
2020
* [Machine Learning with Argo and Ploomber](https://www.youtube.com/watch?v=FnpXyg-5W_c&list=PLGHfqDpnXFXK4E8XzasScagiJk-8BPgva&utm_source=argo-docs)
2121
* [Making Complex R Forecast Applications Into Production Using Argo Workflows](https://www.youtube.com/watch?v=fPjztsUXHcg)

docs/use-cases/other.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
# Other
22

3-
Argo can also be used for many other use-cases.
4-
5-
## Docs
6-
7-
* [Quick start](../quick-start.md) and [training](../training.md)
8-
* [A Curated List of Awesome Projects and Resources Related to Argo](https://github.com/terrytangyuan/awesome-argo)
3+
Read about other use cases, projects and resources related to Argo at
4+
[Awesome Argo](https://github.com/terrytangyuan/awesome-argo).

docs/walk-through/index.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
11
# About
22

3-
Argo is implemented as a Kubernetes CRD (Custom Resource Definition). As a result, Argo workflows can be managed
4-
using `kubectl` and natively integrates with other Kubernetes services such as volumes, secrets, and RBAC. The new Argo
5-
software is light-weight and installs in under a minute, and provides complete workflow features including parameter
6-
substitution, artifacts, fixtures, loops and recursive workflows.
3+
Argo Workflows is implemented as a Kubernetes CRD (Custom Resource Definition) which are defined in YAML files. As a
4+
result, Argo `workflows` can be managed using `kubectl` and natively integrate with other Kubernetes services such as
5+
volumes, secrets, and RBAC. The Argo Workflows software is light-weight and installs in under a minute, and provides
6+
complete workflow features including parameter substitution, artifacts, fixtures, loops and recursive workflows.
77

88
Dozens of examples are available in
99
the [`examples` directory](https://github.com/argoproj/argo-workflows/tree/main/examples) on GitHub.
1010

1111
For a complete description of the Argo workflow spec, please refer
1212
to [the spec documentation](../fields.md#workflowspec).
1313

14-
Progress through these examples in sequence to learn all the basics.
14+
Progress through the walk through in sequence to learn all the basics.
1515

1616
Start with [Argo CLI](argo-cli.md).
17+
18+
## Hera SDK for Python Users
19+
20+
If you would prefer to write Workflows using Python instead of YAML, check out the walk through for
21+
[Hera, the Python SDK for Argo Workflows](https://hera.readthedocs.io/en/stable/walk-through/quick-start/).

0 commit comments

Comments
 (0)