Comment travailler avec Git dans Datalore

Alena Guzharina

Traducteur

Delphine Massenhove

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. Commentez

- Titre : Comment travailler avec Git dans Datalore

- Auteur : Alena Guzharina

- Traducteur : Delphine Massenhove

- Parution : 17 mars 2023

- Licence : Copyright ® 2023 Alena Guzharina. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

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

- Utilisation de Environment | Repositories

- Utilisation de Terminal et de scripts init.sh

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

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

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

- III. Comment importer un notebook Jupyter de Git vers Datalore

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

- V. Remerciements Developpez.com

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

Reconstruction de l’image Docker

Actions disponibles

Clone, pull

Clone, pull, push

Clone 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.

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.

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"

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.

I - 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 avoir cloné le 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 utiliser 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.

II - 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 des fichiers Python que vous avez développés dans Datalore grâce à 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

III - 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

IV - 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 $.

V - Remerciements Developpez.com

Nous tenons à remercier Malick pour la mise au gabarit et escartefigue pour la relecture orthographique.