Programiranje

24 Python knjižnic za vsakega razvijalca Pythona

Želite dober razlog za neverjeten uspeh programskega jezika Python? Ne iščite dlje od obsežne zbirke knjižnic, ki so na voljo za Python, tako domačih kot tujih knjižnic. Ker pa je toliko knjižnic Pythona, ni presenetljivo, da nekateri ne dobijo vse pozornosti, ki si jo zaslužijo. Poleg tega programerji, ki delajo izključno v eni domeni, ne vedo vedno o dobrotah, ki so jim na voljo za drugačna dela.

Tu je 24 knjižnic Python, ki ste jih morda spregledali, vendar so vsekakor vredne vaše pozornosti. Ti dragulji prinašajo lestvico uporabnosti, poenostavljajo vse, od dostopa do datotečnega sistema, programiranja baz podatkov in dela s storitvami v oblaku do izdelave lahkih spletnih aplikacij, ustvarjanja grafičnih uporabniških vmesnikov in dela s slikami, e-knjigami in datotekami Word - in še veliko več. Nekatere so znane, druge manj znane, a vse te knjižnice Python si zaslužijo mesto v vaši orodjarni.

Apache Libcloud

Kaj počne Libcloud: Dostopajte do več ponudnikov v oblaku prek enega, doslednega, poenotenega API-ja.

Zakaj uporabljati Libcloud: Če vam zgornji opis Apache Libcloud zaradi veselja ne ploska z rokami, še niste poskusili delati z več oblaki. Ponudniki v oblaku radi počnejo stvari po svoje, tako da imajo enoten mehanizem za ravnanje z desetinami ponudnikov ogromen prihranek časa in glavobol. Na voljo so API-ji za računanje, shranjevanje, uravnoteženje obremenitve in DNS s podporo za Python 2.x in Python 3.x ter PyPy, JIT-jev prevajalnik za povečanje zmogljivosti za Python.

Puščica

Kaj naredi Arrow: Čistejše ravnanje z datumi in časi v Pythonu.

Zakaj uporabljati puščico: Ukvarjanje s časovnimi pasovi, pretvorbami datumov, formati datumov in vsem ostalim je že glavobol in pol. Vrzite v Pythonovo standardno knjižnico za delo z datumom in časom in dobite dva preglavice in pol.

Arrow ponuja štiri velike prednosti. Prvič, Arrow je nadomestna možnost za Pythonov datumski modul, kar pomeni, da običajna funkcija kliče všeč zdaj () in .utcnow () dela po pričakovanjih. Drugič, Arrow ponuja metode za običajne potrebe, kot sta premikanje in pretvorba časovnih pasov. Tretjič, Arrow zagotavlja "humanizirane" podatke o datumu in času - na primer, da lahko brez večjega truda reče, da se je nekaj zgodilo "pred eno uro" ali da se bo zgodilo "čez dve uri". Četrtič, Arrow lahko lokalizira podatke o datumu in času, ne da bi se znojil.

Glej

Kaj glej: Trdna podpora za odpravljanje napak v slogu tiskanja v Pythonu.

Zakaj uporabljati Behold: Obstaja en preprost način za odpravljanje napak v Pythonu ali skoraj v katerem koli programskem jeziku: Vstavi v vrstico natisni izjave. Toda medtem ko odpravljanje napak pri tiskanju v majhnih programih ni nič posebnega, v velikih, razvlečenih večmodulnih projektih ni tako enostavno dobiti koristnih rezultatov.

Behold ponuja nabor orodij za odpravljanje napak v kontekstu prek izpisov. Omogoča vam, da izhodu naložite enoten videz, rezultate označite, tako da jih je mogoče razvrstiti prek iskanj ali filtrov, in omogočite kontekst med moduli, tako da je mogoče funkcije, ki izvirajo iz enega modula, pravilno odpraviti napake v drugem. Glejte, obravnava številne pogoste scenarije, specifične za Python, na primer tiskanje notranjega slovarja predmeta, razkritje ugnezdenih atributov ter shranjevanje in ponovna uporaba rezultatov za primerjavo na drugih točkah med postopkom odpravljanja napak.

