pyodide/pyodide: Pyodide is a Python distribution for the browser and Node.js based on WebAssembly · GitHub

✨ Discover this insightful post from Hacker News 📖

📂 **Category**:

📌 **What You’ll Learn**:

Pyodide

NPM Latest Release
PyPI Latest Release
Build Status
Documentation Status

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

Pyodide is a port of CPython to WebAssembly/Emscripten.

Pyodide makes it possible to install and run Python packages in the browser with
micropip. Any pure Python package with a wheel
available on PyPi is supported. Many packages with C, C++, and Rust extensions
have also been ported for use with Pyodide. These include many general-purpose
packages such as regex, PyYAML, and cryptography, and scientific Python packages
including NumPy, pandas, SciPy, Matplotlib, and scikit-learn.

Pyodide comes with a robust Javascript ⟺ Python foreign function interface so
that you can freely mix these two languages in your code with minimal friction.
This includes full support for error handling, async/await, and much more.

When used inside a browser, Python has full access to the Web APIs.

Try Pyodide (no installation needed)

Try Pyodide in a
REPL directly in
your browser. For further information, see the
documentation.

The Components of the Pyodide Project

The Pyodide project consists of the following components:

  1. A build of CPython with a few patches (https://github.com/pyodide/pyodide/tree/main/cpython/)
  2. A JS/Python foreign function interface
    (https://github.com/pyodide/pyodide/tree/main/src/core and
    https://github.com/pyodide/pyodide/tree/main/src/py)
  3. JavaScript code for creating and managing Pyodide interpreters
    (https://github.com/pyodide/pyodide/tree/main/src/js)
  4. A choice of Emscripten platform, which consists of a version + ABI-sensitive
    flags + static libraries to link. This is described
    here and implemented in
    (https://github.com/pyodide/pyodide/tree/main/Makefile.envs)
  5. A toolchain for cross compiling
    testing and
    installing packages for Pyodide.

Pyodide was created in 2018 by Michael Droettboom
at Mozilla as part of the Iodide
project. Iodide is an experimental
web-based notebook environment for literate scientific computing and
communication.

Iodide is no longer maintained. If you want to use Pyodide in an interactive
client-side notebook, see Pyodide notebook
environments.

Please view the contributing
guide for tips
on filing issues, making changes, and submitting pull requests. Pyodide is an
independent and community-driven open-source project. The decision-making
process is outlined in the Project
governance.

For a full list of current and historical sponsors, please see the Funding section of our About page.

Pyodide also has a large number of small donors. If you’re interested in supporting Pyodide, check out our OpenCollective and GitHub Sponsors pages.

Pyodide uses the Mozilla Public License Version
2.0.

⚡ **What’s your take?**
Share your thoughts in the comments below!

#️⃣ **#pyodidepyodide #Pyodide #Python #distribution #browser #Node.js #based #WebAssembly #GitHub**

🕒 **Posted on**: 1773739741

🌟 **Want more?** Click here for more info! 🌟

By

Leave a Reply

Your email address will not be published. Required fields are marked *