Programovanie

24 knižníc Pythonu pre každého vývojára Pythonu

Chcete dobrý dôvod na úspech v programovacom jazyku Python? Nehľadajte nič viac ako rozsiahlu zbierku knižníc dostupných pre Python, natívne aj od tretích strán. Keďže je tu toľko knižníc Pythonu, nie je prekvapením, že niektorým sa nedostáva všetkej pozornosti, ktorú by si zaslúžili. Programátori, ktorí pracujú výlučne v jednej doméne, navyše vždy nevedia o výhodách, ktoré majú k dispozícii pre iné druhy práce.

Tu je 24 knižníc Pythonu, ktoré ste možno prehliadli, ale určite stoja za vašu pozornosť. Tieto skvosty vytvárajú škálu užitočnosti, zjednodušujú všetko od prístupu k súborovému systému, programovania databáz a práce s cloudovými službami až po vytváranie ľahkých webových aplikácií, vytváranie grafických používateľských rozhraní a prácu s obrázkami, elektronickými knihami a súbormi Word - a oveľa viac. Niektoré sú známe, iné menej známe, ale všetky tieto knižnice Pythonu si zaslúžia miesto vo vašom paneli nástrojov.

Apache Libcloud

Čo robí Libcloud: Prístup k viacerým poskytovateľom cloudu prostredníctvom jediného, ​​konzistentného a jednotného rozhrania API.

Prečo používať Libcloud: Ak vás vyššie uvedený popis Apache Libcloud neprinúti tlieskať rukami od radosti, neskúšali ste pracovať s viacerými oblakmi. Všetci poskytovatelia cloudových služieb radi robia veci po svojom, takže jednotný mechanizmus jednania s desiatkami poskytovateľov predstavuje obrovský šetrič času a tlmenie bolesti hlavy. K dispozícii sú API pre výpočty, ukladanie, vyrovnávanie zaťaženia a DNS s podporou Python 2.xa Python 3.x, ako aj PyPy, kompilátora JIT zvyšujúceho výkon pre Python.

Šípka

Čo robí Arrow: Čistšie zaobchádzanie s dátumami a časmi v Pythone.

Prečo používať šípku: Zaoberanie sa časovými pásmami, prepočty dátumov, formáty dátumov a všetko ostatné už predstavuje bolesť hlavy a pol. Vhoďte do štandardnej knižnice Pythonu prácu s dátumom a časom a dostanete dve bolesti hlavy a pol.

Arrow poskytuje štyri veľké výhody. Jedným z nich je Arrow, ktorý predstavuje náhradu za modul datetime v Pythone, čo znamená, že bežné funkcie volajú podobne .teraz () a .utcnow () pracovať podľa očakávaní. Po druhé, šípka poskytuje metódy pre bežné potreby, ako je posúvanie a prevod časových pásiem. Po tretie, šípka poskytuje „humanizované“ informácie o dátume a čase - napríklad schopnosť povedať, že sa niečo stalo „pred hodinou“ alebo sa stane „za dve hodiny“ bez veľkého úsilia. Štyri, šípka dokáže lokalizovať informácie o dátume a čase bez toho, aby sa zapotila.

Hľa

Čo robí Hľa: Dôkladná podpora pre ladenie v štýle tlače v Pythone.

Prečo používať Hľa: Existuje jeden jednoduchý spôsob ladenia v Pythone alebo takmer v akomkoľvek programovacom jazyku: Vložte do riadku tlačiť Vyhlásenia. Aj keď je ladenie tlače v malých programoch samozrejmé, nie je také ľahké dosiahnuť užitočné výsledky vo veľkých, rozsiahlych viacmodulových projektoch.

Behold poskytuje sadu nástrojov na kontextové ladenie prostredníctvom tlačových vyhlásení. Umožňuje vám vniesť na výstup jednotný vzhľad, označiť výsledky, aby ich bolo možné zoradiť pomocou vyhľadávaní alebo filtrov, a poskytnúť kontexty medzi modulmi, aby bolo možné správne ladiť funkcie pochádzajúce z jedného modulu v inom. Hľa spracováva mnoho bežných scenárov špecifických pre Python, ako je tlač interného slovníka objektu, odhalenie vnorených atribútov a ukladanie a opätovné použitie výsledkov na porovnanie v iných bodoch počas procesu ladenia.

čierna

