devpy, outils de dev à l’arrache


Je le publie en coup de vent car je me dis que ça peut servir à des gens, mais j’ai pas l’intention d’y passer des heures… vu que je fais ça pour me faire gagner du temps en mission.

J’ai créé devpy, un outil pour me faciliter le développement.

Dans sa forme la plus simple:

pip install devpy

Ca donne automatiquement:

  • Un logger qui log dans un fichier temporaire et dans la console.
  • Un traceback qui montre les lignes de SON code avec coloration syntaxique.
  • Si le programme crashe, la stack trace est logguée dans le log automatiquement.

En gros quand on commence à bosser on fait:

import devpy.develop as log

Et on peut logguer comme avec les logs python habituels (log.info, log.debug, etc).

On peut facilement retirer devpy une fois qu’on a fini et le remplacer par un log Python traditionnel type:

log = logging.getLogger(__name__)

Donc utiliser devpy ne coûte rien car on peut le retirer facilement une fois qu’on a fini: c’est 100% compat avec le log de la stdlib.

Ça tombe bien, car c’est pas un truc qu’on met en prod en théorie (même si ça peut pas abîmer le serveur).

C’est juste un outil que j’ai fait car j’en avais marre:

  • De galérer à setuper un logging de base à chaque fois. C’est long, verbeux, plein de coups fourrés. Mais 9 fois sur 10 je veux la même chose: la console et un fichier temp. Du coup par flemme je fais un print et je le regrette plus tard.
  • Devoir faire les choses proprement pour le dev. Oui un bon log c’est important, mais quand je commence à bosser je ne veux pas passer mon après-midi à setuper les logs proprement. Je ferai ça plus tard, un truc à l’arrache pour le debug me suffit.
  • Devoir chercher dans la stack trace les lignes qui m’intéressent. Je debugge rarement la stdlib. Montre moi MON code.
  • Avoir des logs avec la stack trace en cas d’erreur est super relou à mettre en place. Mais c’est tellement pratique.

Je sais, il existe une tetra chiées d’outils de logging pour Python. Mais c’est pas ce que je veux. Je ne veux pas choisir une solution ou configurer un truc. Ca je le ferai plus tard, proprement. Je veux juste un log essentiel et à coût zero pour démarrer mes projets et pouvoir switcher plus tard.

Je vais sûrement rajouter des trucs dans devpy au fur et à mesure mais pour le moment ça fait ce que je veux.

Je l’ai mis compatible uniquement 3.6 car j’ai pas envie de me faire chier à tester ailleurs. D’ailleurs j’ai même pas de tests.

Et si vous êtes pas contents, vous pouvez vous mettre ma deadline là où je pense.

5 thoughts on “devpy, outils de dev à l’arrache

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.