TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Pyodide: Bringing the scientific Python stack to the browser

390 pointsby barryvanabout 6 years ago

13 comments

TeMPOraLabout 6 years ago
Wow, it seems to work really well. After giving it a small test drive, I&#x27;m impressed. Solid work from Mozilla, and a pretty informative article too!<p>That said, between this, iodide and ObservableHQ, I guess I give up. The browser <i>is</i> the new OS.<p>My question now is - how can we make browser environment to be more like Emacs (bear with me)? My main complaints are:<p>- Browser ergonomy absolutely sucks, and there&#x27;s nothing you can do about it. You&#x27;re at the mercy of each service&#x27;s UI, which usually means you&#x27;ll be clicking a lot and maybe sometimes get a keyboard shortcut here and there. Forget about advanced features, or consistency between sites.<p>- You have near-zero control over your computing environment. Between sandboxing and half the code being obfuscated blob of transpiled JS (the other half of the code is on the server), you can maybe automate the UI a little with userscripts and fix it up with userstyles.<p>- There&#x27;s near-zero interoperability. Unless service authors agree on and implement some APIs, things can&#x27;t talk to each other. Forget about <i>making</i> them talk. Whatever little wiring you can sometimes do (thanks to services like Zapier and IFTTT), you never have control over the process, and it always involves communication through third-party servers, even if all you&#x27;d like is to transfer some local data between browser tabs.<p>If the browser is the next OS, can we make it suck less than desktop OSes in terms of ergonomy &#x2F; productivity? Desktop OSes already suck in this regard compared to the promise of old Smalltalk and Lisp systems (that&#x27;s why I live in Emacs most of the time), so all I see is a downwards trend.<p>Current state of things is fine for casual use and casual users, but if I&#x27;m to spend 8+ hours a day doing serious work in a web browser, the browser needs to be better.
评论 #19681433 未加载
评论 #19685553 未加载
评论 #19678573 未加载
评论 #19678567 未加载
评论 #19680355 未加载
评论 #19680938 未加载
评论 #19681026 未加载
评论 #19682262 未加载
amasadabout 6 years ago
It&#x27;s great to see how far WebAssembly and Emscripten has come and this is a really cool app!<p>&gt; If you haven’t already tried Pyodide in action, go try it now! (50MB download)<p>I wonder though how ready is it for production usage. At Repl.it, years ago[1], we moved away from browser-based execution to the cloud because it excluded many users who don&#x27;t have the client-side firepower to download&#x2F;parse&#x2F;execute this much JS&#x2F;WASM.<p>Repl.it can already run a lot of the examples here [2] but I gotta say the DOM-integration is pretty neat. We could do interactive stuff on Repl.it using our new Graphics infrastructure (GFX)[3] but there is always the roundtrip delay. Here is the same matplotlib example running and streamed down on X11: <a href="https:&#x2F;&#x2F;repl.it&#x2F;@amasad&#x2F;matplotlib" rel="nofollow">https:&#x2F;&#x2F;repl.it&#x2F;@amasad&#x2F;matplotlib</a><p>[1]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16578943" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16578943</a><p>[2]: <a href="https:&#x2F;&#x2F;repl.it&#x2F;@amasad&#x2F;pyodide-example" rel="nofollow">https:&#x2F;&#x2F;repl.it&#x2F;@amasad&#x2F;pyodide-example</a><p>[3]: <a href="https:&#x2F;&#x2F;repl.it&#x2F;blog&#x2F;gfx" rel="nofollow">https:&#x2F;&#x2F;repl.it&#x2F;blog&#x2F;gfx</a>
评论 #19678688 未加载
评论 #19678296 未加载
评论 #19678942 未加载
drejabout 6 years ago
There is one area where &quot;computing in the browser&quot; misses the mark a little - browser interfaces (like Jupyter) are often used not just for the convenience they offer, but also because they serve as thin clients, which provision vastly better computing resources than you have locally.<p>So while I do some of my coding in the browser, the code executed is an EC2 far far away, close to my data, with excellent networking etc. There is very little that a Python stack directly in my browser would offer, to me (!) at least (your mileage may vary).
评论 #19681231 未加载
jononorabout 6 years ago
Incredible undertaking. Looking forward to play with it for simple machine learning tasks. I think that loading packages directly from PyPI will be a huge milestone.
sabootabout 6 years ago
Would be curious to see if a version of Cython could be made to work with this. Much of my data analysis is me passing numpy arrays into C functions which Cython helps a lot with. So I would be looking for a version of Cython that would convert that to webassembly.
评论 #19678518 未加载
评论 #19679331 未加载
VectorLockabout 6 years ago
I want to believe so bad. Being able to do web development with Python instead of JavaScript has been something I&#x27;ve dreamed about forever.
评论 #19680031 未加载
评论 #19677914 未加载
评论 #19680195 未加载
评论 #19679266 未加载
评论 #19680994 未加载
Hendriktoabout 6 years ago
&gt; It’s also been argued more generally that Python not running in the browser represents an existential threat to the language<p>I do not believe that.
jahewsonabout 6 years ago
Is anyone using this yet? What’s your experience been?
评论 #19678040 未加载
outlaceabout 6 years ago
Can this be used to create a desktop application using Electron?
评论 #19678918 未加载
评论 #19681009 未加载
snthpyabout 6 years ago
Looks really nice!<p>I prefer the look of the JSMD format to the Jupyter notebook format and hope that is something that might get integrated into JupyterHub as well.<p>Question: is there some documentation for deploying your own Iodide server behind a firewall? The original Iodide post mentions this is possible.
alexgmcmabout 6 years ago
It&#x27;s a cool project technically, but I don&#x27;t understand the use case?<p>I mean surely everyone can just have real python&#x2F;jupyterlab - if you run it in Docker it&#x27;s easy to handle the dependencies etc.<p>Am I missing something?
评论 #19680643 未加载
评论 #19681960 未加载
评论 #19680404 未加载
jdpigeonabout 6 years ago
I&#x27;m looking forward to try out Pyodide in Electron so that I can make use of all the great Python scientific and signal processing libraries for data processing.
评论 #19678617 未加载
评论 #19678463 未加载
ngcc_hkabout 6 years ago
Can it run cuda? Otherwise not that practical.<p>Minor interest. Can this approach run j&#x2F;k or more important lisp?
评论 #19678332 未加载
评论 #19680200 未加载
评论 #19678248 未加载