edhe të parë të utilitarit , që lejon të paketojë një projekt të shkruar në gjuhën Python në formën e një skedari ekzekutiv të pavarur, i cili përfshin interpreterin Python dhe të gjitha bibliotekat dhe burimet e nevojshme për funksionimin. Këta skedarë mund të ekzekutohen në mjedise pa mjetin e instaluar Python ose pavarësisht nëse ka një version të nevojshëm të Python. PyOxidizer gjithashtu mund të krijojë skedarë ekzekutivë të lidhur statikisht, të cilët nuk varen nga bibliotekat sistemike. Kodi i projektit është shkruar në gjuhën Rust dhe në përputhje me licencën MPL (Mozilla Public License) 2.0.
Projekti është i bazuar në modul që ka të njëjtin emër për gjuhën Rust, i cili lejon integrimin e interpreterit Python në programet në Rust për të ekzekutuar skenaret Python në to. PyOxidizer tani ka kaluar përtej një shtesë për Rust dhe pozicionohet si një mjet i disponueshëm për një audiencë më të gjerë për krijimin dhe shpërndarjen e paketave të pavarura me Python. Për ata që nuk kanë nevojë të shpërndajnë aplikacione si skedarë ekzekutivë, PyOxidizer ofron mundësi për gjenerimin e bibliotekave të përshtatshme për lidhjen me çdo aplikacion për integrimin e interpreterit Python dhe setin e nevojshëm të zgjerimeve.
Për përdoruesit e fundit, ofrimi i projektit në formën e një skedari ekzekutiv të vetëm thjeshton ndjeshëm instalimin dhe i shpëton atyre nga shqetësimi për përzgjedhjen e varësive, gjë që është veçanërisht e rëndësishme për projekte të komplikuara në Python, siç janë redaktorët e videove. Për zhvilluesit e aplikacioneve, PyOxidizer lejon kursimin e kohës në organizimin e shpërndarjes së aplikacionit, pa nevojën për të përdorur mjete të ndryshme për krijimin e paketave për sisteme të ndryshme operative.
PĂ«rdorimi i ndĂ«rtimeve tĂ« propozuara gjithashtu ndikon pozitivisht nĂ« performancĂ« â skedarĂ«t e gjeneruar nĂ« PyOxidizer ekzekutohen mĂ« shpejt sesa kur pĂ«rdoret Python-i sistemik pĂ«r shkak tĂ« pĂ«rjashtimit tĂ« importit dhe pĂ«rcaktimit tĂ« moduleve bazĂ«. NĂ« PyOxidizer, modulet importohen nga memoria â tĂ« gjitha modulet e ndĂ«rtuara menjĂ«herĂ« ngarkohen nĂ« memorie dhe pĂ«rdoren pa u drejtuar nĂ« disk. NĂ« testime, koha e startit tĂ« aplikacionit duke pĂ«rdorur PyOxidizer reduktohet nĂ« rreth gjysmĂ«n.
Nga projektet ekzistuese të ngjashme, mund të përmendim: (shpaketizon skedarin në një katalog të përkohshëm dhe importon modulet nga ai) (i lidhur me platformën Windows dhe kërkon shpërndarjen e disa skedarëve), (i lidhur me macOS), (ka nevojë për paketimin e veçantë të varësive), dhe (formojnë paketën në formatin zip dhe kërkojnë praninë e Python në sistem), (kompilon kodin dhe nuk përfshin interpretuesin), (i lidhur me Windows), (zhvillim pronësor pa shpjegim të parimeve të funksionimit).
Në këtë fazë të zhvillimit, PyOxidizer ka implementuar tashmë funksionalitetin bazë për gjenerimin e skedarëve ekzekutivë për Windows, macOS dhe Linux. Nga mundësitë që nuk janë akoma të disponueshme mungesa e një mjedisi ndërtimi tipik, pamundësia për të gjeneruar paketa në formate MSI, DMG dhe deb/rpm, problemet me paketimin e projekteve që përfshijnë zgjerime komplekse në gjuhën C, mungesa e komandave për mbështetje të shpërndarjes ("pyoxidizer add", "pyoxidizer analyze" dhe "pyoxidizer upgrade"), mbështetje e kufizuar për Terminfo dhe Readline, mungesa e mbështetjes për versione të tjera përveç Python 3.7, mungesa e mbështetjes për kompresimin e burimeve, pamundësia për kompilim përtej platformave.
Burimi: opennet.ru
