Skip to main content

A streamlit component to visualize network graph data using Sigma.js

Project description

Streamlit Sigma.js Component

A streamlit component to visualize network graph data.

Combines Python, Streamlit, Vue3 and Sigma.js.

Key Features

  • Visualize network data
  • Interact with the graph
  • Display additional nodes & edges attributes

(screenshot)

Installation

pip installation

pip install streamlit-sigmajs-component

manual installation from source

Create and activate a python virtual environment (venv, conda, ...)

Clone this repository

git clone https://github.com/camaris2/streamlit_sigmajs_component.git

Navigate to root directory

cd streamlit_sigmajs_component

Install the package in editable mode:

pip install -e .

Using the component

In your streamlit app:

  • import the module:

from vsigma_component import vsigma_component

  • call the component

graph_state = vsigma_component(my_nodes, my_edges, my_settings, key="vsigma")

  • (optional) use the data returned via the graph state object (e.g. selected node or edge, ...)

Run Example App

  • create the environment
    • pip install virtualenv (if you don't already have virtualenv installed)
    • virtualenv venv to create your new environment (called 'venv' here)
    • source venv/bin/activate to enter the virtual environment (unix)
    • venv/bin/activate to enter the virtual environment (windows)

pip install -r requirements.txt to install the requirements in the current environment

  • run the streamlit example app:
cd streamlit_sigmajs_component/vsigma_component
streamlit run example.py

Development

  • Ensure you have Python 3.7+, Node.js, and npm installed.

Clone project

Python Setup

Create and activate a virtual environment, then install the package in editable mode:

python3 -m venv venv # On Windows use python -m venv venv
source ./venv/bin/activate # On Windows use `.\venv\Scripts\activate`
pip install -e .

Node Setup

Navigate to the frontend directory and install the necessary npm packages:

cd vsigma_component/vue_sigma
npm install

Running the App (in development mode)

Change PRODUCTION flag in vsigma_component/init.py to False

  • In one terminal start the frontend dev server
cd vsigma_component/vue_sigma
npm run dev
  • In another terminal run the streamlit server
source ./venv/bin/activate  # Unix
.\venv\Scripts\activate  # Windows
cd vsigma_component
streamlit run example.py

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

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_sigmajs_component-1.0.5.tar.gz (136.8 kB view details)

Uploaded Source

Built Distribution

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

streamlit_sigmajs_component-1.0.5-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file streamlit_sigmajs_component-1.0.5.tar.gz.

File metadata

File hashes

Hashes for streamlit_sigmajs_component-1.0.5.tar.gz
Algorithm Hash digest
SHA256 e16aa6e41d8f2886f5b9557fb68af12800094d0335c89f0b9fa0009d0767623b
MD5 253877995171ef0201d2f666185720ab
BLAKE2b-256 0fb7603adfbcec322824e125fcaa7622306ee3137d868c84c41735aa830eda64

See more details on using hashes here.

File details

Details for the file streamlit_sigmajs_component-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for streamlit_sigmajs_component-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c02866980a4d8185cea5508e81fe75831d48cf8009a5dfbf0b6f9400f1701366
MD5 66fe694c792347ca9af4da75a84a2c33
BLAKE2b-256 ff9bfb30d3b5c395a366ffa31498d0db74febd0757010224749d50aca0c46d2b

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