This session is part of the mainters track.
Recently it became possible to run Python and the scientific Python packages in the browser thanks to WebAssembly and Emscripten. This is done in particular in the Pyodide and emscripten-forge projects. It allows for a scientific Python application, or a compute environment such as JupyterLite, to be seamlessly accessible to a large number of users with very little effort or infrastructure requirements.
At the same time, the scientific Python ecosystem did not evolve with the web in mind. We will discuss some of the challenges package maintainers may face when trying to run their package in the browser, and what could be done to overcome these.
JupyterLite is a Jupyter distribution that runs entirely in the web browser, backed by in-browser language kernels including WebAssembly powered Jupyter Xeus kernels and Pyodide.
JupyterLite enables data science and interactive computing with the PyData scientific stack, directly in the browser, without installing anything or running a server.
JupyterLite leverages the Emscripten and Conda Forge infrastructure, making it possible to easily install custom packages with binary extensions in the browser, such as numpy, scipy and scikit-learn.