30.06.2022

Проект PyScript развивает платформу для выполнения Python-скриптов в web-браузере

Представлен проект PyScript, позволяющий интегрировать в web-страницы обработчики, написанные на языке Python, и создавать на Python интерактивные web-приложения. Приложениям предоставляется доступ к DOM и интерфейс для двунаправленного взаимодействия с объектами JavaScript. Логика разработки web-приложений сохраняется, а отличия сводятся к возможности использования языка Python вместо JavaScrpt. Исходные тексты PyScript распространяются под лицензией Apache 2.0.

В отличие от проекта Brython, компилирующего Python-код в JavaScript, в PyScript для выполнения Python-кода применяется Pyodide — выполняемый на стороне браузера порт CPython, скомпилированный в WebAssembly. Использование Pyodide позволяет добиться полной совместимости с Python 3 и использовать все возможности языка и библиотеки, в том числе для научных вычислений, такие как numpy, pandas и scikit-learn. Со стороны PyScript предоставляется прослойка для интеграции Python-кода с JavaScript, вставки кода в web-страницы, импорта модулей, организации ввода/вывода и решения других сопутствующих задач. Проектом предоставляется набор виджетов (кнопки, текстовые блоки и т.п.) для создания web-интерфейса на Python.

Использование PyScript сводится к подключению скрипта pyscript.js и таблицы стилей pyscript.css, после чего появляется возможность интеграции на страницы Python-кода, размещаемого внутри тега <py-script>, или подключения файлов через тег <py-script src=…>. Проектом также предоставляется тег <py-repl> с реализацией среды для интерактивного выполнения кода (REPL). Для определения путей к локальным модулям применяется тег «<py-env>».

 <html> ... <py-script> print('Hello World!') </py-script> <py-env> - numpy - matplotlib - paths: - /data.py </py-env> <py-script src="./test.py"></py-script> ... </html>

Источник.