Προγραμματισμός

24 βιβλιοθήκες Python για κάθε προγραμματιστή Python

Θέλετε έναν καλό λόγο για τη μεγάλη επιτυχία της γλώσσας προγραμματισμού Python; Μην ψάχνετε περισσότερο από τη μαζική συλλογή βιβλιοθηκών που διατίθενται για Python, τόσο εγγενείς όσο και τρίτες βιβλιοθήκες. Ωστόσο, με τόσες πολλές βιβλιοθήκες Python, δεν αποτελεί έκπληξη το γεγονός ότι ορισμένοι δεν λαμβάνουν όλη την προσοχή που τους αξίζει. Επιπλέον, οι προγραμματιστές που εργάζονται αποκλειστικά σε έναν τομέα δεν γνωρίζουν πάντα για τα καλούδια που έχουν στη διάθεσή τους για άλλα είδη εργασίας.

Εδώ είναι 24 βιβλιοθήκες Python που ίσως έχετε παραβλέψει, αλλά αξίζει σίγουρα την προσοχή σας. Αυτοί οι πολύτιμοι λίθοι εκτελούν το εύρος της χρησιμότητας, απλοποιώντας τα πάντα, από την πρόσβαση στο σύστημα αρχείων, τον προγραμματισμό βάσεων δεδομένων και τη συνεργασία με υπηρεσίες cloud έως τη δημιουργία ελαφρών εφαρμογών ιστού, τη δημιουργία GUI και την εργασία με εικόνες, ebook και αρχεία Word - και πολλά άλλα. Ορισμένες είναι γνωστές, άλλες λιγότερο γνωστές, αλλά όλες αυτές οι βιβλιοθήκες Python αξίζουν μια θέση στην εργαλειοθήκη σας.

Apache Libcloud

Τι κάνει το Libcloud: Πρόσβαση σε πολλούς παρόχους cloud μέσω ενός ενιαίου, συνεκτικού, ενοποιημένου API.

Γιατί να χρησιμοποιήσετε το Libcloud: Εάν η παραπάνω περιγραφή του Apache Libcloud δεν σας κάνει να χτυπήσετε τα χέρια σας για χαρά, τότε δεν έχετε δοκιμάσει να εργαστείτε με πολλά σύννεφα. Όλοι οι πάροχοι cloud αγαπούν να κάνουν τα πράγματα με τον δικό τους τρόπο, καθιστώντας έναν ενοποιημένο μηχανισμό για την αντιμετώπιση δεκάδων παρόχων μια τεράστια εξοικονόμηση χρόνου και ηρεμιστικό. Τα API είναι διαθέσιμα για υπολογισμό, αποθήκευση, εξισορρόπηση φορτίου και DNS, με υποστήριξη για Python 2.x και Python 3.x καθώς και PyPy, τον ενισχυτή απόδοσης JIT compiler για Python.

Βέλος

Τι κάνει το Arrow: Καθαρότερος χειρισμός ημερομηνιών και ωρών στο Python.

Γιατί να χρησιμοποιήσετε το Arrow: Η ενασχόληση με τις ζώνες ώρας, τις μετατροπές ημερομηνιών, τις μορφές ημερομηνίας και όλα τα υπόλοιπα είναι ήδη μισό πονοκέφαλο. Πετάξτε στην τυπική βιβλιοθήκη της Python για εργασία ημερομηνίας / ώρας και έχετε δυο πονοκεφάλους και μισό.

Το Arrow παρέχει τέσσερα μεγάλα πλεονεκτήματα. Πρώτον, το Arrow είναι μια υποκατάστατη αντικατάστασης για τη μονάδα δεδομένων χρόνου της Python, που σημαίνει ότι η κοινή συνάρτηση απαιτεί .τώρα() και .utcnow () λειτουργούν όπως αναμενόταν. Δεύτερον, το Arrow παρέχει μεθόδους για κοινές ανάγκες όπως αλλαγή και μετατροπή ζωνών ώρας. Τρίτον, το Arrow παρέχει "εξανθρωπισμένες" πληροφορίες ημερομηνίας / ώρας - όπως το να μπορείς να πεις κάτι συνέβη "πριν από μια ώρα" ή θα συμβεί "σε δύο ώρες" χωρίς πολλή προσπάθεια. Τέσσερα, το Arrow μπορεί να εντοπίσει πληροφορίες ημερομηνίας / ώρας χωρίς να ιδρώνει.

