ecFlow's documentation is now on readthedocs!

#!/usr/bin/env python
from ecf import *
PARAMS = ["u", "v", "t", "r", ]

def process(): return Task("process")

def family_for(): return (
  Family("for").add(process(),
    Repeat(kind="integer", name="STEP", 
           start=1, end=240, step=3)),

  Family("loop").add(process(),
    Repeat("PARAM", PARAMS, kind="string")),

  Family("parallel").add(
      Limit("lim", 2), Inlimit("lim"),
      [Family(par).add(Edit(PARAM=par), 
          process().add(Label("info", par))) 
       for par in PARAMS]),  

  Family("explode").add(Limit("lim", 2), Inlimit("lim"),
    [Task("t%d" % num) for num in xrange(1, 5+1)]))