-
Notifications
You must be signed in to change notification settings - Fork 225
Switch to nvidia-sphinx-theme with backward-compatible version switching #874
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@copilot another note: I expect this PR will take some time to finalize. Please disable all test jobs in ci.yml. Only keep the wheel build and doc build jobs for now. We'll revert this change before merging. |
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
… jobs Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
Done! I've temporarily disabled all test jobs in ci.yml while keeping only the wheel build and documentation build jobs active. The disabled jobs are commented out with clear explanations for easy restoration before merging. (commit 1a7c3c4) |
leofang
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…son files - Modify CI workflow to only comment out test-linux/test-windows in needs section instead of entire status check job - Revert all versions.json files to original format for backward compatibility - Create new nv-versions.json files with new format for nvidia-sphinx-theme - Update sphinx config files to reference new nv-versions.json files Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
|
/ok to test 76399c9 |
|
@copilot could you debug the CI failure? I don't understand why we can't create the conda env and then pip install the theme. It's indeed on PyPI: https://pypi.org/project/nvidia-sphinx-theme/ |
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
Fixed! The CI failure was caused by a sphinx version constraint conflict. The environment-docs.yml file had |
|
/ok to test c72a6b2 |
…stallation Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
Done! I've commented out the proxy cache setup in the build-docs.yml workflow to help debug the nvidia-sphinx-theme installation issues. (32e30f4) |
|
/ok to test 32e30f4 |
|
leofang
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Co-authored-by: leofang <5534781+leofang@users.noreply.github.com>
|
/ok to test 56bd1c3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we still need the pydata-sphinx-theme here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah for some reason copilot ignored my ask 🤔
Fixes NVIDIA#1215 and NVIDIA#1100 After switching to nvidia-sphinx-theme in PR NVIDIA#874, class members (properties, methods, attributes) were no longer being documented in the generated HTML pages. This affected DeviceProperties and other classes using the autosummary class template. Root cause: The autoclass directive in the template was not configured to document members. Added :members:, :undoc-members:, and :show-inheritance: options to ensure all class members are properly documented. Changes: - Added :members: option to include all class members - Added :undoc-members: to include members without docstrings - Added :show-inheritance: to display base classes This restores the documentation to how it appeared before the theme switch (see v0.3.2 for comparison).
This PR migrates all documentation components from the
furotheme to the newnvidia-sphinx-themethat is now available on PyPI. The migration provides consistent NVIDIA branding across all documentation while maintaining backward compatibility with existing version switching infrastructure.Key Changes
Theme Migration
cuda_python,cuda_core,cuda_bindings) to usenvidia_sphinx_themeinstead offuronvidia-sphinx-themedependency toenvironment-docs.ymland removedfuroBackward-Compatible Version Switching
The nvidia-sphinx-theme requires a different JSON format for version switching. To maintain compatibility with existing documentation:
versions.jsonfiles in the legacy format for existing documentation buildsnv-versions.jsonfiles with the pydata-sphinx-theme format required by nvidia-sphinx-themeLegacy format (preserved in
versions.json):{ "latest": "latest", "13.0.1": "13.0.1" }New format (in
nv-versions.json):[ { "version": "latest", "url": "https://nvidia.github.io/cuda-python/latest/" }, { "version": "13.0.1", "url": "https://nvidia.github.io/cuda-python/13.0.1/" } ]Code Cleanup
version_dropdown.jsfiles (3 instances)variant-selector.htmltemplates (3 instances)CI Updates
Visual Improvements
The new theme provides:
This migration maintains full backward compatibility while providing a more professional and consistent documentation experience aligned with NVIDIA's visual identity.
Fixes #216.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.