Βλέπω

Τι κάνει το Ιδού: Ισχυρή υποστήριξη για εντοπισμό σφαλμάτων εκτύπωσης στο Python.

Γιατί να χρησιμοποιήσετε το Look: Υπάρχει ένας απλός τρόπος για εντοπισμό σφαλμάτων στο Python, ή σχεδόν σε οποιαδήποτε γλώσσα προγραμματισμού για αυτό το θέμα: Εισαγωγή in-line Τυπώνω δηλώσεις. Όμως, ενώ το πρόγραμμα εντοπισμού σφαλμάτων εκτύπωσης είναι χωρίς προβλήματα σε μικρά προγράμματα, δεν είναι τόσο εύκολο να λάβετε χρήσιμα αποτελέσματα σε μεγάλα, εκτεταμένα έργα πολλαπλών ενοτήτων.

Το Look παρέχει μια εργαλειοθήκη για τον εντοπισμό σφαλμάτων με βάση τα συμφραζόμενα μέσω εκθέσεων εκτύπωσης. Σας επιτρέπει να επιβάλλετε μια ομοιόμορφη εμφάνιση στην έξοδο, να επισημάνετε τα αποτελέσματα έτσι ώστε να μπορούν να ταξινομηθούν μέσω αναζητήσεων ή φίλτρων και να παρέχουν περιβάλλοντα μεταξύ των ενοτήτων έτσι ώστε οι λειτουργίες που προέρχονται από μια ενότητα να μπορούν να εντοπιστούν σωστά σε άλλη. Το Look χειρίζεται πολλά κοινά σενάρια ειδικά για Python, όπως εκτύπωση εσωτερικού λεξικού ενός αντικειμένου, αποκάλυψη ένθετων χαρακτηριστικών και αποθήκευση και επαναχρησιμοποίηση αποτελεσμάτων για σύγκριση σε άλλα σημεία κατά τη διαδικασία εντοπισμού σφαλμάτων.

Μαύρος

Τι κάνει ο Μαύρος: Μορφές κώδικα Python σύμφωνα με ένα αυστηρό και σχεδόν αμετάβλητο σύνολο κανόνων.

Γιατί να χρησιμοποιήσετε το Μαύρο: Οι μορφοποιητές κώδικα Python, όπως το YAPF, τείνουν να έχουν πολλές διαμορφώσιμες επιλογές - μήκος γραμμής, επιλογές διαχωρισμού γραμμής, χειρισμός τελικών κόμματα και ούτω καθεξής. Το Black εφαρμόζει ένα σταθερό σύνολο προεπιλογών για αυτούς τους κανόνες που δεν μπορούν να τροποποιηθούν. Ο προκύπτων μορφοποιημένος κώδικας είναι όσο το δυνατόν πιο συνεπής μεταξύ των βάσεων κώδικα και μεταξύ των χρηστών, με τις λιγότερες πιθανές διαφορές μεταξύ των επεξεργασμένων αρχείων.

Το Black παίρνει λίγο συνηθισμένο, ειδικά αν είστε αδιάκριτοι σχετικά με τον κάθετο κενό, τις δηλώσεις με ένθετες φωλιές (π.χ. λίστες εντός λιστών) και άλλες επιλογές μορφοποίησης. Αλλά μακροπρόθεσμα σας απαλλάσσει από το να χρειάζεται να σκεφτείτε τη μορφοποίηση, επιτρέποντάς σας να επικεντρωθείτε στον κώδικά σας.

Μπουκάλι

Τι κάνει το μπουκάλι: Ελαφρές και γρήγορες εφαρμογές ιστού.

