Представлен проект PyScript, позволяющий интегрировать в web-страницы обработчики, написанные на языке Python, и создавать на Python интерактивные web-приложения. Приложениям предоставляется доступ к DOM и интерфейс для двунаправленного взаимодействия с объектами JavaScript. Логика разработки приложений сохраняется, а отличия сводятся к возможности использования языка 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-кода, размещаемого внутри тега (можно также подключать файлы через тег ). Проектом также предоставляется тег с реализацией среды для интерактивного выполнения кода (REPL). Для определения путей к локальным модулям применяется тег “”. … print(‘Hello World!’) – numpy – matplotlib – paths: – /data.py …