Installation

This content is pulled directly from the project README to stay in sync.

FUSION offers multiple installation methods. Choose the one that best fits your needs:

Package Installation

For a more controlled installation using Python packaging:

# Clone and create venv (same as above)
git clone git@github.com:SDNNetSim/FUSION.git
cd FUSION
python3.11 -m venv venv
source venv/bin/activate

# Install core package
pip install -e .

# Install optional components as needed:
pip install -e .[dev]        # Development tools (ruff, mypy, pytest, pre-commit)
pip install -e .[rl]         # Reinforcement learning (stable-baselines3)
pip install -e .[all]        # Everything except PyTorch Geometric

# Install pre-commit hooks (for development)
pre-commit install
pre-commit install --hook-type commit-msg

# PyTorch Geometric requires manual installation:
# macOS (Apple Silicon):
MACOSX_DEPLOYMENT_TARGET=11.0 pip install --no-build-isolation torch-scatter torch-sparse torch-cluster torch-spline-conv -f https://data.pyg.org/whl/torch-2.2.2+cpu.html

# macOS (Intel):
MACOSX_DEPLOYMENT_TARGET=10.15 pip install --no-build-isolation torch-scatter torch-sparse torch-cluster torch-spline-conv -f https://data.pyg.org/whl/torch-2.2.2+cpu.html

# Linux/Windows:
pip install torch-scatter torch-sparse torch-cluster torch-spline-conv -f https://data.pyg.org/whl/torch-2.2.2+cpu.html

# Finally install PyTorch Geometric:
pip install torch-geometric==2.6.1

Legacy Requirements Installation

If you prefer using requirements files:

# Core dependencies
pip install torch==2.2.2
pip install -r requirements.txt
pip install -r requirements-dev.txt