Description de la librairie configparser
intégrée à Python et permettant de lire des fichiers de configuration (cfg, ini, etc.)
Une explication sur la syntaxe que l'on voit parfois dans les lignes de commandes pip: en fait, cela sert à installer des dépendances optionnelles. Pratique pour constituer un package modulaire tout en conservant un certain contrôle sur quels modules peuvent être inclus.
Autres ressources:
Un très joli outil d'analyse de performances d'un ordinateur sous Linux ou MacOS, porté en Python depuis Bash. Belle performance, puisqu'en plus d'être particulièrement agréable à l'oeil, il dispose de nombreuses fonctions interactives, répond aux commandes de la souris et est moins gourmand que son équivalent bash !
Un outil OCR libre en Python, ça se fête !!!
Une librarie assez simple pour transformer du Markdown en HTML pur via Python 3, sans fioritures.
Une librarie pour Python 3.5+ permettant de générer un document PDF en se basant sur un fichier HTML et ses feuilles de style CSS.
Un tutoriel sur l'intégration de Vue.JS à Django
D'après le fichier /usr/lib/python3.7/ensurepip/init.py (du module "ensurepip" dont l'utilité est de servir de bootstrap pour les environnements virtuels) aux lignes 61-67:
On remarque que la version de pip est déterminée par le package wheel situé dans /usr/share/python-wheels.
$ cd ~/
$ pip3 download pip
Collecting pip
Using cached https://files.pythonhosted.org/packages/5c/e0/be401c003291b56efc55aeba6a80ab790d3d4cece2778288d65323009420/pip-19.1.1-py2.py3-none-any.whl
Saved ./pip-19.1.1-py2.py3-none-any.whl
Successfully downloaded pip
$ sudo mv pip-19.1.1-py2.py3-none-any.whl /usr/share/python-wheels
$ sudo mkdir /usr/share/python-wheels/old
$ sudo mv /usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl /usr/share/python-wheels/old/
$ cd ~/Projects/MyProject
$ python3 -m venv venv
$ source venv/bin/activate
$ pip --version
pip 19.1.1
TADAAAA !!!
Une bonne astuce pour gérer plusieurs versions d'un programme (en l'occurrence: Python) sur un même PC sous Ubuntu
Un beau petit article (bien que pas tout récent) sur la manière de réaliser un formulaire Django dynamique. Cela démontre la manière de rajouter des champs dans un formulaire après son instanciation.
Autre ressource également intéressante, mais plus axée sur l'ajout dynamique de "copies" de champ d'un même type: https://www.caktusgroup.com/blog/2018/05/07/creating-dynamic-forms-django/
Exemple d'implémentation d'une application avec Python comme backend et Eel (module Python) comme frontend
Exemple d'implémentation d'une application Python agissant comme backend, et d'une application Electron comme frontend.
Un tutoriel pour comprendre comment fonctionne PyQt, l'un des générateurs d'interface graphique tournant sous Python.
Autres ressources ici: https://wiki.python.org/moin/PyQt
Puisque le domaine du packaging de scripts Python pour redistribution est un sujet assez vaste, j'épingle ici les différentes ressources trouvées çà et là qui peuvent aider à la compréhension des options. Je ferai peut-être un billet sur le blog lorsque j'aurai réussi à implémenter quelque chose de stable et fonctionnel.
Et bien sûr, un guide pour mettre en place un PyPI privé: https://medium.com/helpshift-engineering/private-python-package-index-with-zero-hassle-6164e3831208
Un guide pour se mettre à l'utilisation de devpi comme package index Python en local ou pour une entreprise.
La documentation de devpi peut être trouvée ici: https://devpi.net/docs/devpi/devpi/latest/+d/index.html
Une incroyable source d'information sur Python. À ne pas manquer !
Autre ressource importante (pour le packaging): https://python-packaging-user-guide.readthedocs.io/
Un guide pour mettre en place un repository PIP personnel ou au niveau d'une entreprise. Cela pourrait être pratique si vous décidez de contrôler plus finement vos dépendances et que vous souhaitez éviter qu'une nouvelle installation (p. ex: nouveau serveur applicatif) utilise des dépendances différentes que celles auxquelles vous vous attendiez.
De manière alternative, préciser une version en particulier dans le fichier créé par la commande "pip freeze" peut également vous aider.
Autres ressources: