Mes librairies python indispensables
Posté le 11/07/2016 dans Python
Ça y est c'est les vacances ! À toi le soleil, les plages, les cocotiers et ... les librairies python bien sûr !
Du coup, j'en profite pour te un faire petit listing de mes librairies indispensables en python. On ne sait jamais, peut-être que tu y découvriras quelque-chose d'utile !
Framework web
- django: framework le plus réputé, qui a l'avantage d'avoir une tonne de support et de documentation. Indispensable pour créer des applications web complexes.
- bottle: framework ultra minimaliste, idéal pour les applications web de petite taille.
- pelican: générateur de site statique utilisé par ce blog ! Tuto dispo ici.
Base de données
Http
- httpie: client http en ligne de commande. Tuto dispo ici.
- requests: librairie http la plus simple et le plus efficace.
- britney et britney-utils: client SPORE, qui est une spécification de description d'APIs REST.
- suds-jurko: client SOAP léger et simple d'usage.
Templating
- jinja2: moteur de template le plus réputé, utilisé par django.
- mako: moteur de template ultra performant. Tuto dispo ici.
- cookiecutter: moteur de template de projet utilisant jinja2. Tu peux jeter un oeil à l'article de Sam sur le sujet. Exemples d'utilisation: simple-python-drybones et bottle-drybones.
Machine learning
- scikit-learn: projet de machine learning qui provient du Google Summer Of Code 2007. Google est en train d'en faire une série du tutos sur youtube vraiment intéressante.
Déploiement
- fabric: outil qui permet déployer des applications via ssh.
- fabtools: ensemble de fonctionnalités pour fabric.
- pydiploy: projet qui utilise fabric et fabtools pour automatiser le déploiement d'applications. Pour les applications django par exemple, il permet de déployer et de configurer toute la stack python/virtualenv/circus/chaussette/nginx.
Django
- django-extensions: extension des commandes de django.
- django-static-precompiler: librairie qui permet d'automatiser la précompilation des fichiers CoffeeScript, Livescript, Sass, Less et autres.
- django-crispy: outil formidable pour créer des formulaires compatibles bootstrap. Tuto dispo ici.
- django-workflows et django-workflow-activity: outils pour créer des worflows états/transitions.
- django-drybones: template de projet django.
- django-autocomplete-light: module d'autocomplétion pour les champs des formulaires.
- django-countries: gestion des pays dans django. Tuto dispo ici.
- django-simple-captcha: utilisation de captchas. Tuto dispo ici.
- django-rest-framework (drf): excellente librairie pour créer des APIs REST.
- django-fine-permissions: gestion des permissions fines, par champs et par utilisateur, pour drf.
- django-filter: gestion des filtres des querysets qui fonctionne très bien avec drf.
- django-hypnos: outil qui permet de générer automatiquement une api rest avec drf, à partir d'une base de données sqlite/postgresql/mysql/oracle existante.
- django-cas-sso: client pour l'authentification CAS, qui supporte le Single-Sign-Out.
- django-ldapdb: backend pour manipuler les entrées des annuaires LDAP.
- django-oauth-toolkit: ensemble d'outils pour oauth2.
Test
- tox: outil qui permet d'exécuter les tests unitaires sous plusieurs virtualenvs avec des configurations différentes. Tuto dispo ici.
- coverage: outil d'analyse de la couverture du code.
- prospector: outil utilisé par landsacape.io qui utilise les meilleurs linters python pour vérifier la qualité du code.
Doc
- sphinx: outil de génération de documentation à partir de fichiers reStructuredText.
Wamp
- crossbar: router wamp le plus avancé pour python. Il y a de nombreux articles chez Sam.
- autobahn: implémentation du protocle wamp qui fonctionne très bien avec crossbar.
Wsgi
- circus + chaussette + waitress: stack wsgi complète. Tuto dispo ici.
Date
- python-dateutil: extension au module datetime de python.
- pytz: gestion des timezones.
Script
- docopt: librairie pour parser les arguments de script de manière élégante.
- ipython: shell python le plus avancé.
- apscheduler: planificateur de tâches à la manière des crons.
Crypto
- pycrypto: outil de cryptographie, pour générer des hashs en sha256 par exemple.
Parsing
- lxml: librairie pour lire/écrire du xml.
- jsonschema: implémentation de JSON Schema.
- pyyaml: librairie pour lire/écrire du yaml.
- reportlab: outil de production de pdf.