Skip to content
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

Generate unified Python/C++ docs #13846

Merged
merged 80 commits into from
Jan 17, 2024
Merged

Conversation

vyasr
Copy link
Contributor

@vyasr vyasr commented Aug 10, 2023

Description

This PR leverages Breathe to pull the cudf C++ API documentation into the python Sphinx docs build, generating a single unified build of the documentation that supports cross-linking between language libraries and also simplifies cross-linking from other libraries that wish to link here.

This PR also revealed numerous other issues with our doxygen docs. I've submitted those as separate patches to control the diff here, but it's worth noting that Sphinx is much louder with warnings than doxygen and will help us avoid many more issues with broken documentation than doxygen alone could.

Resolves #11481

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@vyasr vyasr added feature request New feature or request non-breaking Non-breaking change labels Aug 10, 2023
@vyasr vyasr self-assigned this Aug 10, 2023
@github-actions github-actions bot added libcudf Affects libcudf (C++/CUDA) code. Python Affects Python cuDF API. conda labels Aug 10, 2023
@vyasr vyasr changed the title Generate unified Python/C++ Generate unified Python/C++ docs Aug 10, 2023
@github-actions github-actions bot added CMake CMake build issue ci and removed CMake CMake build issue labels Aug 10, 2023
@karthikeyann karthikeyann self-requested a review September 12, 2023 16:19
@vyasr vyasr changed the base branch from branch-23.10 to branch-23.12 November 8, 2023 19:38
@github-actions github-actions bot added CMake CMake build issue Java Affects Java cuDF API. labels Nov 21, 2023
Copy link

copy-pr-bot bot commented Nov 30, 2023

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.

@vyasr vyasr changed the base branch from branch-23.12 to branch-24.02 November 30, 2023 21:33
@vyasr
Copy link
Contributor Author

vyasr commented Nov 30, 2023

/ok to test

@github-actions github-actions bot removed CMake CMake build issue Java Affects Java cuDF API. labels Nov 30, 2023
rapids-bot bot pushed a commit that referenced this pull request Dec 5, 2023
Doxygen-generated XML is parsed by Breathe, so this is a prerequisite for #13846.

Authors:
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Karthikeyan (https://github.com/karthikeyann)

URL: #14477
@github-actions github-actions bot removed the ci label Dec 15, 2023
@vyasr vyasr force-pushed the feat/unify_docs branch 2 times, most recently from 5022e4e to b4e2516 Compare December 15, 2023 16:20
@github-actions github-actions bot removed the libcudf Affects libcudf (C++/CUDA) code. label Dec 15, 2023
Copy link
Contributor

@karthikeyann karthikeyann left a comment

Choose a reason for hiding this comment

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

if a new documented function or a new doxygen group is not added in one of these .rst files, will this workflow be able to find it? (& throw a warning or failure).
How?

cpp/doxygen/developer_guide/BENCHMARKING.md Outdated Show resolved Hide resolved
cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md Outdated Show resolved Hide resolved
@vyasr
Copy link
Contributor Author

vyasr commented Jan 11, 2024

In the interest of moving forward in more incremental steps, I've put back doxygen HTML generation, so this PR won't disable those docs yet. We can do that at a later date when we're happier with the output of the Sphinx C++ documentation. Merging this PR in closer to its current state will allow us to iterate and improve more easily than having to perfect the appearance in this PR before removing the doxygen HTML.

@vyasr vyasr requested a review from karthikeyann January 12, 2024 02:19
Copy link
Contributor

@davidwendt davidwendt left a comment

Choose a reason for hiding this comment

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

Approving C++ changes

@vyasr
Copy link
Contributor Author

vyasr commented Jan 17, 2024

/merge

@rapids-bot rapids-bot bot merged commit 49dd5bf into rapidsai:branch-24.02 Jan 17, 2024
67 checks passed
@vyasr vyasr deleted the feat/unify_docs branch January 17, 2024 22:24
rapids-bot bot pushed a commit that referenced this pull request Jan 18, 2024
In my initial pass through enabling Breathe I tried to leave a minimal footprint of external modification to the generated files. In this particular case it looks like the problematic attributes can appear in more places than I originally observed. I never observed this behavior in that PR, but I don't know if these now appear due to something that merged after #13846 or something else changing in the environment (e.g. a Sphinx or doxygen behavior etc). Nonetheless, blanket wiping these is the simpler and safer option. The docs build successfully locally with this change.

Authors:
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Bradley Dice (https://github.com/bdice)

URL: #14780
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEA] Use a single integrated documentation solution across components
5 participants