Yesterday at the phone call for fedora community I was asked to look at various free python workflow modules - I found 3 that seemed likely/reasonable and wrote a brief bit about them based on the available info and a perusal of their source.
goflow - django based - free -not helpful for moksha other than to steal code from - but it seems to be fairly well developed and on-target
http://code.djangoproject.com/wiki/GoFlow and http://goflow.free.fr/doc/html/overview.html#preface
itools-workflow -document/file based workflow - simple scaffold - expanding it shouldn't be too complicated at all. - gplv3 http://git.hforge.org/?p=itools.git;a=tree;f=workflow;h=a7ac74ccd80d2810b871...
ruffus - mit license http://code.google.com/p/ruffus/ - originally for bioinformatics - simple structure - might be a bit too simple... - has no mechanism for remote communication currently... - could be good - lots of room to amqp this - could be bad - no structure to allow for it.
Goflow seems the best from a target standpoint but I think porting it over to a tg2-infrastructure would be a fair bit of work.
itools is extremely simple and is more or less a document/file state machine.
ruffus has a language and ordering/dependency information to control workflow and could be a good place to base from.
I'm a little blurry on what moksha/fcomm's workflow requirements are - is it activity or entity based most particularly and does it require remote host jobs? I suspect it does require communication to tasks on other systems but I figured I'd ask.
-sv
On Tue, 11 Aug 2009, Seth Vidal wrote:
Yesterday at the phone call for fedora community I was asked to look at various free python workflow modules - I found 3 that seemed likely/reasonable and wrote a brief bit about them based on the available info and a perusal of their source.
goflow - django based - free -not helpful for moksha other than to steal code from - but it seems to be fairly well developed and on-target
http://code.djangoproject.com/wiki/GoFlow and http://goflow.free.fr/doc/html/overview.html#preface
itools-workflow -document/file based workflow - simple scaffold - expanding it shouldn't be too complicated at all. - gplv3 http://git.hforge.org/?p=itools.git;a=tree;f=workflow;h=a7ac74ccd80d2810b871...
ruffus - mit license http://code.google.com/p/ruffus/ - originally for bioinformatics - simple structure - might be a bit too simple... - has no mechanism for remote communication currently... - could be good - lots of room to amqp this - could be bad - no structure to allow for it.
Goflow seems the best from a target standpoint but I think porting it over to a tg2-infrastructure would be a fair bit of work.
itools is extremely simple and is more or less a document/file state machine.
ruffus has a language and ordering/dependency information to control workflow and could be a good place to base from.
I'm a little blurry on what moksha/fcomm's workflow requirements are - is it activity or entity based most particularly and does it require remote host jobs? I suspect it does require communication to tasks on other systems but I figured I'd ask.
There are a number of other workflow modules but the ones I've not mentioned here were:
1. not free 2. dead projects 3. VERY closely tied to a specific queuing/task system normally for chemical processing or bioinformatics.
-sv