Outillage : ajoute pyupgrade comme git hook#41
Conversation
There was a problem hiding this comment.
Même s'il n'était pas forcément prévu de faire des noms d'objets avec des accents, quel est l'intérêt de ne pas forcer l'encodage UTF-8 ?
There was a problem hiding this comment.
Parce-que c'est l'encodage par défaut du langage donc ça ne présente pas beaucoup d'intérêt de le spécifier donc autant ne pas le mettre ?
There was a problem hiding this comment.
Pour le coup j'ai du le rajouter à d'autres endroits (pour l'écriture de descripteur) justement parce que mes accents ne passaient pas sinon. Le côté explicite me rassure j'avoue 😇
There was a problem hiding this comment.
Tiens, c'est étonnant. Je suis preneur d'un échange avec un jeu de données exemple sur ce cas-là. En général, s'il s'agit d'écrire dans un fichier, c'est au niveau du flux i/o qu'on spécifie l'encodage.
Typiquement :
from pathlib import Path
with Path("fichier.json").open(mode="w", encoding="utf-8") as f:
f.write("ma chaïne de caractères @!")Mais je réponds sans avoir de setup sous les yeux ni même l'endroit du code où cela a un impact.
Ce serait dommage de se priver de ce git hook qui fait un travail automatique à haute valeur ajoutée !
There was a problem hiding this comment.
C'est pyupgrade qui vire l'encodage ou le mode ?
pyupgrade est un git hook développé par l'auteur de pre-commit (et dév de pytest/flake8 par ailleurs) qui permet d'utiliser la syntaxe sur la base à une version minimale de Python.
Cela permet de mettre à jour son code "automatiquement" au regard des pratiques du langage (f-string, etc.) et souvent d'en alléger la syntaxe.
Cette PR ajoute le git hook à la config (en utilisant Python 3.8) et l'applique à la base de code.
PR liée à #36