The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск Brython 3.14.1, реализации языка Python для web-браузеров

03.05.2026 10:23 (MSK)

Доступен релиз проекта Brython 3.14.1 (Browser Python) с реализацией языка программирования Python 3 для web-браузеров, позволяющей использовать Python вместо JavaScript для разработки скриптов для Web. Код проекта написан на языке Python и распространяется под лицензией BSD.

Подключив библиотеки brython.js и brython_stdlib.js, web-разработчик может использовать язык Python для определения логики работы сайта на стороне клиента, применяя Python вместо JavaScript. Для включения Python-кода на страницы используется тег <script> с mime-типом "text/python". Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (<script type="text/python" src="test.py">). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

Выполнение Python-кода из блоков <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление "<body onload="brython()">". На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

Итоговая производительность большинства операций во встраиваемых в web-страницы Python-сценариях близка к производительности CPython. Задержка возникает только на этапе компиляции, но для её устранения предоставляется возможность загрузки предварительно скомпилированного в JavaScript кода, которая применяется для ускорения загрузки стандартной библиотеки (Brython предоставляет инструментарий для создания JavaScript-библиотек на основе модулей Python).

Новый выпуск примечателен полной переработкой реализации встроенных типов и переписыванием кода для разбора аргументов встроенных функций и методов. В ветке Brython 3.14 обеспечена совместимости с CPython 3.14 и реализована большая часть новых возможностей данного выпуска, включая поддержку t-строк и отложенной обработки аннотаций.

  1. Главная ссылка к новости (https://github.com/brython-dev...)
  2. OpenNews: Выпуск языка программирования Python 3.14
  3. OpenNews: CPython может сделать Rust обязательной сборочной зависимостью к версии 3.17
  4. OpenNews: Динамика изменения кодовой базы проекта Python
  5. OpenNews: Выпуск MicroPythonOS 0.9, ОС с графическим интерфейсом для микроконтроллеров
  6. OpenNews: Выпуск Nuitka 4.0, компилятора для языка Python. Прогресс развития JIT в CPython
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65353-brython
Ключевые слова: brython, python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (21) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 10:43, 03/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Давно пора вы кинуть из браузеров пару дурацких дополнений типа ИИ и добавить нативную обработку <script type="text/python" src="test.py">
     
     
  • 2.3, Аноним (3), 10:49, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пойдя вам на встречу, добавят, но ничего не выкинут.
     
  • 2.6, Аркагоблин (?), 11:38, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Идея конечно интересная, мне ранее тоже в голову приходила. Но ведь потом захотят добавить и Ruby, и Lua, и Julia ссылаясь на "Python же добавили, добавьте ещё и язык X". Что заметно усложнит и утяжелит браузер. А так пока только JavaScript единый.
     
     
  • 3.11, Аноним (11), 11:59, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Жабоскрипт - да, единственный ЯП в браузере, но увы - самый дypной ЯП из всех возможных. Собсно, поэтому и хотят его убрать, что он вообще не вывозит нормальные приложения. Он как был "языком онКликов", таким и остался.
     
  • 2.15, Аноним (15), 12:53, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Изначально так и задумывалось, что языков скрипта может быть несколько. Но потом всё скатилось к единственному йокмаскрипт.
     
  • 2.22, anon5989517240 (?), 14:15, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Имхо, TypeScript на сегодняшний день и логичней и достижимей при учете того что он уже есть в chromium на этапе pre-built
     

  • 1.4, Аноним (3), 10:50, 03/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ещё одна прослойка.
     
     
  • 2.14, Аноним (15), 12:51, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Код проекта написан на языке Python и распространяется под лицензией BSD. Подключив библиотеки brython.js и brython_stdlib.js ...

    Питон на питоне на жабоскрипте... Ужас.

     

  • 1.5, Аноним (5), 11:37, 03/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Круто, но лучше бы на страницах, которые не являются "приложениями", не было никаких скриптов.
     
     
  • 2.7, Аноним (7), 11:45, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как предлагаешь следить и рекламу показывать?
     
     
  • 3.9, Аноним (11), 11:58, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Гугл уже прекрасно следит за тобой без единого скрипта - буквально анализируя, что ты ищешь и куда переходишь и сопоставляя "отпечаток" браузера. Реклама? Опять же, баннер, загруженный через <img> ничуть не сложнее резать, чем загруженный из скрипта - всё отслеживается в логах.
     
     
  • 4.12, Аноним (7), 12:03, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Генерировать страницы очень дорого. Без жс твой след очень ограничен и опять же идентифицировать как-то придётся. Сейчас вся идентификация на клиенте и на сервера минимум нагрузки.
     
     
  • 5.17, Аноним (15), 12:59, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Кто в здравом уме хочет трэкить - тот на клиента вообще не полагается. Клиент может порезать много чего всякими адблоками. А тут даже время появления у клиента обновлённой версии браузера - уже трэк. Сколько уже версий понакалякали за всё время? Десяток обновлений - и тебя пасут с точностью до бита.
     
     
  • 6.19, Аноним (7), 13:16, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Дрм весь на клиенте всегда. Если клиент режет дрм, сайт просто не работает нормально, вон твитч для примера возьми. Версия браузера -- это максимально бесполезный идентификатор, реальная идентификация намного серьёзней.
     
  • 3.16, Аноним (15), 12:55, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не поверишь - CSS...
     

  • 1.8, Аноним (11), 11:56, 03/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Вот где ДУРНАЯ идея "отступов" сыграет самую злую шутку! Пестон с его насильным форматированием просто cocёт, ибо страницы пишутся а6и3янами и где там пробелы, где там табы и сколько их всего - ни один веб-m@kак никогда не сосчитает! Видели ХТМЛ с внедрённым JS? вот будет ещё хуже.

    К счастью, эта недалёкого ума идея протухнет даже не начавшись.

     
     
  • 2.10, Аноним (10), 11:58, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Эй, снежок, палахче! Это теперь не бабизяны, а промт-инженеры!
     

  • 1.13, Мемоним (?), 12:50, 03/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > На основе Python-кода формируется представление на языке JavaScript

    Почему не WASM?

     
     
  • 2.20, Аноним (15), 13:37, 03/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну сразу вот поняли, что просто нужен транслятор py в js.
     

  • 1.18, Аноним (15), 13:05, 03/05/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.21, dekabu (ok), 13:49, 03/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ей-бог, лучше бы транслятор в Scheme сделали, как изначально и планировалось в netscape :)

    А то один неинтуитивный медленный язык транслировать в другой неинтуитивный медленный язык.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру