Interfaccia grafica
La Libreria Standard Python è fornita con TkInter, ma puoi portare le tue GUI al livello successivo usando un modulo Python esterno.
wxPython: Create interfacce utente veramente native per le vostre applicazioni Python che girano con poche o nessuna modifica su Windows, Mac e Linux o altri sistemi Unix-like.
PyGObject: Pacchetto Python che fornisce binding per librerie basate su GObject come GTK, GStreamer, WebKitGTK, GLib, GIO e molte altre.
Pmw: Toolkit per costruire widget composti di alto livello in Python usando il modulo Tkinter.
WCK: API di estensione che permette di implementare tutti i tipi di widget personalizzati, in puro Python.
Tix: Un potente insieme di componenti dell’interfaccia utente che espande le capacità delle vostre applicazioni Tcl/Tk e Python. Usare Tix insieme a Tk migliorerà notevolmente l’aspetto e la funzionalità della tua applicazione.
Basi di dati
I seguenti moduli open-source ti permetteranno di accedere facilmente ai dati memorizzati nelle basi di dati.
MySQLdb: Interfaccia Python DB API-2.0-compliant per accedere ai database MySQL.
PyGreSQL: Un modulo open-source che si interfaccia con un database PostgreSQL. Incorpora la libreria di query PostgreSQL per permettere un facile uso delle potenti caratteristiche di PostgreSQL da uno script Python.
Gadfly: Un semplice sistema di database relazionale implementato in Python basato sul linguaggio SQL Structured Query Language.
SQLAlchemy: Un toolkit SQL Python e Object Relational Mapper che dà agli sviluppatori di applicazioni la piena potenza e flessibilità di SQL.
KInterbasDB: un pacchetto di estensione Python che implementa il supporto Python Database API 2.0 per il database relazionale open source Firebird e alcune versioni del suo cugino proprietario Borland Interbase.
Sviluppo web
Python è un linguaggio popolare per lo sviluppo web. Ogni pacchetto Python elencato di seguito renderà la tua vita di sviluppatore web molto più facile.
Beautiful Soup: Una libreria Python progettata per progetti veloci come lo screen-scraping.
scrape: Un modulo Python per la navigazione web e lo scraping.
mechanize: Navigazione web programmatica con stato in Python.
libgmail: Un binding Python puro per fornire l’accesso al servizio di web-mail Gmail di Google.
Google Maps: Questa libreria porta i servizi web della piattaforma Google Maps alla tua applicazione Python.
Requests ti permette di inviare richieste HTTP/1.1 con estrema facilità.
Selenium: Con questo modulo, gli sviluppatori possono aprire programmaticamente pagine web, inserire campi, cliccare su pulsanti e inviare moduli.
pyquery permette di fare query jQuery su documenti XML. L’API è il più possibile simile a jQuery. Pyquery usa LXML per la manipolazione veloce di XML e HTML.
Manipolazione di immagini e video
Python è un linguaggio molto potente che può eseguire molti compiti come la manipolazione di immagini. La Libreria Standard non fornisce alcun modulo incorporato per la manipolazione delle immagini, ma i seguenti saranno sicuramente d’aiuto.
Python Imaging Library (PIL): PIL aggiunge capacità di elaborazione delle immagini al vostro interprete Python. Questa libreria supporta molti formati di file e fornisce potenti capacità di elaborazione delle immagini e di grafica.
GDmodule: Un’interfaccia alla libreria GD scritta da Thomas Boutell.
VideoCapture: Un’estensione Win32 Python per accedere a dispositivi video come webcam USB e schede TV.
MoviePy: Una libreria Python per l’editing video: taglio, concatenazioni, inserimento di titoli, compositing video (noto anche come editing non lineare), elaborazione video e creazione di effetti personalizzati.
pyscreenshot: Un modulo multipiattaforma che permette di fare screenshot senza installare librerie di terze parti.
Data Science e matematica
Python ha molte estensioni che possono essere usate per esigenze scientifiche come la matematica, la scienza dei dati e l’ingegneria.
SciPy: SciPy (pronunciato “Sigh Pie”) è un ecosistema basato su Python di software open-source per matematica, scienza e ingegneria.
Matplotlib: Una libreria di plotting 2D Python che produce figure di qualità per la pubblicazione in una varietà di formati cartacei e ambienti interattivi attraverso le piattaforme. Matplotlib può essere usata negli script Python, nell’interprete Python, nel taccuino Jupyter, nei server di applicazioni web e in quattro toolkit di interfaccia utente grafica.
Pandas: Uno strumento di analisi e manipolazione dei dati open source veloce, potente, flessibile e facile da usare.
Numpy: Una libreria che aggiunge il supporto per grandi array multidimensionali e matrici, insieme ad una vasta collezione di funzioni matematiche di alto livello per operare su questi array.
Sviluppo giochi
Python è un linguaggio versatile che permette ai programmatori di creare molti tipi diversi di applicazioni, inclusi i videogiochi.
Pygame: Un insieme di moduli progettati per scrivere videogiochi. Pygame aggiunge funzionalità sopra l’eccellente libreria SDL. Questo ti permette di creare giochi e programmi multimediali completi nel linguaggio Python.
Pyglet: Una potente, ma facile da usare libreria Python per lo sviluppo di giochi e altre applicazioni visivamente ricche su Windows, Mac OS X e Linux.
pyOpenGL: Il più comune binding cross platform Python per OpenGL e le relative API.
Sound
La manipolazione del suono è facilmente fatta in Python, grazie ad alcuni moduli molto utili.
pySonic: Un wrapper Python intorno alla libreria sonora FMOD ad alte prestazioni e multipiattaforma.
PyMedia: Un modulo Python per la manipolazione di file WAV, MP3, Ogg, AVI, DivX, DVD, CD-DA ecc. Permette di analizzare, demultiplexare, multiplexare, decodificare e codificare tutti i formati supportati. Può essere compilato per Windows, Linux e Cygwin.
PMIDI: La libreria PMIDI avvolge la libreria Windows MIDI Streams per l’uso in Python. Usando PMIDI, gli sviluppatori possono generare sequenze musicali sintetizzate al volo nel loro codice per la riproduzione agli utenti.
Mutagen: Un modulo per gestire i metadati audio. Supporta FLAC, M4A, Musepack, MP3, Ogg FLAC, Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio e file audio WavPack.
Microsoft Windows
Se stai sviluppando applicazioni per Microsoft Windows, i seguenti moduli possono aiutarti a rendere la tua applicazione meglio integrata con il sistema operativo.
pywin32: un wrapper di Python che ci permette di interagire con oggetti COM e automatizzare applicazioni Windows con Python.
PyRTF: Un insieme di classi Python che rendono possibile produrre documenti RTF da programmi Python.
WMI: Il modulo Python WMI è un leggero wrapper sopra le estensioni pywin32, e nasconde alcune delle complicate tubature necessarie per far parlare Python con le API WMI.
Py2exe converte gli script Python in programmi Windows eseguibili, in grado di funzionare senza richiedere l’installazione di Python.
Mac OS
Python si integra molto bene con Mac OS. I seguenti moduli sono molto utili se state sviluppando per il sistema operativo di Apple.
py2app: Un comando Python setuptools che vi permetterà di creare pacchetti di applicazioni Mac OS X standalone e plugin da script Python.
PyObjC: PyObjC è un ponte tra Python e Objective-C. Permette di scrivere applicazioni Cocoa complete in puro Python.
Porte USB e Seriali
Sapevi che usando Python, puoi accedere alle porte USB e Seriali del tuo computer? I seguenti moduli ti aiuteranno quando avrai bisogno di eseguire tali compiti.
PyUSB mira ad essere un modulo Python facile da usare per accedere ai dispositivi USB. PyUSB si basa su una libreria di sistema nativa per l’accesso USB. Attualmente, funziona immediatamente con libusb 0.1, libusb 1.0, libusbx, libusb-win32 e OpenUSB, e funziona con qualsiasi versione di Python a partire dalla 2.4, incluse le versioni di Python 3.
PySerial: Libreria Python di accesso alla porta seriale.
USPP è un modulo Python multipiattaforma per accedere alle porte seriali. Al momento funziona solo in Windows.
Moduli vari
Questa tabella contiene moduli interessanti che non rientrano in nessuna delle categorie precedenti.