Interface graphique
La bibliothèque standard Python est fournie avec TkInter, mais vous pouvez faire passer vos interfaces graphiques au niveau supérieur en utilisant un module Python externe.
wxPython : Créer des interfaces utilisateur véritablement natives pour leurs applications Python qui fonctionnent avec peu ou pas de modifications sur Windows, Mac et Linux ou d’autres systèmes de type Unix.
PyGObject : Paquet Python qui fournit des liaisons pour les bibliothèques basées sur GObject telles que GTK, GStreamer, WebKitGTK, GLib, GIO, et bien d’autres.
Pmw : Boîte à outils pour construire des widgets composés de haut niveau en Python en utilisant le module Tkinter.
WCK : API d’extension qui vous permet d’implémenter toutes sortes de widgets personnalisés, en Python pur.
Tix : Un ensemble puissant de composants d’interface utilisateur qui étend les capacités de vos applications Tcl/Tk et Python. L’utilisation de Tix avec Tk améliorera considérablement l’apparence et les fonctionnalités de votre application.
Bases de données
Les modules open-source suivants vous permettront d’accéder facilement aux données stockées dans des bases de données.
MySQLdb : Interface conforme à Python DB API-2.0 pour accéder aux bases de données MySQL.
PyGreSQL : Un module open-source qui s’interface avec une base de données PostgreSQL. Il embarque la bibliothèque de requêtes PostgreSQL pour permettre une utilisation facile des puissantes fonctionnalités de PostgreSQL depuis un script Python.
Gadfly : Un système de base de données relationnelle simple implémenté en Python basé sur le langage de requête structuré SQL.
SQLAlchemy : Une boîte à outils SQL Python et un mappeur relationnel objet qui donne aux développeurs d’applications toute la puissance et la flexibilité de SQL.
KInterbasDB : un package d’extension Python qui implémente un support conforme à l’API de base de données Python 2.0 pour la base de données relationnelle open source Firebird et certaines versions de son cousin propriétaire Borland Interbase.
Développement web
Python est un langage populaire pour le développement web. Chaque package Python listé ci-dessous facilitera votre vie de développeur web.
Beautiful Soup : Une bibliothèque Python conçue pour les projets à rotation rapide comme le screen-scraping.
scrape : Un module Python pour la navigation web et le scraping.
mechanize : Navigation web programmatique stateful en Python.
libgmail : Une liaison Python pure pour fournir un accès au service de messagerie web Gmail de Google.
Google Maps : Cette bibliothèque apporte les services Web de la plateforme Google Maps à votre application Python.
Requests permet d’envoyer des requêtes HTTP/1.1 extrêmement facilement.
Selenium : Avec ce module, les développeurs peuvent ouvrir de façon programmatique des pages web, saisir des champs, cliquer sur des boutons et soumettre des formulaires.
pyquery permet de faire des requêtes jQuery sur des documents XML. L’API est autant que possible la similaire à jQuery. Pyquery utilise LXML pour une manipulation rapide de XML et HTML.
Manipulation d’images et de vidéos
Python est un langage très puissant qui peut accomplir de nombreuses tâches comme la manipulation d’images. La bibliothèque standard ne fournit pas de module intégré de manipulation d’images, mais ce qui suit vous aidera certainement.
Python Imaging Library (PIL) : PIL ajoute des capacités de traitement d’images à votre interpréteur Python. Cette bibliothèque prend en charge de nombreux formats de fichiers, et fournit de puissantes capacités de traitement d’images et de graphiques.
Module GD : Une interface vers la bibliothèque GD écrite par Thomas Boutell.
VideoCapture : Une extension Python Win32 pour accéder aux périphériques vidéo tels que les WebCams USB et les cartes TV.
MoviePy : Une bibliothèque Python pour le montage vidéo : coupes, concaténations, insertions de titres, compositing vidéo (alias montage non linéaire), traitement vidéo et création d’effets personnalisés.
pyscreenshot : Un module multiplateforme qui permet de prendre des captures d’écran sans installer de bibliothèques tierces.
Science des données et mathématiques
Python comporte de nombreuses extensions qui peuvent être utilisées pour des besoins scientifiques tels que les mathématiques, la science des données et l’ingénierie.
SciPy : SciPy (prononcé « Sigh Pie ») est un écosystème basé sur Python de logiciels open-source pour les mathématiques, la science et l’ingénierie.
Matplotlib : Une bibliothèque de traçage 2D Python qui produit des figures de qualité de publication dans une variété de formats papier et d’environnements interactifs à travers les plateformes. Matplotlib peut être utilisée dans les scripts Python, l’interpréteur Python, le carnet de notes Jupyter, les serveurs d’applications Web et quatre boîtes à outils d’interface utilisateur graphique.
Pandas : Un outil d’analyse et de manipulation de données open source rapide, puissant, flexible et facile à utiliser.
Numpy : Une bibliothèque ajoutant le support de grands tableaux et matrices multidimensionnels, ainsi qu’une grande collection de fonctions mathématiques de haut niveau pour opérer sur ces tableaux.
Développement de jeux
Python est un langage polyvalent qui permet aux programmeurs de créer de nombreux types d’applications, y compris des jeux vidéo.
Pygame : Un ensemble de modules conçus pour l’écriture de jeux vidéo. Pygame ajoute des fonctionnalités par-dessus l’excellente bibliothèque SDL. Cela vous permet de créer des jeux et des programmes multimédia complets dans le langage Python.
Pyglet : Une bibliothèque Python puissante, mais facile à utiliser pour développer des jeux et d’autres applications visuellement riches sur Windows, Mac OS X et Linux.
pyOpenGL : La liaison Python multiplateforme la plus courante pour OpenGL et les API connexes.
Sound
La manipulation du son se fait facilement en Python, grâce à quelques modules très utiles.
pySonic : Un wrapper Python autour de la bibliothèque sonore FMOD haute performance et multiplateforme.
PyMedia : Un module Python pour les manipulations de fichiers WAV, MP3, Ogg, AVI, DivX, DVD, CD-DA, etc. Il permet de parser, démultiplexer, multiplexer, décoder et encoder tous les formats supportés. Il peut être compilé pour Windows, Linux et Cygwin.
PMIDI : La bibliothèque PMIDI enveloppe la bibliothèque Windows MIDI Streams pour une utilisation dans Python. Grâce à PMIDI, les développeurs peuvent générer des séquences musicales synthétisées à la volée dans leur code pour les restituer aux utilisateurs.
Mutagen : Un module pour gérer les métadonnées audio. Il prend en charge les fichiers audio FLAC, M4A, Musepack, MP3, Ogg FLAC, Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio et WavPack.
Microsoft Windows
Si vous développez des applications pour Microsoft Windows, les modules suivants peuvent aider à rendre votre application mieux intégrée au système d’exploitation.
pywin32 : Un wrapper de Python qui nous permet d’interagir avec les objets COM et d’automatiser les applications Windows avec Python.
PyRTF : Un ensemble de classes Python qui permettent de produire des documents RTF à partir de programmes Python.
WMI : Le module Python WMI est un wrapper léger au-dessus des extensions pywin32, et cache une partie de la plomberie désordonnée nécessaire pour que Python parle à l’API WMI.
Py2exe convertit les scripts Python en programmes Windows exécutables, capables de fonctionner sans nécessiter une installation de Python.
Mac OS
Python s’intègre très bien à Mac OS. Les modules suivants sont très utiles si vous développez pour l’OS d’Apple.
py2app : Une commande Python setuptools qui vous permettra de faire des paquets d’applications Mac OS X autonomes et des plugins à partir de scripts Python.
PyObjC : PyObjC est un pont entre Python et Objective-C. Il permet d’écrire des applications Cocoa complètes en Python pur.
Ports USB et série
Savez-vous qu’en utilisant Python, vous pouvez accéder aux ports USB et série de votre ordinateur ? Les modules suivants vous aideront lorsque vous aurez besoin d’accomplir de telles tâches.
PyUSB vise à être un module Python facile à utiliser pour accéder aux périphériques USB. PyUSB s’appuie sur une bibliothèque système native pour l’accès USB. Actuellement, il fonctionne d’emblée avec libusb 0.1, libusb 1.0, libusbx, libusb-win32 et OpenUSB, et fonctionne avec toute version de Python à partir de 2.4, y compris les versions 3 de Python.
PySerial : Bibliothèque Python d’accès aux ports série.
USPP est un module Python multi-plateforme pour accéder aux ports série. Pour l’instant, il ne fonctionne que sous Windows.
Modules divers
Ce tableau présente des modules intéressants qui ne rentraient dans aucune des catégories précédentes.