Skip to content

JupyterLite-based live shells for Scientific Python projects' websites #134

Open
@agriyakhetarpal

Description

@agriyakhetarpal

📝 Summary

This task is a corollary of gh-19, which was first discussed internally with @rgommers in Slack and then during the "interactive documentation and grant deliverables" sync held on 30/11/2024. Since landing websites for Scientific Python projects are the main informational sources for outreach, besides their documentation websites, it would make sense to include a JupyterLite-based shell for them deriving from the design on https://numpy.org.

🚀 Tasks / Deliverables

A rough task list would be as follows, in order from top to bottom:

  • Update SymPy's live shell so that it always uses the latest released Pyodide distribution + latest released SymPy wheels
  • Investigate and update NumPy's shell's JupyterLite backstage to use/ensure it uses the latest released Pyodide distribution + latest released NumPy wheels (non-nightly, but from released artifacts if feasible)
  • Replicate NumPy's shell to the SciPy website (with any changes made as necessary)
  • Investigate GHA-based existing infrastructure, and establish new automation and infrastructure for keeping the SymPy, NumPy, and SciPy live shells up-to-date
  • Expand or explore expansion to other projects' websites that do not use the Scientific Python Hugo Theme, like those for scikit-image or pandas

📅 Estimated completion

24 months milestone

📋 Additional information

Some references for shells:

  1. The SymPy Live shell: https://www.sympy.org/en/shell.html
  2. NumPy's shell's implementation: https://github.com/numpy/numpy.org/blob/4d22f788d7dfa6f0624bede75d85a8c6e7f672bd/layouts/partials/shell.html
  3. Other discussions around SymPy's community projects supporting Pyodide: https://groups.google.com/g/sympy/c/jKJRPAC0qH8

Please refer to the status tables in gh-18 and gh-19 for more information about Pyodide/WASM CI builds and interactive documentation deployments for Scientific Python projects, respectively.

Metadata

Metadata

Type

No type

Projects

Status

🏗 In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions