layout | explainer | build-from-source-link | demo | installation | goals | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
home |
CPython is the common implementation of Python. We love C, but we love Rust a little more 😉... that's why we're working on a RustPython, a Python implementation written in Rust. We are doing it for fun, to learn about writing interpreters, and to have a useful, usable and embeddable implementation of Python in Rust. |
|
|
|
There are many implementations of Python. For example:
- CPython (C), which is the most common
- Jython (Java)
- IronPython (.NET)
- PyPy (Python)
- Stackless
Each of these implementations offer some benefits: Jython, for example, compiles Python source code to Java byte code, then routes it to the Java Virtual Machine. Because Python code is translated to Java byte code, it looks and feels like a true Java program at runtime and so it integrates well with Java applications.
IronPython is well-integrated with .NET, which means IronPython can use the .NET framework and Python libraries or vice versa.
We want to unlock the same possibilities that Jython and IronPython enable, but for the Rust programming language. Then we want to do more. Using RustPython, we want to compile Python to WebAssembly and allow users to run their Python code natively in the browser.
Check the "learn more" section for an explainer of all those jargon-y words, or read the blog for more in-depth technical discussion.