Γιατί να χρησιμοποιήσετε το μπουκάλι: Όταν θέλετε να συνδυάσετε ένα γρήγορο RESTful API ή να χρησιμοποιήσετε τα γυμνά οστά ενός πλαισίου ιστού για να δημιουργήσετε μια εφαρμογή, το ικανό αλλά μικροσκοπικό μπουκάλι δεν σας δίνει περισσότερα από όσα χρειάζεστε. Δρομολόγηση, πρότυπα, πρόσβαση σε δεδομένα αιτήσεων και απόκρισης, υποστήριξη για πολλούς τύπους διακομιστών από απλό παλιό CGI και πάνω, και υποστήριξη για πιο προηγμένες λειτουργίες όπως το WebSockets - όλα είναι εδώ. Το ποσό της εργασίας που απαιτείται για να ξεκινήσετε είναι επίσης ελάχιστο, και ο σχεδιασμός του μπουκαλιού είναι κομψά επεκτάσιμος όταν απαιτούνται πιο προηγμένες λειτουργίες. 

Κάντε κλικ

Τι κάνει το κλικ: Σας επιτρέπει να δημιουργήσετε γρήγορα διεπαφές γραμμής εντολών για εφαρμογές Python.

Γιατί να χρησιμοποιήσετε το Click: Τα GUI είναι βολικά, αλλά τα CLI είναι εκεί που είναι η πραγματική ισχύς. Ωστόσο, η δημιουργία ενός ισχυρού CLI είναι σχεδόν εύκολη και το προεπιλεγμένο σύνολο εργαλείων για τη συλλογή και τη χρήση επιλογών γραμμής εντολών στο Python είναι πρωτόγονο.

Το κλικ περιτυλίγει αυτά τα κομμάτια σε ένα υψηλού επιπέδου, API κατασκευής CLI. Εάν θέλετε απλώς να δημιουργήσετε μερικές βασικές εντολές, μπορείτε να το κάνετε με μερικές γραμμές κώδικα. Αν θέλετε πιο προχωρημένη συμπεριφορά, όπως να ζητάτε ξεχωριστά περισσότερες πληροφορίες σχετικά με μια παράμετρο ή να λαμβάνετε τιμές από μεταβλητές περιβάλλοντος, κάντε κλικ στην κάλυψη. Το κλικ υποστηρίζει επίσης τα τερματικά χρώματα μέσω τουΚολοράμα βιβλιοθήκη και μπορεί να επεκταθεί με προσθήκες τρίτων.

EbookLib

Τι κάνει το EbookLib: Διαβάστε και γράψτε αρχεία .epub.

Γιατί να χρησιμοποιήσετε το EbookLib:Η δημιουργία ebooks απαιτεί συνήθως ένα εργαλείο γραμμής εντολών ή ένα άλλο. Το EbookLib παρέχει εργαλεία διαχείρισης και API που απλοποιούν τη διαδικασία. Λειτουργεί με αρχεία EPUB 2 και EPUB 3, με υποστήριξη Kindle υπό ανάπτυξη.

Δώστε τις εικόνες και το κείμενο (το τελευταίο σε μορφή HTML), και το EbookLib μπορεί να συγκεντρώσει αυτά τα κομμάτια σε ένα ebook με κεφάλαια, ένθετο πίνακα περιεχομένων, εικόνες, σήμανση HTML και ούτω καθεξής. Υποστηρίζονται επίσης τα δεδομένα εξωφύλλου, σπονδυλικής στήλης και φύλλου στυλ. Ένα σύστημα προσθηκών επιτρέπει σε τρίτους να επεκτείνουν τις συμπεριφορές της βιβλιοθήκης.

Εάν δεν χρειάζεστε όλα όσα έχει να προσφέρει το EbookLib, δοκιμάστε το Mkepub. Το Mkepub συσκευάζει βασικές λειτουργίες συναρμολόγησης ebook σε μια βιβλιοθήκη με μέγεθος μόνο λίγα kilobyte. Ένα μικρό μειονέκτημα του Mkepub είναι ότι απαιτεί το Jinja2, το οποίο με τη σειρά του απαιτεί τη βιβλιοθήκη MarkupSafe.

Κολλώδης

Τι κάνει ο Gooey: Δώστε σε ένα πρόγραμμα Python που βασίζεται στην κονσόλα ένα εγγενές GUI πλατφόρμας.

