pythonvm-rust
pythonvm-rust copied to clipboard
An incomplete stackless interpreter of Python bytecode, written in Rust.
pythonvm-rust
A Python virtual machine, written in Rust.
Features
- prints strings to stdout
- basic exceptions
- for loops
- functions, positional arguments, keyword arguments,
*args
,**kwargs
- useable as a library
- a fine-grained sandbox
Goals
- Compatible with CPython 3.6's bytecode, in order to take advantage of FAT Python
- Support CPython's implementation of the standard library
- No crash, even when messing with code objects
- Bytecode optimizations at runtime
- Less bounded by the GIL than CPython
Dependencies
Try it
-
git clone https://github.com/ProgVal/pythonvm-rust.git
-
cd pythonvm-rust
-
python3 -m compileall -b pythonlib examples
-
cargo run pythonlib/ examples/helloworld.pyc