-
Notifications
You must be signed in to change notification settings - Fork 910
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
Initial Sphinx revamp #2459
Initial Sphinx revamp #2459
Conversation
83f0161
to
1ae93df
Compare
|
Rendered docs 🤖 https://kedro--2459.org.readthedocs.build/en/2459/ |
Non trivial change @astrojuanlu - thank you! |
The linkcheck errors appear to be related to the docstrings of inherited members, and are present in current |
Not a straightforward task you've taken on there -- thank you! I've pulled down your branch and removed the build/html docs so I'm sure everything is clean. I've run Working on Mac M1, Python 3.8. I've attached the output of |
This comment was marked as resolved.
This comment was marked as resolved.
35aafac
to
bba2ae5
Compare
@stichbury You should be able to do
|
ba4425e
to
ac17192
Compare
I'm chasing down some broken references in certain API pages, but again I am not able to reproduce locally what I see on Read the Docs, regardless of this PR, which is making any debugging very difficult. For instance, https://docs.kedro.org/en/0.18.7/kedro.pipeline.Pipeline.html shows links in the autosummary tables: <a class="reference internal" href="#kedro.pipeline.Pipeline.grouped_nodes" title="kedro.pipeline.Pipeline.grouped_nodes"><code class="xref py py-obj docutils literal notranslate"><span class="pre">grouped_nodes</span></code></a> But locally, after checking out <code class="xref py py-obj docutils literal notranslate"><span class="pre">grouped_nodes</span></code> The next step is to try to reproduce exactly what RTD is doing, for example by looking at the 0.18.7 build: https://readthedocs.org/projects/kedro/builds/19869393/ |
ac17192
to
db12b1d
Compare
Final warnings to address:
|
This is heroic work 😮 💯 In response to something you mentioned above:
Historical reasons I believe. All datasets used to be (and still are) defined in The introduction of Please do let me know if you figure out any way we can get rid of those files like |
Thanks a lot for the extra context @AntonyMilneQB! I've had some painful debugging sessions with Sphinx over the years but I don't remember anything like this... For the record, I was considering
Yeah, that's what I observed as well. What I understand is that all tools will struggle with documenting classes that are available in two places - there's not much we can do about it, only:
In any case, ✨ this PR is done ✨ and only needs an extra nudge on the flaky Windows tests for all the checks to be green. cc @stichbury |
@astrojuanlu I'm trying to build locally but am hitting some issues that I didn't have previously. I resolved a complaint about HDF5 but this one for Fiona is not so straightforward:
|
@stichbury The The HDF5 problem you had was probably related, |
Thanks @astrojuanlu -- I don't use
I have an existing
|
Sorry to keep asking. I can't really help myself here as I have no idea how to make this work and it's important to me to be able to build the docs locally, so I want to be sure I can do so. |
I'm sorry you're having a rough time getting this to work locally 🙏🏽
Absolutely - and my top goal is that you can do it effectively and autonomously, without having to rely on our CI/RTD or Gitpod to do so.
Sorry, I should have explained that better -
It's not obvious at all, these are classical Python packaging shenanigans every user has to go through at least once in their lifetime 😄 let me explain:
When there's no precompiled wheel for the architecture (in your case, M1 Mac) and Python version (say 3.8), pip is forced to download a source distribution and try to compile it, and the user needs to figure out how to get the non-Python dependencies installed without pip. For this there's a variety of techniques, and 3 pages of Google results might suggest 40 different ways of doing it, but essentially on Mac you can use Homebrew or conda.
Good! ✔️ Although I'd think that we should avoid mixing Homebrew and conda dependencies.
Looks like there are still some missing dependencies I think it will be better that we pair synchronously on this one to get to a working system more quickly, we might find things we could improve in our contribution docs. |
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
Signed-off-by: Jo Stichbury <jo_stichbury@mckinsey.com>
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
1137310
to
c14928b
Compare
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
c4b33a5
to
4c0d35a
Compare
Turns out we've accumulated a bunch of broken references in the past few days 😬 better to merge this PR ASAP. |
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
f9f0394
to
97391b6
Compare
Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com>
97391b6
to
9f7fb0d
Compare
* Remove unused docs/package.json Nowadays sphinx-autobuild offers similar functionality. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix Sphinx language config Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix circular imports Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Remove unused documentation extensions Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Try to not move files around Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix CSS paths Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix file hierarchy Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix Read the Docs configuration Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Update documentation dependencies Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Manually fix JupyterCommandGroup API docs See gh-2453. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Install all documentation dependencies Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Restore test requirements kedro.extras.datasets is still being tested. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Remove all autosummary members from problematic class See gh-2453. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Temporarily disable nitpicky mode for linkcheck Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Upgrade Read the Docs to Python 3.8 Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix destination of linkcheck Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Minor fixes to docstrings Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Minor reference fix Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Cap sphinx-autodoc-typehints version Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Restore nitpicky linkcheck Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Restore treating documentation warnings as errors Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Remove redundant build-docs CI job Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Ignore .rst files generated to support docs build Signed-off-by: Jo Stichbury <jo_stichbury@mckinsey.com> * Explain ignored documentation files Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Move linkcheck to Read the Docs Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Remove old devserver Makefile target Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix databricks broken reference Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix pyspark broken reference Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix other broken references Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> --------- Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> Signed-off-by: Jo Stichbury <jo_stichbury@mckinsey.com> Co-authored-by: Jo Stichbury <jo_stichbury@mckinsey.com> Signed-off-by: Jannic Holzer <jannic.holzer@quantumblack.com>
* Remove unused docs/package.json Nowadays sphinx-autobuild offers similar functionality. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix Sphinx language config Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix circular imports Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Remove unused documentation extensions Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Try to not move files around Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix CSS paths Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix file hierarchy Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix Read the Docs configuration Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Update documentation dependencies Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Manually fix JupyterCommandGroup API docs See gh-2453. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Install all documentation dependencies Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Restore test requirements kedro.extras.datasets is still being tested. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Remove all autosummary members from problematic class See gh-2453. Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Temporarily disable nitpicky mode for linkcheck Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Upgrade Read the Docs to Python 3.8 Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix destination of linkcheck Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Minor fixes to docstrings Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Minor reference fix Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Cap sphinx-autodoc-typehints version Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Restore nitpicky linkcheck Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Restore treating documentation warnings as errors Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Remove redundant build-docs CI job Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Ignore .rst files generated to support docs build Signed-off-by: Jo Stichbury <jo_stichbury@mckinsey.com> * Explain ignored documentation files Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Move linkcheck to Read the Docs Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Remove old devserver Makefile target Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix databricks broken reference Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix pyspark broken reference Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> * Fix other broken references Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> --------- Signed-off-by: Juan Luis Cano Rodríguez <juan_luis_cano@mckinsey.com> Signed-off-by: Jo Stichbury <jo_stichbury@mckinsey.com> Co-authored-by: Jo Stichbury <jo_stichbury@mckinsey.com>
Description
First round at addressing gh-2454.
Development notes
The most important change of the PR is that there was some magic in
build-docs.sh
andconf.py
that was shuffling files around which made reasoning about the docs process very difficult. I don't know the purpose of this shuffling, but probably it was to "hide" some of the files generated bysphinx.ext.autosummary
from polluting the version control. The downside of this change is that, after building the docs, the checkout contains lots of untracked files. But they can be safely ignored, and agit clean -f docs/source
will wipe them.The upsides are:
build/
directory as source directorybuild-docs.sh
script is basically thekedro-datasets
wrangling + a standardsphinx-build
callconf.py
has much less sorcery in itOther changes:
docs/package.json
(if interested, use https://pypi.org/project/sphinx-autobuild/ instead)language
was invalid) as well as some minor things (some mermaid configs I added with the wrong types)build_docs
Circle CI job (Read the Docs takes care of it for now)Checklist
RELEASE.md
file