Embeddable Workflow/BPM Library For Python?
Asked Answered
O

3

7

Let's say you are building a Python-based web app that requires some workflow management such as that in jBPM or Windows Workflow Foundation. Is there a library that offers this in the Python world?

Objectify answered 29/9, 2009 at 16:12 Comment(5)
Per Lennart's suggestion below I will expand the above. The system will consist of multiple clients interacting with a middle layer, that, in part, must have a workflow subsystem of some sort. The workflow subsystem exists to create an "embedded BPM" that can flexibly manage the changing processing requirements. The first upper layer "client" will likely be a web client that involves CherryPy and AJAX on the browser. The backend will likely be PostGRES. This is somewhat mutable. What other info can I add?Objectify
To add, I say "first client" because there will eventually be more, and they won't necessarily be web-based, so something too tied into Zope or some other framework won't work. It has to be able to stand alone.Objectify
The workflow system should clearly be in the middle layer, not the clients. The clients then need to ask the middle layer about what workflow transactions is available based on the item and security. If you want to store things in postgres I'd recommend you use sqlalchemy, and then SpiffWorkflow may work, but I haven't used it and don't know if it's any good. Search for workflow on PyPI, but be aware most products there are for Plone. :)Foreign
Agreed. Maybe I wasn't clear, but the workflow engine would be in the middle layer. Thanks for your help.Objectify
Here is the very similar question, but django specific - #6795828Aga
F
3

Oh yes, tons. But most of them depend on a specific framework. DCWorkflow is integrated with Zopes CMF, for example. hurry.workflow is for Zope 3, etc. SpiffWorkflow presumes sql-alchemy, etc. This is because you need to have something to apply the workflow to, and that means you need to make some basic assumptions on the objects you use.

Hurry.workflow is probably one of the more independent ones, but it still assumes both that you use the Persistence library (and therefore in practice ZODB), and zope3's security model.

So you probably need to expand a bit on your requirements here...

Foreign answered 29/9, 2009 at 16:50 Comment(2)
SpiffWorkflow seem not to presume sql-alchemy, or at least, I'm not finding any reference pointing in that direction. It might be something that has changed since this post... A quick search in the mailing list seems to indicate the current persistency mechamism uses pickle.Insecurity
It used to require SQLAlchemy, yes. Pickling only is just as limiting.Foreign
B
1

Have you looked at this? http://code.djangoproject.com/wiki/GoFlow

Barrens answered 18/12, 2009 at 12:12 Comment(0)
P
0

Long time since the question was shot, but maybe it could help someone who is searching for updated tools in this regard. Below 3 options found in 2024, July:

Obs.: The YouTube video Meet our Python BPM | Abstra Workflows could help initial understanding of the abstra lib.

Peary answered 18/7 at 18:11 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.