Our great sponsors
-
That’s already pretty much the case. Python has been though it’s not fast and the stack size limit is problematic. https://github.com/pyodide/pyodide
Pyodide is used in https://jupyterlite.readthedocs.io/
Maybe things will improve with web assembly GC, though it will require work to port GC languages to it.
-
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
-
brip
brip stands for Brython's pip. It brings the Python packages ecosystem and the pip-like workflow to Brython-powered projects.
-
I found this article and associated presentation to be a great overview of the options for this kind of thing: https://anvil.works/blog/python-in-the-browser-talk
Transcrypt's (https://github.com/QQuick/Transcrypt) approach made the most sense to me. It seems to be a heroic effort by one guy.
-
munch
A Munch is a Python dictionary that provides attribute-style access (a la JavaScript objects).
https://github.com/Infinidat/munch
In theory implementing attribute-style access on user-defined Python object is just a matter of overriding its __(get|set)attr__ methods, for example:
In [1]: import collections
-
I don't think Webassembly will ever replace Javascript in the browser. Javascript has a low barrier of entry and if you are creating React/Angular sites there's little to gain from Webassembly for someone not interested in safer languages.
Saying that I am really interested in Webassembly and think the word web in Webassembly does it a disservice.
I have started to think of Webassembly as a light weight JVM. It's heavy sandboxing makes it really interesting as an evolution to FaaS (Function as a service) such as AWS Lambda. Lucet which Fastly is using for their Compute@Edge reports 35 micro second code start time! I can't wait until Fasly put there Compute@Edge on general release so I can try it. I've been playing with Cloudflare workers and as they us Chrome to run WASM files you have to mess about writing Javascript shims so a bit rough around the edges debugging.
Webassembly should realise the original goals of serverless providing a cross platform runtime with security guarantees and be fast and lightweight.
Most people package an entire OS in Docker containers, with WASM they get a small cross platform artifact. This project already looks like a way to run them in K8s https://github.com/deislabs/krustlet.
It also looks great for cross platform media devices. Have the bulk of your code as a WASM binary and then have very thin platform specific shim the WASM interacts with.
-
Sonar
Write Clean Python Code. Always.. Sonar helps you commit clean code every time. With over 225 unique rules to find Python bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.