Γιατί να χρησιμοποιήσετε το Gooey: Η παρουσίαση των χρηστών, ιδίως των χρηστών κατάταξης και αρχείων, με μια διεπαφή γραμμής εντολών είναι ένας από τους καλύτερους τρόπους αποθάρρυνσης της χρήσης της εφαρμογής σας. Λίγοι εκτός από το hardcore geek, όπως να καταλάβω ποιες επιλογές να περάσεις και με ποια σειρά. Ο Gooey παίρνει επιχειρήματα που αναμένεται από τη βιβλιοθήκη argparse και τα παρουσιάζει στους χρήστες ως φόρμα GUI, μέσω της βιβλιοθήκης WxPython. Όλες οι επιλογές επισημαίνονται και εμφανίζονται με τα κατάλληλα στοιχεία ελέγχου (όπως ένα αναπτυσσόμενο μενού για ένα επιχείρημα πολλαπλών επιλογών). Απαιτείται πολύ λίγη πρόσθετη κωδικοποίηση - μία μόνο συμπερίληψη και ένας διακοσμητής - για να λειτουργήσει, υποθέτοντας ότι χρησιμοποιείτε ήδη argparse.

Επικαλούμαι

Τι κάνει το Invoke: Απομακρυσμένη εκτέλεση Pythonic - δηλαδή, εκτελέστε εργασίες διαχειριστή χρησιμοποιώντας μια βιβλιοθήκη Python.

Γιατί να χρησιμοποιήσετε το Invoke: Η χρήση του Python ως αντικατάστασης για συνηθισμένες εργασίες σεναρίου shell κάνει έναν κόσμο νόημα. Το Invoke παρέχει ένα API υψηλού επιπέδου για την εκτέλεση εντολών κελύφους και τη διαχείριση εργασιών γραμμής εντολών σαν να ήταν λειτουργίες Python, επιτρέποντάς σας να ενσωματώσετε αυτές τις εργασίες στον δικό σας κώδικα ή να χτίσετε κομψά γύρω τους. Απλώς προσέξτε να μην επιτρέπεται η μεταφορά μη αξιόπιστης εισόδου όπως είναι σε οποιαδήποτε εντολή κελύφους.

Nuitka

Τι κάνει η Nuitka:Μεταγλώττιση της Python σε αυτόνομα C εκτελέσιμα.

Γιατί να χρησιμοποιήσετε το Nuitka: Όπως και η Cython, η Nuitka μεταγλωττίζει την Python σε C. Ωστόσο, ενώ η Cython απαιτεί τη δική της προσαρμοσμένη σύνταξη για καλύτερα αποτελέσματα και εστιάζει κυρίως σε εφαρμογές μαθηματικών και στατιστικών στοιχείων, η Nuitka συνεργάζεται με οποιοδήποτε πρόγραμμα Python ως έχει, το μεταγλωττίζει σε C και παράγει ένα -File εκτελέσιμο, εφαρμόζοντας βελτιστοποιήσεις όπου μπορεί κατά μήκος του δρόμου. Η Nuitka βρίσκεται ακόμη στα αρχικά της στάδια και πολλές από τις προγραμματισμένες βελτιστοποιήσεις δεν έχουν ακόμη ολοκληρωθεί. Ωστόσο, είναι ένας βολικός τρόπος για να μετατρέψετε ένα σενάριο Python σε μια γρήγορη εφαρμογή γραμμής εντολών.

Νούμπα

Τι κάνει η Numba:Επιταχύνει επιλεκτικά συναρτήσεις εντάσεως μαθηματικών.

Γιατί να χρησιμοποιήσετε το Numba:Ο κόσμος της Python περιλαμβάνει μια ολόκληρη υποκαλλιέργεια πακέτων για την επιτάχυνση των μαθηματικών λειτουργιών. Για παράδειγμα, το NumPy λειτουργεί τυλίγοντας βιβλιοθήκες C υψηλής ταχύτητας σε διεπαφή Python και η Cython μεταγλωττίζει Python σε C με προαιρετική πληκτρολόγηση για επιταχυνόμενη απόδοση. Αλλά το Numba είναι εύκολα το πιο βολικό, καθώς επιτρέπει την επιλεκτική επιτάχυνση των λειτουργιών Python με τίποτα περισσότερο από διακοσμητή. Για περαιτέρω αυξήσεις ταχύτητας, μπορείτε να χρησιμοποιήσετε κοινά ιδιώματα Python για παράλληλο φόρτο εργασίας ή να χρησιμοποιήσετε οδηγίες SIMD ή GPU.

