Le 12 migliori librerie Python che ogni sviluppatore dovrebbe conoscere

Un elenco di alcuni dei moduli della Python Standard Library più utili da usare quando si sviluppa con Python.

26 agosto 20219 minuti

Indice

Esistono più di 300.000 moduli Python scaricabili da PyPi, considerando solo quelli presenti sul Python Package Index. Ci si potrebbe quindi domandare: quali sono le migliori librerie che ogni sviluppatore Python dovrebbe conoscere?

Per rispondere a questa domanda abbiamo creato una lista dei Python package con i quali sarebbe utile familiarizzare, dal momento che verranno fuori più spesso di quanto non si pensi ogni volta che si decide di partire con un nuovo progetto: questo elenco, invece di concentrarsi solo su una nicchia specifica come data science o web development, si concentra sui moduli di Python che coprono la più vasta gamma di scenari possibile per un programmatore.

Inoltre, questo in questo articolo troverai solo le librerie che non fanno parte della Python Standard Library: se ti interessa scoprire i moduli della Python STL da conoscere assolutamente, dai un’occhiata qui.

1. Numpy

In Python si possono fare operazioni matematiche di base senza alcuna libreria particolare. Tuttavia, se si deve effettuare un qualsiasi tipo di operazione matematica complessa, la libreria **NumPy++ è sicuramente una delle migliori.

NumPy fornisce strumenti per aiutare a costruire array multidimensionali ed eseguire calcoli sui dati memorizzati in essi. Con NumPy è possibile risolvere formule algebriche, eseguire operazioni statistiche comuni e molto altro.

Mentre NumPy è un prezioso pacchetto Python per una varietà di compiti di programmazione generale, è particolarmente importante se si vuole fare apprendimento automatico, dal momento che fornisce parte delle basi per librerie come TensorFlow.

Risorse utili per imparare NumPy:


Per installare NumPy con pip:

python3 -m pip install numpy

2. SciPy

Come suggerisce il nome, SciPy è usata principalmente per le sue funzioni scientifiche e matematiche derivate da NumPy. Alcune funzioni utili che questa libreria fornisce sono funzioni statistiche, funzioni di ottimizzazione e funzioni di elaborazione dei segnali.

Per risolvere equazioni differenziali e fornirne l’ottimizzazione, include funzioni per calcolare gli integrali numericamente. Alcune delle applicazioni che rendono SciPy una delle migliori librerie Python da imparare sono:

  • Elaborazione di immagini multidimensionali
  • Capacità di risolvere trasformate di Fourier ed equazioni differenziali
  • Grazie ai suoi algoritmi ottimizzati, può fare calcoli di algebra lineare in modo molto robusto ed efficiente

Risorse utili per imparare SciPy:


Per installare SciPy con pip:

python3 -m pip install numpy scipy matplotlib ipython jupyter pandas sympy nose

3. Requests

Scrivere codice che invia richieste HTTP può essere complicato, a causa del fatto che HTTP non formatta esattamente i dati in un modo che sia facile da leggere per gli umani.

La libreria Requests affronta questo problema automatizzando molti dei compiti noiosi che si dovrebbero eseguire per inviare richieste HTTP dall’applicazione che si sta sviluppando. Rimuove la necessità di aggiungere stringhe di query o fare la codifica dei moduli POST. Mantiene anche le connessioni con i server HTTP automaticamente, eliminando la necessità di scrivere un sacco di codice per farlo.

Per capire l’utilità di questo modulo, basti pensare che è stato scaricato da PyPI più di 40.000.000 di volte. In breve, se la vostra applicazione invia dati HTTP, Requests è sicuramente una delle librerie migliori da utilizzare.

Risorse utili per imparare Requests:


Per installare Requests:

python3 -m pip install requests

4. Pillow

Pillow, un fork di PIL (la ), è sicuramente una delle migliori librerie Python da imparare: se si sta sviluppando applicazione che interagisce in un qualche modo con le immagini questa libreria è un must per Python. Rende facile scrivere codice che apre, modifica e salva immagini in una varietà di formati: dovrebbe quindi fornire una solida base per uno strumento generale di elaborazione delle immagini.

Se si sta effettuando un lavoro più avanzato con le immagini (come il riconoscimento delle immagini, nel qual caso OpenCV sarebbe un modulo da tenere in considerazione), Pillow comunque non sarà sufficiente. Ma per l’importazione, la manipolazione e l’esportazione delle immagini di base, Pillow è sicuramente la libreria migliore.

Risorse utili per imparare Pillow:


Per installare Pillow con pip:

python3 -m pip install Pillow

5. MoviePy

MoviePy sta ai video come Pillow sta alle immagini. Fornisce una serie di funzionalità per compiti comuni associati all’importazione, modifica ed esportazione di file video. Ti permette anche di fare cose come inserire titoli nei video o ruotare i video di 90 gradi, se dovesse essere necessario farlo per qualche ragione.

Come Pillow, MoviePy non ha com obiettivo la manipolazione avanzata dei dati. Si sta programmando un’applicazione di editing video, probabilmente ci si dovrà affidare a OpenCV (che può lavorare sia con i video che con le immagini) per fornire le funzionalità avanzate che mancano a MoviePy. Ma per la maggior parte dei compiti standard che coinvolgono i video nel codice Python, MoviePy fa il suo lavoro piuttosto bene, ed è sicuramente una delle librerie migliori e più semplici da usare.

