Ang usa ka pagpagawas sa Brython 3.10 (Browser Python) nga proyekto gipresentar sa usa ka pagpatuman sa Python 3 programming language alang sa pagpatuman sa web browser nga bahin, nga nagtugot sa paggamit sa Python imbes sa JavaScript sa paghimo og mga script alang sa Web. Ang code sa proyekto gisulat sa Python ug giapod-apod ubos sa lisensya sa BSD.
Pinaagi sa paglakip sa mga librarya sa brython.js ug brython_stdlib.js, ang usa ka web developer makagamit sa pinulongang Python aron ipasabot ang lohika sa site sa kilid sa kliyente, gamit ang Python imbes nga JavaScript. Aron maapil ang Python code sa mga panid, gamita ang tag Ρ mime-ΡΠΈΠΏΠΎΠΌ Β«text/pythonΒ». ΠΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠ°ΠΊ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² (). ΠΠ· ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌ DOM. ΠΠΎΠΌΠΈΠΌΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ DOM ΠΈ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ jQuery, D3, Highcharts ΠΈ Raphael. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ CSS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Bootstrap3, LESS ΠΈ SASS.
Pagpatuman sa Python Code gikan sa Blocks ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Brython ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ brython(), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΡΠ΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ «». ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ Python-ΠΊΠΎΠ΄Π° ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ JavaScript, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ°ΡΠ½ΡΠΌ JavaScript-Π΄Π²ΠΈΠΆΠΊΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ° (Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΠ΅ΠΊΡ PyPy.js ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Python-ΠΊΠΎΠ΄Π° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² asm.js ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ CPython, Π° Skulpt ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° JavaScript).
Ang katapusan nga pasundayag sa kadaghanan sa mga operasyon sa mga script sa Python nga na-embed sa mga panid sa web hapit sa pasundayag sa CPython. Ang paglangan mahitabo lamang sa yugto sa pag-compile, apan aron mawagtang kini, ang abilidad sa pag-load sa pre-compiled JavaScript code gihatag, nga gigamit sa pagpadali sa pagkarga sa standard library (Brython naghatag og mga himan alang sa paghimo sa JavaScript library base sa Python modules. ).
Ang bag-ong pagpagawas nagpakita sa pagkaangay sa Python 3.10, lakip ang suporta alang sa pattern matching (match/case) operators. Ang bag-ong bersyon nagtanyag usab usa ka inisyal nga pagpatuman sa abstract syntax tree (AST, Abstract Syntax Tree) para sa Python nga lengguwahe, nga pagkahuman magamit aron makamugna ang JavaScript code gikan sa usa ka unibersal nga AST.
Source: opennet.ru