holoviews
holoviews copied to clipboard
Docs: Broken links
Some links in the docs are not working
See, for example bokeh/Overlay page:
Seems that the "Composing_Elements" tries to be a link. Looking at the source code in examples/reference/containers/bokeh/Overlay.ipynb, it is trying to be a link:
[Composing_Elements](../../../user_guide/02-Composing_Elements.ipynb)
The link works even at https://github.com/holoviz/holoviews/blob/main/examples/reference/containers/bokeh/Overlay.ipynb but not when deployed to https://holoviews.org/reference/containers/bokeh/Overlay.html.
There is another similar non-working link on the matplotlib Overlay page: https://holoviews.org/reference/containers/matplotlib/Overlay.html.
Note also that there is a working link to the Composing_Elements page at https://holoviews.org/user_guide/Annotating_Data.html. The source code for that is located at examples/user_guide/01-Annotating_Data.ipynb, and it has a link pointing to
[Composing_Elements](./02-Composing_Elements.ipynb)
Is something breaking the links in the docs build process?
- [x] I may be interested in making a pull request to address this
You are welcome to tackle this. Unfortunately, the docs are somewhat hard to build locally, and I don't know how much I can help you in the short term.
I think this issue overlaps with https://github.com/holoviz/holoviews/issues/5676
You were not kidding when you said the docs are somewhat hard to build locally. I wasn't expecting this kind of fight :D Anyway, I think I got the build working. I was following the .github/workflows/docs.yaml. I did not want to install conda so here are instructions for CPython pip users.
Setting up environment for building docs locally
Prerequisites
- CPython 3.10 (>=3.12 will not work. See Notes below)
- Local copy of holoviews repository with all the tags fetched. To fetch tags, run
git fetch --tags https://github.com/holoviz/holoviews.git
- First, edit pyproject toml: build-system.requires setuptools requirement to be
<64(see Notes below for reasons):
[build-system]
requires = [
"param >=1.12.0,<3.0",
"pyct >=0.4.4",
"setuptools >=30.3.0,<64",
]
- Run the following
export DESC="Documentation build"
export MPLBACKEND="Agg"
export MOZ_HEADLESS=1
export PANEL_EMBED="true"
export PANEL_EMBED_JSON="true"
export PANEL_EMBED_JSON_PREFIX="json"
python -m pip venv .venv
source .venv/bin/activate
python -m pip install "setuptools<64" pyctdev doit nbsite matplotlib datashader plotly kaleido networkx scipy selenium pooch cftime scikit-image
python -m pip install -e .
bokeh sampledata
nbsite generate-rst --org holoviz --project-name holoviews
python ./doc/generate_modules.py holoviews -d ./doc/reference_manual -n holoviews -e tests
nbsite build --what=html --output=builtdocs --org holoviz --project-name holoviews
- If you get any errors, refer to the Notes below
- The pip install list was filled by trial and error. Not sure how to keep this list in sync. I wonder if it would be easy to extract the list of required packages from the
holoviz-dev/holoviz_tasks/[email protected]task? (I assume it installs all dependencies)
Notes
Notes
-
Setuptools must be <66 in the build-system.requires for "pip install -e ." Otherwise you'll get InvalidVersion exception. Ref: https://github.com/pypa/setuptools/issues/ -> Issue 3772
-
Setuptools must be <65 in the build-system.requires for "pip install -e." because otherwise you'll get
WARNING: Built editable for holoviews is invalid: Metadata 1.2 mandates PEP 440 version, but 'None' is not
Failed to build holoviews
ERROR: Could not build wheels for holoviews, which is required to install pyproject.toml-based projects
-
"pip install -e ." will not work on Python >=3.12 since AttributeError: module 'pkgutil' has no attribute 'ImpImporter' Ref: https://stackoverflow.com/questions/77364550/attributeerror-module-pkgutil-has-no-attribute-impimporter-did-you-mean
-
The geckodriver must be of specific version. If you see something like this in the middle of the
nbsite buildoutput
The geckodriver version (0.33.0) detected in PATH at /snap/bin/geckodriver might not be compatible with the detected firefox version (122.0); currently, geckodriver 0.34.0 is recommended for firefox 122.*, so it is advised to delete the driver in PATH and retry
Then you need to install a supported versions of Firefox+geckodriver. Easiest way on Linux is to remove a snap version of Firefox and install it from https://www.mozilla.org/en-US/firefox/download/ directly, and install supported version of geckodriver. Here is a simple test script for debugging:
from selenium import webdriver
browser = webdriver.Firefox()
- Tip: Sometimes it's useful to use sphinx directly instead of nbsite build when debugging
sphinx-build -b html /home/niko/code/holoviews/doc/ builtdocs
- Truncated file errors
If you get errors like this
Extension error (nbsite.gallery.gen):
Handler <function generate_gallery_rst at 0x7fb84ec7df30> for event 'builder-inited' threw an exception (exception: image file is truncated)
If means that you've interrupted the build process in the middle of image creation and you have a corrupted image file. Either remove all the images / static files, or edit your .venv/lib/python3.10/site-packages/PIL/ImageFile.py just before the error message saying "image file is truncated". For example: print('Bad image file', self.filename), or add a breakpoint. Then, remove the corrupted image file.
- InvalidVersion: Invalid version: 'None'
If you're getting this in the middle of the build, check that you have the git tags fetched. The
python -c "import holoviews as hv; print(hv.__version__)"
should show something else than None.
The build is taking eternity on my laptop, so I better go to sleep at this point. I wonder if it's possible somehow to just build a part of the documentation?
PS. You could get more contributors if it would be easier to set up the development environment :-)
Edit: Added cftime & scikit-image to pip install command
You could get more contributors if it would be easier to set up the development environment :-)
You are so absolutely right. I plan on improving the experience in setting up the developer environment in the near future.
The build is taking eternity on my laptop, so I better go to sleep at this point. I wonder if it's possible somehow to just build a part of the documentation?
Yes. This is another thing we want to improve. My hack is deleting all the notebooks which do not need to be rendered.
Thanks for the tip, I try to delete the notebooks that I'm not actively needing. I noticed from yesterday's logs that I still was missing cftime. Added that to the instructions.
hv.__version__ is "None"
In addition, there was one bizarre error caused by holoviews.__version__ being "None". It breaks Renderer.static_html(self, obj, fmt, template) since there is if backend == 'bokeh' or Version(str(hv.__version__)) >= Version('1.13.0'): check in panel/pane/holoviews.py:512 which assumes the hv.__version__ to be something else. Full traceback below
Full traceback for InvalidVersion: Invalid version: 'None'
INFO: Writing evaluated notebook to /home/niko/code/holoviews/doc/user_guide/Plots_and_Renderers.ipynb
An error occurred while executing the following cell:
------------------
html = renderer.static_html(holomap)
------------------
---------------------------------------------------------------------------
InvalidVersion Traceback (most recent call last)
Cell In[22], line 1
----> 1 html = renderer.static_html(holomap)
File ~/code/holoviews/holoviews/plotting/renderer.py:446, in Renderer.static_html(self, obj, fmt, template)
440 """
441 Generates a static HTML with the rendered object in the
442 supplied format. Allows supplying a template formatting string
443 with fields to interpolate 'js', 'css' and the main 'html'.
444 """
445 html_bytes = StringIO()
--> 446 self.save(obj, html_bytes, fmt)
447 html_bytes.seek(0)
448 return html_bytes.read()
File ~/code/holoviews/holoviews/plotting/renderer.py:596, in Renderer.save(self_or_cls, obj, basename, fmt, key, info, options, resources, title, **kwargs)
594 if fmt in MIME_TYPES:
595 basename = f"{basename}.{fmt}"
--> 596 plot.layout.save(basename, embed=True, resources=resources, title=title)
597 return
599 rendered = self_or_cls(plot, fmt)
File ~/code/holoviews/.venv/lib/python3.10/site-packages/panel/viewable.py:993, in Viewable.save(self, filename, title, resources, template, template_variables, embed, max_states, max_opts, embed_json, json_prefix, save_path, load_path, progress, embed_states, as_png, **kwargs)
947 def save(
948 self, filename: str | os.PathLike | IO, title: Optional[str] = None,
949 resources: Resources | None = None, template: str | Template | None = None,
(...)
954 as_png: bool | None = None, **kwargs
955 ) -> None:
956 """
957 Saves Panel objects to file.
958
(...)
991 string and ends with png.
992 """
--> 993 return save(
994 self, filename, title, resources, template,
995 template_variables, embed, max_states, max_opts,
996 embed_json, json_prefix, save_path, load_path, progress,
997 embed_states, as_png, **kwargs
998 )
File ~/code/holoviews/.venv/lib/python3.10/site-packages/panel/io/save.py:260, in save(panel, filename, title, resources, template, template_variables, embed, max_states, max_opts, embed_json, json_prefix, save_path, load_path, progress, embed_states, as_png, **kwargs)
258 model = doc
259 else:
--> 260 model = panel.get_root(doc, comm)
261 if embed:
262 embed_state(
263 panel, model, doc, max_states, max_opts, embed_json,
264 json_prefix, save_path, load_path, progress, embed_states
265 )
File ~/code/holoviews/.venv/lib/python3.10/site-packages/panel/layout/base.py:311, in Panel.get_root(self, doc, comm, preprocess)
307 def get_root(
308 self, doc: Optional[Document] = None, comm: Optional[Comm] = None,
309 preprocess: bool = True
310 ) -> Model:
--> 311 root = super().get_root(doc, comm, preprocess)
312 # ALERT: Find a better way to handle this
313 if hasattr(root, 'styles') and 'overflow-x' in root.styles:
File ~/code/holoviews/.venv/lib/python3.10/site-packages/panel/viewable.py:666, in Renderable.get_root(self, doc, comm, preprocess)
664 wrapper = self._design._wrapper(self)
665 if wrapper is self:
--> 666 root = self._get_model(doc, comm=comm)
667 if preprocess:
668 self._preprocess(root)
File ~/code/holoviews/.venv/lib/python3.10/site-packages/panel/layout/base.py:177, in Panel._get_model(self, doc, root, parent, comm)
175 root = root or model
176 self._models[root.ref['id']] = (model, parent)
--> 177 objects, _ = self._get_objects(model, [], doc, root, comm)
178 props = self._get_properties(doc)
179 props[self._property_mapping['objects']] = objects
179 props[self._property_mapping['objects']] = objects
File ~/code/holoviews/.venv/lib/python3.10/site-packages/panel/layout/base.py:159, in Panel._get_objects(self, model, old_objects, doc, root, comm)
157 else:
158 try:
--> 159 child = pane._get_model(doc, root, model, comm)
160 except RerenderError as e:
161 if e.layout is not None and e.layout is not self:
File ~/code/holoviews/.venv/lib/python3.10/site-packages/panel/pane/holoviews.py:423, in HoloViews._get_model(self, doc, root, parent, comm)
421 plot = self.object
422 else:
--> 423 plot = self._render(doc, comm, root)
425 plot.pane = self
426 backend = plot.renderer.backend
File ~/code/holoviews/.venv/lib/python3.10/site-packages/panel/pane/holoviews.py:512, in HoloViews._render(self, doc, comm, root)
509 renderer = renderer.instance(**params)
511 kwargs = {'margin': self.margin}
--> 512 if backend == 'bokeh' or Version(str(hv.__version__)) >= Version('1.13.0'):
513 kwargs['doc'] = doc
514 kwargs['root'] = root
File ~/code/holoviews/.venv/lib/python3.10/site-packages/packaging/version.py:200, in Version.__init__(self, version)
198 match = self._regex.search(version)
199 if not match:
--> 200 raise InvalidVersion(f"Invalid version: '{version}'")
202 # Store the parsed out pieces of the version
203 self._version = _Version(
204 epoch=int(match.group("epoch")) if match.group("epoch") else 0,
205 release=tuple(int(i) for i in match.group("release").split(".")),
(...)
211 local=_parse_local_version(match.group("local")),
212 )
InvalidVersion: Invalid version: 'None'
When checking how this hv.__version__ is defined, I see:
# holoviews/__init__.py
import param
__version__ = str(param.version.Version(fpath=__file__, archive_commit="$Format:%h$",
reponame="holoviews"))
When importing holoviews __file__ is '/home/niko/code/holoviews/holoviews/__init__.py'. Is there a problem in calculating the version if on editable install? Could the
if backend == 'bokeh' or Version(str(hv.__version__)) >= Version('1.13.0'):
kwargs['doc'] = doc
kwargs['root'] = root
if comm:
kwargs['comm'] = comm
be simply
if (
backend == "bokeh"
or (hv.__version__ != "None"
and (Version(str(hv.__version__)) >= Version("1.13.0")))
):
kwargs["doc"] = doc
kwargs["root"] = root
if comm:
kwargs["comm"] = comm
?
I think it is because you are missing the git tags which are used to determine the version, try git fetch --all --tags.
Thanks. Seems that in forked repos the tags are not coming automatically. The git fetch -all --tags did not fetch the tags, presumably because my local repo knows nothing about the holoviz repo (I haven't set it up as a remote). Fetching directly
git fetch --tags https://github.com/holoviz/holoviews.git
did update the tags, which also made hv.__version__ work:
(.venv) niko@niko-ubuntu-home:~/code/holoviews$ python -c "import holoviews as hv; print(hv.__version__)"
1.18.2a2.post36+geebc6c1e4-dirty
Thank you! I can update the instructions.
@Hoxbro by deleting notebooks, did you mean deleting the .ipynb or the .rst files (or both)?
How did you get the warnings visible in Issue 5676? I can only see
copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 224 warnings.
but no warnings printed anywhere.
Notebooks.
I can't remember. I think they came from running the docs commands.
Seems that I did not warnings because I only saved stdout and the warnings are directed to stderr. I ran the docs build process again (interrupted accidentally just before finishing). Anyway, there are some interesting things visible.
Let's have a look to all the myst warnings: (skip the ones pointing to #anchor. Although these should probably be checked, too):
All WARNING: 'myst' reference target not found
(.venv) niko@niko-ubuntu-home:~/code/holoviews$ cat logs.txt | grep -n "WARNING: 'myst' reference target not found:" | grep -v "target not found: #"
8555:/home/niko/code/holoviews/doc/gallery/demos/bokeh/dragon_curve.ipynb:10002: WARNING: 'myst' reference target not found: ../../topics/geometry/lsystems.ipynb
8556:/home/niko/code/holoviews/doc/gallery/demos/bokeh/dragon_curve.ipynb:40002: WARNING: 'myst' reference target not found: ../../topics/geometry/lsystems.ipynb
8557:/home/niko/code/holoviews/doc/gallery/demos/bokeh/iris_splom_example.ipynb:10006: WARNING: 'myst' reference target not found: ../matplotlib/iris_splot_example.ipynb
8558:/home/niko/code/holoviews/doc/gallery/demos/bokeh/nyc_airport_connections.ipynb:10004: WARNING: 'myst' reference target not found: ../matplotlib/nyc_taxi_connections.ipynb
8559:/home/niko/code/holoviews/doc/gallery/demos/bokeh/nyc_radial_heatmap.ipynb:10004: WARNING: 'myst' reference target not found: ../matplotlib/radial_heatmap.ipynb
8560:/home/niko/code/holoviews/doc/gallery/demos/bokeh/step_chart.ipynb:10004: WARNING: 'myst' reference target not found: ../bokeh/step_chart_example.ipynb
8561:/home/niko/code/holoviews/doc/gallery/demos/matplotlib/bachelors_degrees_by_gender.ipynb:10006: WARNING: 'myst' reference target not found: ../bokeh/bachelors_degress_by_gender.ipynb
8562:/home/niko/code/holoviews/doc/gallery/demos/matplotlib/dragon_curve.ipynb:10002: WARNING: 'myst' reference target not found: ../../topics/geometry/lsystems.ipynb
8563:/home/niko/code/holoviews/doc/gallery/demos/matplotlib/dragon_curve.ipynb:40002: WARNING: 'myst' reference target not found: ../../topics/geometry/lsystems.ipynb
8564:/home/niko/code/holoviews/doc/gallery/demos/matplotlib/nyc_airport_connections.ipynb:10004: WARNING: 'myst' reference target not found: ../bokeh/nyc_taxi_connections.ipynb
8565:/home/niko/code/holoviews/doc/gallery/demos/matplotlib/nyc_radial_heatmap.ipynb:10004: WARNING: 'myst' reference target not found: ../bokeh/radial_heatmap.ipynb
8566:/home/niko/code/holoviews/doc/getting_started/2-Customization.ipynb:140004: WARNING: 'myst' reference target not found: Applying_Customizations.rst
8567:/home/niko/code/holoviews/doc/getting_started/2-Customization.ipynb:140011: WARNING: 'myst' reference target not found: Applying_Customizations.rst
8568:/home/niko/code/holoviews/doc/getting_started/2-Customization.ipynb:230002: WARNING: 'myst' reference target not found: Applying_Customizations.rst
8569:/home/niko/code/holoviews/doc/getting_started/2-Customization.ipynb:280002: WARNING: 'myst' reference target not found: Applying_Customizations.rst
8570:/home/niko/code/holoviews/doc/getting_started/2-Customization.ipynb:330002: WARNING: 'myst' reference target not found: Applying_Customizations.rst
8571:/home/niko/code/holoviews/doc/getting_started/2-Customization.ipynb:340006: WARNING: 'myst' reference target not found: Annotating_Data.rst
8572:/home/niko/code/holoviews/doc/getting_started/4-Gridded_Datasets.ipynb:100004: WARNING: 'myst' reference target not found: Applying_Customizations.rst
8573:/home/niko/code/holoviews/doc/getting_started/4-Gridded_Datasets.ipynb:140006: WARNING: 'myst' reference target not found: ./5-Live_Data.ipynb
8574:/home/niko/code/holoviews/doc/getting_started/4-Gridded_Datasets.ipynb:140006: WARNING: 'myst' reference target not found: Data_Pipelines.rst
8575:/home/niko/code/holoviews/doc/getting_started/1-Introduction.ipynb:10009: WARNING: 'myst' reference target not found: ../user_guide/
8576:/home/niko/code/holoviews/doc/getting_started/1-Introduction.ipynb:150004: WARNING: 'myst' reference target not found: Applying_Customizations.rst
8577:/home/niko/code/holoviews/doc/getting_started/1-Introduction.ipynb:200002: WARNING: 'myst' reference target not found: 4-Gridded_Datasets.ipynb
8578:/home/niko/code/holoviews/doc/getting_started/1-Introduction.ipynb:220006: WARNING: 'myst' reference target not found: Applying_Customizations.rst
8579:/home/niko/code/holoviews/doc/getting_started/5-Live_Data.ipynb:240004: WARNING: 'myst' reference target not found: ../reference/index.html#streams
8580:/home/niko/code/holoviews/doc/getting_started/5-Live_Data.ipynb:250006: WARNING: 'myst' reference target not found: ../user_guide/17-Dashboards.ipynb
8581:/home/niko/code/holoviews/doc/getting_started/5-Live_Data.ipynb:250024: WARNING: 'myst' reference target not found: ../user_guide/
8582:/home/niko/code/holoviews/doc/getting_started/5-Live_Data.ipynb:250024: WARNING: 'myst' reference target not found: ../reference/
8583:/home/niko/code/holoviews/doc/getting_started/5-Live_Data.ipynb:250024: WARNING: 'myst' reference target not found: ../gallery/
8584:/home/niko/code/holoviews/doc/getting_started/3-Tabular_Datasets.ipynb:10007: WARNING: 'myst' reference target not found: ../user_guide/08-Tabular_Datasets.ipynb
8585:/home/niko/code/holoviews/doc/reference/containers/bokeh/DynamicMap.ipynb:30002: WARNING: 'myst' reference target not found: ../../../user_guide/06-Building_Composite_Objects.ipynb
8586:/home/niko/code/holoviews/doc/reference/containers/bokeh/DynamicMap.ipynb:30002: WARNING: 'myst' reference target not found: Live_Data.rst
8587:/home/niko/code/holoviews/doc/reference/containers/bokeh/DynamicMap.ipynb:80004: WARNING: 'myst' reference target not found: Live_Data.rst
8588:/home/niko/code/holoviews/doc/reference/containers/bokeh/GridSpace.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8589:/home/niko/code/holoviews/doc/reference/containers/bokeh/HoloMap.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8590:/home/niko/code/holoviews/doc/reference/containers/bokeh/Layout.ipynb:30005: WARNING: 'myst' reference target not found: ../../../user_guide/06-Building_Composite_Objects.ipynb
8591:/home/niko/code/holoviews/doc/reference/containers/bokeh/Layout.ipynb:70004: WARNING: 'myst' reference target not found: Composing_Elements.rst
8592:/home/niko/code/holoviews/doc/reference/containers/bokeh/NdLayout.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8593:/home/niko/code/holoviews/doc/reference/containers/bokeh/NdOverlay.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8594:/home/niko/code/holoviews/doc/reference/containers/bokeh/NdOverlay.ipynb:90002: WARNING: 'myst' reference target not found: ../../../user_guide/04-Style_Mapping.ipynb#Cycles-and-Palettes
8595:/home/niko/code/holoviews/doc/reference/containers/bokeh/Overlay.ipynb:30005: WARNING: 'myst' reference target not found: ../../../user_guide/06-Building_Composite_Objects.ipynb
8596:/home/niko/code/holoviews/doc/reference/containers/bokeh/Overlay.ipynb:70004: WARNING: 'myst' reference target not found: Composing_Elements.rst
8597:/home/niko/code/holoviews/doc/reference/containers/matplotlib/DynamicMap.ipynb:30002: WARNING: 'myst' reference target not found: ../../../user_guide/06-Building_Composite_Objects.ipynb
8598:/home/niko/code/holoviews/doc/reference/containers/matplotlib/DynamicMap.ipynb:30002: WARNING: 'myst' reference target not found: Live_Data.rst
8599:/home/niko/code/holoviews/doc/reference/containers/matplotlib/DynamicMap.ipynb:80004: WARNING: 'myst' reference target not found: Live_Data.rst
8600:/home/niko/code/holoviews/doc/reference/containers/matplotlib/GridSpace.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8601:/home/niko/code/holoviews/doc/reference/containers/matplotlib/HoloMap.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8602:/home/niko/code/holoviews/doc/reference/containers/matplotlib/Layout.ipynb:30005: WARNING: 'myst' reference target not found: ../../../user_guide/06-Building_Composite_Objects.ipynb
8603:/home/niko/code/holoviews/doc/reference/containers/matplotlib/Layout.ipynb:70004: WARNING: 'myst' reference target not found: Composing_Elements.rst
8604:/home/niko/code/holoviews/doc/reference/containers/matplotlib/NdLayout.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8605:/home/niko/code/holoviews/doc/reference/containers/matplotlib/NdOverlay.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8606:/home/niko/code/holoviews/doc/reference/containers/matplotlib/NdOverlay.ipynb:90002: WARNING: 'myst' reference target not found: ../../../user_guide/04-Style_Mapping.ipynb#Cycles-and-Palettes
8607:/home/niko/code/holoviews/doc/reference/containers/matplotlib/Overlay.ipynb:30005: WARNING: 'myst' reference target not found: ../../../user_guide/06-Building_Composite_Objects.ipynb
8608:/home/niko/code/holoviews/doc/reference/containers/matplotlib/Overlay.ipynb:70004: WARNING: 'myst' reference target not found: Composing_Elements.rst
8609:/home/niko/code/holoviews/doc/reference/containers/plotly/DynamicMap.ipynb:30002: WARNING: 'myst' reference target not found: ../../../user_guide/06-Building_Composite_Objects.ipynb
8610:/home/niko/code/holoviews/doc/reference/containers/plotly/DynamicMap.ipynb:30002: WARNING: 'myst' reference target not found: Live_Data.rst
8611:/home/niko/code/holoviews/doc/reference/containers/plotly/DynamicMap.ipynb:80004: WARNING: 'myst' reference target not found: Live_Data.rst
8612:/home/niko/code/holoviews/doc/reference/containers/plotly/GridSpace.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8613:/home/niko/code/holoviews/doc/reference/containers/plotly/HoloMap.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8614:/home/niko/code/holoviews/doc/reference/containers/plotly/Layout.ipynb:30005: WARNING: 'myst' reference target not found: ../../../user_guide/06-Building_Composite_Objects.ipynb
8615:/home/niko/code/holoviews/doc/reference/containers/plotly/Layout.ipynb:70004: WARNING: 'myst' reference target not found: Composing_Elements.rst
8616:/home/niko/code/holoviews/doc/reference/containers/plotly/NdLayout.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8617:/home/niko/code/holoviews/doc/reference/containers/plotly/NdOverlay.ipynb:30002: WARNING: 'myst' reference target not found: Building_Composite_Objects.rst
8618:/home/niko/code/holoviews/doc/reference/containers/plotly/NdOverlay.ipynb:90002: WARNING: 'myst' reference target not found: ../../../user_guide/04-Style_Mapping.ipynb#Cycles-and-Palettes
8619:/home/niko/code/holoviews/doc/reference/containers/plotly/Overlay.ipynb:30005: WARNING: 'myst' reference target not found: ../../../user_guide/06-Building_Composite_Objects.ipynb
8620:/home/niko/code/holoviews/doc/reference/containers/plotly/Overlay.ipynb:70004: WARNING: 'myst' reference target not found: Composing_Elements.rst
8621:/home/niko/code/holoviews/doc/reference/elements/bokeh/Area.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8622:/home/niko/code/holoviews/doc/reference/elements/bokeh/Bars.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8623:/home/niko/code/holoviews/doc/reference/elements/bokeh/BoxWhisker.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8624:/home/niko/code/holoviews/doc/reference/elements/bokeh/Contours.ipynb:30002: WARNING: 'myst' reference target not found: ../user_guide/Geometry_Data.ipynb
8625:/home/niko/code/holoviews/doc/reference/elements/bokeh/Curve.ipynb:30002: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8626:/home/niko/code/holoviews/doc/reference/elements/bokeh/ErrorBars.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8627:/home/niko/code/holoviews/doc/reference/elements/bokeh/HSV.ipynb:30010: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8628:/home/niko/code/holoviews/doc/reference/elements/bokeh/Image.ipynb:30002: WARNING: 'myst' reference target not found: Continuous_Coordinates.ipynb
8629:/home/niko/code/holoviews/doc/reference/elements/bokeh/Image.ipynb:30010: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8630:/home/niko/code/holoviews/doc/reference/elements/bokeh/ImageStack.ipynb:30018: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8631:/home/niko/code/holoviews/doc/reference/elements/bokeh/Labels.ipynb:30002: WARNING: 'myst' reference target not found: ../../../user_guide/08-Tabular_Datasets.ipynb
8632:/home/niko/code/holoviews/doc/reference/elements/bokeh/Labels.ipynb:30002: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8633:/home/niko/code/holoviews/doc/reference/elements/bokeh/Path.ipynb:30002: WARNING: 'myst' reference target not found: ../user_guide/Geometry_Data.ipynb
8634:/home/niko/code/holoviews/doc/reference/elements/bokeh/QuadMesh.ipynb:30010: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8635:/home/niko/code/holoviews/doc/reference/elements/bokeh/RGB.ipynb:30010: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8636:/home/niko/code/holoviews/doc/reference/elements/bokeh/Rectangles.ipynb:50002: WARNING: 'myst' reference target not found: Style_Mapping.rst
8637:/home/niko/code/holoviews/doc/reference/elements/bokeh/Spread.ipynb:30002: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8638:/home/niko/code/holoviews/doc/reference/elements/bokeh/Table.ipynb:130002: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8639:/home/niko/code/holoviews/doc/reference/elements/bokeh/Violin.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8640:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Area.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8641:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Bars.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8642:/home/niko/code/holoviews/doc/reference/elements/matplotlib/BoxWhisker.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8643:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Contours.ipynb:30002: WARNING: 'myst' reference target not found: ../user_guide/Geometry_Data.ipynb
8644:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Curve.ipynb:30002: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8645:/home/niko/code/holoviews/doc/reference/elements/matplotlib/ErrorBars.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8646:/home/niko/code/holoviews/doc/reference/elements/matplotlib/HSV.ipynb:30010: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8647:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Image.ipynb:30002: WARNING: 'myst' reference target not found: Continuous_Coordinates.ipynb
8648:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Image.ipynb:30010: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8649:/home/niko/code/holoviews/doc/reference/elements/matplotlib/ImageStack.ipynb:30018: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8650:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Labels.ipynb:30002: WARNING: 'myst' reference target not found: ../../../user_guide/08-Tabular_Datasets.ipynb
8651:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Labels.ipynb:30002: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8652:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Path.ipynb:30002: WARNING: 'myst' reference target not found: ../user_guide/Geometry_Data.ipynb
8653:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Path3D.ipynb:30002: WARNING: 'myst' reference target not found: ../user_guide/Geometry_Data.ipynb
8654:/home/niko/code/holoviews/doc/reference/elements/matplotlib/QuadMesh.ipynb:30010: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8655:/home/niko/code/holoviews/doc/reference/elements/matplotlib/RGB.ipynb:30010: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8656:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Rectangles.ipynb:50002: WARNING: 'myst' reference target not found: Style_Mapping.rst
8657:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Spread.ipynb:30002: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8658:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Table.ipynb:130002: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8659:/home/niko/code/holoviews/doc/reference/elements/matplotlib/Violin.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8660:/home/niko/code/holoviews/doc/reference/elements/plotly/Area.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8661:/home/niko/code/holoviews/doc/reference/elements/plotly/Bars.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8662:/home/niko/code/holoviews/doc/reference/elements/plotly/BoxWhisker.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8663:/home/niko/code/holoviews/doc/reference/elements/plotly/Curve.ipynb:30002: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8664:/home/niko/code/holoviews/doc/reference/elements/plotly/ErrorBars.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8665:/home/niko/code/holoviews/doc/reference/elements/plotly/Image.ipynb:30002: WARNING: 'myst' reference target not found: Continuous_Coordinates.ipynb
8666:/home/niko/code/holoviews/doc/reference/elements/plotly/ImageStack.ipynb:30018: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8667:/home/niko/code/holoviews/doc/reference/elements/plotly/Path3D.ipynb:30002: WARNING: 'myst' reference target not found: ../user_guide/Geometry_Data.ipynb
8668:/home/niko/code/holoviews/doc/reference/elements/plotly/Points.ipynb:90002: WARNING: 'myst' reference target not found: Bokeh_Backend
8669:/home/niko/code/holoviews/doc/reference/elements/plotly/RGB.ipynb:30010: WARNING: 'myst' reference target not found: Gridded_Datasets.rst
8670:/home/niko/code/holoviews/doc/reference/elements/plotly/Raster.ipynb:30002: WARNING: 'myst' reference target not found: ./HSV.ipynb
8671:/home/niko/code/holoviews/doc/reference/elements/plotly/Spread.ipynb:30002: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8672:/home/niko/code/holoviews/doc/reference/elements/plotly/Table.ipynb:130002: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8673:/home/niko/code/holoviews/doc/reference/elements/plotly/Violin.ipynb:30004: WARNING: 'myst' reference target not found: Tabular_Datasets.rst
8688:/home/niko/code/holoviews/doc/user_guide/01-Annotating_Data.ipynb:20002: WARNING: 'myst' reference target not found: Introduction.rst
8689:/home/niko/code/holoviews/doc/user_guide/01-Annotating_Data.ipynb:230002: WARNING: 'myst' reference target not found: ./03-Applying_Customizations.ipynb
8690:/home/niko/code/holoviews/doc/user_guide/Annotators.ipynb:250004: WARNING: 'myst' reference target not found: ../reference/streams/PolyDraw.ipynb
8691:/home/niko/code/holoviews/doc/user_guide/Annotators.ipynb:250004: WARNING: 'myst' reference target not found: ../reference/streams/PolyEdit.ipynb
8692:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:20002: WARNING: 'myst' reference target not found: ../getting_started/2-Customization.ipynb
8693:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:30004: WARNING: 'myst' reference target not found: Customization.rst
8694:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:70006: WARNING: 'myst' reference target not found: Introduction.rst
8695:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:90002: WARNING: 'myst' reference target not found: Customization.rst
8696:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:110008: WARNING: 'myst' reference target not found: Customization.rst
8703:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:240010: WARNING: 'myst' reference target not found: Plots_and_Renderers.ipynb#Saving-and-rendering
8707:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:410018: WARNING: 'myst' reference target not found: Customization.rst
8708:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:600010: WARNING: 'myst' reference target not found: Bokeh_Backend
8711:/home/niko/code/holoviews/doc/user_guide/06-Building_Composite_Objects.ipynb:130002: WARNING: 'myst' reference target not found: ./01-Annotating_Data.ipynb
8712:/home/niko/code/holoviews/doc/user_guide/Colormaps.ipynb:10004: WARNING: 'myst' reference target not found: Styling_Plots.ipynb
8713:/home/niko/code/holoviews/doc/user_guide/Colormaps.ipynb:30010: WARNING: 'myst' reference target not found: Styling_Plots.ipynb
8715:/home/niko/code/holoviews/doc/user_guide/Colormaps.ipynb:190002: WARNING: 'myst' reference target not found: Styling_Plots.ipynb
8716:/home/niko/code/holoviews/doc/user_guide/02-Composing_Elements.ipynb:20007: WARNING: 'myst' reference target not found: ./05-Dimensioned_Containers.ipynb
8717:/home/niko/code/holoviews/doc/user_guide/02-Composing_Elements.ipynb:280002: WARNING: 'myst' reference target not found: ./03-Applying_Customization.ipynb
8718:/home/niko/code/holoviews/doc/user_guide/Continuous_Coordinates.ipynb:240002: WARNING: 'myst' reference target not found: 10-Indexing_and_Selecting.ipynb
8719:/home/niko/code/holoviews/doc/user_guide/Continuous_Coordinates.ipynb:330006: WARNING: 'myst' reference target not found: Containers
8720:/home/niko/code/holoviews/doc/user_guide/Continuous_Coordinates.ipynb:350002: WARNING: 'myst' reference target not found: 10-Indexing_and_Selecting.ipynb
8739:/home/niko/code/holoviews/doc/user_guide/17-Dashboards.ipynb:20002: WARNING: 'myst' reference target not found: ./14-Data_Pipelines.ipynb
8740:/home/niko/code/holoviews/doc/user_guide/14-Data_Pipelines.ipynb:20002: WARNING: 'myst' reference target not found: ./07-Live_Data.ipynb
8741:/home/niko/code/holoviews/doc/user_guide/05-Dimensioned_Containers.ipynb:10002: WARNING: 'myst' reference target not found: ./01-Annotating_Data.ipynb
8742:/home/niko/code/holoviews/doc/user_guide/05-Dimensioned_Containers.ipynb:180002: WARNING: 'myst' reference target not found: ./08-Tabular_Datasets.ipynb
8743:/home/niko/code/holoviews/doc/user_guide/05-Dimensioned_Containers.ipynb:180002: WARNING: 'myst' reference target not found: ./09-Gridded_Datasets.ipynb
8744:/home/niko/code/holoviews/doc/user_guide/10-Indexing_and_Selecting_Data.ipynb:10002: WARNING: 'myst' reference target not found: ./06-Building_Composite_Objects.ipynb
8745:/home/niko/code/holoviews/doc/user_guide/10-Indexing_and_Selecting_Data.ipynb:40002: WARNING: 'myst' reference target not found: ./05-Dimensioned_Containers.ipynb
8746:/home/niko/code/holoviews/doc/user_guide/10-Indexing_and_Selecting_Data.ipynb:500002: WARNING: 'myst' reference target not found: ./07-Tabular_Data.ipynb
8747:/home/niko/code/holoviews/doc/user_guide/07-Live_Data.ipynb:10023: WARNING: 'myst' reference target not found: ./12-Responding_to_Events.ipynb
8748:/home/niko/code/holoviews/doc/user_guide/07-Live_Data.ipynb:60002: WARNING: 'myst' reference target not found: Introduction.rst
8749:/home/niko/code/holoviews/doc/user_guide/Notebook_Magics.ipynb:40032: WARNING: 'myst' reference target not found: Customization.rst
8750:/home/niko/code/holoviews/doc/user_guide/Plots_and_Renderers.ipynb:440006: WARNING: 'myst' reference target not found: ./06-Building_Composite_Objects.ipynb#Nesting-hierarchy-
8751:/home/niko/code/holoviews/doc/user_guide/Plotting_with_Bokeh.ipynb:20004: WARNING: 'myst' reference target not found: 04-Style_Mapping.ipynb
8752:/home/niko/code/holoviews/doc/user_guide/Plotting_with_Bokeh.ipynb:120006: WARNING: 'myst' reference target not found: Customizing_Plots.ipynb#plot-hooks
8753:/home/niko/code/holoviews/doc/user_guide/Plotting_with_Matplotlib.ipynb:50006: WARNING: 'myst' reference target not found: Customizing_Plots.ipynb#plot-hooks
Example 1:
8566:/home/niko/code/holoviews/doc/getting_started/2-Customization.ipynb:140004: WARNING: 'myst' reference target not found: Applying_Customizations.rst
2-Customization.ipynb has text
A detailed breakdown of this exact customization is given in the [User Guide](../user_guide/03-Applying_Customizations.ipynb), but we can
That link is broken at: https://holoviews.org/getting_started/Customization.html
Example 2
8573:/home/niko/code/holoviews/doc/getting_started/4-Gridded_Datasets.ipynb:140006: WARNING: 'myst' reference target not found: ./5-Live_Data.ipynb
8574:/home/niko/code/holoviews/doc/getting_started/4-Gridded_Datasets.ipynb:140006: WARNING: 'myst' reference target not found: Data_Pipelines.rst
4-Gridded_Datasets.ipynb has text
letting you explore the parameter space dynamically without having to precompute all the combinations ahead of time (for more detail have a look at the [Live Data](./5-Live_Data.ipynb) getting-started guide and the [Data Pipelines](../user_guide/14-Data_Pipelines.ipynb) user guide).
- Both of these links are broken at https://holoviews.org/getting_started/Gridded_Datasets.html
- Note: The
[Live Data](./5-Live_Data.ipynb)has kept itself as./5-Live_Data.ipynbin the WARNING but the[Data Pipelines](../user_guide/14-Data_Pipelines.ipynb)has turned intoData_Pipelines.rst(different path, missing14-and .ipynb changed to .rst)
Example 3
8712:/home/niko/code/holoviews/doc/user_guide/Colormaps.ipynb:10004: WARNING: 'myst' reference target not found: Styling_Plots.ipynb
The Colormaps.ipynb has text:
As outlined in [Styling_Plots](Styling_Plots.ipynb), you can easily make your own custom colormaps,
- That link is broken in https://holoviews.org/user_guide/Colormaps.html#available-colormaps
Example 4
8692:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:20002: WARNING: 'myst' reference target not found: ../getting_started/2-Customization.ipynb
8693:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:30004: WARNING: 'myst' reference target not found: Customization.rst
8694:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:70006: WARNING: 'myst' reference target not found: Introduction.rst
8695:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:90002: WARNING: 'myst' reference target not found: Customization.rst
8696:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:110008: WARNING: 'myst' reference target not found: Customization.rst
8703:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:240010: WARNING: 'myst' reference target not found: Plots_and_Renderers.ipynb#Saving-and-rendering
8707:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:410018: WARNING: 'myst' reference target not found: Customization.rst
8708:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:600010: WARNING: 'myst' reference target not found: Bokeh_Backend
The 03-Applying_Customizations.ipynb has text:
As introduced in the [Customization](../getting_started/2-Customization.ipynb) section of the 'Getting Started' guide, HoloViews maintains a strict
and it has the file ../getting_started/2-Customization.ipynb actually linked total of 5 times. But see the WARNINGS above.
- Once:
../getting_started/2-Customization.ipynb - Four times
Customization.rst
So for some reason, the warnings are with different names although they all point to the same file from the same file. And yes, the links on https://holoviews.org/user_guide/Applying_Customizations.html to Customizations are broken too.
Summary
As far I understand, all the the 'myst' reference target not found -warnings are actually true positive. This could mean that the documentation is having around 150 broken links.
Any ideas what could be causing this..?
The pages seem to have a random number of broken and working links to .ipynb's. For example, the Page: https://holoviews.org/user_guide/Applying_Customizations.html (doc/user_guide/03-Applying_Customizations.ipynb) has the following links:
- Broken:
[Customization](../getting_started/2-Customization.ipynb) - Working:
[Annotating Data](../user_guide/01-Annotating_Data.ipynb) - Working:
[Plots and Renderers](Plots_and_Renderers.ipynb) - Working:
[Style Mapping](04-Style_Mapping.ipynb) - Broken:
[Customization](../getting_started/2-Customization.ipynb) - Broken:
[Introduction](../getting_started/1-Introduction.ipynb) - Broken:
[Customization](../getting_started/2-Customization.ipynb) - Broken:
[Customization](../getting_started/2-Customization.ipynb) - Working:
[Style Mapping](04-Style_Mapping.ipynb) - Broken:
[hv.save() and hv.render()](Plots_and_Renderers.ipynb#Saving-and-rendering) - Broken:
[customization](../getting_started/2-Customization.ipynb) - Working:
[Style Mapping](04-Style_Mapping.ipynb)
Out of which we get the following warnings:
8692:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:20002: WARNING: 'myst' reference target not found: ../getting_started/2-Customization.ipynb
8693:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:30004: WARNING: 'myst' reference target not found: Customization.rst
8694:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:70006: WARNING: 'myst' reference target not found: Introduction.rst
8695:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:90002: WARNING: 'myst' reference target not found: Customization.rst
8696:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:110008: WARNING: 'myst' reference target not found: Customization.rst
8703:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:240010: WARNING: 'myst' reference target not found: Plots_and_Renderers.ipynb#Saving-and-rendering
8707:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:410018: WARNING: 'myst' reference target not found: Customization.rst
8708:/home/niko/code/holoviews/doc/user_guide/03-Applying_Customizations.ipynb:600010: WARNING: 'myst' reference target not found: Bokeh_Backend
(all the missing links are listed in the warnings, and the Bokeh_Backend is probably a badly formed link, as it is [``bokeh``](Bokeh_Backend))
Or perhaps not so random at all. Only the .ipynbs links to the same folder are working
- File in question:
user_guide/03-Applying_Customizations.ipynb - Working:
[Annotating Data](../user_guide/01-Annotating_Data.ipynb)(still same folder)[Plots and Renderers](Plots_and_Renderers.ipynb)[Style Mapping](04-Style_Mapping.ipynb)
- Broken:
[Customization](../getting_started/2-Customization.ipynb)[Introduction](../getting_started/1-Introduction.ipynb)
Also note the strange change of missing ../getting_started/2-Customization.ipynb in the warnings after the first one to Customization.rst.
Producing MWE
Since building all the docs takes a long time, I decided to try to make a MWE which produces the bug. There are two approaces: top-down (removing as much as possible from holoviews to reproduce the bug) and bottom-up (starting from empty project and building until I see the bug)
top-down
- Create a new branch for experimenting
- Run
find . -not \( -path "./.venv/*" \
-o -path "*/user_guide/03-Applying_Customizations.ipynb" \
-o -path "*/user_guide/01-Annotating_Data.ipynb" \
-o -path "*/user_guide/Plots_and_Renderers.ipynb" \
-o -path "*/user_guide/04-Style_Mapping.ipynb" \
-o -path "*/getting_started/1-Introduction.ipynb" \
-o -path "*/getting_started/2-Customization.ipynb" \
\) -name *.ipynb -delete
find . -not \( -path "./.venv/*" \
-o -path "./doc/user_guide/Applying_Customizations.rst" \
-o -path "./doc/user_guide/Annotating_Data.rst" \
-o -path "./doc/user_guide/Style_Mapping.rst" \
-o -path "./doc/user_guide/Plots_and_Renderers.rst" \
-o -path "./doc/getting_started/Introduction.rst" \
-o -path "./doc/getting_started/Customization.rst" \
-o -path "./doc/user_guide/index.rst" \
-o -path "./doc/getting_started/index.rst" \
-o -path "./doc/index.rst" \
\) -name *.rst -delete
Then, run
bokeh sampledata
nbsite generate-rst --org holoviz --project-name holoviews
python ./doc/generate_modules.py holoviews -d ./doc/reference_manual -n holoviews -e tests
nbsite build --what=html --output=builtdocs --org holoviz --project-name holoviews
This will remove a lot of the notebooks and rst files but keep the docs still buildable. This will reproduce the issue on the ser_guide/03-Applying_Customizations.ipynb as mentioned in above comments. Unfortunately this still takes 2-3 minutes to build, so I went and tried to reproduce the issue on a minimal project.
bottom-up
I managed to create a MWE project which uses nbsite for building.
- link to repo: https://github.com/fohrloop/holoviews-issue-6086-mwe
- Building the docs:
nbsite build --what=html --output=builtdocs --org holoviz --project-name holoviews
Or, after first build (when /docs has the .ipynb files):
sphinx-build -b html doc/ builtdocs/ -a
This takes only ~10 seconds, and generates the warning:
writing output... [100%] user_guide/index
/home/niko/tmp/minimal-doc-error/doc/user_guide/03-Applying_Customizations.ipynb:20003: WARNING: 'myst' reference target not found: Customization.rst
generating indices... genindex done
The link is missing on the page (reproduces the issue 🎉🎉):
Although it should be there according to the code:
that link in the notebook works when clicking it in VS Code. As code it looks like this
"source": [
"- Here is a link to [style mapping](04-Style_Mapping.ipynb)\n",
"- Here is a link to [customization](../getting_started/2-Customization.ipynb)"
]
Notes
When building the bottom-up MWE I was first experimenting the links with myst-nb==0.17.2. With that the link to 2-Customization.ipynb was not broken. I only could reproduce the issue when adding nbsite to the mix. And as a side note, nbsite build requires matplotlib and holoviews (these are not installed with nbsite).
About different 'myst' reference target not found -errors
If Customization RST filename is Customization.rst, and doc/getting_started/index.rst has:
.. toctree::
Customization <Customization>
you'll get warning saying Something.rst is missing
WARNING: 'myst' reference target not found: Customization.rst
If Customization RST filename is something else (e.g. Something_Else.rst), and doc/getting_started/index.rst has:
.. toctree::
Customization <Something_Else>
you'll get warning saying ../somepath/SomeNotebook.ipynb is missing
WARNING: 'myst' reference target not found: ../getting_started/2-Customization.ipynb
otherwise all else seems equal. This is somewhat peculiar. Why does the name of the .rst file matter? And could explain why in the warnings there are two types of 'myst' reference target not found errors:
WARNING: 'myst' reference target not found: Customization.rst
WARNING: 'myst' reference target not found: ../getting_started/2-Customization.ipynb
I really appreciate the thoughtfulness and reporting that is going into this issue! I will try to answer some of your questions.
As far I understand, all the the 'myst' reference target not found -warnings are actually true positive. This could mean that the documentation is having around 150 broken links.
The notebooks can be up to 10 years old and, when created, likely referenced a valid notebook. But as time passes, the notebook can move (or be deleted), and people forget to update the references in another notebook. At the same time, the underlying library can change the default behavior, or we can replace it with a newer library.
When building the bottom-up MWE I was first experimenting the links with myst-nb==0.17.2.
We have pinned myst-nb <1 because it failed to build the docs in Panel and HoloViews on CI. This was just after the 1.0.0. It could be that everything is working now. I haven't looked at it since then. I can see Jupyterlite also had some problems with 1.0 (https://github.com/jupyterlite/jupyterlite/issues/1257).