Registry / ai-ml / nixl
library1.4.0pypypi✓ verified 22d ago

NIXL is a Python API meta-package designed to simplify the installation and usage of NIXL's core functionalities across various CUDA versions. It automatically detects the system's CUDA environment and installs the appropriate `nixl-cudaXXX` sub-package, providing a unified `nixl.core` interface for tensor operations, device management, and more. Current version is 1.0.0, with releases tied to new CUDA variant support.

pip install nixl
INSTALL
IMPORT
SIG · NIXL
N
nixl
ai-mlpythonv1.4.0
Install
74.4s avg
Import
560ms
Disk
5120MB
Pass rate
4/ 10
Env Coverage4 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.4.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✕ build_error
✓ 85s
py 3.11
✕ build_error
✓ 79.4s
py 3.12
✕ build_error
✓ 68.9s
py 3.13
✕ build_error
✓ 64.3s
py 3.9
✕ build_error
✕ timeout
5120MB installed
● package 5120MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

nixl
import nixl
import nixl.core as nixl
nixl_ep
import nixl_ep

This quickstart demonstrates initializing the NIXL environment, retrieving device information, and performing basic tensor operations on the CPU. It also includes a commented-out section showing how to attempt a GPU tensor creation, highlighting the requirement for a functional CUDA environment and a compatible `nixl-cudaXXX` backend.

import nixl.core as nixl # Initialize NIXL (e.g., set up a simple logger) nixl.init() # Get device information device_info = nixl.get_device_info() print(f"Device Info: {device_info}") # Basic tensor creation and manipulation on CPU tensor_a = nixl.Tensor([1, 2, 3], dtype=nixl.DType.I32, device=nixl.Device.CPU) print(f"Tensor A: {tensor_a}") tensor_b = nixl.Tensor([4, 5, 6], dtype=nixl.DType.I32, device=nixl.Device.CPU) tensor_c = tensor_a + tensor_b print(f"Tensor C (A + B): {tensor_c}") # Example of attempting GPU operation (requires CUDA backend) # try: # tensor_gpu = nixl.Tensor([7, 8, 9], dtype=nixl.DType.F32, device=nixl.Device.GPU) # print(f"Tensor on GPU: {tensor_gpu}") # except RuntimeError as e: # print(f"Could not create GPU tensor: {e} (Is CUDA device available and correct nixl-cudaXXX installed?)")
Debug
Known issues
gotchaThe `nixl` package is a meta-package that automatically installs a specific `nixl-cudaXXX` variant based on your system's CUDA environment. If auto-detection fails or an incompatible `nixl-cudaXXX` is installed, core functionalities may not work, or the installation may fail with obscure errors.
fix
Check your system's CUDA toolkit version (`nvcc --version`). If issues persist, consider manually uninstalling `nixl` and specific `nixl-cudaXXX` packages, then installing the exact variant (e.g., `pip install nixl-cuda121`) after ensuring your `PATH` and `LD_LIBRARY_PATH` environment variables are correctly set for CUDA.
affects: 1.0.0
gotchaAll core API elements, such as `Tensor`, `DType`, `Device`, and utility functions like `init()`, are located within the `nixl.core` module. Attempting to import them directly from the top-level `nixl` package (e.g., `from nixl import Tensor`) will result in an `ImportError`.
fix
Always import the core module as `import nixl.core as nixl` and then access elements via `nixl.Tensor`, `nixl.DType`, etc. Alternatively, use specific imports like `from nixl.core import Tensor`.
affects: 1.0.0
gotchaWhile the NIXL API supports GPU operations via `nixl.Device.GPU`, this functionality strictly requires a correctly installed and detected CUDA-enabled `nixl-cudaXXX` backend and a compatible NVIDIA GPU. Code attempting to use `nixl.Device.GPU` without a proper setup will raise a runtime error or unexpectedly fall back to CPU.
fix
Ensure your system has a compatible NVIDIA GPU and CUDA Toolkit. Verify `nixl` has successfully installed the correct `nixl-cudaXXX` package. You can explicitly check device availability using `nixl.get_device_info()` or by inspecting the `nixl` package version (e.g., `nixl.__version__` should correspond to an installed `nixl-cudaXXX` package).
affects: 1.0.0
Upgrade
Version history
1.4.0latest on PyPI · released Aug 14, 2026
Audit
Dependencies
nixl-cudaXXXrequiredAutomatically installed meta-dependency based on system CUDA environment (e.g., nixl-cuda118, nixl-cuda122); provides the actual core functionality. Not directly listed as a pip dependency.
Agent activity
7 hits · last 30 days
node
6
Resources
nixl — pip install nixl · libregistry