MuxVizPy is a Python package for multilayer and multiplex network analysis, inspired by the original MuxViz software.
It provides tools to compute centralities, structural descriptors, mesoscale properties, percolation, and versatile visualizations—backed by graph-tool and the scientific Python ecosystem.
- Construction of multilayer networks from CSV or metadata
- Aggregate and supra-adjacency matrix utilities
- Multiplex-aware centrality measures:
- Eigenvector, Katz, Random Walk (PageRank/classical), Hub, Authority, K-Core
- Topological descriptors:
- Largest connected components, shortest-path matrices, similarity
- Mesoscale analysis:
- Modularity, blockmodels, assortativity
- Percolation analysis
- 3D multilayer network visualization with
matplotlib
# Clone the repository
git clone https://github.com/your-username/MuxVizPy.git
cd MuxVizPy
# (Recommended) Create a virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -e .graph-tool is not pip-installable.
Install it manually via official instructions or using conda:
conda install -c conda-forge graph-toolFor a basic usage script see the file scripts/test.py
├── pyproject.toml
├── README.md
├── LICENSE
├── scripts
│ ├── example_data
│ │ ├── metadata.csv
│ │ ├── VirusA
│ │ │ ├── edges.csv
│ │ │ └── nodes.csv
│ │ ├── VirusB
│ │ │ ├── edges.csv
│ │ │ └── nodes.csv
│ │ └── VirusC
│ │ ├── edges.csv
│ │ └── nodes.csv
│ └── test.py
└── src
├── MuxVizPy
├── build.py
├── core.py
├── __init__.py
├── leading_eigenv_approx.py
├── mesoscale.py
├── percolation.py
├── plotMux.py
├── topology.py
├── utils.py
├── versatility.py
└── visualization.py
- Python ≥ 3.8
- numpy, scipy, pandas, matplotlib, tqdm
- graph-tool (system package)
- Inspired by the original MuxViz platform.
- Built with
graph-tool, a performant graph analysis library.