Skip to content

Refactor installation guide for 1.0 release#2003

Merged
preist-nvidia merged 9 commits into
newton-physics:mainfrom
preist-nvidia:dev/preist/updateInstallGuie
Mar 9, 2026
Merged

Refactor installation guide for 1.0 release#2003
preist-nvidia merged 9 commits into
newton-physics:mainfrom
preist-nvidia:dev/preist/updateInstallGuie

Conversation

@preist-nvidia

@preist-nvidia preist-nvidia commented Mar 9, 2026

Copy link
Copy Markdown
Member

Description

Refactors the installation and development guides in preparation for the 1.0 release.

  • Restructures installation guide to make pip install from PyPI the primary recommended method
  • Moves uv and source install instructions to the development guide
  • Fixes mandatory dependencies (adds newton-actuators)
  • Moves Extra Dependencies table to after the Quick Start
  • Adds guidance on torch-cu12 vs torch-cu13 selection via nvidia-smi

Checklist

  • New or existing tests cover these changes
  • The documentation is up to date with these changes
  • CHANGELOG.md has been updated (if user-facing change)

Test plan

Built docs locally with:

uv run --extra docs --extra sim sphinx-build -j auto -b html docs docs/_build/html

Build succeeded with no warnings related to these changes.

Summary by CodeRabbit

  • Documentation
    • Expanded development guide with multi‑method setup (clone + two install workflows), OS‑specific instructions, environment syncing, dev extras guidance, and test/docs commands.
    • Streamlined installation guide to emphasize PyPI install, simplified extras guidance, CUDA variant selection for examples with nvidia‑smi check, and moved advanced/source/uv workflows into the development guide.

@coderabbitai

coderabbitai Bot commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: c4fd8913-d1ae-4acf-92c4-fef969ed07c8

📥 Commits

Reviewing files that changed from the base of the PR and between 418877d and 512ba5a.

📒 Files selected for processing (2)
  • docs/guide/development.rst
  • docs/guide/installation.rst

📝 Walkthrough

Walkthrough

Replaces and reorganizes installation documentation: streamlines main installation to PyPI, removes in-source install instructions, and expands the development guide with two source/dev installation methods (uv and pip-in-venv), OS-specific steps, editable installs, and updated CUDA/torch extras guidance.

Changes

