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.

Use this page to see how the GUI fits into the documentation set and pick a setup path.

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

Prerequisites:

  • Docker and Docker Compose installed locally

  • Ports 8080 (GUI), 5555 (Flower), 8000 (API), and 6379 (Redis) are free

Choose one of the following:

Option 1 — Docker quick start (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 (wait for containers to report "healthy")
make up

# Open browser to http://localhost:8080

Option 2 — Install from source (contributors):

# Install from PyPI with GUI extras
pip install py3plex[gui]

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

# Navigate to GUI directory and start services (uses Docker Compose)
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. The examples below show representative Python calls once you have a network instance loaded:

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.core_network)

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.