Čo robí Black: Naformátuje kód Pythonu podľa prísnej a takmer úplne nemennej sady pravidiel.

Prečo používať čiernu farbu: Formátory kódu Pythonu, napríklad YAPF, majú zvyčajne veľa konfigurovateľných možností - dĺžku riadku, možnosti rozdelenia riadku, manipuláciu s koncovými čiarkami atď. Čierna použije konzistentnú sadu predvolených nastavení pre tie pravidlá, ktoré nie je možné zmeniť. Výsledný formátovaný kód je čo najkonzistentnejší v rámci kódových základní aj medzi používateľmi s najmenšími možnými rozdielmi medzi upravenými súbormi.

Čierna si zvykne, najmä ak sa obávate vertikálnych medzier, príkazov s hlbokými vnoreniami (napr. Zoznamov v zoznamoch) a ďalších možností formátovania. Z dlhodobého hľadiska vás to však zbaví nutnosti premýšľať o formátovaní a umožní vám sústrediť sa na svoj kód.

Fľaša

Čo robí fľaša: Ľahké a rýchle webové aplikácie.

Prečo používať fľašu: Ak chcete zostaviť rýchle rozhranie RESTful API alebo použiť holé kosti webového rámca na vytvorenie aplikácie, schopný, ale zároveň malý Bottle vám nedá viac, ako potrebujete. Smerovanie, šablóny, prístup k údajom o požiadavkách a odpovediach, podpora viacerých typov serverov od obyčajného starého CGI až po a podpora pokročilejších funkcií, ako sú WebSockets, to všetko je tu. Množstvo práce potrebné na začatie je takisto minimálne a dizajn fľaše je elegantne rozšíriteľný, keď sú potrebné pokročilejšie funkcie. 

Kliknite

Čo robí Click: Umožňuje vám rýchlo vytvoriť rozhrania príkazového riadku pre aplikácie Python.

Prečo používať Click: GUI sú pohodlné, ale CLI sú tam, kde je skutočná sila. Vytvorenie robustného CLI je však ťažko jednoduché a predvolená sada nástrojov na zhromažďovanie a používanie možností príkazového riadku v Pythone je primitívna.

Kliknutím tieto kúsky zalomíte do rozhrania API pre konštrukciu rozhrania CLI na vysokej úrovni. Ak chcete vytvoriť iba niekoľko základných príkazov, môžete to urobiť pomocou niekoľkých riadkov kódu. Ak chcete pokročilejšie správanie, napríklad samostatnú výzvu na zadanie podrobnejších informácií o parametri alebo odvodenie hodnôt z premenných prostredia, kliknite na ikonu Zakryté. Click podporuje aj farby terminálov cezcolorama knižnica a je možné ich rozšíriť pomocou doplnkov tretích strán.

EbookLib

Čo robí EbookLib: Čítajte a zapisujte súbory .epub.

Prečo používať EbookLib:Vytváranie elektronických kníh zvyčajne vyžaduje hádky s jedným alebo druhým nástrojom príkazového riadku. EbookLib poskytuje nástroje na správu a API, ktoré proces zjednodušujú. Funguje so súbormi EPUB 2 a EPUB 3, s vyvíjanou podporou Kindle.

Poskytnite obrázky a text (druhý vo formáte HTML) a EbookLib môže tieto kúsky zostaviť do e-knihy s kapitolami, vnoreným obsahom, obrázkami, značkami HTML atď. Podporované sú tiež údaje o obale, chrbtici a šablóne so štýlmi. Systém doplnkov umožňuje tretím stranám rozšíriť správanie knižnice.

Ak nepotrebujete všetko, čo EbookLib ponúka, vyskúšajte Mkepub. Program Mkepub obsahuje základné funkcie zostavovania elektronických kníh do knižnice, ktorá má veľkosť iba niekoľko kilobajtov. Jednou menšou nevýhodou programu Mkepub je, že vyžaduje Jinja2, ktorá zase vyžaduje knižnicu MarkupSafe.

Gýčové

Čo robí Gooey: Poskytnite konzolovému programu Python GUI s natívnou platformou.

