Skip to content

[doc-only] cuda.{core,bindings,pathfinder}: nightly install docs and unify "Development environment" structure#2187

Merged
leofang merged 2 commits into
NVIDIA:mainfrom
leofang:leofang/issue-2166-rest
Jun 10, 2026
Merged

[doc-only] cuda.{core,bindings,pathfinder}: nightly install docs and unify "Development environment" structure#2187
leofang merged 2 commits into
NVIDIA:mainfrom
leofang:leofang/issue-2166-rest

Conversation

@leofang

@leofang leofang commented Jun 9, 2026

Copy link
Copy Markdown
Member

What

Extends #2175 to the remaining components named in #2166 (which covers all three of cuda.pathfinder, cuda.bindings, and cuda.core — the original PR only added the nightly recipe for cuda.core), and unifies the install-doc structure across all three components.

Commit 1 — nightly recipes for the other two components

  • cuda_bindings/docs/source/install.rst: add a new Development environment section with an Installing the latest nightly (top-of-tree builds) subsection, between Installing from Conda and Installing from Source. Mirrors the cuda.core layout. The artifact pattern includes the CUDA major (cuda13*) because cuda-bindings wheels are CUDA-versioned.
  • cuda_pathfinder/docs/source/install.rst (NEW): cuda.pathfinder previously had no install page. Adds a minimal install.rst (PyPI / Conda / Development environment → nightly / Source). Nightly uses the single pure-Python cuda-pathfinder-wheel artifact — no python/platform/CUDA selection needed.
  • cuda_pathfinder/docs/source/index.rst: wire install into the toctree.

Commit 2 — consistent nesting of "Installing from Source"

  • Across all three components, drop Installing from Source from --- to ~~~ so it lives under Development environment as a sibling of the nightly / uv / pixi subsections (instead of as a top-level sibling of Development environment).
  • For cuda.bindings, also drop its Requirements and Editable Install subsections from ~~~ to ^^^ so the depth still works.
  • Bump SPDX copyright on the three touched existing files to 2025-2026; the new cuda_pathfinder install.rst carries 2026.

Why

#2166 asks for the top-of-tree install recipe to be documented in the developer guide for all components. #2175 only covered cuda.core; this PR closes the gap for the other two and additionally unifies the section nesting so the developer-workflow group reads consistently across all three install pages.

Tested

  • gh run list -R NVIDIA/cuda-python -w ci.yml -b main -s success -L1 resolves cleanly against the live repo.
  • Local sphinx-build of all three docs sets (cuda_core/docs, cuda_bindings/docs, cuda_pathfinder/docs) succeeds with no new warnings on the changed/added install.rst files. Pre-existing autosummary warnings in cuda_pathfinder (the package isn't installed in the build env) are unchanged.
  • Verified the cuda.bindings artifact name pattern against ci/tools/env-vars (cuda-bindings-python{PY}-cuda{CUDA_VER}-{PLATFORM}-{SHA}) and the cuda.pathfinder upload step (cuda-pathfinder-wheel, single artifact per run).

Notes

…y (top-of-tree) builds

Extends the cuda.core change in NVIDIA#2175 to the remaining cuda-python
components named in NVIDIA#2166 (which also covers cuda.bindings and
cuda.pathfinder).

cuda_bindings:
  - Add a new "Development environment" section to install.rst with a
    "Installing the latest nightly (top-of-tree builds)" subsection,
    matching the cuda.core layout. Artifact pattern includes the CUDA
    major (cuda13*) since cuda-bindings wheels are CUDA-versioned.

cuda_pathfinder:
  - Add a new install.rst (PyPI / Conda / Development environment with
    nightly subsection / Source). cuda.pathfinder previously had no
    standalone install page. Nightly uses the single pure-Python
    cuda-pathfinder-wheel artifact (no python/platform/CUDA selection
    needed).
  - Wire install.rst into the toctree in index.rst.
@copy-pr-bot