Λάβετε υπόψη ότι μπορείτε να χρησιμοποιήσετε το NumPy με το Numba. Σε τελική ανάλυση, το NumPy διαθέτει πολλούς αλγόριθμους που δεν χρειάζεται να εφαρμοστούν από το μηδέν. Αλλά για τους μικρούς αλγόριθμους «πυρήνα», η Numba σε πολλές περιπτώσεις θα ξεπεράσει το NumPy πολλές φορές.

Openpyxl

Τι κάνει το Openpyxl: Διαβάζει, γράφει και χειρίζεται αρχεία Excel.

Γιατί να χρησιμοποιήσετε το OpenPyxl: Ζητήστε από κάποιον να αναφέρει τρία εργαλεία που χρησιμοποιούν οι αριθμοί crunchers στη δουλειά του, πιθανότατα θα λάβετε Python, R και Excel, όχι απαραίτητα με αυτήν τη σειρά. Το Excel δεν έχει (ακόμη) εγγενή συνδεσιμότητα Python, αλλά τα πακέτα τρίτων έχουν γεφυρώσει το κενό με διάφορους τρόπους.

Το Openpyxl λειτουργεί τροποποιώντας το Excelαρχεία αντί να χειριστείτε το Excel απευθείας. Με το Openpyxl, μπορείτε να αυτοματοποιήσετε τη δημιουργία υπολογιστικών φύλλων και βιβλίων εργασίας, να δημιουργήσετε τύπους, να συμπληρώσετε κελιά με αυτούς τους τύπους και να εκτελέσετε πολλές άλλες λειτουργίες. Μπορείτε επίσης να αλλάξετε τις ιδιότητες των αντικειμένων του Excel, όπως στυλ κελιών και μορφοποίηση υπό όρους. Όποιος αφιερώνει σημαντικό χρόνο κοιτάζοντας υπολογιστικά φύλλα θα βρει κάτι χρήσιμο εδώ.

Peewee

Τι κάνει η Peewee: Ένα μικρό ORM (αντικείμενο-σχεσιακός χαρτογράφος) που υποστηρίζει SQLite, MySQL και PostgreSQL, με πολλές επεκτάσεις.

Γιατί να χρησιμοποιήσετε το Peewee: Δεν αγαπούν όλοι σε ένα ORM. Μερικοί θα προτιμούσαν να αφήσουν τη μοντελοποίηση σχήματος από την πλευρά της βάσης δεδομένων και να γίνουν με αυτό. Αλλά για προγραμματιστές που δεν θέλουν να αγγίξουν τις βάσεις δεδομένων, ένα καλά κατασκευασμένο, διακριτικό ORM μπορεί να είναι θεό. Και για προγραμματιστές που δεν θέλουν ένα ORM τόσο πλήρες όσο το SQL Alchemy, το Peewee είναι ιδανικό.

Τα μοντέλα Peewee είναι εύκολο να κατασκευαστούν, να συνδεθούν και να χειριστούν. Επιπλέον, πολλές ενσωματωμένες λειτουργίες χειρισμού ερωτημάτων, όπως η σελιδοποίηση, είναι ενσωματωμένες. Περισσότερες λειτουργίες είναι διαθέσιμες ως πρόσθετα, συμπεριλαμβανομένων επεκτάσεων για άλλες βάσεις δεδομένων, εργαλείων δοκιμών και ενός συστήματος μετεγκατάστασης σχήματος - μια δυνατότητα που θα μπορούσε να μάθει να χρησιμοποιεί ένας μισθωτής ORM αγάπη. Σημειώστε ότι ο κλάδος Peewee 3.x (η συνιστώμενη έκδοση) δεν είναι εντελώς συμβατός με τις προηγούμενες εκδόσεις του Peewee.

Μαξιλάρι

Τι κάνει το μαξιλάρι: Επεξεργασία εικόνας χωρίς πόνο.

