Ho lokolloa ha morero oa Brython 3.10 (Browser Python) ho fanoe ka ts'ebetsong ea puo ea lenaneo la Python 3 bakeng sa ts'ebetsong lehlakoreng la sebatli sa marang-rang, e lumellang ts'ebeliso ea Python sebakeng sa JavaScript ho nts'etsapele mangolo a Marang-rang. Khoutu ea projeke e ngotsoe ka Python mme e ajoa tlasa laesense ea BSD.
Ka ho kenyelletsa lilaebrari tsa brython.js le brython_stdlib.js, moqapi oa marang-rang a ka sebelisa puo ea Python ho hlalosa mohopolo oa sebaka ka lehlakoreng la bareki, a sebelisa Python sebakeng sa JavaScript. Ho kenyelletsa khoutu ea Python maqepheng, sebelisa tag Ρ mime-ΡΠΈΠΏΠΎΠΌ Β«text/pythonΒ». ΠΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠ°ΠΊ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² (). ΠΠ· ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌ DOM. ΠΠΎΠΌΠΈΠΌΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ DOM ΠΈ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ jQuery, D3, Highcharts ΠΈ Raphael. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ CSS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Bootstrap3, LESS ΠΈ SASS.
Ho phethahatsa Khoutu ea Python ho tsoa ho li-blocks ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Brython ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ brython(), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΡΠ΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ «». ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ Python-ΠΊΠΎΠ΄Π° ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ JavaScript, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠ°ΡΠ½ΡΠΌ JavaScript-Π΄Π²ΠΈΠΆΠΊΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ° (Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΠ΅ΠΊΡ PyPy.js ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Python-ΠΊΠΎΠ΄Π° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² asm.js ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ CPython, Π° Skulpt ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° JavaScript).
Ts'ebetso ea ho qetela ea ts'ebetso e mengata ho lingoloa tsa Python tse kentsoeng maqepheng a webo e haufi le ts'ebetso ea CPython. Ho lieha ho etsahala feela sethaleng sa ho bokella, empa ho e felisa, ho fanoa ka bokhoni ba ho kenya khoutu ea JavaScript e hlophisitsoeng esale pele, e sebelisetsoang ho potlakisa ho kenya laeborari e tloaelehileng (Brython e fana ka lisebelisoa tsa ho theha lilaebrari tsa JavaScript tse thehiloeng ho li-module tsa Python. ).
Tokollo e ncha e fana ka ts'ebelisano le Python 3.10, ho kenyelletsa le ts'ehetso bakeng sa basebelisi ba ho bapisa mohlala (match / case). Phetolelo e ncha e boetse e fana ka ts'ebetsong ea pele ea sefate sa syntax se sa bonahaleng (AST, Abstract Syntax Tree) bakeng sa puo ea Python, e ka sebelisoang ho hlahisa khoutu ea JavaScript ho tsoa ho AST ea bokahohle.
Source: opennet.ru