GUI: Web Interface for Network Exploration

Warning

Development Mode Only: The GUI is intended for local development and exploration. Do not expose it to the public internet without proper authentication and security hardening. See GUI Deployment Guide for production configuration.

The py3plex GUI provides a web-based interface for interactive multilayer network exploration.

Features:

  • Load networks from various file formats without code

  • Interactive, zoomable visualizations

  • Compute statistics via point-and-click menus

  • Detect communities and visualize them

  • Export results for further analysis

This section covers:

Running the GUI Locally

Quick start (Docker - Recommended):

# Clone the repository
git clone https://github.com/SkBlaz/py3plex.git
cd py3plex/gui

# Copy environment configuration
cp .env.example .env

# Start all services
make up

# Open browser to http://localhost:8080

Alternative: Install from source:

# Install with GUI extras
pip install py3plex[gui]

# Or install from source
git clone https://github.com/SkBlaz/py3plex.git
cd py3plex
pip install -e ".[gui]"

# Navigate to GUI directory and start services
cd gui
make up

The GUI will be available at http://localhost:8080. See GUI Deployment Guide for detailed setup instructions and troubleshooting.

GUI Actions vs py3plex APIs

The GUI provides a point-and-click interface for common py3plex operations. Here’s how GUI actions map to Python API calls:

GUI Action

Equivalent Python API

Load Network (upload file)

network = multinet.multi_layer_network().load_network(file_path, input_type="...")

Compute Statistics → Basic Stats

network.basic_stats()

Compute Statistics → Layer Density

from py3plex.algorithms.statistics import multilayer_statistics as mls
mls.layer_density(network, layer_name)

Detect Communities → Louvain

from py3plex.algorithms.community_detection import community_louvain
partition = community_louvain.best_partition(network.get_layers()[layer])

Compute Centrality → Degree

from py3plex.algorithms.multilayer_algorithms.centrality import MultilayerCentrality
calc = MultilayerCentrality(network)
degree = calc.overlapping_degree_centrality()

Visualize Network

from py3plex.visualization.multilayer import draw_multilayer_default
draw_multilayer_default([network], display=True)

Export → JSON

network.save_network("output.json", output_type="json")

This mapping helps you transition from GUI exploration to programmatic analysis.

When to Use the GUI

Use GUI for:

  • Domain experts who prefer not to write Python

  • Quick exploratory analysis of new datasets

  • Demonstrations and teaching

  • Collaborative work with mixed technical backgrounds

Use Python library for:

  • Production pipelines and automation

  • Reproducible analysis workflows

  • Advanced customization

  • Large-scale processing

Start with GUI Deployment Guide to run the GUI, then Py3plex GUI for usage.