skillfed

cupti-python

NVIDIA CUPTI Python Library

cupti-python v13.3.1 599.7K downloads/30d#5,825 on PyPI
License unclear NVIDIA SOFTWARE LICENSE AGREEMENT IMPORTANT NOTICE - PLEASE READ AND AGREE BEFORE USING THE SOFTWARE This software license agreement ("Agreement") is a legal agreement between you, whether an… (full text in the JSON record) Active released

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

Provides Python bindings to NVIDIA's CUPTI profiling and tracing APIs for instrumenting CUDA applications with activity and callback-based performance monitoring.

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

pip

pip install cupti-python

uv

uv add cupti-python

poetry

poetry add cupti-python

Installing cupti-python

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.

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

Requires Linux (manylinux_2_24+), Python 3.10–3.14, NVIDIA CUDA toolkit, and an NVIDIA GPU.

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 NVIDIA SOFTWARE LICENSE AGREEMENT IMPORTANT NOTICE - PLEASE READ AND AGREE BEFORE USING THE SOFTWARE This software license agreement ("Agreement") is a legal agreement between you, whether an… (full text in the JSON record) (unclear)
Python support supports the current Python release (>=3.10)
Install friction medium — platform-specific wheel
Runtime dependencies 5 — nvidia-cuda-cupti, cuda-bindings, cuda-pathfinder, numpy, pyelftools
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)

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

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

Tags

cuda profiling pythongpu performance tracingnvidia cupti bindingscuda activity monitoringgpu application profiling
gpu-profilingcuda-toolsperformance-analysis

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

nvidia-cuda-cupti-cu11

Provides NVIDIA CUDA profiling runtime…

unclear · top 5,000 on PyPI

nvidia-cuda-cupti-cu12

Provides GPU profiling runtime libraries for…

unclear · top 1,000 on PyPI

nvidia-cuda-cupti

Provides CUDA profiling runtime libraries that…

unclear · top 1,000 on PyPI

nvidia-nvtx-cu12

Provides a C-based API for annotating events,…

permissive · top 1,000 on PyPI

nvidia-nvtx

Provides a Python API for annotating events and…

unclear · top 1,000 on PyPI

nvidia-nvtx-cu11

Provides a C-based API for annotating events,…

unclear · top 5,000 on PyPI

cuda-python

cuda-python is a metapackage providing Pythonic…

unclear · top 5,000 on PyPI

nvtx

nvtx annotates Python code regions with named…

unclear · top 5,000 on PyPI

nvidia-cufft-cu12

Provides NVIDIA CUFFT native runtime libraries…

unclear · top 1,000 on PyPI

nccl4py

nccl4py provides Python bindings to NVIDIA's…

permissive · top 15,000 on PyPI