Risorse utili per imparare MoviePy:


Per installare MoviePy:

python3 -m pip install moviepy

6. Pendulum

Se si ha almeno un po’ di esperienza di programmazione Python, probabilmente si è a conoscenza del modulo datetime per gestire date e orari all’interno di un’applicazione.

Mentre datetime è ottimo per lavori di base che coinvolgono la gestione di date ed orari, la libreria Pendulum Python rende più facile fare codifiche più complesse per quanto riguarda qua. È più intuitivo da usare e gestisce automaticamente i fusi orari.

In ogni caso, Pendulum è progettato per essere un sostituto drop-in di datetime. Ciò significa che si potrà usare il codice che già scritto basato su datetime. Con poche eccezioni, Pendulum funzionerà altrettanto bene, senza la necessità di modificare il codice, mentre fornisce caratteristiche extra non presenti nel vecchio datetime. Per cui, se avete bisogno di gestire in maniera ottimale date ed orari, Pendulum è sicuramente una delle migliori librerie Python da imparare.

Risorse utili per imparare Pendulum:


Per installare Pendulum:

python3 -m pip install pendulum

7. Pandas

Probabilmente Pandas è la migliore libreria Python per lavorare con insiemi di dati complessi. Pandas aiuta a manipolare e analizzare grandi insiemi di dati senza dover imparare un linguaggio specializzato nell’elaborazione dei dati, come R. Pandas fornisce alcuni degli strumenti più utili per esplorare, pulire e analizzare i dati. Inoltre, le librerie di apprendimento automatico ruotano intorno ai DataFrames di Pandas, spesso utilizzati come input.

Pandas ha comunque dei limiti, in quanto non è stato pensato per la modellazione statistica avanzata (in quel caso, si dovrebbe imparare R, o utilizzare un pacchetto Python come statsmodels). Ma se si ha bisogno di elaborare dati di serie temporali o eseguire analisi statistiche su un set di dati, Pandas è la soluzione ideale.

Risorse utili per imparare Pandas

Per installare Pandas con pip:

python3 -m pip install pandas

8. Tkinter

Se si vuole sviluppare un’applicazione con un’interfaccia grafica, ci sono diversi moduli che si possono utilizzare. Tuttavia, Tkinter è il framework più importante e più comunemente usato per creare GUI, anche grazie al toolkit GUI TK che funziona praticamente su ogni sistema operativo moderno.

A meno che non abbiate una forte preferenza per un diverso toolkit GUI, Tkinter è probabilmente la migliore libreria Python di partenza per creare una GUI.

Risorse utili per imparare Tkinter:


Per installare Tkinter:

python3 -m pip install tkinter

9. PyQt

PyQT, un altro modulo Python per costruire GUI, è un degno concorrente di Tkinter. PyQt sfrutta il toolkit Qt, anch’esso multipiattaforma. Rispetto a Tkinter, PyQT può essere eccessivo se state costruendo un’applicazione che ha un’interfaccia piuttosto semplice, ma è un ottimo strumento se volete costruire una GUI complessa e multi-dimensionale.

Sicuramente, se si sta programmando un’applicazione complessa e per cui è necessario avere una buona GUI di supporto, PyQt è sicuramente la libreria Python migliore per farlo.

Risorse utili per imparare Tkinter:


Per installare PyQt:

python3 -m pip install PyQt5

10. Scrapy

Nota come una delle più popolari librerie Python per la data science, Scrapy aiuta a costruire programmi di crawling (spider bot) che possono recuperare dati strutturati dal web, come URL o informazioni di contatto.

Solitamente, si usa per raccogliere dati dalle API. Questo framework segue il principio Don’t Repeat Yourself nel design della sua interfaccia. Scrapy, quindi, ispira i programmatori a scrivere codice universale che può essere riutilizzato per costruire e scalare grandi crawler.

Risorse utili per imparare Scrapy:


Per installare Scrapy:

python3 -m pip install Scrapy

11. BeautifulSoup

Beautiful Soup è una libreria Python per estrarre dati da file HTML e XML. Si tratta di è un’altra libreria molto popolare per il web crawling e il data scraping. Se si vogliono raccogliere dati che sono disponibili su qualche sito web, ma non tramite un CSV o un’API adeguata, BeautifulSoup può aiutarti a raschiare i dati e sistemarli nel formato che ti serve.

Risorse utili per imparare BeautifulSoup:


Per installare BeautifulSoup:

python3 -m pip install beautifulsoup4

12. Pytest

Se si sta sviluppando un progetto Python di qualsiasi complessità, essere in grado di eseguire test sul nuovo codice è essenziale. La libreria Pytest fornisce una varietà di moduli per aiutarvi a farlo. Che si tratti di un semplice unit test o di un test funzionale più complesso, Pytest è la migliore libreria Python per scriverlo.

Risorse utili per imparare Pytest:


Per installare Pytest:

python3 -m pip install -U pytest

Si conclude qui l’elenco delle migliori librerie Python che tutti i programmatori che si approcciano a questo versatile linguaggio di programmazione dovrebbero conoscere e saper maneggiare per creare qualunque tipo di applicazione.

Se sei interessato a conoscere le migliori librerie Python della Standard Library, clicca qui.

Condividi l'articolo!

Post correlati: