Install cuOpt for Python, C, or server via pip, conda, or Docker; verify the install. For building cuOpt from source, see cuopt-developer.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add NVIDIA/skills --skill cuopt-install --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cuopt Install?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/nvidia-cuopt-install)More formats (shields.io, HTML) on the badges page.
---
name: cuopt-install
version: "26.10.00"
description: Install cuOpt for Python, C, or server via pip, conda, or Docker; verify the install. For building cuOpt from source, see cuopt-developer.
license: Apache-2.0
metadata:
author: NVIDIA cuOpt Team
tags:
- cuopt
- install
- deployment
- python
- server
---
# cuOpt Install (user)
Install cuOpt to *use* it from Python, C, or as a REST server. For building cuOpt from source to contribute or modify it, see `cuopt-developer`.
## System requirements
- **GPU**: NVIDIA Compute Capability ≥ 7.0 (Volta or newer). Examples: V100, A100, H100, RTX 20xx/30xx/40xx. Not supported: GTX 10xx (Pascal).
- **CUDA**: 12.x or 13.x. The package CUDA suffix must match the runtime CUDA (e.g. `cuopt-cu12` / `libcuopt-cu12` with CUDA 12).
- **Driver**: NVIDIA driver compatible with the CUDA version.
- `cuopt-cuXX` (Python) depends on `libcuopt-cuXX` (C), so installing the Python package also installs the C library and headers. Installing `libcuopt-cuXX` on its own does **not** install the Python API.
## Required questions
Ask these if not already clear:
1. **Interface** — Python, C, or REST server? Server can be called from any language via HTTP.
2. **CUDA version** — What is installed? Check with `nvcc --version` or `nvidia-smi`.
3. **Package manager** — pip, conda, or Docker preferred?
4. **Environment** — Local machine with GPU, cloud instance, Docker/Kubernetes, or remote/server (no local GPU)?
## Python API
**Choose one** — do not run both. The second install would override the first and can cause CUDA / package mismatch.
### pip
- **CUDA 13.x:**
```bash
pip install --extra-index-url=https://pypi.nvidia.com cuopt-cu13
```
- **CUDA 12.x:**
```bash
pip install --extra-index-url=https://pypi.nvidia.com 'cuopt-cu12==26.2.*'
```
### conda
```bash
conda install -c rapidsai -c conda-forge -c nvidia cuopt
```
### Verify
```python
import cuopt
print(cuopt.__version__)
from cuopt import routing
dm = routing.DataModel(n_locations=3, n_fleet=1, n_orders=2)
```
## C API
The C API ships in `libcuopt-cuXX`, which is also pulled in as a dependency of `cuopt-cuXX` — so if you already installed the Python package, the C library and headers are already present. Install `libcuopt` standalone only when you want the C API without Python. **Choose one** of pip or conda — do not run both.
### pip
- **CUDA 13.x:**
```bash
pip install --extra-index-url=https://pypi.nvidia.com libcuopt-cu13
```
- **CUDA 12.x:**
```bash
pip install --extra-index-url=https://pypi.nvidia.com 'libcuopt-cu12==26.2.*'
```
### conda
```bash
conda install -c rapidsai -c conda-forge -c nvidia libcuopt
```
### Verify
See [`references/verification_examples.md`](references/verification_examples.md)
for the canonical C-API header/library `find` commands (conda and pip/venv variants).
## Server (REST)
### pip
```bash
pip install --extra-index-url=https://pypi.nvidia.com cuopt-server-cu12 cuopt-sh-client
```
### conda
```bash
conda install -c rapidsai -c conda-forge -c nvidia cuopt-server cuopt-sh-client
```
### Docker
```bash
docker pull nvidia/cuopt:latest-cuda12.9-py3.13
docker run --gpus all -it --rm -p 8000:8000 nvidia/cuopt:latest-cuda12.9-py3.13
```
### Verify
```bash
python -m cuopt_server.cuopt_service --ip 0.0.0.0 --port 8000 &
sleep 5
curl -s http://localhost:8000/cuopt/health | jq .
```
## Common Issues
- `No module named 'cuopt'` → check `pip list | grep cuopt`, `which python`, reinstall with the correct extra-index-url.
- CUDA not available → run `nvidia-smi` and `nvcc --version`; ensure the package CUDA suffix (`cu12` vs `cu13`) matches the installed CUDA.
- Python vs C → `cuopt-cuXX` pulls in `libcuopt-cuXX` as a transitive dependency, so the C library (`libcuopt.so`) and headers (`cuopt_c.h`) are already available after installing the Python package. The reverse is **not** true: `libcuopt-cuXX` alone does not install the Python bindings.
## See also
- [verification_examples.md](references/verification_examples.md) — full verification recipes for Python, C, server, and Docker.
- `cuopt-developer` — build cuOpt from source and contribute to the codebase.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!