Rust Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
functional_tests
pythonlib
src
tests
.gitignore
.travis.yml
Cargo.toml
LICENSE
README.md
run_functional_tests.py

README.md

pythonvm-rust

Build Status

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

  • CPython 3.6 (used as a parser and bytecode compiler).
  • Rust
  • Cargo

Try it

  1. git clone https://github.com/ProgVal/pythonvm-rust.git
  2. cd pythonvm-rust
  3. python3 -m compileall -b pythonlib examples
  4. cargo run pythonlib/ examples/helloworld.pyc