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

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

Open
maximlt opened this issue Nov 29, 2022 · 3 comments

Comments

@maximlt
Copy link
Collaborator

maximlt commented Nov 29, 2022

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:

  • param: Python pinned to 3.9 / nbsite pinned to 0.8.0rc2
  • holoviews: nbsite pinned to 0.8.0rc2
@droumis
Copy link
Collaborator

droumis commented Nov 29, 2022

are you going to pin nbsite?

@maximlt
Copy link
Collaborator Author

maximlt commented Nov 29, 2022

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
Copy link
Collaborator Author

maximlt commented Nov 29, 2022

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:

  • making some changes on NBSite, they look good locally on a small site
  • making a dev release of NBSite, published at pyviz/label/tools-dev
  • triggering the CI of Panel and hvPlot, building the docs with the tools being pulled the tools from pyviz/label/tools-dev
  • checking the dev sites of Panel and hvPlot, they look alright
  • making a release of NBSite, so that the changes propagate to all the sites when they eventually get their release

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

2 participants