This repository is now part of the RustPython/RustPython project. Please go to the RustPython/RustPython project to star or contribute!
A Python interpreter written in Rust
bash init_env.sh ./test.sh <path/to/file.py> # compile and run ./test.sh <path/to/file.py> --bytecode # print the bytecode in JSON ./test.sh <path/to/file.py> --dis # Run python -m dis Given a python file test.py
python compile_code.py test.py > test.bytecode cd RustPython cargo run ../test.bytecode ./test_all.sh # Run all tests under tests/ - If a test is expected to fail or raise exception, add
xfail_*prefix to the filename.
RUST_LOG=debug ./tests_all.sh - Native types => Partial
- Control flow => if(v)
- assert => OK
- Structural types (list, tuple, object)
- Strings
- Function calls => Blocked by bytecode serializer
- Modules import
- Generators
Support all builtin functions
Runs the pybenchmark benchmark test
Run famous/popular python modules (which?)
Compatible with CPython 3.6
rustc 1.20.0-nightly