@@ -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 "> -></ span > < span class ="nb "> dict</ span > < span class ="p "> :</ span >
390+ < span class ="k "> return</ span > < span class ="p "> {</ span > < span class ="s2 "> "prod"</ 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 "> "div"</ 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 " > "prod" </ 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 " > "div" </ 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 >
401399Python 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 >
402400JSON file:</ p >
403401< div class ="highlight-default notranslate "> < div class ="highlight "> < pre > < span > </ span > < span class ="p "> {</ span >
404402 < span class ="s2 "> "nodes"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
405- < span class ="p "> {</ span > < span class ="s2 "> "id"</ span > < span class ="p "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="s2 "> "function"</ span > < span class ="p "> :</ span > < span class ="s2 "> "simple_workflow.add_x_and_y_and_z "</ span > < span class ="p "> },</ span >
403+ < span class ="p "> {</ span > < span class ="s2 "> "id"</ span > < span class ="p "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="s2 "> "function"</ span > < span class ="p "> :</ span > < span class ="s2 "> "simple_workflow.get_prod_and_div "</ span > < span class ="p "> },</ span >
406404 < span class ="p "> {</ span > < span class ="s2 "> "id"</ span > < span class ="p "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="s2 "> "function"</ span > < span class ="p "> :</ span > < span class ="s2 "> "simple_workflow.add_x_and_y"</ span > < span class ="p "> },</ span >
407- < span class ="p "> {</ span > < span class ="s2 "> "id"</ span > < span class ="p "> :</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="s2 "> "function"</ span > < span class ="p "> :</ span > < span class ="s2 "> "simple_workflow.add_x_and_y"</ span > < span class ="p "> },</ span >
408- < span class ="p "> {</ span > < span class ="s2 "> "id"</ span > < span class ="p "> :</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="s2 "> "function"</ span > < span class ="p "> :</ span > < span class ="s2 "> "simple_workflow.add_x_and_y"</ span > < span class ="p "> },</ span >
409- < span class ="p "> {</ span > < span class ="s2 "> "id"</ span > < span class ="p "> :</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="s2 "> "value"</ span > < span class ="p "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> },</ span >
410- < span class ="p "> {</ span > < span class ="s2 "> "id"</ span > < span class ="p "> :</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span > < span class ="s2 "> "value"</ span > < span class ="p "> :</ span > < span class ="mi "> 2</ span > < span class ="p "> }</ span >
405+ < span class ="p "> {</ span > < span class ="s2 "> "id"</ span > < span class ="p "> :</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="s2 "> "value"</ span > < span class ="p "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> },</ span >
406+ < span class ="p "> {</ span > < span class ="s2 "> "id"</ span > < span class ="p "> :</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="s2 "> "value"</ span > < span class ="p "> :</ span > < span class ="mi "> 2</ span > < span class ="p "> }</ span >
411407 < span class ="p "> ],</ span >
412408 < span class ="s2 "> "edges"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
413- < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "x"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "x"</ span > < span class ="p "> },</ span >
414- < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "x"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="n "> null</ span > < span class ="p "> },</ span >
415- < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "y"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="n "> null</ span > < span class ="p "> },</ span >
416- < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "y"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "y"</ span > < span class ="p "> },</ span >
417- < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "x"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="n "> null</ span > < span class ="p "> },</ span >
418- < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "y"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="n "> null</ span > < span class ="p "> },</ span >
419- < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "z"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "z"</ span > < span class ="p "> },</ span >
420- < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "x"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 4</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="n "> null</ span > < span class ="p "> },</ span >
421- < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "y"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="n "> null</ span > < span class ="p "> }</ span >
409+ < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "x"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 2</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="n "> null</ span > < span class ="p "> },</ span >
410+ < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "y"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 3</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="n "> null</ span > < span class ="p "> },</ span >
411+ < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "x"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "prod"</ span > < span class ="p "> },</ span >
412+ < span class ="p "> {</ span > < span class ="s2 "> "target"</ span > < span class ="p "> :</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="s2 "> "targetPort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "y"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "source"</ span > < span class ="p "> :</ span > < span class ="mi "> 0</ span > < span class ="p "> ,</ span > < span class ="s2 "> "sourcePort"</ span > < span class ="p "> :</ span > < span class ="s2 "> "div"</ span > < span class ="p "> }</ span >
422413 < span class ="p "> ]</ span >
423414< span class ="p "> }</ span >
424415</ pre > </ div >
0 commit comments