Ohjelmointi

24 Python-kirjastoa jokaiselle Python-kehittäjälle

Haluatko hyvän syyn Python-ohjelmointikielen menestykseen? Älä etsi muuta kuin Pythonille saatavilla olevaa laajaa kirjastokokoelmaa, sekä alkuperäisiä että kolmansien osapuolten kirjastoja. Koska siellä on niin monta Python-kirjastoa, ei ole mikään yllätys, että jotkut eivät saa kaikkea ansaitsemaansa huomiota. Lisäksi yksinomaan yhdessä toimialueessa työskentelevät ohjelmoijat eivät aina tiedä muusta työstä saatavissa olevista herkkuista.

Tässä on 24 Python-kirjastoa, jotka saatat olla unohtanut, mutta jotka ovat ehdottomasti huomion arvoisia. Nämä helmet ovat hyödyllisiä, yksinkertaistavat kaikkea tiedostojärjestelmän käytöstä, tietokantaohjelmoinnista ja työskentelystä pilvipalveluiden kanssa kevyiden verkkosovellusten rakentamiseen, käyttöliittymien luomiseen sekä kuvien, e-kirjojen ja Word-tiedostojen - ja paljon muuta - lisäksi. Jotkut ovat tunnettuja, toiset vähemmän tunnettuja, mutta kaikki nämä Python-kirjastot ansaitsevat paikan työkalupakissa.

Apache Libcloud

Mitä Libcloud tekee: Käytä useita pilvipalveluntarjoajia yhden, yhtenäisen, yhtenäisen sovellusliittymän kautta.

Miksi käyttää Libcloudia: Jos yllä oleva kuvaus Apache Libcloudista ei saa sinua taputtamaan käsiäsi ilosta, et ole yrittänyt työskennellä useiden pilvien kanssa. Kaikki pilvipalvelujen tarjoajat rakastavat tehdä asioita omalla tavallaan, mikä tekee yhtenäisestä mekanismista kymmenien palveluntarjoajien kanssa tekemisessä valtavan aikaa säästävän ja päänsärky. API: t ovat käytettävissä laskentaan, tallennukseen, kuormituksen tasapainottamiseen ja DNS: ään, ja ne tukevat Python 2.x: ää ja Python 3.x: ää sekä PyPyä, suorituskykyä parantavaa JIT-kääntäjää Pythonille.

Nuoli

Mitä Arrow tekee: Päivämäärien ja aikojen puhtaampi käsittely Pythonissa.

Miksi käyttää nuolta: Aikavyöhykkeiden, päivämäärämuunnosten, päivämäärämuotojen ja kaiken muun käsittely on jo puolitoista päänsärkyä. Heitä Pythonin vakiokirjasto päivämäärä- ja aikatyötä varten, niin saat kaksi ja puoli päänsärkyä.

Nuolella on neljä suurta etua. Yksi Arrow on drop-in-korvaava korvaus Pythonin päivämäärä-moduulille, mikä tarkoittaa, että yhteiset funktiot kutsuvat .nyt() ja .utcnow () toimi odotetusti. Kaksi, Nuoli tarjoaa menetelmiä yleisiin tarpeisiin, kuten aikavyöhykkeiden siirtämiseen ja muuntamiseen. Kolmanneksi, Nuoli tarjoaa "humanisoidut" päivämäärä- ja aikatiedot - esimerkiksi sen, että voi sanoa jotain tapahtui "tunti sitten" tai tapahtuu "kahden tunnin sisällä" ilman paljon vaivaa. Neljänneksi, nuoli voi paikantaa päivämäärä- ja aikatiedot rikkomatta hikeä.

Katso

Mitä katso: Vankka tuki tulostustyylin virheenkorjaukseen Pythonissa.

Miksi käyttää Katso: On yksi yksinkertainen tapa virheenkorjaukseen Pythonissa tai melkein missä tahansa ohjelmointikielessä: Lisää riviin Tulosta lausunnot. Mutta vaikka tulostuksen virheenkorjaus ei ole järkevää pienissä ohjelmissa, hyödyllisten tulosten saaminen suurissa, rönsyilevissä, monimoduuliprojekteissa ei ole niin helppoa.

Katso tarjoaa työkalupaketin asiaankuuluvaan virheenkorjaukseen tulostuslausekkeiden kautta. Sen avulla voit asettaa yhtenäisen ulkoasun ulkoasulle, merkitä tulokset, jotta ne voidaan lajitella hakujen tai suodattimien avulla, ja tarjota konteksteja moduulien välillä, jotta yhdestä moduulista peräisin olevat toiminnot voidaan virheenkorjata oikein toisessa. Katso, se käsittelee monia yleisiä Python-kohtaisia ​​skenaarioita, kuten objektin sisäisen sanakirjan tulostaminen, sisäkkäisten määritteiden paljastaminen sekä tulosten tallentaminen ja uudelleenkäyttö vertailua varten virheenkorjausprosessin aikana.