Črna

Kaj počne Black: Oblikuje kodo Python v skladu s strogim in skoraj popolnoma nespremenljivim nizom pravil.

Zakaj uporabljati črno: Oblikovalci kode Python, kot je YAPF, imajo ponavadi veliko nastavljivih možnosti - dolžino vrstic, možnosti razdeljevanja vrstic, obdelavo končnih vejic itd. Črna uporablja dosleden niz privzetih nastavitev za pravila, ki jih ni mogoče spremeniti. Nastala oblikovana koda je čim bolj skladna med bazami kod in med uporabniki, z najmanjšimi možnimi razlikami med urejenimi datotekami.

Črna se nekaj navadi, še posebej, če ste prefinjeni glede navpičnega presledka, izjav z globokimi gnezditvami (npr. Seznami na seznamih) in drugih možnosti oblikovanja. Toda dolgoročno vas osvobodi razmišljanja o formatiranju in vam omogoča, da se osredotočite na svojo kodo.

Steklenica

Kaj naredi steklenica: Lahke in hitre spletne aplikacije.

Zakaj uporabljati steklenico: Ko želite združiti hiter API RESTful ali uporabiti gole kosti spletnega ogrodja za izdelavo aplikacije, vam zmogljiva, a majhna steklenička ne da več, kot potrebujete. Usmerjanje, predloge, dostop do podatkov o zahtevah in odzivih, podpora za več vrst strežnikov od običajnega starega CGI naprej in podpora za naprednejše funkcije, kot so WebSockets - vse je tukaj. Količina dela, ki je potrebno za začetek, je prav tako minimalna, oblika steklenice pa je elegantno razširljiva, kadar so potrebne naprednejše funkcije. 

Kliknite

Kaj počne Click: Omogoča vam hitro izdelavo vmesnikov ukazne vrstice za aplikacije Python.

Zakaj uporabljati Click: GUI-ji so priročni, vendar so CLI-ji tam, kjer je resnična moč. Vendar je gradnja robustnega CLI težko preprosta, privzeti nabor orodij za zbiranje in uporabo možnosti ukazne vrstice v Pythonu pa je primitiven.

Click te koščke zavije v visok nivo API za konstrukcijo CLI. Če želite ustvariti le nekaj osnovnih ukazov, lahko to storite z nekaj vrsticami kode. Če želite bolj napredno vedenje, na primer pozivanje ločeno za več informacij o parametru ali izpeljavo vrednosti iz spremenljivk okolja, kliknite Click has got. Click podpira tudi terminalne barve prekkolorama knjižnico in jo je mogoče razširiti z vtičniki drugih proizvajalcev.

EbookLib

Kaj počne EbookLib: Branje in pisanje datotek .epub.

Zakaj uporabljati EbookLib:Ustvarjanje e-knjig običajno zahteva prepiranje enega ali drugega orodja ukazne vrstice. EbookLib ponuja orodja za upravljanje in API-je, ki poenostavljajo postopek. Deluje z datotekama EPUB 2 in EPUB 3, podpora za Kindle pa je v razvoju.

Navedite slike in besedilo (slednje v obliki HTML), EbookLib pa jih lahko sestavi v e-knjigo s poglavji, ugnezdenim kazalom, slikami, oznakami HTML itd. Podprti so tudi podatki o naslovnici, hrbtenici in slogovnem listu. Vtični sistem tretjim osebam omogoča razširitev vedenja knjižnice.

Če ne potrebujete vsega, kar ponuja EbookLib, preizkusite Mkepub. Mkepub pakira osnovno funkcionalnost sestavljanja e-knjig v knjižnici, ki je velika le nekaj kilobajtov. Ena manjša pomanjkljivost Mkepub je, da zahteva Jinja2, ta pa knjižnico MarkupSafe.

Gobast

Kaj počne Gooey: Programu Python, ki temelji na konzoli, dodelite GUI, ki temelji na platformi.

