[{"data":1,"prerenderedAt":274},["ShallowReactive",2],{"project-42700852":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":41,"post_text":44,"what":45,"said":86,"maker_in_thread":154,"shape":165,"grid":169,"attempts":237,"same_week":238,"maker_shows":42,"maker_hidden":266,"reader_version":267,"card":268},"42700852","marimo","WASM-powered codespaces for Python notebooks on GitHub","title","Show HN: WASM-powered codespaces for Python notebooks on GitHub","https:\u002F\u002Fdocs.marimo.io\u002Fguides\u002Fpublishing\u002Fplayground\u002F#open-notebooks-hosted-on-github","docs.marimo.io","mscolnick",1736876801,2025,204,27,309,3837,9,"notable","languages","notebook environment","web_app",[24,25,5,26,27],"python notebook","webassembly","jupyter notebook","github","loved",0.463,{"positive":31,"neutral":32,"mixed":33,"critical":33},7,8,0,15,{"execution":36,"idea":38,"performance":40},{"positive":37,"critical":33},1,{"positive":39,"critical":33},4,{"positive":37,"critical":33},[42,33,43,33,42,42,42,43,33,33,33,33,43,42,43,42,43,43,42,33,42,33,43,33,33,33,33],3,5,"Hi HN!\n\nLast year, we shared marimo [1], an open-source reactive notebook for Python with support for execution through WebAssembly [2].\n\nWe 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.\n\nAll you need to do is prepend 'marimo.app' to any Python notebook on GitHub. Some examples:\n\n- Jupyter Notebook: https:\u002F\u002Fmarimo.app\u002Fgithub.com\u002Fjakevdp\u002FPyt",{"problem":46,"audience":52,"pricing":57,"motivation":58,"time_to_build":57,"stack":62,"openness":83,"stage":84,"team_size":85},{"value":47,"source":48,"evidence":49},"Running and sharing Python notebooks hosted on GitHub without local setup","maker",[50],{"id":51},"post",{"value":53,"source":54,"evidence":55},"Python and data users who share notebooks with data","inferred",[56],{"id":51},null,{"value":59,"source":48,"evidence":60},"Make it easy to share notebooks with data via GitHub",[61],{"id":51},[63,67,71,75],{"value":64,"source":48,"evidence":65},"Python",[66],{"id":51},{"value":68,"source":48,"evidence":69},"WebAssembly",[70],{"id":51},{"value":72,"source":48,"evidence":73},"Emscripten",[74],{"id":51},{"value":76,"source":77,"evidence":78},"DuckDB","commenter",[79],{"id":80,"by":81,"text":82},"42705391","akshayka","duckdb works — just import duckdb. We also have built-in SQL cells, powered by duckdb, which should also work.","open_source","launched","unknown",{"praise":87,"objections":106,"requests":111,"questions":123,"alternatives":138},[88,99],{"value":89,"source":77,"evidence":90},"Useful for sharing notebooks and data with non-dev colleagues",[91,95],{"id":92,"by":93,"text":94},"42703187","dhbradshaw","This is really cool -- going to show it off to my team. I love the fact that you opened it up so that it will work with Jupyter notebooks as well.",{"id":96,"by":97,"text":98},"42713562","maliker","This is an awesome, and as a bonus I learned about a mature reactive notebook for python. Great stuff. The data sharing is awesome. I previously used Google Colab to share…",{"value":100,"source":77,"evidence":101},"Hosting on GitHub Pages via WASM export is appealing",[102],{"id":103,"by":104,"text":105},"42703429","HanClinto","I absolutely love that this can be hosted on Github Pages. Am I correct in understanding that these notebooks will run independently, and will not need to proxy through…",[107],{"value":108,"source":48,"evidence":109},"Jupyter conversion may fail on some notebook edge cases",[110],{"id":51},[112,119],{"value":113,"source":77,"evidence":114},"Connect SQL cells to remote data sources",[115],{"id":116,"by":117,"text":118},"42709030","unrealhoang","can I config sql cells to use different data source (remote DB\u002FAPIs) instead of local duckdb?",{"value":120,"source":77,"evidence":121},"Support embedding non-Python binaries in the browser",[122],{"id":96,"by":97,"text":98},[124,131],{"value":125,"source":77,"evidence":126},"Can it connect to in-browser databases like DuckDB WASM",[127],{"id":128,"by":129,"text":130},"42705273","wolfgangK","Nice ! Is it possible to connect to an in browser DB like WASM DuckDB https:\u002F\u002Fduckdb.org\u002Fdocs\u002Fapi\u002Fwasm\u002Foverview.html or https:\u002F\u002Fgithub.com\u002Fbabycommando\u002Fentity-db ? That would be…",{"value":132,"source":77,"evidence":133},"Does marimo support local file system access",[134],{"id":135,"by":136,"text":137},"42704183","westurner","> [ FUSE to GitHub FS ] > Notebooks created from GitHub links have the entire contents of the repository mounted into the notebook's filesystem. This lets you work with files…",[139,143,150],{"value":140,"source":77,"evidence":141},"JupyterLite",[142],{"id":135,"by":136,"text":137},{"value":144,"source":77,"evidence":145},"Pyodide",[146],{"id":147,"by":148,"text":149},"42704799","data-ottawa","I love seeing projects like this. When Pyiodide came out I was excited but it was a bit difficult to use, this looks and feels fantastic. I really like Observable as well, but…",{"value":151,"source":77,"evidence":152},"Google Colab",[153],{"id":96,"by":97,"text":98},{"comments":42,"answered":37,"key":155},[156,159,162],{"id":157,"text":158},"42704486","Thanks for sharing these resources",{"id":160,"text":161},"42703537","Yea, this can be hosted on GitHub pages without any vendor infra (no marimo.app) These are two separate features: 1) marimo.app + github.com\u002Fpath\u002Fto\u002Fnb.ipynb does run on…",{"id":163,"text":164},"42703594","It is much smaller than that, Pyodide is only 2.8mb and the Python stdlib is 2.3mb when zipped",{"commenters":166,"max_depth":39,"maker_replies":42,"first_comment_mins":167,"lifespan_hours":168},20,100,37,[170,173,175,177,179,181,182,183,187,191,194,197,199,200,204,205,208,209,213,217,220,222,223,226,229,231,234],[171,33,42,172,136,33],"42704241","project\u002Fneutral\u002Fexecution",[157,33,33,174,11,37],"commenter\u002Fneutral\u002Fnone",[103,37,43,176,104,33],"project\u002Fpositive\u002Fexecution",[160,37,33,178,11,37],"project\u002Fneutral\u002Fdocs",[128,180,42,172,129,33],2,[80,180,42,172,81,33],[116,180,42,172,117,33],[184,42,43,185,186,33],"42702456","project\u002Fpositive\u002Fidea","hzuo",[188,42,33,189,190,33],"42703116","other\u002Fneutral\u002Fnone","PKop",[192,42,33,189,193,33],"42704034","pjmlp",[195,42,33,189,196,33],"42717698","mring33621",[198,42,33,189,193,33],"42722189",[147,39,43,185,148,33],[201,39,42,202,203,33],"42705022","project\u002Fneutral\u002Fidea","dmadisetti",[96,43,43,185,97,33],[135,206,42,207,136,33],6,"project\u002Fneutral\u002Fnone",[92,31,43,185,93,33],[210,32,43,211,212,33],"42704837","maker\u002Fpositive\u002Fnone","lordswork",[214,18,42,215,216,33],"42703236","project\u002Fneutral\u002Fperformance","ge96",[218,18,33,174,219,33],"42703572","bagels",[221,18,42,215,216,33],"42703601",[163,18,33,215,11,37],[224,18,43,225,216,33],"42703607","project\u002Fpositive\u002Fperformance",[227,18,33,189,228,33],"42704698","miohtama",[230,18,33,189,216,33],"42704740",[232,18,33,189,233,33],"42706967","palmfacehn",[235,18,33,189,236,33],"42708160","aitchnyu",[],[239,244,248,252,257,261],{"id":240,"name":241,"points":242,"category":243},"42645218","pdftris",1289,"games",{"id":245,"name":246,"points":247,"category":243},"42644168","Factorio Blueprint Visualizer",450,{"id":249,"name":250,"points":251,"category":243},"42678754","DoomPDF",369,{"id":253,"name":254,"points":255,"category":256},"42666492","dockview",334,"dev_tools",{"id":258,"name":259,"points":260,"category":256},"42712666","ItsLaunched",246,{"id":262,"name":263,"points":264,"category":265},"42697346","BadWebsiteBlocklist",225,"productivity",false,"v2",{"id":269,"name":5,"line":6,"ai":266,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":270,"top":18,"kw":271,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":272,"url":9,"mix":273,"praise":89,"objection":108,"sub":21},42700852,0.46,[24,25,5,26,27],"305033350000535355303050000",[31,32,33,33],1794036667932]