Γιατί να χρησιμοποιήσετε το μαξιλάρι: Οι περισσότεροι Pythonistas που έχουν εκτελέσει επεξεργασία εικόνας θα πρέπει να είναι εξοικειωμένοι με το PIL (Python Imaging Library), αλλά το PIL είναι γεμάτο με ελλείψεις και περιορισμούς και ενημερώνεται σπάνια. Το μαξιλάρι στοχεύει να είναι και τα δύο ευκολότερα στη χρήση και συμβατό με κώδικα με PIL μέσω ελάχιστων αλλαγών. Οι επεκτάσεις περιλαμβάνονται για συνομιλία τόσο με τις εγγενείς λειτουργίες απεικόνισης των Windows όσο και με το πακέτο Tkinter GUI με υποστήριξη Tcl / Tk της Python. Το μαξιλάρι είναι διαθέσιμο μέσω του GitHub ή του αποθετηρίου PyPI.

Ποίηση

Τι κάνει η ποίηση: Διαχειρίζεται εξαρτήσεις και συσκευασίες για τα έργα Python σας με υψηλό επίπεδο.

Γιατί να χρησιμοποιήσετε την ποίηση: Θεωρητικά δεν χρειάζεται να κάνετε τίποτα για να ξεκινήσετε ένα νέο έργο Python εκτός από τη δημιουργία ενός κενού καταλόγου και τη συμπλήρωσή του με αρχεία .py. Στην πράξη, ειδικά για ένα φιλόδοξο έργο, θα πρέπει να κάνετε πολλά περισσότερα - να δημιουργήσετε ένα README, να δημιουργήσετε κάποια δομή φακέλων, να δηλώσετε τις εξαρτήσεις σας και ούτω καθεξής. Το να κάνεις όλα αυτά με το χέρι είναι πονοκέφαλος.

Η ποίηση αυτοματοποιεί μεγάλο μέρος αυτής της ρύθμισης και συντήρησης. Τρέξιμο νέα ποίηση για να δημιουργήσετε έναν νέο κατάλογο έργων και εικονικό περιβάλλον, προσυμπληρωμένο με μια βασική ποικιλία στοιχείων. Δηλώστε τις εξαρτήσεις σας χρησιμοποιώντας τη μορφή αρχείου pyprojec.toml της Python και η Poetry θα τις διαχειριστεί για εσάς. Τα υπάρχοντα προϊόντα που διαχειρίζεται η ποίηση μπορούν να εγκαταστήσουν, να ανανεώσουν και να τροποποιήσουν αυτόματα τις εξαρτήσεις τους από τη γραμμή εντολών του Poetry. Η ποίηση χειρίζεται επίσης τη δημοσίευση σε ένα απομακρυσμένο αποθετήριο (όπως το PyPI).

PyFilesystem

Τι κάνει το PyFilesystem: Μια διεπαφή Pythonic σε οποιοδήποτε σύστημα αρχείων -όποιος σύστημα αρχείων.

Γιατί να χρησιμοποιήσετε το PyFilesystem:Η βασική ιδέα πίσω από το PyFilesystem δεν θα μπορούσε να είναι απλούστερη: Όπως και η Python's αρχείο τα αντικείμενα αφαιρούν ένα μόνο αρχείο, το PyFilesystem's FS τα αντικείμενα αφαιρούν ένα ολόκληρο σύστημα αρχείων. Αυτό επίσης δεν σημαίνει μόνο συστήματα αρχείων στο δίσκο. Το PyFilesystem υποστηρίζει επίσης καταλόγους FTP, συστήματα αρχείων στη μνήμη, συστήματα αρχείων για τοποθεσίες που ορίζονται από το λειτουργικό σύστημα (όπως ο κατάλογος χρηστών), ακόμη και συνδυασμούς των παραπάνω επικαλυπτόμενων μεταξύ τους.

Εκτός από τη διευκόλυνση της σύνταξης κώδικα πολλαπλών πλατφορμών που χειρίζεται αρχεία, το PyFilesystem αποτρέπει την ανάγκη συνδυασμού σεναρίων από διαφορετικά μέρη της τυπικής βιβλιοθήκης, κυρίωςΟΣ καιΟο. Παρέχει επίσης βοηθητικά προγράμματα που διαφορετικά θα χρειαζόταν να δημιουργήσει από το μηδέν, όπως ένα εργαλείο για εκτύπωση προβολών δέντρων φιλικών στην κονσόλα ενός συστήματος αρχείων.

Pygame

Τι κάνει η Pygame: Δημιουργήστε βιντεοπαιχνίδια ή διεπαφές ποιότητας παιχνιδιού στο Python.