Prečo používať Gooey: Medzi najlepšie spôsoby, ako odradiť od používania vašej aplikácie, patrí predstavenie používateľov rozhrania príkazového riadku používateľom, najmä radovým používateľom. Málokto okrem hardcore geekov rád zisťuje, aké možnosti prejsť a v akom poradí. Gooey vezme argumenty očakávané knižnicou argparse a predloží ich používateľom ako formulár GUI prostredníctvom knižnice WxPython. Všetky možnosti sú označené a zobrazené s príslušnými ovládacími prvkami (napríklad rozbaľovacia ponuka pre argument s viacerými možnosťami). Na to, aby to fungovalo, je potrebné veľmi málo ďalšieho kódovania - jeden zahrnúť a jeden dekoratér - za predpokladu, že už používate argparse.

Vzývať

Čo robí Invoke: Pytónske vzdialené vykonávanie - t. J. Vykonávať úlohy správcu pomocou knižnice Python.

Prečo používať Invoke: Používanie Pythonu ako náhrady za bežné úlohy skriptovania v prostredí shell dáva zmysel. Invoke poskytuje API na vysokej úrovni pre spúšťanie príkazov shellu a správu úloh príkazového riadku, akoby to boli funkcie Pythonu, čo vám umožňuje vložiť tieto úlohy do vlastného kódu alebo elegantne okolo nich stáť. Len dávajte pozor, aby ste nedovolili odovzdávať nedôveryhodný vstup tak, ako je, na akékoľvek príkazy shellu.

Nuitka

Čo robí Nuitka:Zkompilujte Python do samostatných spustiteľných súborov C.

Prečo používať Nuitku: Rovnako ako Cython, aj Nuitka kompiluje Python do C. Avšak zatiaľ čo Cython pre svoje najlepšie výsledky vyžaduje vlastnú vlastnú syntax, zameriava sa hlavne na matematické a štatistické aplikácie, Nuitka pracuje s akýmkoľvek programom Python tak, ako je, kompiluje ho do C a produkuje jediný -súbor, ktorý umožňuje optimalizáciu, kde je to možné. Nuitka je stále v počiatočných fázach a veľa z plánovaných optimalizácií ešte len príde. Je to však pohodlný spôsob, ako zmeniť skript v jazyku Python na rýchlu aplikáciu príkazového riadku.

Numba

Čo robí Numba:Selektívne urýchliť matematické funkcie.

Prečo používať Numbu:Svet Pythonu obsahuje celú subkultúru balíkov na urýchlenie matematických operácií. Napríklad NumPy funguje tak, že balí vysokorýchlostné knižnice C do rozhrania Pythonu a Cython kompiluje Python do C s voliteľným písaním pre zrýchlený výkon. Numba je ale ľahko najpohodlnejšia, pretože umožňuje selektívne urýchlenie funkcií Pythonu iba pomocou dekoratéra. Na ďalšie zvýšenie rýchlosti môžete použiť bežné idiómy Pythonu na paralelizáciu pracovných záťaží alebo použiť pokyny SIMD alebo GPU.

Upozorňujeme, že NumPy môžete používať s Numbou. Nakoniec, NumPy má veľa hotových algoritmov, ktoré nie je potrebné implementovať od nuly. Ale pri malých „jadrových“ algoritmoch Numba v mnohých prípadoch mnohonásobne prekoná NumPy.

Openpyxl

Čo robí Openpyxl: Číta, píše a manipuluje so súbormi programu Excel.

Prečo používať OpenPyxl: Požiadajte niekoho, aby pomenoval tri nástroje, ktoré používatelia čísel používajú pri svojej práci. Pravdepodobne získate Python, R a Excel, nie nevyhnutne v tomto poradí. Excel (zatiaľ) nemá natívne pripojenie k Pythonu, ale balíčky tretích strán túto medzeru preklenuli rôznymi spôsobmi.

Openpyxl funguje úpravou Excelusúbory namiesto priamej manipulácie s Excelom. S Openpyxl môžete automatizovať vytváranie tabuliek a zošitov, generovať vzorce, napĺňať bunky týmito vzorcami a vykonávať mnoho ďalších operácií. Môžete tiež zmeniť vlastnosti objektov programu Excel, napríklad štýly buniek a podmienené formátovanie. Každý, kto trávi značný čas pozeraním do tabuliek, tu nájde niečo užitočné.

Peewee

Čo robí Peewee: Malý ORM (objektovo-relačný mapovač), ktorý podporuje SQLite, MySQL a PostgreSQL s mnohými príponami.

