Проект 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›

Источник: http://www.opennet.ru/opennews/art.shtml?num=57125