streamlit-flowsheet


Namestreamlit-flowsheet JSON
Version 0.1.14 PyPI version JSON
download
home_pageNone
SummaryA Streamlit component for rendering process flowsheet diagrams with interactive selection
upload_time2025-08-18 22:29:18
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords streamlit flowsheet diagram visualization component
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

```bash
pip install streamlit-flowsheet
```

## Usage

```python
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

```bash
cd streamlit-flowsheet
poetry install
cd streamlit_flowsheet/frontend
npm install
```

### Build Frontend

```bash
cd streamlit_flowsheet/frontend
npm run build
```

### Build Package

```bash
poetry build
```

## License

MIT

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "streamlit-flowsheet",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "streamlit, flowsheet, diagram, visualization, component",
    "author": null,
    "author_email": "Everton Colling <evertoncolling@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/81/2c/8cbd224318b699e6ceffe48daacf7f309f7cebcb7ef1d78a2a4fdfbf83b0/streamlit_flowsheet-0.1.14.tar.gz",
    "platform": null,
    "description": "# Streamlit Flowsheet Component\n\nA Streamlit component for rendering interactive process flowsheet diagrams with node selection capabilities.\n\n## Features\n\n- Interactive process flowsheet visualization with ReactFlow\n- Node selection with detailed properties panel\n- Collapsible navigation panel for easy node browsing\n- Theme-aware (automatically adapts to Streamlit light/dark themes)\n- Configurable display options (navigation panel, properties panel, node borders)\n- Returns selected node data to Streamlit\n\n## Installation\n\n```bash\npip install streamlit-flowsheet\n```\n\n## Usage\n\n```python\nimport streamlit as st\nfrom streamlit_flowsheet import render_flowsheet\nimport json\n\n# Load model revision data (full CDF response)\nwith open(\"model_revision_data.json\", \"r\") as f:\n    full_data = json.load(f)\n\n# Extract the flowsheet\nflowsheet = full_data[\"items\"][0][\"flowsheet\"]\n\n# Render the flowsheet\nselected_node = render_flowsheet(\n    data=flowsheet,\n    show_navigation_panel=True,\n    show_properties=True,\n    show_border=True,\n    height=800\n)\n\n# Handle selection\nif selected_node:\n    st.write(f\"Selected: {selected_node[0]['name']}\")\n```\n\n## Parameters\n\n- `data` (dict): Flowsheet object containing `simulatorObjectNodes` and `simulatorObjectEdges`.\n- `show_navigation_panel` (bool): Show/hide the left navigation panel (default: True)\n- `show_properties` (bool): Show/hide the properties panel on node selection (default: True)\n- `show_border` (bool): Show/hide node borders (default: True)\n- `height` (int): Component height in pixels (default: 800)\n\n## Development\n\n### Setup\n\n```bash\ncd streamlit-flowsheet\npoetry install\ncd streamlit_flowsheet/frontend\nnpm install\n```\n\n### Build Frontend\n\n```bash\ncd streamlit_flowsheet/frontend\nnpm run build\n```\n\n### Build Package\n\n```bash\npoetry build\n```\n\n## License\n\nMIT\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Streamlit component for rendering process flowsheet diagrams with interactive selection",
    "version": "0.1.14",
    "project_urls": {
        "Homepage": "https://github.com/evertoncolling/streamlit-flowsheet",
        "Issues": "https://github.com/evertoncolling/streamlit-flowsheet/issues",
        "Repository": "https://github.com/evertoncolling/streamlit-flowsheet"
    },
    "split_keywords": [
        "streamlit",
        " flowsheet",
        " diagram",
        " visualization",
        " component"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "564e7c8ea4db892da4be4de3761028cd6fbcd83eec15056728d5e1eca2fec7c3",
                "md5": "0e5cfa6f16eeb21b5823fa472c113b94",
                "sha256": "1594c333738da6d7040e84e5f116d364c920d1bfe546305c98333ebf3861f3df"
            },
            "downloads": -1,
            "filename": "streamlit_flowsheet-0.1.14-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0e5cfa6f16eeb21b5823fa472c113b94",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 187301,
            "upload_time": "2025-08-18T22:29:16",
            "upload_time_iso_8601": "2025-08-18T22:29:16.860546Z",
            "url": "https://files.pythonhosted.org/packages/56/4e/7c8ea4db892da4be4de3761028cd6fbcd83eec15056728d5e1eca2fec7c3/streamlit_flowsheet-0.1.14-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "812c8cbd224318b699e6ceffe48daacf7f309f7cebcb7ef1d78a2a4fdfbf83b0",
                "md5": "3d12d787bf9ff70242d78c146775034d",
                "sha256": "b90e47f9ef764383ad1a00016ce4dddf34265e15bde958cfdc9aff8e61b35acb"
            },
            "downloads": -1,
            "filename": "streamlit_flowsheet-0.1.14.tar.gz",
            "has_sig": false,
            "md5_digest": "3d12d787bf9ff70242d78c146775034d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 182493,
            "upload_time": "2025-08-18T22:29:18",
            "upload_time_iso_8601": "2025-08-18T22:29:18.568944Z",
            "url": "https://files.pythonhosted.org/packages/81/2c/8cbd224318b699e6ceffe48daacf7f309f7cebcb7ef1d78a2a4fdfbf83b0/streamlit_flowsheet-0.1.14.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-18 22:29:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "evertoncolling",
    "github_project": "streamlit-flowsheet",
    "github_not_found": true,
    "lcname": "streamlit-flowsheet"
}
        
Elapsed time: 0.59680s