copy-pr-bot Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions github-actions Bot added cuda.bindings Everything related to the cuda.bindings module cuda.pathfinder Everything related to the cuda.pathfinder module labels Jun 9, 2026
…rce" under "Development environment"

Make "Installing from Source" consistently a subsection of
"Development environment" across all three components instead of a
top-level sibling, matching the intent of the developer-workflow group
introduced in NVIDIA#2175.

- cuda.core: drop "Installing from Source" from --- to ~~~ (now under
  Development environment, as a sibling of nightly / uv / pixi).
- cuda.bindings: drop "Installing from Source" from --- to ~~~, and
  drop its "Requirements" and "Editable Install" subsections from ~~~
  to ^^^ accordingly.
- cuda.pathfinder: drop "Installing from Source" from --- to ~~~ in
  the new install.rst added earlier in this branch.

Also bump SPDX copyright headers on touched existing files to
2025-2026; the new cuda_pathfinder install.rst uses 2026.
@github-actions github-actions Bot added the cuda.core Everything related to the cuda.core module label Jun 9, 2026
@leofang leofang changed the title [doc-only] cuda.{bindings,pathfinder}: document how to install nightly (top-of-tree) builds [doc-only] cuda.{core,bindings,pathfinder}: nightly install docs and unify "Development environment" structure Jun 9, 2026
@leofang leofang added documentation Improvements or additions to documentation P1 Medium priority - Should do labels Jun 9, 2026
@leofang leofang added this to the cuda.bindings next milestone Jun 9, 2026
@leofang leofang marked this pull request as ready for review June 9, 2026 21:28
@leofang leofang requested a review from rparolin June 9, 2026 21:28
@leofang

leofang commented Jun 9, 2026

Copy link
Copy Markdown
Member Author

/ok to test c3e158c

@leofang leofang self-assigned this Jun 9, 2026
@github-actions

This comment has been minimized.

@leofang

leofang commented Jun 9, 2026

Copy link
Copy Markdown
Member Author

@rparolin this is ready

@mdboom mdboom left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My comments are just nice-to-haves / follow-ups.

-----------------------

The sections above cover end-user installation. The section below focuses on
a repeatable *development* workflow (editable installs and running tests).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are the advantages of an editable install when it's almost 100% compiled code? Personally, I find them more confusing/trouble than a regular install, since you have to recompile for virtually every change anyway.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For many Cython-based projects like CuPy, editable install works the same as pure Python projects, in that if a Cython module is not touched, it would not get re-compiled and local development is fast. However, my impression has been that it doesn't quite work for cuda-bindings for whatever reason. I am hoping that dropping Tempita might be the solution, but we'll see.

Comment on lines +100 to +107
$ # Find the latest successful CI run on main:
$ RUN_ID=$(gh run list -R NVIDIA/cuda-python -w ci.yml -b main -s success -L1 --json databaseId -q '.[0].databaseId')

$ # Download the wheel (pick your Python version and platform):
$ gh run download "$RUN_ID" -R NVIDIA/cuda-python -p "cuda-bindings-python312-cuda13*-linux-64-*"

$ # Install the downloaded wheel:
$ pip install cuda-bindings-python312-cuda13*-linux-64-*/cuda_bindings*.whl[all]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be great to put these three lines in a script in toolshed. Something like toolshed/install-latest-wheel cuda_bindings.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought we do not want to document anything from toolshed?

@leofang leofang merged commit c270969 into NVIDIA:main Jun 10, 2026
71 of 77 checks passed
@leofang leofang deleted the leofang/issue-2166-rest branch June 10, 2026 15:58
@leofang

leofang commented Jun 10, 2026

Copy link
Copy Markdown
Member Author

Thanks, Mike!

@github-actions

Copy link
Copy Markdown
Doc Preview CI
Preview removed because the pull request was closed or merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cuda.bindings Everything related to the cuda.bindings module cuda.core Everything related to the cuda.core module cuda.pathfinder Everything related to the cuda.pathfinder module documentation Improvements or additions to documentation P1 Medium priority - Should do

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants