[Projet] Définir une stratégie d'utilisation des fichiers externes
Mind-the-Cap opened this issue · 5 comments
Il faut que l'on décide d'une stratégie d'utilisation de fichiers externes dans notre code:
- Inclure systématiquement les fichiers nécessaires pour faire tourner les fonctions et les exemples ?
- Définir des jeux de données "de base" et d'autres qu'on laisse l'utilisateur gérer ?
- Intégrer ou non la mise à jour des jeux de données (millésimes du recensement INSEE par exemple) ?
Personnellement, je suis en faveur d'inclure systématiquement les fichiers nécessaires :
- plutôt directement dans Github pour les fichiers légers
- en utilisant data.gouv.fr pour les fichiers lourds de l'INSEE
Je ne vois pas de cas pour l'instant où il serait intéressant que l'utilisateur ait des données à gérer.
Je suis en faveur d'avoir les différentes versions, grâce à un dictionnaire qui enregistrerait les différents liens. Mais dans l'immédiat, on peut rester sur les dernières données, on n'a pas de gros cas d'usage pour ça (dans le futur je vois la reproductibilité notamment, ou la comparaison entre années).
D'accord avec ta règle, on fixe une limite de taille de fichier pour Github ? 1 Mo, 10 Mo par exemple ?
Il faut aussi anticiper l'utilisation du package après une installation pip : bien définir les fichiers nécessaires au code et ceux qui sont utiles uniquement pour les exemples et tests.
Je dirais 50 Mo, qui est la limite d'avertissement de Github.
J'imagine que les fichiers nécessaires au code doivent être dans mobility/data et ceux dans les exemples dans le répertoire dédié. Comme ça, à terme on pourra scinder si ça devient trop volumineux (avec un repo mobility-examples)
J'ajoute une stratégie supplémentaire :
- Utiliser des API publiques quand c'est possible, avant d'héberger les fichiers sur data gouv.
- Intégrer la stratégie décidée dans la documentation
- Lister les sources de données utilisées dans la doc
- Améliorer les métadonnées sur data.gouv.fr
Ajouté dans la documentation avec #65