Skip to content

Tracking issue for adding interactive documentation #706

Description

@agriyakhetarpal

Description

This is an issue to collect tasks for adding interactive documentation to PyWavelets via JupyterLite kernels/notebooks.

Proposal

Additional comments

The intermediate step would mean that the .whl files would have to be downloaded manually using wget or curl first (a helper script can be created for this) and pointed to the Pyodide-pip interpreter for installation.

Footnotes

  1. https://github.com/scipy/scipy/pull/20019/ ↩

Activity

  1. rgommers commented on Mar 5, 2024

    @rgommers
    Member

    Add CI jobs to run nightly builds of Pyodide wheels (or on every push to master, rather?),

    Every push to master would be better; this package moves very slowly so more than that is a bit wasteful.

    while configuring versioning to include git hashes or dates

    That may be simplified by this just-merged Meson feature: mesonbuild/meson@524a661. It'll only be available once 1.4.0 comes out. You could already try locally though whether you can make that work. Note that it would need a .py script rather than the version.sh in the docs, otherwise things won't work on Windows.

  2. agriyakhetarpal commented on Mar 5, 2024

    @agriyakhetarpal
    CollaboratorAuthor

    Thanks, a 1.4.0 non-RC release for Meson should be out in a week or so when we should be able to do this. A .py script would work nicely too.

    I am more concerned about how we would make Read the Docs work with what we are intending to do – I suppose only the process of the implementation can tell what things end up being feasible.

  3. rgommers commented on Mar 5, 2024

    @rgommers
    Member

    It's purely client-side, so probably fine on RTD. Switching to GitHub Pages would also be pretty straightforward if needed.

  4. rgommers commented on Mar 8, 2024

    @rgommers
    Member

    Investigate where to upload wasm32 wheels (needs an external index that accepts emscripten_X_Y_wasm32 platform tags)

    I opened scientific-python/upload-nightly-action#75 to request access to upload to https://anaconda.org/scientific-python-nightly-wheels/repo.

  5. rgommers commented on Mar 8, 2024

    @rgommers
    Member

    Add CI jobs to run nightly builds of Pyodide wheels (or on every push to master, rather?)

    I'll note that that anaconda.org bucket cleans up nightlies older than 30 days. So how about on every push to master and every 25 days, to be safe?

  6. agriyakhetarpal commented on Mar 8, 2024

    @agriyakhetarpal
    CollaboratorAuthor

    I'll note that that anaconda.org bucket cleans up nightlies older than 30 days. So how about on every push to master and every 25 days, to be safe?

    Yes, that should be fair enough – we would want at least one wheel being uploaded before other ones get cleaned up

  7. agriyakhetarpal commented on Mar 12, 2024

    @agriyakhetarpal
    CollaboratorAuthor

    Next step is actually getting started with interactive documentation. We already have the usage examples – how should we go ahead? Should I convert them to notebooks as I mentioned above?

  8. rgommers commented on Mar 12, 2024

    @rgommers
    Member

    Guess we're getting closer, 4 out of 7 done. I'm starting to prepare the 1.6.0 release. I think we can probably get the "Try Examples" in before that is final (in 2 weeks or so).

  9. rgommers commented on Mar 12, 2024

    @rgommers
    Member

    We already have the usage examples – how should we go ahead? Should I convert them to notebooks as I mentioned above?

    It is not necessary to convert them to notebooks. The jupyterlite-sphinx extension should be able to work with any regular examples in docstrings. I suggest adding that extension first, seeing what works with it and what doesn't using the PyWavelets 1.5.0 shipped in Pyodide, and then fixing things up as needed.

  10. agriyakhetarpal commented on Apr 1, 2024

    @agriyakhetarpal
    CollaboratorAuthor

    Guess we're getting closer, 4 out of 7 done. I'm starting to prepare the 1.6.0 release. I think we can probably get the "Try Examples" in before that is final (in 2 weeks or so).

    Just adding a comment here to update things: I assume this has been checked out and #731 should now bring v1.6.0 with some new examples. The Emscripten and Pyodide versions are not decoupled at the time of writing, so we won't have v1.6.0 WASM wheels until there is a new version of Pyodide, but it should be okay since there have been no previous API changes as discussed earlier. I have updated the checklist to showcase the most recent scenario. The next task to check off would be to keep investigating the CORS headers issue. We recently merged jupyterlite/jupyterlite-sphinx#161, and a release for jupyterlite-sphinx should be coming soon – after that, we can remove the :button_text: input from all examples (which shall fix the issue we had faced, mentioned in the PR linked above).

  11. agriyakhetarpal commented on May 3, 2024

    @agriyakhetarpal
    CollaboratorAuthor

    From #737 (comment), the "Usage Examples" section is now being worked on; it can be targeted for a v1.6.1 milestone/release.

  12. agriyakhetarpal commented on May 23, 2024

    @agriyakhetarpal
    CollaboratorAuthor

    Note to self: jupyterlite/jupyterlite#461 might be useful; I hope it is added to the Pyodide kernel. It might be possible to write a custom JupyterLite kernel for this such as https://github.com/jobovy/jupyterlite-repl-prerun.

  13. added this to the v1.7.0 milestone on May 30, 2024
  14. modified the milestones: v1.7.0, v1.8.0 on Sep 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions