Выпуск RustPython 0.3, реализации интерпретатора Python на языке Rust

Доступен выпуск проекта RustPython 0.3, развивающего интерпретатор языка программирования Python, написанный на языке Rust и нацеленный на обеспечение совместимости с CPython 3.11 и более новыми выпусками. Проект основал в 2018 году Shing Lyu, один из разработчиков движка Servo и участник перевода CSS-движка Firefox на компоненты, написанные на языке Rust. Для оценки текущего состояния разработки можно использовать web-интерфейс с интерпретатором RustPython, скомпилированным в WebAssembly. Код распространяется под лицензией MIT.

RustPython состоит из парсера кода на Python в абстрактное синтаксическое дерево (AST), компилятора AST в байткод и виртуальной машины для выполнения байткода. Для ускорения выполнения предоставляется начальная реализация JIT-компилятора, преобразующего python-функции в машинный код.
Поддерживается компиляция RustPython в представление на WebAssembly, которое может применяться в качестве Python-интерпретатора, работающего в web-браузере.

Проектом также предоставляются средства для интеграции кода на языке Python в проекты на языке Rust, без применения биндингов на основе CPython – RustPython позволяет встраивать Python-конструкции непосредственно в код на языке Rust и использовать Python в качестве языка скриптования в приложениях. Из проектов, уже использующих RustPython, отмечаются СУБД GreptimeDB, игровой движок pyckitup, игра Robot Rumble и linter Ruff.

Release. Ссылка here.