në lëshimin e parë të utilitetit , i cili lejon paketimin e një projekti në gjuhën Python në formën e një skedari ekzekutiv të pavarur, duke përfshirë interpretuesin Python dhe të gjitha bibliotekat dhe burimet e nevojshme për funksionimin. Skedarë të tillë mund të ekzekutohen në ambiente pa mjetin e instaluar Python ose pavarësisht nga prania e versionit të nevojshëm të Python. PyOxidizer gjithashtu mund të formojë skedarë ekzekutivë të lidhur statikisht, të cilët nuk janë të lidhur me 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 bazohet në modulin e të njëjtit emër për gjuhën Rust, i cili lejon integrimin e interpretorit Python në programet Rust për të ekzekutuar skenarët Python. PyOxidizer tani ka kaluar përtej një shtesë për Rust dhe pozicionohet si një mjet i qasshëm për një audiencë më të gjerë për krijimin dhe shpërndarjen e pakove autonome me Python. Për ata që nuk kanë nevojë të shpërndajnë aplikacione si skedarë ekzekutues, PyOxidizer ofron mundësi për gjenerimin e bibliotekave, të cilat janë të dobishme për lidhjen me çdo aplikacion për integrimin e interpretorit Python dhe grupin e nevojshëm të zgjerimeve.
Për përdoruesit e fundit, ofrimi i projektit në formën e një skedari ekzekutues e thjeshton ndjeshëm instalimin dhe ngjit mundimin e përzgjedhjes së varësive, e cila është e rëndësishme për projekte komplekse në Python, siç janë redaktorët e videove. Për zhvilluesit e aplikacioneve, PyOxidizer ndihmon në kursimin e kohës për organizimin e shpërndarjes së aplikacioneve, pa nevojën për të përdorur mjete të ndryshme për formimin e pakove për sisteme të ndryshme operative.
ShfrytĂ«zimi i kompozimeve tĂ« propozuara gjithashtu ka njĂ« efekt pozitiv nĂ« performancĂ« â skedarĂ«t e nisjes tĂ« gjeneruar nĂ« PyOxidizer hapen mĂ« shpejt se duke pĂ«rdorur Python-in sistemor, pĂ«r shkak tĂ« pĂ«rjashtimit tĂ« importit dhe definimit tĂ« moduleve bazĂ«. NĂ« PyOxidizer, modulet importohen nga memĂČria â tĂ« gjitha modulet e integruara ngarkohen menjĂ«herĂ« nĂ« memorie dhe mĂ« pas pĂ«rdoren pa akses nĂ« disk. NĂ« testet, koha e nisjes sĂ« aplikacioneve gjatĂ« pĂ«rdorimit tĂ« PyOxidizer reduktohet pĂ«rafĂ«rsisht me dy herĂ«.
Nga projektet e ngjashme që ekzistojnë tashmë mund të përmendim: (shkarkon skedarin në një katalog të përkohshëm dhe importon modulet nga aty), (i lidhur me platformën Windows dhe kërkon shpërndarjen e disa skedareve), (i lidhur me macOS), (kërkon paketim të veçantë për varësitë), dhe (formojnë paketë në formatin zip dhe kërkon praninë e Python në sistem), (kompilon kodin, dhe jo e integron interpreter-in), (i lidhur me Windows), (zhvillim proprietar pa shpjegimin e parimeve të funksionimit).
Në këtë fazë të zhvillimit, PyOxidizer ka implementuar tashmë funksionalitetin kryesor për krijimin e skedarëve ekzekutivë për Windows, macOS dhe Linux. Nga disa mundësi të papërfunduara mungesa e një ambienti të zakonshëm të ndërtimit, pamundësia për të gjeneruar paketa në formate MSI, DMG dhe deb/rpm, problemet me paketimin e projekteve që përfshijnë zgjerime të komplikuara në gjuhën C, mungesa e komandave për të mbështetur shpërndarjen ("pyoxidizer add", "pyoxidizer analyze" dhe "pyoxidizer upgrade"), mbështetje e kufizuar për Terminfo dhe Readline, mungesa e mbështetjes për versione të ndryshme nga Python 3.7, mungesa e mbështetjes për kompresimin e burimeve, pamundësia për ndër-kompilim.
Burimi: opennet.ru
