Description
Description
Hello, I've recently been looking into the JupyterLite shell for the pandas
website's Getting Started page that briefly used to serve as an interactive endpoint for users browsing the website. It was discussed in #46682 and added in #47428, subsequently reported to be a bit slow back then, and was removed as a result in #49807.
I'd like to propose reinstating this shell for the website (either on the same page, or elsewhere on the docs website's landing page via the jupyterlite-sphinx
project, similar to matplotlib/matplotlib#22634), and wish to seek thoughts from the pandas
maintainers via this issue on whether it would be a good idea to do so for usage by newcomers.
Rationale and additional context
- In early 2025, it has been a lot of time by now, and while the world of Python running in WebAssembly still experimental, we've since then made a bunch of improvements across the Pyodide and JupyterLite ecosystems across many past releases – both for improving the stability of the shell, if not its speed, and for being able to run
pandas
code within it. - As the one who helped add the WASM CI job for Pandas last year via $57896, this is a related area in terms of
pandas
's usage within Pyodide, and I would be happy to maintain the shell if it's added and establish some relevant automations towards its upkeep. - We have been working on similar improvements to contemporary shells, such as those that exist and have been retained on the websites for NumPyand SymPy, recently
xref: Quansight-Labs/czi-scientific-python-mgmt#134
Thank you for your time! :)
P.S. Here's a short example, which takes ~7.5 seconds for me to load on a decently stable connection – but even for those with throttled connections, it should be easy to add a small admonition before it that just says "This is an experimental playground", or just prefix the word "Experimental" before the heading.
P.P.S. I noticed that a similar approach has been taken by the Ibis project; they have an admonition on this page: https://ibis-project.org/tutorials/browser/repl that states that it is experimental at the moment.
cc: @jtpio for visibility, as he was among those who collaborated on (and led) this effort previously through the issues and PRs linked.
The description and rationale have been copied over with minor changes from my recent message on 18/01/2025 in the pandas
Slack workspace: https://pandas-dev-community.slack.com/archives/C03PH1SU1M1/p1737168137448029 as suggested by @rhshadrach, which should help this proposal receive greater visibility.