prvo izdanje alata , koji omogućuje pakiranje projekta napisanog u Pythonu u oblik samostalne izvršne datoteke koja uključuje Python interpreter i sve potrebne biblioteke i resurse. Takve datoteke mogu se izvoditi u okruženjima bez instaliranog alata Python ili neovisno o dostupnosti potrebne verzije Pythona. PyOxidizer također može stvoriti statički povezane izvršne datoteke koje nisu vezane ni na sistemske biblioteke. Izvorni kod projekta napisan je u Rustu i pod MPL (Mozilla Public License) 2.0.
Projekt se temelji na istoimenom modulu za Rust, koji omogućuje ugrađivanje Python interpretera u Rust programe radi izvođenja Python skripti. PyOxidizer sada je nadmašio dodatak za Rust i pozicionira se kao alat dostupan široj publici za stvaranje i distribuciju samostalnih paketa s Pythonom. Za one koji ne trebaju distribuirati aplikacije u obliku izvršne datoteke, PyOxidizer nudi mogućnosti generiranja biblioteka koje se mogu povezati s bilo kojim aplikacijama za ugrađivanje Python interpretera i potrebnog seta proširenja.
Za krajnje korisnike, dostava projekta u obliku jedne izvršne datoteke značajno pojednostavljuje instalaciju i oslobađa od potrebe za odabiranjem zavisnosti, što je posebno važno za složene projekte u Pythonu, kao što su video uređivači. Za programere aplikacija, PyOxidizer omogućuje uštedu vremena u organizaciji isporuke aplikacije, bez potrebe za korištenjem raznih alata za pakiranje za različite operativne sustave.
Korištenje predloženih izdanja također pozitivno utječe na performanse - datoteke generirane u PyOxidizeru pokreću se brže nego pri korištenju sistemskog Pythona zbog izbjegavanja uvoza i određivanja osnovnih modula. U PyOxidizeru moduli se uvoze iz memorije - svi ugrađeni moduli odmah se učitavaju u memoriju i zatim koriste bez pristupa disku. U testovima, vrijeme pokretanja aplikacije pri korištenju PyOxidizera smanjuje se otprilike dvostruko.
Od postojećih sličnih projekata mogu se istaknuti: (raspakira datoteku u privremeni katalog i uvozi module iz njega), (vezan za Windows platformu i zahtijeva distribuciju više datoteka), (vezan za macOS), (zahtijeva zasebno pakiranje ovisnosti), i (formira paket u zip formatu i zahtijeva prisutnost Pythona u sustavu), (kompajlira kod, a ne ugrađuje interpreter), (vezan za Windows), (proprietarna razvojna bez objašnjenja principa rada).
U trenutnoj fazi razvoja PyOxidizer već je implementirana osnovna funkcionalnost za generiranje izvršnih datoteka za Windows, macOS i Linux. Od trenutno nedostupnih mogućnosti nedostatak standardnog građevinskog okruženja, nemogućnost generiranja paketa u formatima MSI, DMG i deb/rpm, problemi s pakiranjem projekata koji uključuju složene ekstenzije na jeziku C, nedostatak komandi za podršku isporukama ('pyoxidizer add', 'pyoxidizer analyze' i 'pyoxidizer upgrade'), ograničena podrška za Terminfo i Readline, nedostatak podrške za verzije osim Python 3.7, nedostatak podrške za kompresiju resursa, nemogućnost križnog kompiliranja.
Izvor: opennet.ru
