Byl uveden release projektu Brython 3.11 (Browser Python) s implementací programovacího jazyka Python 3 pro provádění na straně webového prohlížeče, což umožňuje používat Python namísto JavaScriptu pro vývoj skriptů pro web. Kód projektu je napsán v Pythonu a distribuuje se pod licencí BSD.
Po připojení knihoven brython.js a brython_stdlib.js může webový vývojář používat jazyk Python k definování logiky fungování webu na straně klienta, přičemž Python namísto JavaScriptu. Pro zahrnutí Python kódu na stránky se používá tag s mime typem „text/python“. Je povoleno jak vkládání kódu na stránku, tak načítání externích skriptů (). Ze skriptu je zajištěn plný přístup k DOM prvkům a událostem. Kromě přístupu ke standardní knihovně Python jsou k dispozici specializované knihovny pro interakci s DOM a JavaScript knihovnami, jako jsou jQuery, D3, Highcharts a Raphael. Podpora použití CSS frameworků Bootstrap3, LESS a SASS je dostupná.
Spuštění kódu Python z bloků <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).
Konečný výkon většiny operací ve vkládaných Python skriptech na webových stránkách se blíží výkonu CPython. Zpoždění vzniká pouze během kompilace, ale pro jeho odstranění je k dispozici možnost načtení předkompilovaného kódu do JavaScriptu, což se využívá k urychlení načítání standardní knihovny (Brython poskytuje nástroje pro vytváření JavaScript knihoven na základě Python modulů).
Nové vydání se vyznačuje zajištěním kompatibility s CPython 3.11 a implementací většiny nových funkcí této verze, včetně podpory skupin výjimek a výrazu „except*“, podrobností problematických výrazů v diagnostických zprávách a přidáním poznámek k výjimkám.
Zdroj: opennet.ru
