Skip to main content

A Streamlit component for rendering process flowsheet diagrams with interactive selection

Project description

Streamlit Flowsheet Component

A Streamlit component for rendering interactive process flowsheet diagrams with node selection capabilities.

Features

  • Interactive process flowsheet visualization with ReactFlow
  • Node selection with detailed properties panel
  • Collapsible navigation panel for easy node browsing
  • Theme-aware (automatically adapts to Streamlit light/dark themes)
  • Configurable display options (navigation panel, properties panel, node borders)
  • Returns selected node data to Streamlit

Installation

pip install streamlit-flowsheet

Usage

import streamlit as st
from streamlit_flowsheet import render_flowsheet
import json

# Load model revision data (full CDF response)
with open("model_revision_data.json", "r") as f:
    full_data = json.load(f)

# Extract the flowsheet
flowsheet = full_data["items"][0]["flowsheet"]

# Render the flowsheet
selected_node = render_flowsheet(
    data=flowsheet,
    show_navigation_panel=True,
    show_properties=True,
    show_border=True,
    height=800
)

# Handle selection
if selected_node:
    st.write(f"Selected: {selected_node[0]['name']}")

Parameters

  • data (dict): Flowsheet object containing simulatorObjectNodes and simulatorObjectEdges.
  • show_navigation_panel (bool): Show/hide the left navigation panel (default: True)
  • show_properties (bool): Show/hide the properties panel on node selection (default: True)
  • show_border (bool): Show/hide node borders (default: True)
  • height (int): Component height in pixels (default: 800)

Development

Setup

cd streamlit-flowsheet
uv sync --dev
cd streamlit_flowsheet/frontend
npm install

Build Frontend

cd streamlit_flowsheet/frontend
npm run build

Build Package

uv build

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamlit_flowsheet-0.2.7.tar.gz (154.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

streamlit_flowsheet-0.2.7-py3-none-any.whl (154.1 kB view details)

Uploaded Python 3

File details

Details for the file streamlit_flowsheet-0.2.7.tar.gz.

File metadata

  • Download URL: streamlit_flowsheet-0.2.7.tar.gz
  • Upload date:
  • Size: 154.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for streamlit_flowsheet-0.2.7.tar.gz
Algorithm Hash digest
SHA256 39f7cd774495a672411d614df5736dc3e482baf8d9443e603c01b9c3ec61fed2
MD5 f440ef92442c1184337a18b9444c3b5c
BLAKE2b-256 b2ae0c1d003289d9fa4a2e7e8ad615ee185bf20fa03fe3091b45b18699a961b4

See more details on using hashes here.

File details

Details for the file streamlit_flowsheet-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: streamlit_flowsheet-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 154.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for streamlit_flowsheet-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 38616492a68cd8f5f6f0f41f1e6cf86fc51c352286733d0d198864d8dccf12c4
MD5 e32273db15520fb3b7a9cc4c445d4598
BLAKE2b-256 3acbd797c992d09a7ddc71a7b07441990c30e7bdd5e26c0683e44291cadc304d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page