Python Bindings

View as Markdown

Prerequisites

  • uv (required):
curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:${PATH}"
  • tomlkit: installed below via uv or pip
  • PyTorch: pytorch.org

Virtual Environment Setup

uv venv .venv --python 3.12
source .venv/bin/activate
uv pip install meson ninja tomlkit

Then install PyTorch from the PyTorch website.

Build and Install

For CUDA 12:

meson setup build
ninja -C build install
pip install build/src/bindings/python/nixl-meta/nixl-*-py3-none-any.whl

For CUDA 13:

./contrib/tomlutil.py --wheel-name nixl-cu13 pyproject.toml
meson setup build
ninja -C build install
pip install build/src/bindings/python/nixl-meta/nixl-*-py3-none-any.whl

Verify Installation

python3 -c "import nixl; agent = nixl.nixl_agent('agent1')"

Expected output:

NIXL INFO _api.py:363 Backend UCX was instantiated
NIXL INFO _api.py:253 Initialized NIXL agent: agent1

For backend-specific build instructions, see NIXL Backends.