Musta

Mitä Musta tekee: Muotoilee Python-koodin tiukkojen ja melkein täysin muuttumattomien sääntöjoukkojen mukaisesti.

Miksi käyttää mustaa: Python-koodin muotoilijoilla, kuten YAPF: llä, on yleensä monia konfiguroitavia vaihtoehtoja - rivin pituus, rivinjakoasetukset, perässä olevien pilkkujen käsittely ja niin edelleen. Musta käyttää johdonmukaista joukkoa oletuksia niille säännöille, joita ei voida muuttaa. Tuloksena oleva muotoiltu koodi on mahdollisimman johdonmukainen koodipohjissa ja käyttäjien välillä, ja muokattujen tiedostojen välillä on mahdollisimman vähän eroja.

Musta vie jonkin verran tottua, varsinkin jos olet hienovarainen pystysuorassa tyhjässä tilassa, lausunnoissa, joissa on syviä sisäkkäisyyksiä (esim. Luetteloiden luettelot) ja muissa muotoiluvaihtoehdoissa. Mutta pitkällä aikavälillä se vapauttaa sinut ajattelemasta muotoilua ja antaa sinun keskittyä koodiin.

Pullo

Mitä pullo tekee: Kevyet ja nopeat verkkosovellukset.

Miksi käyttää pulloa: Kun haluat heittää yhteen nopean RESTful-sovellusliittymän tai käyttää verkkokehyksen paljaita luita sovelluksen rakentamiseen, kykenevä mutta pieni pullo antaa sinulle enempää kuin tarvitset. Reititys, mallit, pääsy pyyntö- ja vastaustietoihin, useiden palvelintyyppien tuki vanhasta CGI: stä ylöspäin ja tuki edistyneemmille ominaisuuksille, kuten WebSockets - kaikki on täällä. Aloittamiseen tarvittava työ on myös vähäinen, ja pullon muotoilu on tyylikkäästi laajennettavissa, kun tarvitaan edistyneempiä toimintoja. 

Klikkaus

Mitä Click tekee: Voit rakentaa nopeasti komentoriviliittymiä Python-sovelluksille.

Miksi käyttää Click: GUI: t ovat käteviä, mutta CLI: t ovat siellä, missä todellinen voima on. Vankan CLI: n rakentaminen on tuskin helppoa, ja oletustyökalupaketti komentorivivaihtoehtojen keräämiseen ja käyttämiseen Pythonissa on alkeellinen.

Napsauta kääri ne palat korkean tason CLI-rakentamisen sovellusliittymään. Jos haluat luoda vain muutaman peruskomennon, voit tehdä sen muutamalla rivillä koodia. Jos haluat edistyneempää käyttäytymistä, kuten kehotuksen pyytää erikseen lisätietoja parametrista tai johtamaan arvoja ympäristömuuttujista, napsauta sinua. Click tukee myös päätelaitteen värejäcolorama kirjasto, ja sitä voidaan laajentaa kolmannen osapuolen laajennuksilla.

EbookLib

Mitä EbookLib tekee: Lue ja kirjoita .epub-tiedostoja.

Miksi käyttää EbookLibiä:E-kirjojen luominen edellyttää yleensä yhden tai toisen komentorivityökalun ryöstämistä. EbookLib tarjoaa hallintatyökalut ja API: t, jotka yksinkertaistavat prosessia. Se toimii EPUB 2- ja EPUB 3 -tiedostojen kanssa, ja Kindle-tuki on kehitteillä.

Anna kuvat ja teksti (jälkimmäinen HTML-muodossa), ja EbookLib voi koota nuo kappaleet e-kirjaan, jossa on luvut, sisäkkäiset sisällysluettelot, kuvat, HTML-merkinnät ja niin edelleen. Myös kansi-, selkä- ja tyylitaulukotiedot ovat tuettuja. Laajennusjärjestelmän avulla kolmannet osapuolet voivat laajentaa kirjaston käyttäytymistä.

Jos et tarvitse kaikkea, mitä EbookLib tarjoaa, kokeile Mkepubia. Mkepub pakkaa e-kirjakokoonpanon perustoiminnot vain muutaman kilotavun kokoiseen kirjastoon. Yksi pieni haitta Mkepubista on, että se vaatii Jinja2: n, mikä puolestaan ​​vaatii MarkupSafe-kirjaston.

Tahmea

Mitä Gooey tekee: Anna konsolipohjaiselle Python-ohjelmalle käyttöympäristöön perustuva käyttöliittymä.

Miksi käyttää Gooey: Käyttäjien, erityisesti sijoitus- ja tiedostokäyttäjien, esittäminen komentoriviliittymällä on yksi parhaista tavoista estää sovelluksesi käyttöä. Harvat lukuun ottamatta kovaa nörttiä, kuten selvittää, mitä vaihtoehtoja ja missä järjestyksessä. Gooey ottaa argumentit, joita argparse-kirjasto odottaa, ja esittelee ne käyttäjille GUI-muodossa WxPython-kirjaston avulla. Kaikki vaihtoehdot on merkitty ja näytetty asianmukaisilla säätimillä (kuten avattava valikko usean vaihtoehdon argumentille). Hyvin vähän lisäkoodausta - yksi sisällys ja yksi sisustus - tarvitaan sen toimimiseksi olettaen, että käytät jo argparse-ohjelmaa.

Vedota

Mitä Invoke tekee: Pythonic-etäsuoritus - suorita järjestelmänvalvojan tehtävät käyttämällä Python-kirjastoa.

Miksi käyttää Invoke: Pythonin käyttö tavallisten komentosarjakomennotehtävien korvaajana tekee maailmasta järkevää. Invoke tarjoaa korkean tason sovellusliittymän komentokäskyjen suorittamiseen ja komentorivitehtävien hallintaan ikään kuin ne olisivat Python-toimintoja, jolloin voit upottaa nämä tehtävät omaan koodiin tai rakentaa tyylikkäästi niiden ympärille. Ole varovainen, ettet salli epäluotettavan syötteen siirtämistä sellaisenaan mihin tahansa komentokomentoon.

Nuitka

Mitä Nuitka tekee:Käännä Python itsenäisiin C-suoritustiedostoihin.

Miksi käyttää Nuitkaa: Kuten Cython, Nuitka kääntää Pythonin C: ksi. Vaikka Cython vaatii oman mukautetun syntaksin parhaiden tulosten saavuttamiseksi ja keskittyy pääasiassa matematiikka- ja tilastosovelluksiin, Nuitka toimii minkä tahansa Python-ohjelman kanssa sellaisenaan, kokoaa sen C: ksi ja tuottaa yhden -file suoritettava, soveltamalla optimointeja sinne missä se voi. Nuitka on edelleen alkuvaiheessa, ja monet suunnitelluista optimoinnista ovat vielä tulossa. Siitä huolimatta se on kätevä tapa muuttaa Python-komentosarja nopeaksi komentorivisovellukseksi.

Numba

Mitä Numba tekee:Nopeuta matemaattisia toimintoja valikoivasti.

Miksi käyttää Numbaa:Python-maailma sisältää kokonaisen pakettien alakulttuurin matemaattisten operaatioiden nopeuttamiseksi. Esimerkiksi NumPy toimii käärimällä nopeat C-kirjastot Python-käyttöliittymään, ja Cython kääntää Pythonin C: ksi valinnaisella kirjoittamisella nopeutetun suorituskyvyn saavuttamiseksi. Mutta Numba on helposti mukavin, koska sen avulla Python-toimintoja voidaan kiihdyttää valikoivasti vain koristelijalla. Nopeuden lisäämiseksi voit käyttää yleisiä Python-idioomeja työkuormien rinnakkaistamiseksi tai käyttää SIMD- tai GPU-ohjeita.

Huomaa, että voit käyttää NumPyä Numban kanssa. Loppujen lopuksi NumPyssä on monia valmiita algoritmeja, joita ei tarvitse toteuttaa tyhjästä. Mutta pienille "ytimen" algoritmeille Numba ylittää monissa tapauksissa NumPyn moninkertaisesti.

Openpyxl

Mitä Openpyxl tekee: Lukee, kirjoittaa ja käsittelee Excel-tiedostoja.

Miksi käyttää OpenPyxl: Pyydä jotakuta nimeämään kolme työkalua, joita numeromurskaimet käyttävät työssään. On todennäköistä, että saat Pythonin, R: n ja Excelin, ei välttämättä tässä järjestyksessä. Excelillä ei ole (vielä) natiivia Python-yhteyttä, mutta kolmansien osapuolten paketit ovat ohittaneet aukon eri tavoin.

Openpyxl toimii muokkaamalla Exceliätiedostot pikemminkin kuin manipuloimalla Exceliä suoraan. Openpyxl: n avulla voit automatisoida laskentataulukoiden ja työkirjojen luomisen, luoda kaavoja, täyttää solut kyseisillä kaavoilla ja suorittaa monia muita toimintoja. Voit myös muuttaa Excel-objektien ominaisuuksia, kuten solutyylejä ja ehdollista muotoilua. Jokainen, joka viettää paljon aikaa tuijottaen laskentataulukoita, löytää täältä jotain hyödyllistä.

Peewee

