Skip to content

Commit 73c00a7

Browse files
committed
Deploying to gh-pages from @ 4eb1108 🚀
1 parent 8b67d87 commit 73c00a7

File tree

15 files changed

+1039
-169
lines changed

15 files changed

+1039
-169
lines changed

README.html

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -384,41 +384,32 @@ <h2>Examples<a class="headerlink" href="#examples" title="Link to this heading">
384384
<h3>Simple Example<a class="headerlink" href="#simple-example" title="Link to this heading">#</a></h3>
385385
<p>As a first example we define two Python functions which add multiple inputs:</p>
386386
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">add_x_and_y</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">):</span>
387-
<span class="n">z</span> <span class="o">=</span> <span class="n">x</span> <span class="o">+</span> <span class="n">y</span>
388-
<span class="k">return</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">z</span>
389-
390-
<span class="k">def</span><span class="w"> </span><span class="nf">add_x_and_y_and_z</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">z</span><span class="p">):</span>
391-
<span class="n">w</span> <span class="o">=</span> <span class="n">x</span> <span class="o">+</span> <span class="n">y</span> <span class="o">+</span> <span class="n">z</span>
392-
<span class="k">return</span> <span class="n">w</span>
387+
<span class="k">return</span> <span class="n">x</span> <span class="o">+</span> <span class="n">y</span>
388+
389+
<span class="k">def</span><span class="w"> </span><span class="nf">get_prod_and_div</span><span class="p">(</span><span class="n">x</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="nb">float</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
390+
<span class="k">return</span> <span class="p">{</span><span class="s2">&quot;prod&quot;</span><span class="p">:</span> <span class="n">x</span> <span class="o">*</span> <span class="n">y</span><span class="p">,</span> <span class="s2">&quot;div&quot;</span><span class="p">:</span> <span class="n">x</span> <span class="o">/</span> <span class="n">y</span><span class="p">}</span>
393391
</pre></div>
394392
</div>
395393
<p>These two Python functions are combined in the following example workflow:</p>
396-
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">z</span> <span class="o">=</span> <span class="n">add_x_and_y</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
397-
<span class="n">w</span> <span class="o">=</span> <span class="n">add_x_and_y_and_z</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="n">y</span><span class="p">,</span> <span class="n">z</span><span class="o">=</span><span class="n">z</span><span class="p">)</span>
394+
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">tmp_dict</span> <span class="o">=</span> <span class="n">get_prod_and_div</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span>
395+
<span class="n">result</span> <span class="o">=</span> <span class="n">add_x_and_y</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="n">tmp_dict</span><span class="p">[</span><span class="s2">&quot;prod&quot;</span><span class="p">],</span> <span class="n">y</span><span class="o">=</span><span class="n">tmp_dict</span><span class="p">[</span><span class="s2">&quot;div&quot;</span><span class="p">])</span>
398396
</pre></div>
399397
</div>
400398
<p>For the workflow representation of these Python functions the Python functions are stored in the <a class="reference download internal" download="" href="_downloads/2733b71b8b860a0550ebcfb326aabf3a/simple_workflow.py"><span class="xref download myst">simple_workflow.py</span></a>
401399
Python module. The connection of the Python functions are stored in the <a class="reference download internal" download="" href="_downloads/ccde96f4155d5d9b945f1f0b662ed925/workflow_simple.json"><span class="xref download myst">workflow_simple.json</span></a>
402400
JSON file:</p>
403401
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
404402
<span class="s2">&quot;nodes&quot;</span><span class="p">:</span> <span class="p">[</span>
405-
<span class="p">{</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;function&quot;</span><span class="p">:</span> <span class="s2">&quot;simple_workflow.add_x_and_y_and_z&quot;</span><span class="p">},</span>
403+
<span class="p">{</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;function&quot;</span><span class="p">:</span> <span class="s2">&quot;simple_workflow.get_prod_and_div&quot;</span><span class="p">},</span>
406404
<span class="p">{</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;function&quot;</span><span class="p">:</span> <span class="s2">&quot;simple_workflow.add_x_and_y&quot;</span><span class="p">},</span>
407-
<span class="p">{</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;function&quot;</span><span class="p">:</span> <span class="s2">&quot;simple_workflow.add_x_and_y&quot;</span><span class="p">},</span>
408-
<span class="p">{</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="s2">&quot;function&quot;</span><span class="p">:</span> <span class="s2">&quot;simple_workflow.add_x_and_y&quot;</span><span class="p">},</span>
409-
<span class="p">{</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">},</span>
410-
<span class="p">{</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="mi">2</span><span class="p">}</span>
405+
<span class="p">{</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">},</span>
406+
<span class="p">{</span><span class="s2">&quot;id&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="mi">2</span><span class="p">}</span>
411407
<span class="p">],</span>
412408
<span class="s2">&quot;edges&quot;</span><span class="p">:</span> <span class="p">[</span>
413-
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;x&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="s2">&quot;x&quot;</span><span class="p">},</span>
414-
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;x&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">},</span>
415-
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;y&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">},</span>
416-
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;y&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="s2">&quot;y&quot;</span><span class="p">},</span>
417-
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;x&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">},</span>
418-
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;y&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">},</span>
419-
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;z&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="s2">&quot;z&quot;</span><span class="p">},</span>
420-
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;x&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">},</span>
421-
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;y&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">}</span>
409+
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;x&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">},</span>
410+
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;y&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="n">null</span><span class="p">},</span>
411+
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;x&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="s2">&quot;prod&quot;</span><span class="p">},</span>
412+
<span class="p">{</span><span class="s2">&quot;target&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;targetPort&quot;</span><span class="p">:</span> <span class="s2">&quot;y&quot;</span><span class="p">,</span> <span class="s2">&quot;source&quot;</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="s2">&quot;sourcePort&quot;</span><span class="p">:</span> <span class="s2">&quot;div&quot;</span><span class="p">}</span>
422413
<span class="p">]</span>
423414
<span class="p">}</span>
424415
</pre></div>
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
def add_x_and_y(x, y):
2-
z = x + y
3-
return {"x": x, "y": y, "z": z}
1+
def get_prod_and_div(x, y):
2+
return {"prod": x * y, "div": x / y}
43

