All Projects → iodide-project → Pyodide

iodide-project / Pyodide

Licence: mpl-2.0
Pyodide is a Python distribution for the browser and Node.js based on WebAssembly

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects
shell
77523 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to Pyodide

Wasmwinforms
C# Winforms for Webassembly
Stars: ✭ 444 (-93.74%)
Mutual labels:  webassembly
Walt
⚡ Walt is a JavaScript-like syntax for WebAssembly text format ⚡
Stars: ✭ 4,513 (-36.32%)
Mutual labels:  webassembly
Binaryen
Compiler infrastructure and toolchain library for WebAssembly
Stars: ✭ 5,294 (-25.3%)
Mutual labels:  webassembly
Gluesql
GlueSQL is quite sticky, it attaches to anywhere.
Stars: ✭ 463 (-93.47%)
Mutual labels:  webassembly
Rpa
UI.Vision: Open-Source RPA Software (formerly Kantu) - Modern Robotic Process Automation with Selenium IDE++
Stars: ✭ 477 (-93.27%)
Mutual labels:  webassembly
Awesome Wasm Runtimes
A list of webassemby runtimes
Stars: ✭ 490 (-93.09%)
Mutual labels:  webassembly
Camaro
camaro is an utility to transform XML to JSON, using Node.js binding to native XML parser pugixml, one of the fastest XML parser around.
Stars: ✭ 438 (-93.82%)
Mutual labels:  webassembly
Capstone
Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings.
Stars: ✭ 5,374 (-24.17%)
Mutual labels:  webassembly
Genact
🌀 A nonsense activity generator
Stars: ✭ 5,109 (-27.91%)
Mutual labels:  webassembly
Vmir
Virtual Machine for Intermediate Representation
Stars: ✭ 514 (-92.75%)
Mutual labels:  webassembly
Asmble
Compile WebAssembly to JVM and other WASM tools
Stars: ✭ 466 (-93.42%)
Mutual labels:  webassembly
Wasm And Rust
WebAssembly and Rust: A Web Love Story
Stars: ✭ 476 (-93.28%)
Mutual labels:  webassembly
Uno
Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
Stars: ✭ 6,029 (-14.93%)
Mutual labels:  webassembly
Interface Types
Stars: ✭ 448 (-93.68%)
Mutual labels:  webassembly
Vim.wasm
Vim editor ported to WebAssembly
Stars: ✭ 4,915 (-30.65%)
Mutual labels:  webassembly
Wasm Imagemagick
Webassembly compilation of https://github.com/ImageMagick/ImageMagick & samples
Stars: ✭ 442 (-93.76%)
Mutual labels:  webassembly
Turboscript
Super charged typed JavaScript dialect for parallel programming which compiles to WebAssembly
Stars: ✭ 487 (-93.13%)
Mutual labels:  webassembly
Dotnet Webassembly
Create, read, modify, write and execute WebAssembly (WASM) files from .NET-based applications.
Stars: ✭ 535 (-92.45%)
Mutual labels:  webassembly
Wasmtime
Standalone JIT-style runtime for WebAssembly, using Cranelift
Stars: ✭ 6,413 (-9.51%)
Mutual labels:  webassembly
Zwitterion
A web dev server that lets you import anything*
Stars: ✭ 514 (-92.75%)
Mutual labels:  webassembly

NPM Latest Release PyPI Latest Release Build Status Documentation Status

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

What is Pyodide?

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 extensions have also been ported for use with Pyodide. These include many general-purpose packages such as regex, pyyaml, lxml 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 (throw an error in one language, catch it in the other), 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.

Getting Started

Pyodide offers three different ways to get started depending on your needs and technical resources. These include:

  • Use a hosted distribution of Pyodide: see the Getting Started documentation.
  • Download a version of Pyodide from the releases page and serve it with a web server.
  • Build Pyodide from source
    • Build natively with make: primarily for Linux users who want to experiment or contribute back to the project.
    • Use a Docker image: recommended for Windows and macOS users and for Linux users who prefer a Debian-based Docker image with the dependencies already installed.

History

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.

Contributing

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.

Communication

License

Pyodide uses the Mozilla Public License Version 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].