DataSpell : le nouvel IDE pour la science des données


Publié le 27-04-2021 par Modérateur FREELANCE INFO



JetBrains, la société éditrice, entre autres, des environnements de développement intégrés IntelliJ IDEA, PyCharm ou encore PhpStorm vient de dévoiler son tout nouvel IDE conçu spécialement pour la science des données. Baptisé provisoirement DataSpell, le projet est actuellement en phase d’EAP c'est-à-dire d’accès anticipé au programme. Les professionnels de l’IT, en particulier les data scientist et les développeurs logiciels, sont invités à s’inscrire pour tester en avant-première l’IDE et pour faire leurs retours avant son lancement officiel. Découvrez, dans cet article, les particularités et fonctionnalités prévues dans DataSpell.

Un IDE basé sur le moteur de PyCharm

À l’origine, JetBrains prévoyait d’améliorer son IDE orienté Python et Django, « PyCharm » afin d’offrir une prise en charge plus poussée pour les sciences de données.
Python étant actuellement un langage très populaire notamment dans le domaine des data science, cette évolution de l’IDE était plutôt logique.

Cependant, au fur et à mesure des demandes et des retours d’utilisateurs de PyCharm, JetBrains a considéré comme plus judicieux de créer un environnement de développement entièrement axé sur la science des données : DataSpell.

Le moteur du nouvel IDE restera celui de PyCharm afin de conserver la prise en charge de Python et de ses librairies. En revanche, l’interface de DataSpell se concentrera davantage sur les données en priorisant les fonctionnalités et les outils liés à leur gestion et à leur manipulation.

Un espace de travail léger et interactif

Avec DataSpell, JetBrains souhaite donc proposer un workflow adapté aux besoins des data science. L’espace de travail est conçu pour prioriser les données, mais en conservant une assistance au codage puissante (saisie semi-automatique du code, autocomplétion, vérification des erreurs à la volée, outils de débogage, etc.) et des fonctionnalités pour améliorer la productivité telles que :

  • une prise en charge de Markdown et JavaScript pour les sorties ;

  • l’intégration de bibliothèques de visualisation courantes ;

  • la prise en charge du gestionnaire de paquets Conda pour créer, administrer et réemployer des environnements et dépendances dans plusieurs espaces de travail.

Un support natif pour les notebooks Jupyter

Jupyter Notebook est une application client-serveur qui permet de modifier et d'exécuter des documents notebooks via un navigateur web et un panneau de contrôle (Dashboard). Ces documents qui contiennent à la fois du code informatique et des éléments de textes « enrichis » (paragraphe, équations, etc.) sont très utilisés par les data scientist. Ils renferment à la fois des informations « compréhensibles » par les humains et des documents exécutables pour analyser instantanément les données.

 

PyCharm intégrait déjà Jupyter Notebook ce qui permettait d’exécuter, d’éditer ou de corriger les notebooks directement depuis l’IDE Python avec, en plus, l’aide de fonctionnalités d’autocomplétion, de coloration syntaxique ou des outils de débogage.

Cette intégration devrait être encore plus poussée dans DataSpell. L’aspect graphique des notebooks sera similaire à celui accessible par le navigateur web afin de favoriser la prise en main par les Data Scientist. Le nouvel IDE donnera aussi la possibilité de basculer plus facilement entre le mode commande et le mode édition des données pour modifier rapidement les cellules et leur contenu. D’autres fonctionnalités introduiront :

  • le lancement automatique d’un serveur Jupyter (ou la connexion à un serveur configuré) pour le projet en cours ;

  • l’intégration des widgets interactifs Jupyter ;

  • la prise en charge de documents notebooks locaux et distants ainsi que de projets JupyterHub et JupyterLab.

Une compatibilité avec d’autres langages et l’intégration de base de données

Python étant le langage le plus populaire dans le domaine des data science, la première version de DataSpell se focalise sur l’intégration complète de sa syntaxe et de ses fonctions. Cependant l’IDE propose déjà un support basique (via un plugin) pour R, un autre langage de programmation destiné aux statistiques et à la science des données. À terme, le but de JetBrains est de fournir une plateforme multi technologies pour les datas scientist. DataSpell devrait donc au fur et à mesure intégrer entre autres, R (nativement) puis Julia, un langage performant et dynamique conçu pour le calcul scientifique.

En ce qui concerne la gestion de base de données, elle est incluse dans DataSpell à l’aide d’outils et de plugins SQL. L’IDE prend en charge toutes les fonctionnalités disponibles dans DataGrip, un environnement de base de données (BDD) aussi conçu par JetBrains et destiné aux DBA (administrateur de base de données) et aux développeurs qui travaillent avec des BDD autonomes.

Il est ainsi possible de se connecter à une base, de gérer les connexions, les configurations SSH et SSL ainsi que les sources de données directement dans DataSpell.
L’IDE fournit, de plus, des fonctionnalités pour exécuter des requêtes dans la base de données avec notamment MongoDb. Les développeurs peuvent alors écrire des scripts pour le shell mongo en JavaScript ou bien en SQL. JetBrains DataSpell traduit automatiquement ces requêtes SQL en JavaScript.

Une offre de REPL scientifique intégrée à DataSpell

DataSpell prend nativement en charge les scripts Python pour offrir une REPL orientée sur la science des données. Les REPL (Read, Evaluate, Print, Loop) sont des shell de commandes qui permettent d’écrire des instructions, de les évaluer, de voir instantanément les réponses et … de recommencer.

En exécutant une console Python REPL dans DataSpell, le développeur bénéficie d’une vérification syntaxique à la volée. Il a aussi la possibilité de lancer les consoles en mode « debug » pour inspecter les données des variables et corriger plus facilement les bugs notamment au niveau des tableaux NumPy et des DataFrames Pandas.

DataSpell semble donc être un IDE complet est pratique pour les professionnels des sciences de données. Néanmoins, JetBrains le recommande davantage aux utilisateurs qui ont besoin de manipuler des data que de programmer. Pour des développeurs en intelligence artificielle ou en machine learning l’IDE préconisé reste PyCharm.
Et vous, avez-vous pu tester ce nouvel environnement de développement intégré ? Si oui, qu’en avez-vous pensé ? N’hésitez pas à nous faire vos retours d’expérience sur le forum.

 

Sources et liens utiles :

Présentation et inscription à l’EAP DataSpell : https://www.jetbrains.com/fr-fr/dataspell/

Documentation DataSpell : https://www.jetbrains.com/help/dataspell/run-python-console.html#code-cells

Documentation PyCharm : https://www.jetbrains.com/fr-fr/pycharm/learn/



 



Modérateur FREELANCE INFO