Chapitre 5
Développement
Cette section contient la documentation pour démarrer avec le développement de plugin et la contribution “noyau” d’Hermes.
Journalisation
Une instance Logger
est disponible via la variable “__hermes__.logger
”. Comme cette variable est déclarée comme builtin, elle est toujours disponible et ne nécessite aucun import
ou appel à logging.getLogger()
.
Contribuer
Avant de proposer une pull request pour fusionner du code dans Hermes, vous devez vous assurer que votre code :
- fournit des docstrings et des annotations de type
- a été formaté avec black
- est conforme à Flake8
- passe la suite de tests
tox peut être utilisé pour valider les trois dernières conditions, en exécutant l’une des commandes ci-dessous :
# # Test séquentiel (lent mais plus détaillé) uniquement sur la version Python par défaut de votre système
tox run -e linters,tests
# Test en parallèle (plus rapide, mais sans détails) uniquement sur la version Python par défaut de votre système
tox run-parallel -e linters,tests
# Test séquentiel (lent mais plus détaillé) sur toutes les versions Python compatibles - elles doivent être disponibles sur votre système
tox run
# Test en parallèle (plus rapide, mais sans détails) sur toutes les versions Python compatibles - elles doivent être disponibles sur votre système
tox run-parallel
Astuce
tox >= 4 doit être installé mais est probablement disponible dans les dépôts de votre distribution