Show HN: Brython is an implementation of Python 3 running in the browser

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • pyodide

    Pyodide is a Python distribution for the browser and Node.js based on WebAssembly

  • 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.

  • brython

    Brython (Browser Python) is an implementation of Python 3 running in the browser

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • jupyterlite

    Wasm powered Jupyter running in the browser 💡

  • brip

    brip stands for Brython's pip. It brings the Python packages ecosystem and the pip-like workflow to Brython-powered projects.

  • Transcrypt

    Python 3.9 to JavaScript compiler - Lean, fast, open! -

  • 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

  • krustlet

    Kubernetes Rust Kubelet

  • 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.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts