Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
@maximlt maximlt added this to Infra Nov 29, 2022
@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.

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

No branches or pull requests

2 participants