WA

WASM-powered codespaces for Python notebooks on GitHub

Hacker News

WASM-powered codespaces for Python notebooks on GitHub

Hi HN! Last year, we shared marimo [1], an open-source reactive notebook for Python with support for execution through WebAssembly [2]. We wanted to share something new: you can now run marimo and Jupyter notebooks directly from GitHub in a Wasm-powered, codespace-like environment. What makes this powerful is that we mount the GitHub repository's contents as a filesystem in the notebook, making it really easy to share notebooks with data. All you need to do is prepend 'marimo.app' to any Python notebook on GitHub. Some examples: - Jupyter Notebook: https://marimo.app/github.com/jakevdp/PythonDataScienceHandb... - marimo notebook: https://marimo.app/github.com/marimo-team/marimo/blob/07e8d1... Jupyter notebooks are automatically converted into marimo notebooks using basic static analysis and source code transformations. Our conversion logic assumes the notebook was meant to be run top-down, which is usually but not always true [3]. It can convert many notebooks, but there are still some edge cases. We implemented the filesystem mount using our own FUSE-like adapter that links the GitHub repository’s contents to the Python filesystem, leveraging Emscripten’s filesystem API. The file tree is loaded on startup to avoid waterfall requests when reading many directories deep, but loading the file contents is lazy. For example, when you write Python that looks like ```python with open("./data/cars.csv") as f: print(f.read()) # or import pandas as pd pd.read_csv("./data/cars.csv") ``` behind the scenes, you make a request [4] to https://raw.githubusercontent.com/<org>/<repo>/main/data/car... . Docs: https://docs.marimo.io/guides/publishing/playground/#open-no... [1] https://github.com/marimo-team/marimo [2] https://news.ycombinator.com/item?id=39552882 [3] https://blog.jetbrains.com/datalore/2020/12/17/we-downloaded... [4] We technically proxy it through the playground https://marimo.app to fix CORS issues and GitHub rate-limiting.

Share card

Actual performance

204points
27comments
Made the leaderboard

Launch Intel predictions

Analyze your own launch →
Hacker NewsStrong engagement from HN community · Strong signals: filesystem, ide, io · Missing: https docs, excited, just released
89%89% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
Product HuntOn track for Day 1 leaderboard · Strong signals: user, new, using · Missing: mac, agents, macos
65%65% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
Indie HackersFits the IH revenue-focused audience · Missing: supports, reddit linkedin, podcasting
54%54% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
TrustMRRLess likely to generate early MRR · Strong signals: way · Missing: mobile apps, ios, personal
46%46% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
AppSumoMay struggle as an AppSumo deal · Missing: plus, platform, intuitive
28%28% predicted probability of success on AppSumo, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Strong signals: active · Missing: arr, mrr, revenue
16%16% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Missing: web3, chat, crypto
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Correct prediction on native model

Similar products

Le
Learn Evolutionary Algorithms with Python Notebooks68%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Learn Evolutionary Algorithms with Python Notebooks

Hacker News11
I
I Wrote a Book on Evolutionary Algorithms with Python Notebooks78%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

I Wrote a Book on Evolutionary Algorithms with Python Notebooks

Hacker News13
Mi
Mineo.app – Better Python Notebooks67%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Mineo.app – Better Python Notebooks

Hacker News60
Py
Python CLI for Compiling Jupyter Notebooks into FastAPI Apps54%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Python CLI for Compiling Jupyter Notebooks into FastAPI Apps

Hacker News5
Gi
GitNotebooks – Review Jupyter Notebooks from GitHub64%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

GitNotebooks – Review Jupyter Notebooks from GitHub

Hacker News3
Te
Teena - Unix in Python, powered by Tornado66%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Teena - Unix in Python, powered by Tornado

Hacker News58
Ob
Observable Notebooks67%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Observable Notebooks

Hacker News654
ip
ipynb-tex – Jupyter Notebooks and TeX57%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

ipynb-tex – Jupyter Notebooks and TeX

Hacker News4
Eu
Euporie, a Tui for Jupyter Notebooks60%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Euporie, a Tui for Jupyter Notebooks

Hacker News150
Pu
Puppy – CLI for managing Python environments and notebooks64%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Puppy – CLI for managing Python environments and notebooks

Hacker News1