pyodide
RustPython
pyodide | RustPython | |
---|---|---|
71 | 102 | |
13,618 | 20,443 | |
0.8% | 0.6% | |
9.7 | 9.9 | |
5 days ago | 4 days ago | |
Python | Rust | |
Mozilla Public License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pyodide
-
A peek into a possible future of Python in the browser
Pyodide has numpy, scipy, matplotlib, pandas, and as of last month, even polars. https://github.com/pyodide/pyodide/pull/5282
Pyodide is far from a perfect CPython and even the packages it includes often have limitations you won't find when running natively. But there's definitely enough here to be interesting and even somewhat useful. Here's an interactive app written on Pyodide that uses astropy, numpy, and matplotlib: https://shinylive.io/py/examples/#orbit-simulation
-
Run Python in the Browser Effortlessly
We evaluated the pyodide ecosystem for louie.ai last year and too much didn't work, eg, we couldn't get data in for arrow or parquet, which are table stakes for python data work
My guess was 2025 would be more practical for these libs ... And behold: https://github.com/pyodide/pyodide/issues/2933
Very cool to see!
-
LAPACK in your web browser
Compiling Fortran to WebAssembly is still an area of active development (see 1, 2, 3, 4, and 5). At the time of this post, a common approach is to use f2c to compile Fortran to C and then to perform a separate compilation step to convert C to WebAssembly. However, this approach is problematic as f2c only fully supports Fortran 77, and the generated code requires extensive patching. Work is underway to develop an LLVM-based Fortran compiler, but gaps and complex toolchains remain.
-
JavaScript Implementation of Python
Very cool! Kind of seems like a relic at this point though, cool for studying but probably better to use Pyodide [1] in practice? This is what powers JupyterLite [2], which is a fully fledged Jupyter IDE with support for packages, in browser.
1: https://github.com/pyodide/pyodide
2: https://github.com/jupyterlite/jupyterlite
-
Py2wasm – A Python to WASM Compiler
We implemented an in-browser Python editor/interpreter built on Pyodide over at Comet (our users are data scientists who need to build custom visualizations quite often, and the most familiar language for most of them is Python).
One of the issues you'll run into is that Pyodide only works by default with packages that have pure Python wheels available. The team has developed support for some libraries with C dependencies (like scikit-learn, I believe), but frameworks like PyTorch are particularly thorny (see this issue: https://github.com/pyodide/pyodide/issues/1625 )
We ended up rolling out a new version of our Python visualizations that runs off-browser, in order to support enough libraries/get the performance we need: https://www.comet.com/docs/v2/guides/comet-ui/experiment-man...
-
Show HN: Open-source, browser-local data exploration using DuckDB-WASM and PRQL
Thank you! Yes, one of the items in the Roadmap is support for Pyodide (https://github.com/pyodide/pyodide) for running in-browser python on the results of each of the code blocks! This should allow most ML libs to be usable in-browser! This is pretty high-up on our priority list.
- Show HN: Marimo – open-source reactive Python notebook – running in WASM
-
Why Are Tech Reporters Sleeping on the Biggest App Store Story?
If I understand correctly, WASM only makes sense for compiled languages, you can run the python interpreter in WASM of course[1], but that will be at a significant performance disadvantage to the native javascript interpreter, and it's also something that has to be loaded every time you load the website.
[1]: https://github.com/pyodide/pyodide
-
Rewrite Sympy in rust
If you absolutely need something comparable to Sympy, then one option might be to figure out how to best call Sympy from Rust. e.g. - RustPython, although it seems like Sympy isn't supported yet - Pyodide, and figuring out how to run it outside of a web browser. Probably also not very easy. - PyPy, and having a pretty simple Python binary for every platform - ...
-
IT department refuses to let me install Python and other programs/languages I need for my job.
For running programming languages other than JavaScript in the browser there is Emscripten and WebAssembly. There is v86, where a Linux build is compiled to WASM. Folks have written QuickJS into a Linux build compiled to WASM, Node.js into the Linux buildroot https://github.com/cemalgnlts/now, so Python or CPython can be written to the image and loaded into the browser as WASM as well https://github.com/pyodide/pyodide.
RustPython
-
From Async/Await to Virtual Threads
Totally agree, the FFI escape hatch and excellent tooling from rust, maturin pyo3 etc means so many python problems can just be solved with rust. Which begs the question, has anyone tried doing a greenthread implementation in rust? Maybe offload some of the dynamically evaled python code to a seperate process maybe with https://github.com/RustPython/RustPython
- Uv overtakes Poetry (for Wagtail users)
-
关于低谷 - FAV0周刊 #10
RustPython
-
This Week In Python
RustPython – Python Interpreter written in Rust
- RustPython: A Python Interpreter Written in Rust
-
Encapsulation in Rust and Python
Integrating Rust into Python, Edward Wright, 2021-04-12 Examples for making rustpython run actual python code Calling Rust from Python using PyO3 Writing Python inside your Rust code — Part 1, 2020-04-17 RustPython, RustPython Rust for Python developers: Using Rust to optimize your Python code PyO3 (Rust bindings for Python) Musing About Pythonic Design Patterns In Rust, Teddy Rendahl, 2023-07-14
- FLaNK Stack Weekly 12 February 2024
-
RustPython
No.
…and this one is no exception -> https://github.com/RustPython/RustPython/issues/1940
Packages that rely on c dependencies like numpy, etc. only work if you write a custom implementation by hand; the “normal” package flat out doesn’t (and cannot) work.
- Show HN: RustPython for BeOS with W2c2
-
Rust is replacing C as the Python back end
The title would be accurate if this project (https://rustpython.github.io/) was becoming the official version of Python.
What are some alternatives?
jupyter - Jupyter metapackage for installation, docs and chat
CPython - The Python programming language
brython - Brython (Browser Python) is an implementation of Python 3 running in the browser
PyO3 - Rust bindings for the Python interpreter
pyscript - PyScript is an open source platform for Python in the browser. Try PyScript: https://pyscript.com Examples: https://tinyurl.com/pyscript-examples Community: https://discord.gg/HxvBtukrg2
Rhai - Rhai - An embedded scripting language for Rust.