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

Update docs site to pyodide-kernel 0.6.0, update/pin demo deps #1031

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

bollwyvl
Copy link
Collaborator

@bollwyvl bollwyvl commented Mar 31, 2023

References

Code changes

  • use latest pyodide-kernel
    • use jupyterlite-pyodide-kernel from RTD
    • use pyodide-kernel 0.6.0 from github
  • restore docs dependency discovery and wheel sync
  • update federated extensions and pyodide wheels
    • crucially jupyterlab_widgets and ipywidgets to match now-tighter version ranges
    • removes juyterlab-myst (causes lab UI css jank, huge up-front download)
      • remove markdown features not handled by @jupyterlab/markedparser-extension
    • lagging on conda-forge, will probably just pin

User-facing changes

  • docs site viewers
    • should see pyodide 0.23, python 3.11
  • maintainers
    • should be able to keep the example extensions in sync with python packages

Backwards-incompatible changes

  • n/a

@github-actions
Copy link
Contributor

lite-badge 👈 Try it on ReadTheDocs

@bollwyvl bollwyvl added documentation Improvements or additions to documentation maintenance labels Mar 31, 2023
@bollwyvl bollwyvl changed the title Update docs site python dependencies, pyodide 0.23 Update docs site to pyodide-kernel 0.6.0, update/pin demo deps Mar 31, 2023
@bollwyvl bollwyvl marked this pull request as ready for review March 31, 2023 12:54
@@ -1183,6 +1248,52 @@ def get_deps(has_deps, dep_file):

dep_file.write_text(out, **C.ENC)

def deps_to_wheels(all_deps):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should try to move the handling of the Pyodide examples to the jupyterlite-pyodide-kernel repository at some point. But still include them on the demo site (https://jupyterlite.rtfd.io/en/latest/).

Hoping we could avoid growing this dodo.py at some point, it feels more complex the more I look at it :(

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move the handling

Sure, packaging the depfinder stuff is fine, and while it would be separately-released, also be co-developed in the kernel repo.

avoid growing this dodo.py

Sure, that's fine: but it's still a complex, long build, and relying on docs just isn't worth the time keeping the docs up-to-date, and telling people where to look for them when they hit a problem which we know is a problem. And not all these things can be solved by more

The few, non-pyodide-related file_deps restored in this PR (e.g. "do a dev install when pyproject.toml changes", or "build the app bundle before running the unit tests"), mean one can run doit check and get a fully built docs site, which rebuilds correctly when things change. That, day-in, day-out simplicity is worth the complication in this one file. Heck, we should have the ui-tests in the loop as well, and use the output of those tests in documentation. More complex, but breaks the build in a good way if things change too much.

I've been making some progress on a tool that moves a lot of the grunt work of defining tasks and dependencies to some declarative pyproject.toml, which could eventually be employed here.

@@ -1506,6 +1650,13 @@ def _ensure_resolutions(app_name):

return all_up_to_date

def fetch_pyodide_repodata():
url = "https://cdn.jsdelivr.net/pyodide/v0.23.0/full/repodata.json"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm does that means we also need to know the Pyodide version here? Which is already handled in https://github.com/jupyterlite/pyodide-kernel.

Looks like one more piece of configuration that will need to be updated next time we update the pyodide kernel.

@bollwyvl
Copy link
Collaborator Author

bollwyvl commented Mar 31, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation maintenance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants