cuda-python
CUDA Python: Performance meets Productivity
What it is and what it does
cuda-python is NVIDIA's official Python interface to the CUDA platform, restructured as a metapackage that bundles multiple subcomponents. It provides both high-level, Pythonic abstractions (cuda.core for CUDA Runtime) and low-level C API bindings (cuda.bindings for CUDA Driver, NVRTC, NVML, and related libraries), plus utilities like cuda.pathfinder for locating CUDA installations. The package aims to enable end-to-end GPU development in Python without leaving the language.
The metapackage approach allows developers to install only the components they need—whether that's just the runtime bindings, low-level driver access, or specialized modules like numba.cuda for kernel JIT compilation or nvmath-python for math library access. It targets developers, researchers, and end users on Windows and Linux, supporting Python 3.10 through 3.14.
Use it for:
- Write GPU kernels in Python using numba.cuda or cuda.tile DSLs and compile them to CUDA without leaving Python.
- Access CUDA Driver and Runtime APIs directly from Python for fine-grained GPU memory and kernel control.
- Build GPU-accelerated libraries that expose CUDA functionality through idiomatic Python interfaces.
- Profile and debug CUDA Python applications using Nsight Python or CUPTI Python profiling tools.
- Perform distributed GPU computing with nvshmem4py's PGAS programming model across multiple GPUs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
cuda-python is a metapackage providing Pythonic access to NVIDIA's CUDA platform, bundling low-level bindings, runtime abstractions, and utilities for GPU-accelerated computing from Python.
Yes, if you are developing GPU-accelerated Python applications and have an NVIDIA GPU with compatible drivers. The package is actively maintained, has low install friction, and provides both high-level and low-level access to CUDA. However, verify that the proprietary NVIDIA license aligns with your project's requirements before committing to it in production or redistributed code.
Install
cuda-python on PyPI
pip
pip install cuda-pythonuv
uv add cuda-pythonpoetry
poetry add cuda-pythonInstalling cuda-python
Before you install
Low install friction; distributed as a pure-Python wheel. Actively maintained with recent commits and 3342 repository stars. Supports current Python versions (3.10–3.14) and targets both Windows and Linux.
License in practice
Licensed under LicenseRef-NVIDIA-SOFTWARE-LICENSE, a proprietary NVIDIA license. The license treatment is unclear; review NVIDIA's terms before use in commercial or redistributed projects.
Quickstart
pip install cuda-python
import cuda.core
import cuda.bindings
# Access CUDA runtime via cuda.core or low-level APIs via cuda.bindings
Requires Python 3.10 or later and an NVIDIA GPU with compatible CUDA drivers installed on the system.
Verify before relying
- Whether the proprietary NVIDIA license permits commercial use and redistribution without additional agreements.
- Whether all bundled subpackages (cuda.coop, cuda.compute, numba-cuda-mlir, etc.) are included in the base install or require separate installation.
- Performance characteristics and typical overhead of the Pythonic abstractions in cuda.core versus direct cuda.bindings calls.
Package facts
| License | LicenseRef-NVIDIA-SOFTWARE-LICENSE (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — cuda-bindings, cuda-core, cuda-pathfinder |
| Maintenance | actively maintained — 77 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 10,132,165/month — #1,478 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cuda_python-13.3.1-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
cuda-bindingsProvides low-level Python bindings for CUDA…
unclear · top 1,000 on PyPI
cuda-coreProvides Pythonic APIs to access CUDA core…
permissive · top 5,000 on PyPI
cuda-tilecuTile Python is a compiler and programming…
permissive · top 5,000 on PyPI
hip-pythonProvides low-level Python and Cython bindings…
permissive · top 15,000 on PyPI
pycudaPyCUDA provides Pythonic bindings to Nvidia's…
permissive · top 15,000 on PyPI
cuda-pathfinderLocates and loads CUDA dynamic libraries and…
permissive · top 1,000 on PyPI
cufile-pythonProvides a Python wrapper around the NVIDIA…
permissive · top 15,000 on PyPI
slangtorchslangtorch lets you write PyTorch kernels in…
permissive · top 15,000 on PyPI
nvshmem4py-cu13Provides a Python interface to NVSHMEM,…
unclear · top 15,000 on PyPI
warp-langWarp is a Python framework that JIT-compiles…
permissive · top 5,000 on PyPI