herepath¶
Une façon plus simple de retrouver tes fichiers.
Code source : github.com/Pinto-Katende-Jonathan/herepath
herepath construit des chemins de fichiers relatifs à la racine de ton projet,
peu importe le dossier depuis lequel tu lances ton code. C'est un portage en
Python du paquet R here.
Un chemin relatif comme ../../data/ventes.csv casse dès que tu lances un script
depuis un autre dossier, un notebook ou ton éditeur. Écris plutôt ceci :
from herepath import here
here("data", "ventes.csv")
# -> /home/moi/mon-projet/data/ventes.csv (toujours, depuis n'importe où)
Pourquoi herepath ?¶
Le problème qu'il règle est petit mais constant. Un chemin relatif comme
../data/ventes.csv ne pointe pas vers un fichier. Il pointe vers un fichier
relatif à l'endroit où tu te trouves, donc il casse dès que tu te déplaces.
herepath trouve la racine de ton projet une fois, puis ancre chaque chemin à
cette racine. Le résultat ne dépend plus de ton répertoire de travail.
Ce qu'il t'apporte :
- Marche depuis n'importe où. Lance le même script depuis la racine, un
sous-dossier, un notebook ou ton IDE.
here()renvoie le même chemin absolu à chaque fois. - Aucune dépendance. Bibliothèque standard uniquement.
herepathn'ajoute rien à ton arbre de dépendances. - Une petite API. Quatre fonctions de base :
here(),i_am(),set_here(),dr_here(). L'essentiel s'apprend en quelques minutes. - Une commande shell aussi. Installer le paquet te donne une commande
herepathpour les scripts et les Makefiles.
Installation¶
Un seul nom partout : tu installes herepath, tu importes herepath, et tu
obtiens une commande herepath. Voir Installation pour plus de
détails.
Un petit exemple¶
Suppose que ton projet ressemble à ça :
Dans analyse/rapport.py :
from herepath import i_am, here # (1)!
import pandas as pd
i_am("analyse/rapport.py") # (2)!
df = pd.read_csv(here("data", "ventes.csv")) # (3)!
- Importe les deux fonctions dont tu as besoin.
- Déclare où vit ce fichier, par rapport à la racine du projet.
herepathsait désormais où se trouve la racine. - Construis un chemin depuis la racine. Ça marche que tu lances le script depuis
mon-projet/, depuisanalyse/, ou depuis un notebook trois dossiers plus loin.
Plus de ../, et plus de « ça marche sur ma machine ».
Par où continuer¶
- Tu débutes ? Commence par le Tutoriel, un parcours pas à pas.
- Besoin de plus de contrôle ? Le Guide avancé couvre les marqueurs sur mesure, les tests et le déploiement.
- Tu fais du scripting ? Voir la page Ligne de commande.
- Tu cherches une fonction ? La Référence de l'API liste tout.
- Tu veux aider ? Lis Contribuer.
Licence¶
MIT, Jonathan
Katende Pinto. Inspiré du paquet R here de Kirill
Müller et Jennifer Bryan.