Daniel Watkins 086dc127f2 Handle slice ends greater than sequence length
This is already handled for the string case, so borrow that logic (and
add an explanatory comment where it was borrowed from).
2018-08-08 09:19:04 -04:00
2018-07-07 14:00:30 +02:00
2018-08-07 23:49:42 -04:00
2018-07-31 22:11:40 +02:00
2018-07-07 16:27:05 +02:00
2018-07-07 17:14:45 +02:00
2018-07-28 18:43:23 +02:00
2018-07-07 14:00:30 +02:00
2018-07-31 22:11:40 +02:00

RustPython

A Python Interpreter written in Rust 🐍 😱 🤘.

Build Status

Usage (Not implemented yet)

To test RustPython, do the following:

$ git clone https://github.com/RustPython/RustPython
$ cd RustPython
$ cargo run demo.py
42

Or use the interactive shell:

$ cargo run
Welcome to rustpython
>>>>> 2+2
4

Or use pip to install extra modules:

$ cargo run -m pip install requests

Goals

  • Full python environment entirely in Rust (not CPython bindings)
  • A clean implementation without compatibility hacks

Code organization

- `parser`: python lexing, parsing and ast
- `vm`: python virtual machine
- `src`: using the other subcrates to bring rustpython to life.
- `docs`: documentation (work in progress)
- `py_code_object`: CPython bytecode to rustpython bytecode convertor (work in progress)
- `tests`: integration test snippets

Community

Chat with us on gitter.

Credit

The initial work was based on windelbouwman/rspython and shinglyu/RustPython

Links

These are some useful links to related projects:

Languages
Rust 88.3%
Python 11%
JavaScript 0.3%
NSIS 0.2%