cupti-python
NVIDIA CUPTI Python Library
Decision gist · record as of 2026-08-14
Yes, if you are profiling or tracing CUDA Python applications on Linux and accept NVIDIA's proprietary license terms. The package is actively maintained, has no known vulnerabilities, and fills a gap in GPU observability for Python. No, if you need cross-platform support, open-source licensing, or are developing competing GPU profiling tools—the EULA explicitly forbids the latter.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Linux (manylinux_2_24+), Python 3.10–3.14, NVIDIA CUDA toolkit, and an NVIDIA GPU.
- Medium install friction due to compiled wheels for specific Python versions (3.10–3.14) and Linux platforms only.
- Active maintenance with recent release (17 days old).
License · maintenance · safety
(unclear) — Licensed under NVIDIA's proprietary EULA with significant restrictions: use limited to CUDA Python applications on NVIDIA GPUs, reverse engineering prohibited, distribution requires NVIDIA notice, and competing product development forbidden. Not open source.
last release 2026-07-28 (17 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 599,662 downloads/mo, #5,825 on PyPI
Alternatives
Verify before relying
pip install cupti-python
import cupti_python
# Use CUPTI APIs to set up profiling/tracing for CUDA applications- Specific CUPTI C Activity and Callback API subset supported—which APIs are included or excluded
- Performance overhead of profiling/tracing relative to native CUPTI C
- Compatibility with different CUDA compute capabilities or driver versions
What it is and what it does
CUPTI Python is NVIDIA's official Python interface to CUPTI (CUDA Profiling Tools Interface), enabling developers to build custom profiling and tracing tools for CUDA Python applications. It exposes a subset of CUPTI's C Activity and Callback APIs, allowing you to instrument GPU kernels, memory operations, and other CUDA events at runtime.
The package is tightly coupled to NVIDIA's CUDA ecosystem: it requires the nvidia-cuda-cupti system library, cuda-bindings for low-level GPU interaction, cuda-pathfinder for locating CUDA installations, numpy for array handling, and pyelftools for binary introspection. It ships as precompiled wheels for Linux x86_64 and aarch64 on Python 3.10 through 3.14, making installation straightforward on supported platforms but impossible elsewhere.
Use it for
- Profile CUDA Python workloads to identify kernel bottlenecks and memory transfer overhead.
- Trace GPU activity in real time to correlate host and device execution for debugging.
- Build custom performance monitoring dashboards for long-running CUDA applications.
- Analyze callback events to understand GPU scheduling and resource contention patterns.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are profiling or tracing CUDA Python applications on Linux and accept NVIDIA's proprietary license terms.
The package is actively maintained, has no known vulnerabilities, and fills a gap in GPU observability for Python. No, if you need cross-platform support, open-source licensing, or are developing competing GPU profiling tools—the EULA explicitly forbids the latter.
Install
cupti-python on PyPI
Before you install
Medium install friction due to compiled wheels for specific Python versions (3.10–3.14) and Linux platforms only. Active maintenance with recent release (17 days old). Depends on nvidia-cuda-cupti, cuda-bindings, cuda-pathfinder, numpy, and pyelftools.
Requires Linux (manylinux_2_24+), Python 3.10–3.14, NVIDIA CUDA toolkit, and an NVIDIA GPU.
License in practice
Licensed under NVIDIA's proprietary EULA with significant restrictions: use limited to CUDA Python applications on NVIDIA GPUs, reverse engineering prohibited, distribution requires NVIDIA notice, and competing product development forbidden. Not open source.
Quickstart
pip install cupti-python
import cupti_python
# Use CUPTI APIs to set up profiling/tracing for CUDA applications
Verify before relying
- Specific CUPTI C Activity and Callback API subset supported—which APIs are included or excluded
- Performance overhead of profiling/tracing relative to native CUPTI C
- Compatibility with different CUDA compute capabilities or driver versions
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 5 packagesnvidia-cuda-cupticuda-bindingscuda-pathfindernumpypyelftools |
| Maintenance | Actively maintained 17 days since the last release |
| First released | |
| Downloads | 599,662 / month, #5,825 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Environment :: GPU :: NVIDIA CUDAIntended Audience :: DevelopersLicense :: Other/Proprietary LicenseProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: cupti_python-13.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; cupti_python-13.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; cupti_python-13.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; cupti_python-13.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; cupti_python-13.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; cupti_python-13.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; cupti_python-13.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; cupti_python-13.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; cupti_python-13.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; cupti_python-13.3.1-cp314-cp314-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 › “gpu performance tracing”
- cupti-pythonProvides Python bindings to NVIDIA's CUPTI profiling and tracing APIs…
- torch-tb-profilerIntegrates PyTorch profiling data with TensorBoard, providing GPU…
- nvidia-nvtxProvides a Python API for annotating events and code ranges in…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also nvidia-cuda-cupti-cu11 · nvidia-cuda-cupti-cu12 · nvidia-cuda-cupti · nvidia-nvtx-cu12 · nvidia-nvtx · nvidia-nvtx-cu11 · cuda-python · nvtx · nvidia-cufft-cu12 · nccl4py