Zakaj uporabljati Gooey: Predstavitev uporabnikov, zlasti rednih uporabnikov, z vmesnikom ukazne vrstice je eden najboljših načinov za odvračanje od uporabe vaše aplikacije. Le redki, razen trdih gejevcev, ne želijo ugotoviti, katere možnosti naj se podajo in v kakšnem vrstnem redu. Gooey vzame argumente, ki jih pričakuje knjižnica argparse, in jih uporabnikom predstavi kot obrazec GUI prek knjižnice WxPython. Vse možnosti so označene in prikazane z ustreznimi kontrolniki (na primer spustni meni za argument več možnosti). Za njegovo delovanje je potrebno zelo malo dodatnega kodiranja - en vključek in en dekorater - ob predpostavki, da že uporabljate argparse.

Prikliči

Kaj naredi Invoke: Pythonic oddaljeno izvajanje - torej izvajanje skrbniških nalog s pomočjo knjižnice Python.

Zakaj uporabljati Invoke: Uporaba Pythona kot nadomestka običajnih skriptnih opravil v lupini je smiselna. Invoke ponuja API na visoki ravni za izvajanje ukazov lupine in upravljanje nalog ukazne vrstice, kot da bi šlo za funkcije Pythona, kar vam omogoča, da te naloge vdelate v svojo kodo ali elegantno gradite okoli njih. Pazite le, da ne dovolite, da se zaupanja vreden vnos posreduje kakršnim koli ukazom lupine.

Nuitka

Kaj počne Nuitka:Zberite Python v samostojne izvedljive datoteke C.

Zakaj uporabljati Nuitka: Tako kot Cython, Nuitka Python prevede v C. Vendar pa medtem, ko Cython za lastne rezultate potrebuje lastno sintakso po meri in se osredotoča predvsem na matematične in statistične programe, Nuitka deluje s katerim koli programom Python, kakršen je, ga sestavi v C in ustvari en sam -file izvršljivo datoteko z uporabo optimizacij, kjer je to mogoče. Nuitka je še vedno v začetni fazi in številne načrtovane optimizacije še čakajo. Kljub temu je priročen način pretvorbe skripta Python v hitro aplikacijo ukazne vrstice.

Numba

Kaj počne Numba:Selektivno pospešite matematično intenzivne funkcije.

Zakaj uporabljati Numbo:Pythonov svet vključuje celotno subkulturo paketov za pospeševanje matematičnih operacij. NumPy na primer deluje tako, da zavije hitre knjižnice C v Python vmesnik, Cython pa Python prevede v C z neobveznim tipkanjem za pospešeno delovanje. Toda Numba je zlahka najprimernejša, saj omogoča selektivno pospeševanje funkcij Pythona s samo dekoraterjem. Za nadaljnje povečanje hitrosti lahko z vzporednimi idiomi Python vzporedite delovne obremenitve ali uporabite navodila SIMD ali GPU.

Upoštevajte, da lahko NumPy uporabljate z Numbo. Navsezadnje ima NumPy veliko gotovih algoritmov, ki jih ni treba izvajati iz nič. Toda pri majhnih "jedrnih" algoritmih bo Numba v mnogih primerih večkrat presegla NumPy.

Openpyxl

Kaj počne Openpyxl: Bere, piše in manipulira z datotekami Excel.

Zakaj uporabljati OpenPyxl: Prosite nekoga, naj poimenuje tri orodja, ki jih števec uporablja pri svojem delu, verjetnost je, da boste dobili Python, R in Excel, ne nujno v tem vrstnem redu. Excel (še) nima domače povezave Python, vendar so tuji paketi vrzel premostili na različne načine.

Openpyxl deluje tako, da spremeni Exceldatotek namesto da bi neposredno upravljali Excel. Z Openpyxlom lahko avtomatizirate ustvarjanje preglednic in delovnih zvezkov, generirate formule, napolnite celice s temi formulami in izvedete številne druge operacije. Spremenite lahko tudi lastnosti Excelovih predmetov, na primer sloge celic in pogojno oblikovanje. Vsakdo, ki preživi pomemben čas in strmi v preglednice, bo tu našel nekaj koristnega.

Peewee

Kaj počne Peewee: Droben ORM (objektno-relacijski preslikavalec), ki podpira SQLite, MySQL in PostgreSQL z mnogimi razširitvami.

