Data Science News

Comment travailler avec Git dans Datalore

Read this post in other languages:

Git est un outil très utilisé par les équipes travaillant dans le domaine de la science des données. Ce tutoriel explique comment travailler avec Git dans Datalore, notre plateforme collaborative pour la science des données. 

Poursuivez votre lecture pour découvrir comment installer des référentiels Git, modifier leur contenu et gérer les versions avec Datalore. 

Comment installer un référentiel Git dans votre environnement de notebooks Datalore

Si vous ou votre équipe développez une collection de scripts Python ou un package compatible avec pip stocké dans Git, vous pouvez facilement accéder à ce référentiel depuis les notebooks Jupyter dans Datalore. 

Il y a trois façons de procéder. Nous recommandons de choisir la méthode en fonction du niveau d’accès et du type de votre référentiel.

  Utilisation de Environment | Repositories Utilisation de Tools | Terminal ou de commandes magiques IPython Utilisation de l’environnement de base d’équipe (fonctionnalité disponible avec le forfait Enterprise uniquement)
Niveau d’accès du référentiel À partir d’un notebook donné À partir d’un notebook donné ou de chaque notebook dans un espace de travail choisi Tout notebook de tout collaborateur dans tout espace de travail
Type de référentiel Référentiels Git publics et référentiels Git privés via SSH Tout référentiel, public ou privé, Git ou non (Artifactory, Space Packages, référentiels PyPI hébergés de façon privée) Tout référentiel, public ou privé, Git ou non (Artifactory, Space Packages, référentiels PyPI hébergés de façon privée)
Spécificités de l’installation Installation à la demande, pouvant être actualisée à tout moment depuis l’interface utilisateur Lors de l’installation à la demande avec la ligne de commande de Git, certaines options peuvent être automatisées avec init.sh et installées au démarrage du calcul du notebook Installation dans le cadre de l’image personnalisée de Docker 
Type d’actualisation Bouton d’actualisation et redémarrage du noyau Utilisation de la ligne de commande Git via Terminal Reconstruire l’image Docker
Actions disponibles Clone, pull Clone, pull, push Cloner lors de la création de l’image

Le principal intérêt du clonage de référentiels Git ave Datalore est de pouvoir accéder à des modules, scripts ou fonctions Python personnalisés et de les modifier de façon collaborative dans Datalore. Cependant, les notebooks Jupyter clonés dans le cadre du référentiel Git actuel ne peuvent pas être modifiés. 

Utilisation de Environment | Repositories

Le moyen le plus simple d’installer un référentiel Git public d’une interface utilisateur dans un seul notebook Datalore est d’utiliser Environment | Repositories. Vous pouvez choisir la branche du référentiel et actualiser la connexion depuis l’interface utilisateur. 

Pour accéder à un référentiel Git privé, il vous suffit de fournir les clés SSH dans Environment | Repositories | Keys

Pour accéder à un référentiel Git privé avec un jeton personnel ou au moyen d’un nom d’utilisateur et mot de passe, utilisez un script init.sh ou Terminal

 

Installation d’un référentiel Git public dans Datalore

Utilisation de Terminal et de scripts init.sh

Si vous voulez cloner un référentiel Git depuis Terminal, ouvrez un notebook, allez dans Tools | Terminal, et utilisez la ligne de commandes Git pour cloner. Si vous souhaitez utiliser un référentiel dans un seul notebook, clonez-le en utilisant Notebook files. Si vous voulez utiliser un référentiel dans tous les notebooks de l’espace de travail, clonez-le dans Workspace files

Pour accéder aux contenus du référentiel depuis le notebook, importez les fonctions nécessaires. Datalore fournit la saisie semi-automatique du code et des fenêtres contextuelles de documentation pour les modules Python importés. 

Pour automatiser l’exécution d’un ensemble de commandes de Terminal à chaque démarrage du notebook, vous pouvez utiliser le script shell init.sh. 

Vous pouvez notamment configurer l’accès à vos référentiels privés, configurer l’utilisation de vos jetons personnels, installer des dépendances autres que Python et monter des répertoires de fichiers. Vous pouvez faire cela automatiquement avant que le gestionnaire d’environnement pip ou conda n’exécute les paramètres de l’environnement de base. 

 

Utilisation de la ligne de commande Git pour cloner un référentiel dans Datalore

Si vous devez spécifier un nom d’utilisateur ou un mot de passe pour accéder aux fichiers dans un référentiel ou faire un push des fichiers, ajoutez les configurations suivantes dans votre script init.sh : 

git config --global user.email "email@example.com"
git config --global user.name "your name"

 

Automatisation de l’exécution d’un ensemble de commandes de Terminal avec un script init.sh

Pour rendre le script init.sh disponible pour l’ensemble des notebooks de l’espace de travail, assurez-vous que les fichiers de l’espace de travail sont joints et déplacez le fichier init.sh de Notebook files vers Workspace files.