54

6-
def add_x_and_y_and_z(x, y, z):
7-
w = x + y + z
5+
def add_x_and_y(x, y):
6+
w = x + y
87
return w
Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
{
22
"nodes": [
3-
{"id": 0, "function": "simple_workflow.add_x_and_y"},
4-
{"id": 1, "function": "simple_workflow.add_x_and_y_and_z"},
3+
{"id": 0, "function": "simple_workflow.get_prod_and_div"},
4+
{"id": 1, "function": "simple_workflow.add_x_and_y"},
55
{"id": 2, "value": 1},
66
{"id": 3, "value": 2}
77
],
88
"edges": [
99
{"target": 0, "targetPort": "x", "source": 2, "sourcePort": null},
1010
{"target": 0, "targetPort": "y", "source": 3, "sourcePort": null},
11-
{"target": 1, "targetPort": "x", "source": 0, "sourcePort": "x"},
12-
{"target": 1, "targetPort": "y", "source": 0, "sourcePort": "y"},
13-
{"target": 1, "targetPort": "z", "source": 0, "sourcePort": "z"}
11+
{"target": 1, "targetPort": "x", "source": 0, "sourcePort": "prod"},
12+
{"target": 1, "targetPort": "y", "source": 0, "sourcePort": "div"}
1413
]
1514
}

_sources/README.md

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,41 +17,32 @@ different workflow engines to enable interoperability.
1717
As a first example we define two Python functions which add multiple inputs:
1818
```python
1919
def add_x_and_y(x, y):
20-
z = x + y
21-
return x, y, z
22-
23-
def add_x_and_y_and_z(x, y, z):
24-
w = x + y + z
25-
return w
20+
return x + y
21+
22+
def get_prod_and_div(x: float, y: float) -> dict:
23+
return {"prod": x * y, "div": x / y}
2624
```
2725
These two Python functions are combined in the following example workflow:
2826
```python
29-
x, y, z = add_x_and_y(x=1, y=2)
30-
w = add_x_and_y_and_z(x=x, y=y, z=z)
27+
tmp_dict = get_prod_and_div(x=1, y=2)
28+
result = add_x_and_y(x=tmp_dict["prod"], y=tmp_dict["div"])
3129
```
3230
For the workflow representation of these Python functions the Python functions are stored in the [simple_workflow.py](simple_workflow.py)
3331
Python module. The connection of the Python functions are stored in the [workflow_simple.json](workflow_simple.json)
3432
JSON file:
3533
```
3634
{
3735
"nodes": [
38-
{"id": 0, "function": "simple_workflow.add_x_and_y_and_z"},
36+
{"id": 0, "function": "simple_workflow.get_prod_and_div"},
3937
{"id": 1, "function": "simple_workflow.add_x_and_y"},
40-
{"id": 2, "function": "simple_workflow.add_x_and_y"},
41-
{"id": 3, "function": "simple_workflow.add_x_and_y"},
42-
{"id": 4, "value": 1},
43-
{"id": 5, "value": 2}
38+
{"id": 2, "value": 1},
39+
{"id": 3, "value": 2}
4440
],
4541
"edges": [
46-
{"target": 0, "targetPort": "x", "source": 1, "sourcePort": "x"},
47-
{"target": 1, "targetPort": "x", "source": 4, "sourcePort": null},
48-
{"target": 1, "targetPort": "y", "source": 5, "sourcePort": null},
49-
{"target": 0, "targetPort": "y", "source": 2, "sourcePort": "y"},
50-
{"target": 2, "targetPort": "x", "source": 4, "sourcePort": null},
51-
{"target": 2, "targetPort": "y", "source": 5, "sourcePort": null},
52-
{"target": 0, "targetPort": "z", "source": 3, "sourcePort": "z"},
53-
{"target": 3, "targetPort": "x", "source": 4, "sourcePort": null},
54-
{"target": 3, "targetPort": "y", "source": 5, "sourcePort": null}
42+
{"target": 0, "targetPort": "x", "source": 2, "sourcePort": null},
43+
{"target": 0, "targetPort": "y", "source": 3, "sourcePort": null},
44+
{"target": 1, "targetPort": "x", "source": 0, "sourcePort": "prod"},
45+
{"target": 1, "targetPort": "y", "source": 0, "sourcePort": "div"}
5546
]
5647
}
5748
```

0 commit comments

Comments
 (0)