Zakaj uporabljati Peewee: ORM nimajo vsi radi; nekateri bi raje pustili modeliranje shem na strani baze podatkov in z njim končali. Toda za razvijalce, ki se ne želijo dotikati baz podatkov, je lahko dobro zgrajen, nevsiljiv ORM božja dar. In za razvijalce, ki ne želijo tako polnega ORM-a, kot je SQL Alchemy, je Peewee zelo primeren.

Peewee modele je enostavno izdelati, povezati in z njimi upravljati. Poleg tega je vgrajenih veliko pogostih funkcij za poizvedbe, na primer paginacija. Več funkcij je na voljo kot dodatki, vključno z razširitvami za druge zbirke podatkov, orodji za testiranje in sistemom za selitev shem - funkcija, ki bi se je lahko naučil tudi sovražnik ORM ljubezen. Upoštevajte, da veja Peewee 3.x (priporočena izdaja) ni popolnoma združljiva s prejšnjimi različicami Peewee.

Vzglavnik

Kaj naredi vzglavnik: Obdelava slik brez bolečin.

Zakaj uporabljati blazino: Večina Pythonistov, ki so izvajali obdelavo slik, bi morala poznati PIL (Python Imaging Library), vendar je PIL prežet s pomanjkljivostmi in omejitvami in se redko posodablja. Vzglavnik želi biti enostavnejši za uporabo in z minimalnimi spremembami združljiv s kodo PIL. Vključene so razširitve za pogovor z naravnimi slikovnimi funkcijami sistema Windows in Pythonov Tcl / Tk-podprti Tkinter GUI paket. Vzglavnik je na voljo prek GitHub ali repozitorija PyPI.

Poezija

Kaj dela poezija: Upravlja odvisnosti in embalažo za vaše projekte Python na visoki ravni.

Zakaj uporabljati poezijo: Teoretično vam za začetek novega projekta Python ni treba storiti ničesar, razen ustvariti prazen imenik in ga napolniti z datotekami .py. V praksi, zlasti za ambiciozen projekt, boste morali narediti še veliko več - ustvariti README, nastaviti neko strukturo map, prijaviti svoje odvisnosti itd. Če vse to počnete ročno, je glavobol.

Poezija avtomatizira večino teh nastavitev in vzdrževanja. Teči poezija novo za ustvarjanje novega projektnega imenika in navideznega okolja, vnaprej napolnjenega z osnovnim izborom komponent. Navedite svoje odvisnosti z Pythonovo lastno obliko datoteke pyprojec.toml in Poetry jih bo upravljala namesto vas. Obstoječe izdelke, ki jih upravlja poezija, lahko odvisnosti samodejno namestijo, osvežijo in spremenijo iz ukazne vrstice Poetry. Poezija ureja tudi objavljanje v oddaljenem repozitoriju (na primer PyPI).

PyFilesystem

Kaj počne PyFilesystem: Pythonic vmesnik za kateri koli datotečni sistem -kaj datotečni sistem.

Zakaj uporabljati PyFilesystem:Temeljna ideja, ki stoji za PyFilesystemom, ne more biti preprostejša: tako kot Pythonova mapa predmeti abstrahirajo eno datoteko, PyFilesystem's FS predmeti povzamejo celoten datotečni sistem. To ne pomeni tudi samo datotečnih sistemov na disku. PyFilesystem podpira tudi imenike FTP, datotečne sisteme v pomnilniku, datotečne sisteme za lokacije, ki jih določa OS (na primer uporabniški imenik), in celo kombinacije zgoraj naloženih drug na drugega.

Poleg lažjega pisanja medplatformne kode, ki manipulira z datotekami, PyFilesystem odpravlja tudi potrebo po skriptanju skriptov iz ločenih delov standardne knjižnice, predvsemos inio. Ponuja tudi pripomočke, ki bi jih sicer morali ustvariti iz nič, na primer orodje za tiskanje konzoli prijaznih drevesnih pogledov datotečnega sistema.

Pygame

Kaj počne Pygame: Ustvarite video igre ali kakovostne front-end igre v Pythonu.

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