programmatūra · 5 min · 22.07.2026

JupyterLite 0.8 palaiž Python piezīmju grāmatu tikai pārlūkā — bez servera un bez instalēšanas

JupyterLite 0.8 iznāca 10. jūlijā un palaiž visu Jupyter darba vidi tieši pārlūkprogrammā, bez servera aizmugurē. Python kods izpildās uz paša lietotāja datora ar WebAssembly, tāpēc piezīmju grāmatu var atvērt no parastas statiskas mājaslapas. Atsevišķs serveris nav vajadzīgs.

Projekts ir JupyterLab distribūcija, kas darbojas bez Python instalācijas datorā. Jaunā versija pāriet uz JupyterLab 4.6 un Notebook 7.6 pamatu. Kopā ar to atjaunināti atsevišķie kodolu projekti: Pyodide kodols Python valodai, Xeus kodols un JavaScript kodols.

Līdz šim Jupyter piezīmju grāmatas palaišanai vajadzēja vai nu lokālu Python instalāciju, vai serveri, piemēram JupyterHub vai Binder. Tas prasa uzturēšanu un skaitļošanas resursus. JupyterLite šo slogu pārceļ uz lietotāja pārlūku, tāpēc uzturētājam paliek tikai statiski faili.

Kā tas strādā bez servera

Parasti Jupyter piezīmju grāmatai vajag Python procesu, kas klausās uz kāda porta un izpilda šūnu kodu. JupyterLite šo procesu aizstāj ar Pyodide, kas ir uz WebAssembly kompilēts Python. Pārlūks lejupielādē Python izpildvidi kā parastus failus, pēc tam palaiž kodu web darbinieka pavedienā, atsevišķi no galvenā pārlūka pavediena. Aprēķini notiek pašā pārlūka cilnē un dati nekur ārā neaiziet.

Failus un piezīmju grāmatas pārlūks glabā lokāli, IndexedDB vai localStorage krātuvē. Tāpēc darbu var turpināt arī bez interneta, kad lapa vienreiz ir ielādēta. Aiz šīs shēmas strādā service worker, kas pārtver pieprasījumus un pasniedz failus no krātuves. Tas pats mehānisms ļauj piezīmju grāmatai lasīt failus, ko lietotājs ievelk pārlūkā.

Izvietošanai tas dod praktisku ieguvumu. Vietni ar JupyterLite var novietot uz GitHub Pages, Netlify vai jebkura statiska hostinga, jo tai nevajag ne datubāzi, ne izpildlaika serveri. Skolotājs var uzlikt vienu saiti un students to atver bez konta un bez lokālas instalācijas.

Piezīmju grāmata darbojas tur, kur atrodas fails. Nav ne servera, ko uzturēt, ne procesa, kas var apstāties.

Kādas bibliotēkas strādā

Pyodide līdzi nāk ar populārākajām zinātniskajām bibliotēkām: NumPy, pandas, Matplotlib, SciPy un scikit-learn. Papildu pakotnes var uzlikt ar komandu %pip install vai micropip tieši piezīmju grāmatā. Jebkura tīra Python pakotne, kurai PyPI ir pieejams wheel fails, uzstādās pārlūkā.

Strādā arī interaktīvās vizualizācijas rīki, tostarp altair, bqplot, ipywidgets, matplotlib un plotly. Kas grib lietot JupyterLite bez interneta, var jau būvēšanas laikā norādīt pakotņu sarakstu, ko glabāt blakus lapai. Tad tās nav jālejupielādē no PyPI katrā palaišanā un vietne strādā kā PWA arī pilnīgi bez tīkla.

Vairāki kodoli un trīs saskarnes

Python nav vienīgā valoda pārlūkā. Xeus kodols ļauj palaist arī citas valodas, kas kompilētas uz WebAssembly, piemēram R un C++. JavaScript kodols izpilda kodu tieši pārlūka dzinī. Katrs kodols darbojas savā web darbinieka pavedienā, tāpēc smags aprēķins neiesaldē saskarni.

Lietotājam ir trīs saskarnes izvēles. JupyterLab dod pilnu vairāku dokumentu vidi. Notebook dod vienkāršu vienas grāmatas skatu. REPL ir minimāla konsole, ko var iegult citā lapā, tāpēc dokumentācijā var ielikt palaižamus Python piemērus turpat pie teksta. Kopā ar 0.8 atjaunināts arī JupyterLite Terminal, kas dod komandrindu pārlūka cilnē.

REPL var padalīt ar saiti

0.8 sērija pievieno iespēju padalīt REPL stāvokli caur URL fragmentu. Rīkjoslā ir poga, kas izveido saiti ar iepriekš sagatavotu kodu. Otrs cilvēks atver saiti un redz to pašu stāvokli, ko sūtītājs. Tas noder dokumentācijai un kļūdu ziņojumiem, kur vajag parādīt konkrētu piemēru. Ielādes laikā tagad rāda JupyterLab stila griežamo indikatoru.

Ko vēl labo šī versija

0.8.0 nāca klajā 23. jūnijā un 0.8.1 sekoja 8. jūlijā ar labojumu kodola izslēgšanai. Starp citiem labojumiem: rakstīšana uz neesošas mapes tagad tiek noraidīta, service worker sirdspukstu piesaiste strādā atkārtoti un faila atvēršana startā darbojas arī ar vaicājuma parametriem. Salabots arī piezīmju grāmatas eksports diskiem, kas glabā saturu base64 formātā.

Izstrādes pusē projekts pārgāja uz jupyter-builder rīku. ESLint pacelts uz 9. versiju un TypeScript uz 5.9. Klāt arī drošības atjauninājumi bibliotēkām dompurify, ajv un minimatch. Aktīvu atbalstu saņem tikai divi jaunākie laidieni, tāpēc vecāku versiju labojumus vairs nesaņem.

Kam tas noder un kam ne

JupyterLite neaizstāj pilnu Jupyter serveri, kur vajag lielu atmiņu, GPU vai piekļuvi datora failu sistēmai. Pārlūka vide ir ierobežota ar to, ko Pyodide spēj ielādēt un ar pieejamo pārlūka atmiņu. Ne visas JupyterLab un klasiskā Notebook funkcijas pārlūkā strādā, taču liela daļa strādā.

Toties mācību materiāliem, demonstrācijām un dokumentācijai JupyterLite noņem vienu soli: lasītājam nav jāinstalē Python, lai palaistu piemēru. Kods un laidieni pieejami projekta GitHub laidienu lapā. Pilnu izmaiņu sarakstu uztur JupyterLite changelog dokumentācija.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no programmatūrasaistītie