Cohort / File(s) Summary
Installation Guide
docs/guide/installation.rst
Refactors to prioritize PyPI install (e.g., pip install "newton[examples]"), removes the previous Extras table and full "Installing from Source" section, updates CUDA extras guidance (torch-cu12/torch-cu13), and redirects advanced/source workflows to the development guide.
Development Guide
docs/guide/development.rst
Replaces single install reference with detailed multi-method development instructions: Method 1 (uv-based with OS-specific install steps and uv sync), Method 2 (pip in virtualenv with editable install and quoted extras), notes on obtaining dev extras and NVIDIA warp-lang index, and updated test/docs commands.
Docs-wide command/formatting
docs/.../*.rst
Standardizes pip install examples to quote extras (e.g., -e ".[dev]"), reorders cross-references between installation and development guides, and updates examples/next-steps links and notes (nvidia-smi, CUDA mapping).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

docs, 1.0-release

Suggested reviewers

  • shi-eric
  • adenzler-nvidia
  • eric-heiden
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Refactor installation guide for 1.0 release' directly and clearly summarizes the main objective of the pull request, which is to restructure and refactor the installation and development guides in preparation for the 1.0 release.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@preist-nvidia preist-nvidia linked an issue Mar 9, 2026 that may be closed by this pull request
@codecov

codecov Bot commented Mar 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@coderabbitai coderabbitai Bot 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.

🧹 Nitpick comments (2)
docs/guide/installation.rst (1)

100-102: Consider clarifying the nvidia-smi guidance.

The current wording "you can find out your CUDA version by running nvidia-smi" is slightly imprecise. The nvidia-smi command shows the CUDA Driver API version, not the toolkit version. However, for the purpose of selecting PyTorch wheels, this is exactly what's needed since the driver version determines which CUDA runtimes are compatible.

Consider making this more explicit:

Run an example that runs RL policy inference. Choose the extra matching your
CUDA driver version (``torch-cu12`` for CUDA 12.x, ``torch-cu13`` for CUDA 13.x);
check your driver version with ``nvidia-smi`` (look for "CUDA Version" in the output):
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/guide/installation.rst` around lines 100 - 102, Update the sentence
starting "Run an example that runs RL policy inference." to clarify that users
should check their CUDA driver version (not toolkit) and to look for "CUDA
Version" in the output of `nvidia-smi`; specifically, change the phrase "you can
find out your CUDA version by running `nvidia-smi`" to indicate it reports the
CUDA driver version and instruct readers to "check your driver version with
`nvidia-smi` (look for 'CUDA Version' in the output)" while keeping the guidance
about choosing the torch-cu12/torch-cu13 extras intact.
docs/guide/development.rst (1)

19-22: Consider adding HTTPS clone option for accessibility.

The git clone command uses SSH format, which requires users to have SSH keys configured with GitHub. For broader accessibility, consider adding an HTTPS alternative:

.. code-block:: console

    # SSH (requires configured SSH keys)
    git clone git@github.com:newton-physics/newton.git
    # or HTTPS
    git clone https://github.com/newton-physics/newton.git
    cd newton
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/guide/development.rst` around lines 19 - 22, Update the README code
block that currently shows the SSH clone command "git clone
git@github.com:newton-physics/newton.git" to also present an HTTPS alternative;
add a short comment label for each option (e.g., "# SSH (requires configured SSH
keys)" and "# or HTTPS") and include the HTTPS clone command "git clone
https://github.com/newton-physics/newton.git" immediately alongside the existing
SSH line so readers can choose either method before the "cd newton" line.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/guide/development.rst`:
- Around line 19-22: Update the README code block that currently shows the SSH
clone command "git clone git@github.com:newton-physics/newton.git" to also
present an HTTPS alternative; add a short comment label for each option (e.g.,
"# SSH (requires configured SSH keys)" and "# or HTTPS") and include the HTTPS
clone command "git clone https://github.com/newton-physics/newton.git"
immediately alongside the existing SSH line so readers can choose either method
before the "cd newton" line.

In `@docs/guide/installation.rst`:
- Around line 100-102: Update the sentence starting "Run an example that runs RL
policy inference." to clarify that users should check their CUDA driver version
(not toolkit) and to look for "CUDA Version" in the output of `nvidia-smi`;
specifically, change the phrase "you can find out your CUDA version by running
`nvidia-smi`" to indicate it reports the CUDA driver version and instruct
readers to "check your driver version with `nvidia-smi` (look for 'CUDA Version'
in the output)" while keeping the guidance about choosing the
torch-cu12/torch-cu13 extras intact.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 0a5d7b3e-df7b-4f16-a30c-7406234693ef

📥 Commits

Reviewing files that changed from the base of the PR and between 9ae44d3 and 10d42e3.

📒 Files selected for processing (2)
  • docs/guide/development.rst
  • docs/guide/installation.rst

@adenzler-nvidia adenzler-nvidia left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Nice cleanup overall — the split between end-user installation and development guide is a clear improvement, and the extras table corrections (e.g. torch-cu12 now correctly says "includes examples") are welcome. A few items to address:

Comment thread docs/guide/installation.rst Outdated
Comment thread docs/guide/installation.rst Outdated
Comment thread docs/guide/development.rst Outdated
- Clarify nvidia-smi reports driver CUDA support, not toolkit version
- Remove duplicate basic_pendulum run from install snippet
- Switch from -f to --extra-index-url for NVIDIA pip index

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/guide/development.rst`:
- Around line 16-22: Replace or augment the SSH-only clone example "git clone
git@github.com:newton-physics/newton.git" in the docs/guide/development.rst code
block with an HTTPS alternative (e.g., "git clone
https://github.com/newton-physics/newton.git") or show both forms side-by-side
so contributors without SSH keys can clone; keep the subsequent "cd newton" step
unchanged.
- Around line 95-99: Update the four occurrences of unquoted editable extras
specifiers so shells don't glob them: replace instances of .[dev],
.[dev,torch-cu12], and .[docs] with quoted forms ".[dev]", ".[dev,torch-cu12]",
and ".[docs]" respectively in the development guide (the pip install commands
around the earlier pip install -e .[dev] and python -m pip install -e .[dev,...]
usages).

In `@docs/guide/installation.rst`:
- Around line 176-178: The docs currently link the extras to the moving `main`
branch's `pyproject.toml`; update the sentence referencing `pyproject.toml` so
it either (a) links to a version- or tag-specific `pyproject.toml` for the
release (replace the `main` URL with the release tag URL) or (b) remove the
external link and embed an authoritative table of optional dependency sets
directly in this page; update the text that mentions `pyproject.toml` to reflect
the chosen approach and ensure the link points to the tag-specific file or that
the embedded table lists the extras.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 5402cd7f-04dd-4d9f-a463-ab88a1cae191

📥 Commits

Reviewing files that changed from the base of the PR and between 10d42e3 and 0fec963.

📒 Files selected for processing (2)
  • docs/guide/development.rst
  • docs/guide/installation.rst

Comment thread docs/guide/development.rst
Comment thread docs/guide/development.rst Outdated
Comment thread docs/guide/installation.rst Outdated
preist-nvidia and others added 2 commits March 9, 2026 16:59
- Switch git clone to HTTPS
- Quote pip extras specifiers for zsh compatibility
- Remove unversioned pyproject.toml link
adenzler-nvidia
adenzler-nvidia previously approved these changes Mar 9, 2026

@adenzler-nvidia adenzler-nvidia left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good — all previous review comments have been addressed.

A couple of optional suggestions for polish:

  1. installation.rst:118 — Quick Start mentions installing with the sim extra, but the installation section above no longer shows pip install "newton[sim]" (removed in this PR). Consider dropping the `or ``sim``` mention for consistency.

  2. development.rst:167 — "following your CUDA version" could say "matching your NVIDIA driver's CUDA support" for consistency with the corrected wording in installation.rst.

Neither is blocking.

- Match nvidia-smi CUDA wording in development guide to installation guide
- Drop extras mention from Quick Start intro
@preist-nvidia preist-nvidia added this pull request to the merge queue Mar 9, 2026
Merged via the queue into newton-physics:main with commit 7041062 Mar 9, 2026
22 checks passed
adenzler-nvidia pushed a commit to adenzler-nvidia/newton that referenced this pull request Mar 9, 2026
@coderabbitai coderabbitai Bot mentioned this pull request Mar 25, 2026
3 tasks
mmacklin pushed a commit to mmacklin/newton that referenced this pull request Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Guide Installation

2 participants