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.4.tar.gz (136.7 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.4-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for streamlit_sigmajs_component-1.0.4.tar.gz
Algorithm Hash digest
SHA256 2a92d683e41336312131161efbbf1e83288020cdc871fd523a8e90dc9e602322
MD5 21c97a53004c5effb34c62c6c6c95b71
BLAKE2b-256 6ce32b9c5d1680e1042ae9d0f60ca199664785aa0ab3633e6c3b1cfcf25f6394

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for streamlit_sigmajs_component-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f3ce673832f459bba31893be45260c87520c29a8777b7bcd3500dfc02264501e
MD5 99709639834aecf34596cf6cc734fbf5
BLAKE2b-256 4d621cebefa5534e9e4aae2513a191a3d789d1807ae907ffab656a0f47dc9a4d

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