Hi, I wanted to share a notebook I recently made using Pyodide to run Python on ObservableHQ. The notebook allows users to upload their own high-dimensional data (three datasets are provided as examples), normalize their data (Z-score), perform hierarchical clustering on the rows and columns using clustergrammer2_core (built upon scipy etc), and visualize the results as an interactive WebGL heatmap using clustergrammer-gl
Currently, users have to upload their data using the file attachment tool in Observable and change the path to the file in the appropriate cell in order to have their data load - Iām wondering if that process can be streamlined. Also, the load time can be kind of long, but this appears to be caused by the necessary micropip installation step.
There seems to be a lot of potential for running Python code on Observable. I recently heard of Pyodide from the Jupyter-Lite project.