Ligne de commande¶
Installer le paquet te donne une commande herepath. Elle est pratique dans les
scripts shell, les Makefiles et les pipelines de CI où tu veux un chemin ancré sur
la racine du projet sans écrire de Python.
Utilisation¶
Exemples¶
herepath # affiche la racine du projet
herepath data ventes.csv # affiche racine/data/ventes.csv
herepath data/ventes.csv # pareil, les composants peuvent contenir "/"
herepath --report # rapport de situation : quelle racine, et pourquoi ?
herepath --version # affiche la version
Un motif courant, pour ancrer une commande sur la racine depuis n'importe quel sous-dossier :
Dans un Makefile :
Options¶
| Option | Court | Description |
|---|---|---|
--report |
-r |
Affiche un rapport expliquant la racine choisie, puis quitte. |
--quiet-report |
-q |
Avec --report, affiche une seule ligne (sans les détails). |
--version |
-V |
Affiche la version et quitte. |
--help |
-h |
Affiche l'aide. |
Codes de sortie et gestion d'erreur¶
La CLI est conçue pour bien se comporter dans les scripts shell :
- En cas de succès, elle affiche le chemin (ou le rapport) sur stdout et
renvoie
0. - En cas d'échec (par exemple un
HEREPATH_ROOTmal configuré), elle affiche une ligneError: ...propre sur stderr et renvoie1, sans pile d'appels.
Ça rend la capture shell sûre et prévisible :
if ROOT="$(herepath)"; then
echo "La racine du projet est $ROOT"
else
echo "herepath n'a pas trouvé de racine de projet" >&2
fi
Forcer la racine en CI
En CI ou en Docker, où la détection automatique peut ne pas s'appliquer, fixe
la variable d'environnement
HEREPATH_ROOT :