holoviz-dev / nbsite

Build a tested, sphinx-based website from notebooks
https://nbsite.pyviz.org
BSD 3-Clause "New" or "Revised" License
27 stars 14 forks source link

Align HoloViz sites to use the same version of nbsite and pydata_sphinx_theme #237

Open maximlt opened 1 year ago

maximlt commented 1 year ago

The HoloViz sites should be built using the same version of nbsite, pydata_sphinx and Python.

nbsite:

site channel version
panel PyPI --pre 0.8.0rc2
hvplot pyviz/label/dev 0.8.0rc2
holoviews pyviz/label/dev 0.8.0rc2
geoviews pyviz/label/dev 0.8.0rc2
datashader pyviz/label/dev 0.8.0rc2
colorcet pyviz/label/dev 0.8.0rc2
lumen pyviz/label/dev 0.8.0rc2
param PyPI --pre 0.8.0rc2
holoviz pyviz/label/dev 0.8.0rc2
examples ? ?

pydata-sphinx-theme:

site channel version
panel PyPI 0.9.0
hvplot conda-forge 0.9.0
holoviews conda-forge 0.9.0
geoviews conda-forge 0.8.1
datashader conda-forge 0.8.1
colorcet conda-forge 0.8.1
lumen conda-forge 0.9.0
param PyPI 0.8.1
holoviz conda-forge 0.8.1
examples NA NA

Python:

site version
panel 3.9
hvplot 3.8
holoviews 3.8
geoviews 3.9
datashader 3.8
colorcet 3.9
lumen 3.9
param 3.9
holoviz 3.9
examples 3.7

EDIT

I just saw that Param was pinning 'myst_nb ==0.12.2' so it's worth checking if other sites do that too.

Updates:

droumis commented 1 year ago

are you going to pin nbsite?

maximlt commented 1 year ago

I haven't yet decided actually. There's some work required first anyway so that the projects don't all have to include some (quite a lot actually) of boiler plate, that includes CSS and template files. When this is done it'll be much easier to decide how to proceed.

maximlt commented 1 year ago

One difficulty with NBSite and the pyviz channels is that it's not super easy to experiment building a single site with a new dev version of NBSite. Most projects use the pyviz/label/dev channel to build their site. They've added it because at some point they either needed a dev version of another HoloViz package or a dev version of a HoloViz tool (pyct, pyctdev, nbsite, nbsmoke, ...). This kind of change is usually not reverted. So when a new dev release of NBSite (or any other HoloViz package really) is made all the other projects are affected. Unless they've added pins, but maintaining these pins is tedious.

I think we could/should actually create a pyviz channels called tools and tools-dev and push new versions of the tools there instead of on pyviz/label/main and pyviz/label/dev. That would allow for more granularity and decoupling the main packages from the tools.

A normal doc build would rely on pyviz/label/main and on pyviz/label/tools. I think the Github actions could be set up so that as a developer you could manually choose whether the action should pull the tools from pyviz/label/tools or from pyviz/label/tools-dev. The workflow I'm thinking of would be:

I'll credit @jlstevens for the idea of using other channels, I think it's a pretty decent workflow.