Utilisation de l’environnement de base d’une équipe

Si vous voulez fournir un accès centralisé à un répertoire donné à votre équipe, vous pouvez faire de ce référentiel un élément de l’environnement de base personnalisé. 

Les environnements de base sont des images Docker personnalisées qui peuvent être facilement utilisées comme configurations prédéfinies lors de la création d’un notebook dans Datalore.

 

Fournir un accès centralisé à un référentiel Git via un environnement de base personnalisé

Les environnements de base personnalisés ne sont disponibles que pour les utilisateurs de la version Enterprise. Pour configurer un environnement de base personnalisé pour Datalore Enterprise, utilisez ce guide

Comment modifier le contenu du référentiel Git dans Datalore

Si vous voulez modifier des scripts ou des fichiers Python disponibles dans votre référentiel Git, vous pouvez cloner le référentiel dans Attached data en utilisant :

  • Tools | Terminal : cela ouvre une session de terminal et permet d’exécuter les commandes de Git CLI. 
  • Commandes magiques Python dans les cellules de code d’un notebook.

 

Modification des scripts ou fichiers Python disponibles dans votre référentiel Git dans Datalore

Si vous souhaitez cloner le référentiel et le modifier depuis un notebook, clonez-le dans Notebook files. Si vous voulez modifier le référentiel depuis un notebook de l’espace de travail, clonez-le dans Workspace files. Pour Home workspace files, il peut être nécessaire de joindre Workspace files explicitement à un notebook.

Après le clonage du référentiel dans Attached data, vous pouvez modifier le contenu du fichier de façon collaborative. 

Pour les fichiers Python, vous bénéficiez également de la saisie semi-automatique du code et de la mise en évidence des éléments de syntaxe. Pour utiliser les fonctions mises à jour dans votre notebook, vous devez redémarrer le noyau ou utilisez une extension qui se recharge automatiquement :

%load_ext autoreload
%autoreload 2

 

Collaboration pour la modification de fichiers Python

⚠️ Actuellement, il n’est pas possible de modifier les notebooks Jupyter qui font partie de votre référentiel Git cloné. Pour visualiser un notebook Jupyter depuis le référentiel, vous pouvez cliquer deux fois dessus pour que Datalore ouvre le notebook dans un nouvel onglet. Nous en disons plus sur ce workflow dans le dernier paragraphe de cet article. 

Comment gérer les versions de votre travail de science de données avec Git et Datalore

Les notebooks Jupyter ont une place de premier ordre dans Datalore. Pour assurer le suivi des modifications dans le notebook, nous recommandons d’utiliser l’outil History de Datalore. 

En allant dans Tools | History, vous pouvez : 

  • Revenir aux états enregistrés précédemment.
  • Voir la différence entre la version actuelle du notebook et les points de contrôle. 
  • Créer de nouveaux points de contrôle personnalisés en utilisant Ctrl/Cmd+S.
  • Voir les modifications effectuées par vos collaborateurs.

De plus, Datalore crée automatiquement des points de contrôle pour rectifier les actions potentiellement dangereuses, telles que la suppression d’une cellule de notebook.

 

Contrôle des versions de vos notebooks dans Datalore

Pour suivre les versions les fichiers Python que vous avez développé dans Datalore via un système de contrôle de versions, vous pouvez utiliser Terminal pour effectuer un commit ou un push des fichiers ou des dossiers vers Git.

 

Contrôle des versions de vos référentiels Git dans Datalore

Comment importer un notebook Jupyter de Git vers Datalore

Vous pouvez importer un notebook Jupyter isolé depuis Git à partir du système de fichiers de l’espace de travail dans Datalore. Cliquez sur la flèche bas à côté du bouton New notebook et collez l’URL du notebook.

 

Importation d’un notebook Jupyter de Git dans Datalore

Feuille de route des améliorations relatives à Git dans Datalore 

Nous travaillons sur une intégration plus étroite avec Github qui devrait être déployée plus tard dans l’année et souhaitons inclure les workflows et les cas d’utilisation les plus intéressants pour les équipes de science des données.

Alors si vous trouvez que certains workflows importants manquent dans Datalore, n’hésitez pas à nous le faire savoir ! En participant à un entretien de 30 minutes avec nous, vous pouvez recevoir une carte-cadeau Amazon d’une valeur de 30 $.

Participer

Il y a de nombreuses façons de travailler avec les référentiels Git dans Datalore mais nous pensons que l’outil History interne et les fonctionnalités de collaboration en direct vous aideront à vous concentrer davantage sur vos tâches de science de données plutôt que sur l’utilisation de Git. Si vous devez partager vos scripts, accès ou modifications dans des référentiels internes, vous pouvez le faire avec le Terminal de Datalore, les scripts init.sh et le gestionnaire Environment à tout moment. 

À bientôt !

L’Équipe Datalore

Article original en anglais de :

Delphine Massenhove

Alena Guzharina

image description