
9 октября 2026 года состоялся выпуск проекта Brython 3.15.0 (Browser Python) с реализацией языка программирования Python 3 для веб-браузеров. Решение позволяет использовать Python вместо JavaScript для разработки скриптов для веб-проектов (веб-консоль, примеры проектов). Исходный код проекта написан на Python и опубликован на GitHub под лицензией BSD 3-Clause "New" or "Revised" License.

Ветка Brython 3.15 совместима с языком программирования Python 3.15. В проекте реализована большая часть возможностей новой версии Python, включая отложенный импорт модулей, типы frozendict и sentinel, операторы "*" и "**" для распаковки списочных включений.

По информации OpenNET, подключив библиотеки brython.js и brython_stdlib.js, веб‑разработчики может использовать язык Python для определения логики работы сайта на стороне клиента. Например, применять Python вместо JavaScript. Для включения кода на Python на веб‑страницах используется тег <script> с mime‑типом «text/python».
Допускается как встраивание кода на Python на веб‑страницу, так и загрузка внешних скриптов (<script type=“text/python” src=“test.py”>). Из скрипта предоставляется полный доступ к элементам и событиям DOM.
Помимо доступа к стандартной библиотеке Python в Brython предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript‑библиотеками, такими как jQuery, D3, Highcharts и Raphael. Также в Brython поддерживается использование CSS‑фреймворков Bootstrap3, LESS и SASS.
Запуск кода на Python из блоков <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление "<body onload="brython()">". На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера.
Итоговая производительность большинства операций в сценариях на Python, встроенных в веб-страницы, близка к производительности CPython. Задержка возникает только на этапе компиляции, но для её устранения предоставляется возможность загрузки предварительно скомпилированного в JavaScript кода, которая применяется для ускорения загрузки стандартной библиотеки. В Brython предоставлен специальный инструментарий для создания JavaScript-библиотек на основе модулей Python).


1 день назад
4





English (US) ·
Russian (RU) ·