Adam Kelly ca7b792497 Get both forms of type to work properly.
Includes basic ability to traverse method resolution order (mro), but
not to derive mro or read parents from class definitions.

New and init called when creating types and instances.
__call__ works on types and instances.
Descriptors have have priority over instance variables.
2018-08-18 11:54:00 +01:00
2018-07-07 14:00:30 +02:00
2018-07-31 22:11:40 +02:00
2018-08-12 18:26:41 +01:00
2018-08-10 20:36:44 -04: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.4%
Python 10.9%
JavaScript 0.3%
NSIS 0.2%