Skip to content

[no-ci] docs: add uv and pixi installation instructions#1650

Merged
leofang merged 6 commits intoNVIDIA:mainfrom
cluster2600:docs/add-uv-pixi-install-instructions
Apr 8, 2026
Merged

[no-ci] docs: add uv and pixi installation instructions#1650
leofang merged 6 commits intoNVIDIA:mainfrom
cluster2600:docs/add-uv-pixi-install-instructions

Conversation

@cluster2600
Copy link
Copy Markdown
Contributor

What

Add installation instructions for uv and pixi package managers to the installation documentation for both cuda.bindings and cuda.core.

Why

Closes #1248. Both uv and pixi are gaining significant adoption in the scientific Python and CUDA communities:

  • uv is a blazing-fast Python package manager from Astral that offers a drop-in replacement for pip with much faster installs
  • pixi is a cross-platform package manager built on the conda ecosystem, particularly well-suited for scientific computing workflows with CUDA dependencies

Users actively request these instructions, and providing them lowers the barrier to entry for developers using modern tooling.

How

Added new sections in:

  • cuda_bindings/docs/source/install.rst – "Installing with uv" and "Installing with pixi" sections after the Conda section
  • cuda_core/docs/source/install.rst – same sections, adapted for cuda-core's CUDA-version-specific extras ([cu12], [cu13])

Each section includes:

  • Basic install commands
  • Optional dependencies / CUDA version selection where applicable
  • Virtual environment setup with uv
  • pixi.toml snippet for project-based workflows
  • Links to official documentation for each tool

Testing

  • Verified RST syntax is valid and consistent with existing doc style
  • Reviewed generated output mentally; no build errors expected as these are additive-only changes
  • Verified that all URLs referenced (docs.astral.sh/uv, pixi.sh) are live and correct

Checklist

  • Documentation-only change
  • Added instructions for both cuda.bindings and cuda.core
  • Used consistent RST style matching the rest of the file
  • Verified external links are valid
  • Addresses the feature request in issue Add installation instructions for uv and pixi #1248

Add installation instructions for two modern Python package managers:

- uv: A fast Python package and project manager from Astral, compatible
  with PyPI packages. Instructions cover basic install, optional deps,
  and virtual environment creation.

- pixi: A cross-platform package manager built on the conda ecosystem,
  with support for conda-forge packages. Instructions cover project
  initialization, adding dependencies via CLI, and pixi.toml config.

Both tools are increasingly popular in the scientific Python community
and provide faster dependency resolution than traditional pip/conda.

Closes NVIDIA#1248
@copy-pr-bot
Copy link
Copy Markdown
Contributor

copy-pr-bot bot commented Feb 18, 2026

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.

@rparolin rparolin requested a review from leofang February 18, 2026 19:40
@rparolin rparolin added this to the cuda.bindings next milestone Feb 18, 2026
Copy link
Copy Markdown
Contributor

@mdboom mdboom left a comment

Choose a reason for hiding this comment

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

In fairness the issue this is response to is pretty minimal, but I think it sort of misses the mark.

A couple obvious issues:

  • The cuda_bindings instructions say how to install cuda_python.
  • The advantage of pixi is really to create a consistent environment for development, which these instructions don't really address.

I don't think we need to document "how to install a package with your package manager of choice", but it's fine to document "a well-trodden, supported path for making local development easier", and this is kind of neither.

@cluster2600
Copy link
Copy Markdown
Contributor Author

Thanks for the detailed feedback — that’s fair.

My intent was to document a supported, repeatable path for local development, not 'yet another way to install a package.' I agree the current wording doesn’t make that clear and it overlaps with existing cuda_bindings install docs.

I’ll update the PR to:

  • Refocus on dev environment setup, not cuda_python installation.
  • For uv: document the recommended workflow (venv + editable install) and link to the canonical cuda_bindings instructions instead of duplicating them.
  • For pixi: add a concrete, reproducible dev flow (init / environment creation / editable install / running tests) so the 'consistent environment' value is actually addressed.
  • Trim anything that reads like 'pick your package manager.'

