a projekt kiadását (Böngésző Python) a Python 3 programozási nyelv megvalósításával a web böngésző oldali végrehajtására, lehetővé téve a Python használatát JavaScript helyett webes szkriptek fejlesztéséhez. A projekt kódja Python nyelven íródott és BSD licenc alatt áll. Az új kiadás a és a standard könyvtár frissítésével van ellátva.
Könyvtárak csatlakoztatásával és , a webfejlesztő képes a Python nyelvet a weboldal kliensoldali logikájának meghatározásához használni, alkalmazva a Python-t JavaScript helyett. A Python kódok beillesztésére a <script> címkét használják, a mime-típus pedig 'text/python'. A kód beágyazása az oldalon, valamint külső szkriptek betöltése is engedélyezett (<script type='text/python' src='test.py'>). A szkriptek teljes hozzáférést biztosítanak a DOM elemeihez és eseményeihez.
A Python standard könyvtárához való hozzáférés mellett speciális könyvtárakat is kínálnak a DOM-mal és JavaScript könyvtárakkal való interakcióhoz, mint például a jQuery, D3, Highcharts és Raphael. Támogatott a CSS keretrendszerek, például a Bootstrap3, LESS és SASS használata.
Python-kód végrehajtása blokkos formában <script> производится через предварительную компиляцию этого когда, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект a böngészőbeli Python-kód végrehajtásához asm.js-be fordított CPython értelmezőt kínál, míg JavaScript alapú értelmezőt valósít meg.)
A beágyazott weboldalakba integrált Python szkriptek által végzett legtöbb művelet teljesítménye a CPython teljesítményéhez. Késleltetés csak a fordítási szakaszban lép fel, de ennek megszüntetésére lehetőség nyílik a JavaScript-be előre fordított kód betöltésére, amelyet a standard könyvtár (Brython JavaScript könyvtárak létrehozásához Python modulok alapján).
<script type='text/python'>
import time
import math
from browser import document
import browser.timer
content = document['content']
…
canvas = content.select_one('.clock')
if hasattr(canvas, 'getContext'):
ctx = canvas.getContext('2d')
browser.timer.set_interval(set_clock, 100)
show_hours()
else:
content.select_one('.navig_zone').html = 'a canvas nem támogatott'
</script>
Forrás: opennet.ru