Mitä Peewee tekee: Pieni ORM (objektisuhdekartoitin), joka tukee SQLite-, MySQL- ja PostgreSQL-tiedostoja, monilla laajennuksilla.

Miksi käyttää Peewee: Kaikki eivät rakastaa ORM: ää; jotkut haluaisivat mieluummin jättää kaavamallinnuksen tietokannan puolelle ja tehdä sen. Mutta kehittäjille, jotka eivät halua koskea tietokantoihin, hyvin rakennettu, huomaamaton ORM voi olla jumalatar. Kehittäjille, jotka eivät halua yhtä täyttä ORM: ää kuin SQL Alchemy, Peewee sopii erinomaisesti.

Peewee-malleja on helppo rakentaa, yhdistää ja käsitellä. Lisäksi monet yleiset kyselyn manipulointitoiminnot, kuten sivutus, on rakennettu suoraan sisään. Lisäominaisuuksina on saatavana lisäominaisuuksia, mukaan lukien laajennukset muille tietokannoille, testaustyökalut ja kaavionsiirtojärjestelmä - ominaisuus, jonka ORM-vihaaja voi oppia rakkaus. Huomaa, että Peewee 3.x -haara (suositeltu versio) ei ole täysin taaksepäin yhteensopiva aiempien Peewee-versioiden kanssa.

Tyyny

Mitä tyyny tekee: Kuvankäsittely ilman kipua.

Miksi käyttää tyynyä: Suurimman osan kuvankäsittelyä suorittaneista Pythonistasista pitäisi tuntea PIL (Python Imaging Library), mutta PIL on täynnä puutteita ja rajoituksia, ja sitä päivitetään harvoin. Tyynyn tavoitteena on olla molemmat helpompi käyttää ja koodin kanssa yhteensopiva PIL: n kanssa pienin muutoksin. Laajennukset sisältyvät puhumiseen sekä Windowsin natiivikuvantamistoimintojen että Pythonin Tcl / Tk-tukeman Tkinter GUI -paketin kanssa. Tyyny on saatavana GitHubin tai PyPI-arkiston kautta.

Runous

Mitä runous tekee: Hallitsee Python-projektien riippuvuuksia ja pakkauksia korkealla tasolla.

Miksi käyttää runoutta: Teoriassa sinun ei tarvitse tehdä mitään uuden Python-projektin aloittamiseksi paitsi luoda tyhjä hakemisto ja täyttää se .py-tiedostoilla. Käytännössä, etenkin kunnianhimoisessa projektissa, sinun on tehtävä paljon enemmän - luotava README, määritettävä kansiorakenne, ilmoitettava riippuvuutesi ja niin edelleen. Kaiken tämän tekeminen käsin on päänsärky.

Runous automatisoi suuren osan tästä asennuksesta ja ylläpidosta. Juosta runous uusi luoda uusi projektihakemisto ja virtuaaliympäristö, joka on valmiiksi täytetty komponenttien perusvalikoimalla. Ilmoita riippuvuutesi käyttämällä Pythonin omaa pyprojec.toml-tiedostomuotoa, ja Poetry hallitsee ne puolestasi. Nykyisten runo-ohjattujen tuotteiden riippuvuudet voidaan asentaa, päivittää ja muokata Poetry-komentoriviltä. Runous käsittelee myös julkaisemisen etätietovarastoon (kuten PyPI).

PyFilesystem

Mitä PyFilesystem tekee: Pythonic-käyttöliittymä mihin tahansa tiedostojärjestelmään -minkä tahansa tiedostojärjestelmä.

Miksi käyttää PyFilesystemiä:PyFilesystemin perusajatus ei voisi olla yksinkertaisempi: aivan kuten Python tiedosto objektit tiivistävät yhden tiedoston, PyFilesystem's FS objektit tiivistävät koko tiedostojärjestelmän. Tämä ei tarkoita myöskään vain levyn tiedostojärjestelmiä. PyFilesystem tukee myös FTP-hakemistoja, muistin sisäisiä tiedostojärjestelmiä, tiedostojärjestelmiä käyttöjärjestelmän määrittelemille sijainneille (kuten käyttäjän hakemisto) ja jopa yllä olevien yhdistelmiä päällekkäin.

PyFilesystem helpottaa tiedostojen manipulointia alustojen välisen koodin kirjoittamisen lisäksi, että komentosarjojen mukauttaminen on välttämätöntä tavallisen kirjaston eri osista, lähinnäos jaio. Se tarjoaa myös apuohjelmia, jotka muuten on ehkä luotava alusta alkaen, kuten työkalu konsoliystävällisten puunäkymien tulostamiseen tiedostojärjestelmästä.

Pygame

Mitä Pygame tekee: Luo videopelejä tai pelilaatuisia käyttöliittymiä Pythonissa.

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