Setup¶
Below reproduces the toolchain used on Ubuntu 24.04 (Noble), WSL-friendly.
System deps¶
sudo apt update
sudo apt install -y \
build-essential cmake ninja-build pkg-config \
python3 python3-venv python3-dev \
libomp-dev libopenblas-dev libgmp-dev libssl-dev \
graphviz git curl unzip
Optional for pygraphviz
:
sudo apt install -y graphviz-dev
Python (3.12) env¶
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip setuptools wheel
python -m pip install numpy scipy matplotlib jupyter rich graphviz
Node LTS and pnpm¶
# nvm
curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
export NVM_DIR="$HOME/.nvm"; . "$NVM_DIR/nvm.sh"
nvm install --lts
corepack enable
corepack prepare pnpm@latest --activate
Sphinx docs¶
python -m pip install -U sphinx myst-parser sphinx-copybutton sphinx-autobuild sphinxcontrib-mermaid
# enable extensions in docs/source/conf.py:
#
# extensions = [
# "myst_parser",
# "sphinx.ext.graphviz",
# "sphinx_copybutton",
# "sphinxcontrib.mermaid",
# ]
# graphviz_output_format = "svg"