If you have a preferred structure/location for 'development environment' docs (e.g. CONTRIBUTING / developer guide), I’m happy to align with that.

@cluster2600
Copy link
Copy Markdown
Contributor Author

@mdboom Follow-up with the exact commands/paths (my last comment got eaten by shell backticks):

  • Files updated:

    • cuda_bindings/docs/source/install.rst
    • cuda_core/docs/source/install.rst
  • The old “Installing with uv/pixi” sections were replaced with a single Development environment section.

  • uv dev workflow (example):

    • cd cuda-python/cuda_bindings
    • uv venv
    • source .venv/bin/activate (Windows: .venv\\Scripts\\activate)
    • uv pip install -e . --group test
    • python -m pytest tests

    For cuda-core, similarly (example for CUDA 13):

    • cd cuda-python/cuda_core
    • uv venv
    • source .venv/bin/activate
    • uv pip install -e .[cu13] --group test
    • python -m pytest tests
  • pixi dev workflow (reproducible env from repo-root pixi.toml):

    • pixi run -e cu13 test-bindings / pixi run -e cu13 test-core
    • pixi run -e cu13 test to run the full matrix (pathfinder → bindings → core)
    • use -e cu12 to test CUDA 12.

Commit: 9f296a1

@cluster2600
Copy link
Copy Markdown
Contributor Author

Hi @mdboom — thanks again for the thorough review. I've addressed all your points in the latest commits:

  • Removed the pip installation section entirely, focusing only on uv and pixi as development environment tools (not pip alternatives)
  • Added a brief note explaining why uv/pixi are useful in this context (faster, reproducible dev environments)
  • Kept the scope minimal, matching the existing install docs structure

Could you take another look when you get a chance? Happy to adjust further based on your feedback.

Copy link
Copy Markdown
Contributor

@mdboom mdboom left a comment

Choose a reason for hiding this comment

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

Thanks, LGTM!

Copy link
Copy Markdown
Contributor

@mdboom mdboom left a comment

Choose a reason for hiding this comment

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

Thanks, LGTM!

@cluster2600 cluster2600 requested a review from mdboom February 24, 2026 21:58
@cluster2600
Copy link
Copy Markdown
Contributor Author

All review feedback has been addressed. This is ready to merge when you have a moment. Thanks!

Remove changes to cuda_bindings/ as requested by maintainer —
external contributors cannot modify files under that path.
The uv/pixi dev workflow docs remain in cuda_core/.

Signed-off-by: Maxime Grenu <maxime.grenu@gmail.com>
@cluster2600
Copy link
Copy Markdown
Contributor Author

Totally fair — apologies for touching the restricted path, should have checked first. Reverted in the latest push; the uv/pixi sections now live solely under cuda_core/.

Appreciate the patience on this one, and thanks for the heads-up about the upcoming automation in #1871. Happy to adjust anything else if needed.

@leofang leofang added documentation Improvements or additions to documentation cuda.core Everything related to the cuda.core module labels Apr 8, 2026
@leofang leofang changed the title docs: add uv and pixi installation instructions [no-ci] docs: add uv and pixi installation instructions Apr 8, 2026
@leofang
Copy link
Copy Markdown
Member

leofang commented Apr 8, 2026

/ok to test 9e8ade0

@leofang leofang enabled auto-merge (squash) April 8, 2026 16:54
@leofang leofang merged commit c93623b into NVIDIA:main Apr 8, 2026
20 of 21 checks passed
@leofang
Copy link
Copy Markdown
Member

leofang commented Apr 8, 2026

Thanks @cluster2600 @mdboom !

@github-actions

This comment has been minimized.

1 similar comment
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 9, 2026

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.core Everything related to the cuda.core module documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add installation instructions for uv and pixi

4 participants