nccl4py
NCCL4Py: Python bindings for NCCL
Decision gist · record as of 2026-08-14
Yes, if you are building distributed GPU applications on Linux clusters and need low-latency collective communication. The active maintenance, permissive Apache-2.0 license, and strong repository signals indicate a well-supported project. Medium install friction (CUDA runtime dependency, platform-specific wheels) is typical and expected for GPU libraries. No known security vulnerabilities. Not suitable for Windows or macOS, or for single-GPU workloads.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires NVIDIA CUDA 12.x or 13.x installed and NVIDIA GPU hardware; Linux (x86_64 or aarch64) only; Python 3.10 or later.
- Medium install friction due to CUDA runtime dependencies (cuda-core, cuda-pathfinder) and platform-specific wheels (x86_64 and aarch64 Linux only).
- Active maintenance with a recent release (3 days old) and strong repository signals (4996 stars, last commit 2026-08-14).
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 permissive license allows commercial and private use with minimal restrictions, making it suitable for production deployments in research and industry settings.
last release 2026-08-11 (3 days) · last repo commit 2026-08-14 · 4,996 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 323,537 downloads/mo, #7,605 on PyPI
Alternatives
Verify before relying
pip install nccl4py[cu12]
import nccl4py
import numpy as np
# Initialize NCCL communicator for multi-GPU operations
comm = nccl4py.NcclComm()
data = np.array([1.0, 2.0, 3.0])
comm.AllReduce(data)- Whether nccl4py requires explicit NCCL library installation or bundles it with the wheel.
- Performance characteristics compared to direct NCCL C API or other Python distributed frameworks.
- Supported collective operations beyond AllReduce and their API signatures.
What it is and what it does
nccl4py is a Python wrapper around NVIDIA's Collective Communications Library (NCCL), designed to bring GPU-accelerated communication to Python applications running on multi-GPU and multi-node clusters. It abstracts NCCL's C API into a Pythonic interface, allowing distributed computing frameworks and custom applications to coordinate GPU computations across multiple nodes without dropping to C code.
The package targets researchers and engineers building distributed machine learning systems, high-performance computing applications, and other workloads that need efficient all-reduce, broadcast, and other collective operations across GPUs. It depends on numpy for array handling, packaging for version management, and CUDA runtime libraries (cuda-core and cuda-pathfinder) to interface with GPU hardware. Installation requires CUDA 12.x or 13.x and is limited to Linux on x86_64 or aarch64 architectures.
Use it for
- Coordinate gradient synchronization across multiple GPUs during distributed deep learning training.
- Implement custom all-reduce and broadcast operations in multi-node HPC applications.
- Build distributed data-parallel inference pipelines that need efficient GPU-to-GPU communication.
- Integrate NCCL communication into Python-based simulation or numerical computing frameworks.
- Prototype distributed algorithms that require low-latency collective operations on GPU clusters.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are building distributed GPU applications on Linux clusters and need low-latency collective communication.
The active maintenance, permissive Apache-2.0 license, and strong repository signals indicate a well-supported project. Medium install friction (CUDA runtime dependency, platform-specific wheels) is typical and expected for GPU libraries. No known security vulnerabilities. Not suitable for Windows or macOS, or for single-GPU workloads.
Install
nccl4py on PyPI
Before you install
Medium install friction due to CUDA runtime dependencies (cuda-core, cuda-pathfinder) and platform-specific wheels (x86_64 and aarch64 Linux only). Active maintenance with a recent release (3 days old) and strong repository signals (4996 stars, last commit 2026-08-14).
Requires NVIDIA CUDA 12.x or 13.x installed and NVIDIA GPU hardware; Linux (x86_64 or aarch64) only; Python 3.10 or later.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions, making it suitable for production deployments in research and industry settings.
Quickstart
pip install nccl4py[cu12]
import nccl4py
import numpy as np
# Initialize NCCL communicator for multi-GPU operations
comm = nccl4py.NcclComm()
data = np.array([1.0, 2.0, 3.0])
comm.AllReduce(data)
Verify before relying
- Whether nccl4py requires explicit NCCL library installation or bundles it with the wheel.
- Performance characteristics compared to direct NCCL C API or other Python distributed frameworks.
- Supported collective operations beyond AllReduce and their API signatures.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 4 packagespackagingnumpycuda-corecuda-pathfinder |
| Maintenance | Actively maintained 3 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 323,537 / month, #7,605 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Environment :: GPU :: NVIDIA CUDAEnvironment :: GPU :: NVIDIA CUDA :: 12Environment :: GPU :: NVIDIA CUDA :: 13Intended Audience :: DevelopersIntended Audience :: End Users/DesktopIntended Audience :: Science/ResearchNatural Language :: EnglishOperating System :: POSIX :: LinuxProgramming Language :: CythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTopic :: EducationTopic :: Scientific/EngineeringTopic :: Software Development :: Libraries |
Evidence: nccl4py-0.4.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; nccl4py-0.4.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; nccl4py-0.4.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; nccl4py-0.4.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; nccl4py-0.4.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; nccl4py-0.4.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; nccl4py-0.4.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; nccl4py-0.4.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; nccl4py-0.4.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; nccl4py-0.4.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; nccl4py-0.4.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; nccl4py-0.4.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “nccl python bindings”
- nccl4pynccl4py provides Python bindings to NVIDIA's Collective…
- nvidia-nccl-cu11Provides NVIDIA's collective communication library (NCCL) runtime for…
- nvidia-nccl-cu12Provides NVIDIA's NCCL runtime library for GPU collective…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also nvidia-nccl-cu13 · nvshmem4py-cu13 · nvidia-nccl-cu11 · nvidia-nccl-cu12 · clusterscope · nvidia-cuda-cccl · oneccl · nvidia-nvshmem-cu12 · mpi4py · nixl-cu13