Skip to content

Task1: Rendering notebooks #1

@grst

Description

@grst

Hi @scverse/core-devs,

I think we all agree that (in one form or the other) our tutorials will be based on jupyter notebooks.

But how do we render them? I see the following requirements

  • They should be available all from one nice looking website
  • There should be some sort of interactivity (i.e. the possibility to execute the notebooks online)
  • Ideally, we have the option to optionally execute notebooks by the CI (but it should be also possible to use an executed .ipynb file, as some of the notebooks might be too computationally expensive)

Possible solutions:

For interactivity the notebooks can be linked to various online services like binder or google colab. For binder it's easier to declare dependencies as a yml file, but google colab has access to GPU which is particularly useful for scvi-tools.
See also https://sphinx-book-theme.readthedocs.io/en/stable/launch.html#launch-buttons-for-interactivity

There's also thebe which would allow to run code cells directly within sphinx. I didn't like their demo too much though, and I also don't see a clear advantage over opening binder/colab.

Hosting

If we go for sphinx, we could consider readthedocs. But probably building our own CI gives us more flexibility and resources for executing the notebooks and we can simply push sphinx/jupyterbook to github pages. The only downside is that it is hard to have multiple versions of the documentation (but not sure we need that for the tutorials).

WDYT?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions