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.0.tar.gz (136.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_sigmajs_component-1.0.0-py3-none-any.whl (888.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for streamlit_sigmajs_component-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1d69b285b0fa6b68a21689b86ebadaa4d3d8a32c7df35f39017ed96c42bd31bf
MD5 4c4a284096e43487917a0d53bbb39b5c
BLAKE2b-256 c21a9ce094dc049f9ad0369946aea2dc42513d4a72d5d4607a9c94197522d102

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for streamlit_sigmajs_component-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 216298b9d4a59f7014c63b4d1ade27318a588d2feda68ce84f6e92a4de700f3c
MD5 bce422750cd7f2440f84de0aa2548598
BLAKE2b-256 fcfb9b2abc0415573401a62c21a0d03041b227867daa78b2663dab321626c110

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