IPython, un outil qui s’appuie sur le langage Python pour l'analyse et la visualisation de données, a été divisé en plusieurs packages dans le cadre de sa transition vers le projet Jupyter qui lui permet d’être agnostique vis-à-vis des langages de développement. IPython, ainsi que l’explique le site qui héberge le projet, fournit une architecture pour des traitements interactifs. Cela inclut un interpréteur de commandes, un kernel pour Jupyter, le support de fonctions de visualisation de données interactives ainsi que l’utilisation d’outils d’interfaces utilisateurs graphiques, des interpréteurs embarqués à charger dans ses projets et des outils haute performance pour les traitements parallèles.
La version 4.0 du projet, présentée la semaine dernière, complète sa transition vers Jupyter. Jusque-là, le fait de devoir installer un projet appelé IPython pour accéder à une interface utilisateur afin d’écrire du code en Julia ou R générait une certaine confusion, a expliqué Min Ragan-Kelley, l’un des développeurs du projet, à nos confrères d’Infoworld. Désormais, on installe Jupyter dont le nom est moins associé à un langage particulier.
Dans Jupyter, on retrouve bien sûr l'interface Notebook
La partie la plus visible de Jupyter reste le Notebook, cette application web pour le traitement interactif des données scientifiques, couramment utilisée pour travailler avec Python et IPython. Elle permet à des utilisateurs d’éditer des documents qui combinent du code avec des explications en mode texte, des équations, des images, des vidéos et des visualisations graphiques. Tout cela permet d’encoder des enregistrements de calcul qui peuvent être partagés sur GitHub, Dropbox et via le Jupyter Notebook Viewer, explique le site du projet.
L’interface Notebook peut maintenant fonctionner avec une dizaine d'autres langages dont Julia, R, Scala, JavaScript, Matlab et Bash. Ce que l'on trouvait jusqu'alors dans un package IPython monolitique se présente désormais sous la forme de plusieurs packages comportant différents éléments. Cela comprend Notebook, qtconsole, notebook format (les fichiers notebook sont de simples documents JSON contenant du texte, du code source, des éléments rich media et des métadonnées ; chaque segment du document est stocké dans une cellule), nbconvert utility, des bibliothèques PP (Parallel Python), etc.
La répartition des différents éléments de IPython dans des composantes Jupyter séparées permettra aussi de développer et de livrer chacun d’entre eux à son propre rythme, en espérant que cela répondra ainsi plus rapidement aux besoins des utilisateurs. Ceux qui veulent accéder à l’ensemble peuvent toujours choisir le meta-package Jupyter qui réunit toutes les composantes. Le logiciel comprend un shell interactif, le protocole REPL, un (notebook document format) et des outils pour créer des widgets.
Inventé en 2001 par Fernando Perez
Inventé par Fernando Perez en 2001 à l’université du Colorado, le projet Open Source IPython est sorti dans une version 1.0 l’an dernier. Son créateur est maintenant chercheur au Brain Imaging Center de l’Université de Californie, à Berkeley. Dans un entretien avec nos confrères d’Infoworld, l’an dernier, il est revenu sur l’origine du projet expliquant qu’il avait souhaité disposer, au-dessus de l’interpréteur de commandes interactif proposé par défaut par Python, d’un shell amélioré mieux adapté à l’analyse de données. Le scientifique voulait un interpréteur qui lui permette d’interagir plus facilement avec ses fichiers et ses bibliothèques de visualisation de données, alors que le shell de Python par défaut se limite à exécuter le langage.