New Component: Streamlit Flow - Beautiful, Interactive and Flexible Flow Diagrams in Streamlit

Hey everyone!

I’d like to let the community know about this new component I’m working on called Streamlit Flow. It is a streamlit component wrapper over the Flow diagram library React Flow.

For some project that I was working on, I needed the ability to create interactive flow diagrams. I had a look at graphviz, but that doesn’t have intractability from what I saw. Barfi looked promising, but it didn’t quite hit the right spot. I came across React Flow, that has an absolutely stunning UI and a lot of interactive capabilities. Turns out that there already exists a streamlit-react-flow component, but it doesn’t have a lot of the features I needed, and is not currently maintained. As such, I decided it was time to get my hands dirty :smiley:

QuickDemo

I think I have made decent progress in porting a lot of the functionality of React Flow into Streamlit Flow, but being the mature and complex ecosystem that React Flow is, a full (or nearly full) port is going to take significant time and effort.

Some features include:

  • Super fast flow building
  • Flexible node and edge elements
  • Built-in layout engine (ElkJS)
  • Capturing Component Interaction within Python

There are a lot more details in the README file of the repo:

The Component is now available on PyPI. Install it using

pip install streamlit-flow-component

Would love to hear some feedback from the community, to see what direction to drive this project in. Cheers!

5 Likes