Camunda Python 🐍 love- aka user stories

Hello Community,

We already see multiple projects that integrate Python applications with Camunda. I am on the search for more :mag_right: and need your help!

I like to understand your use cases, the architecture you use, problems and difficulties you might have experienced during the implementation phase or during production.

Are all your service tasks implemented in Python or are you in a micro service architecture where you use one Python worker for machine learning and data analysis? No matter I want your story and learn more about your integration.

What’s in for you? With your help we at Camunda can understand the needs better from the community using Python and hopefully provide better help in forms of documentation, tutorials and maybe features for you.

I am looking forward hearing your stories! :blue_heart: :yellow_heart:

2 Likes

What a coincidence! I just registered since I do have an issue concerning external service tasks but before I am getting to it, I will briefly answer your question even though our scenario is probably not the most common application of Camunda, I guess:

We currently use Camunda in a research project [1] for orchestration of individual steps in assembly and commissioning processes. We model our industry partner’s current workflow with Camunda and provide support to their staff via a distributed AR assistance system. Basically all the heavy lifting is done in Python workers. In most cases, Camunda provides the variables that the workers need to compose (gRPC) messages (via database requests and formatting). These messages are (in most cases) forwarded (via gRPC) to a variety of user interfaces or artificial agents. Usually, a task takes about 2 - 10 minutes to complete. In [2], we give a brief overview about the general workflow and the related responsibilities.

[1] https://avikom.app
[2] Neumann, A.; Strenge, B.; Schalkwijk, L.; Essig, K.; Schack, T. Facilitating Workers’ Task Proficiency with Subtle Decay of Contextual AR-Based Assistance Derived from Unconscious Memory Structures. Information 2021, 12, 17. (The paper is open access but I cannot provide the link since I am only allowed to post two but I assume it should be easy enough to find if someone is interested.)

Just some FYI:

I am currently maintaining a Camunda Python client (https://github.com/OpenAvikom/camunda-external-task-client-python3) which was derived from Yogesh Naik’s client that recently moved to the Camunda Community Hub (nice work Yogesh :+1:!). I decided to fork it because I wanted to have additional conveniences functions (e.g. stopping processes, extending tasks, etc), wrap variable handling a bit differently and also follow an asynchronous processing approach. All these changes felt to be too much to throw on Yogesh via PRs.

3 Likes

Hey @AlexN ,

thanks for your reply! This sounds like an interesting project. I will definitely read the paper and reach out if i have questions :slight_smile:

And welcome to our forum! I am sure you will find support and the answer to your problem here!

Kind regards
Nele