Sam & Max » lib standard http://sametmax.com Du code, du cul Sat, 07 Nov 2015 10:56:13 +0000 en-US hourly 1 http://wordpress.org/?v=4.1 Qu’est-ce que la bibliothèque standard Python ? 4 http://sametmax.com/quest-ce-que-la-bibliotheque-standard-python/ http://sametmax.com/quest-ce-que-la-bibliotheque-standard-python/#comments Mon, 19 May 2014 09:36:16 +0000 http://sametmax.com/?p=10288 La lib standard ou stdlib, on vous en parle partout. Ce tuto vous explique comment faire telle tâche avec la lib standard. Ce README dit qu’il n’y a que la lib standard comme dépendance, c’est génial ! Cet article voudrait que le code X soit intégré dans la lib standard.

Mais au fait, c’est quoi la lib standard ?

Et bien c’est tout simplement l’ensemble du code qui est disponible si vous avez Python installé sur votre machine. Si un module fait partie de la bibliothèque standard, vous êtes certain que votre programme Python peut toujours l’utiliser : il n’y a rien à installer.

Cette lib standard est également intégralement documentée sur le site de Python, si bien que si vous téléchargez la doc hors ligne, vous pouvez quasiment dev en totale autonomie. En effet, même si le principe de la lib standard est le même pour tous les langages, en Python, elle est particulièrement intéressante car vraiment énorme. Et en plus vous avez le dump de notre blog :)

Le code de la lib standard évolue lentement, contrairement aux libs tierces parties, car elles sont soumises à des règles strictes et la revue de la communauté à travers des documents officiels : les PEP. Le PEP le plus célèbre étant le PEP 8, qui décrit le style recommandé pour du code Python.

De fait le code de la lib standard est un code fiable, sans surprise, mais qui proposera rarement les dernières innovations. Pour reprendre les mots de Guido :

Le code de la stdlib a un pied dans la tombe.

Car Python garanti la compatibilité ascendante de TOUTE la lib standard pour une version majeure. Ce qui veut dire que si vous utilisez un module de la stdlib écrit pour Python 2.5, il marchera en Python 2.7, et un module pour 3.1 marchera pour la 3.4.

Mais ça veut dire aussi que le module pourrira ici quand plus personne ne l’utilisera. La preuve en est getopt, qui a été remplacé par optparse, qui a été remplacé par argparse. Deux générations de libs plus tard, getopt est toujours importable en 2.7, bien que plus personne ne s’en serve, pour garantir cette compatibilité. Et en fait, on peut dire 5 générations, car nous-même utilisons docopt après prôné clize. Le monde de l’IT est comique.

Certains systèmes ébrèchent le principe de la lib standard, comme Ubuntu, qui package la lib TK séparément, et donc oblige à installer le paquet python-tk pour avoir le module tkinter, normalement inclus dans la lib standard. Ce comportement est heureusement assez rare.

]]>
http://sametmax.com/quest-ce-que-la-bibliotheque-standard-python/feed/ 4