Prečo používať Peewee: Nie každý miluje ORM; niektorí by radšej nechali modelovanie schém na strane databázy a boli s tým hotoví. Ale pre vývojárov, ktorí sa nechcú dotknúť databáz, môže byť dobre zostavený a nenápadný ORM darom z nebies. A pre vývojárov, ktorí nechcú ORM tak plnohodnotný ako SQL Alchemy, je Peewee skvelým riešením.

Modely Peewee sa dajú ľahko konštruovať, pripájať a manipulovať s nimi. Plus, mnoho bežných funkcií manipulácie s dotazmi, ako je stránkovanie, je zabudovaných priamo v nich. K dispozícii sú ďalšie funkcie ako doplnky, vrátane rozšírení pre ďalšie databázy, testovacích nástrojov a systému migrácie schém - čo je funkcia, ktorú by sa mohol naučiť aj nenávidiaci ORM. láska. Upozorňujeme, že pobočka Peewee 3.x (odporúčané vydanie) nie je úplne spätne kompatibilná s predchádzajúcimi verziami Peewee.

Vankúš

Čo robí vankúš: Spracovanie obrazu bez bolesti.

Prečo používať vankúš: Väčšina používateľov jazyka Pythonistas, ktorí vykonali spracovanie obrazu, by mala byť oboznámená s PIL (Python Imaging Library), ale PIL je plný nedostatkov a obmedzení a aktualizuje sa zriedka. Cieľom vankúša je ľahšie sa používať a kódovo kompatibilný s PIL prostredníctvom minimálnych zmien. Zahrnuté sú rozšírenia pre rozhovor s natívnymi zobrazovacími funkciami systému Windows aj s balíkom grafických používateľských rozhraní Tkinter podporovaného Pythonovým Tcl / Tk. Vankúš je k dispozícii prostredníctvom GitHub alebo úložiska PyPI.

Poézia

Čo robí poézia: Spravuje závislosti a obaly pre vaše projekty v jazyku Python na vysokej úrovni.

Prečo používať poéziu: Teoreticky nemusíte robiť nič pre to, aby ste spustili nový projekt Pythonu, okrem vytvorenia prázdneho adresára a jeho naplnenia súbormi .py. V praxi, najmä pri ambicióznom projekte, budete musieť urobiť oveľa viac - vytvoriť súbor README, nastaviť štruktúru priečinkov, deklarovať svoje závislosti atď. Toto všetko robiť ručne je bolesť hlavy.

Poézia väčšinu tohto nastavenia a údržby automatizuje. Bež poézia nová vytvoriť nový adresár projektu a virtuálne prostredie vopred naplnené základným sortimentom komponentov. Deklarujte svoje závislosti pomocou vlastného formátu súboru pyprojec.toml v Pythone a Poetry ich za vás spraví. Existujúce produkty spravované Poetry môžu mať svoje závislosti automaticky nainštalované, obnovované a upravené z príkazového riadku Poetry. Poézia tiež spracováva publikovanie do vzdialeného úložiska (napríklad PyPI).

PyFilesystem

Čo robí PyFilesystem: Pythonické rozhranie pre akýkoľvek súborový systém -akýkoľvek systém súborov.

Prečo používať PyFilesystem:Základná myšlienka systému PyFilesystem nemôže byť jednoduchšia: rovnako ako Python spis objekty abstraktne vytvárajú jeden súbor, PyFilesystem FS objekty abstraktia celý súborový systém. To neznamená iba súborové systémy na disku. PyFilesystem tiež podporuje adresáre FTP, systémy súborov v pamäti, systémy súborov pre umiestnenia definované operačným systémom (napríklad adresár používateľa) a dokonca aj kombinácie vyššie uvedených navzájom prekrývajú.

Okrem uľahčenia písania kódu pre viac platforiem, ktorý manipuluje so súbormi, PyFilesystem eliminuje potrebu kombinovať skripty z rôznych častí štandardnej knižnice, hlavneos aio. Poskytuje tiež nástroje, ktoré by ste inak mohli potrebovať vytvoriť úplne od začiatku, napríklad nástroj na tlač konzolových stromových zobrazení súborového systému.

Pygame

Čo Pygame robí: Vytvárajte videohry alebo klientske rozhrania v hernej kvalite v Pythone.

$config[zx-auto] not found$config[zx-overlay] not found