25.01.2022

В основной ветке Python появилась возможность сборки для работы в браузере

Итан Смит (Ethan Smith), один из основных разработчиков MyPyC, компилятора модулей Python в код на языке Си, сообщил о добавлении в кодовую базу CPython (базовая реализация Python) изменений, позволяющих собрать основную ветку CPython для работы внутри браузера, не прибегая к дополнительным патчам. Сборка осуществляется в универсальный низкоуровневый промежуточный код WebAssembly при помощи компилятора Emscripten.

Работу одобрил Гвидо ван Россум (Guido van Rossum), создатель языка программирования Python, который дополнительно предложил интегрировать поддержку Python в web-сервис github.dev, предоставляющий интерактивную среду разработки, работающую целиком в браузере. Джонатан Картер (Jonathan Carter) из компании Microsoft упомянул, что в настоящее время ведётся работа по реализации поддержки языка Python в github.dev, но в имеющимся прототипе среды вычислений Jupyter для github.dev использовался проект Pyodide (сборка Python 3.9 runtime в WebAssembly).

В обсуждении также была поднята тема сборки Python с поддержкой WASI (WebAssembly System Interface) для использования WebAssembly-представления Python без привязки в web-браузеру. Отмечается, что для реализации подобной возможности потребует проделать большую работу, так как в WASI не предоставляется реализация API pthread, а в Python прекращена возможность сборки без включения многопоточности.

Источник.