Projet Jupyter#
Le projet Jupyter propose des logiciels libres à 100 %, des normes ouvertes et des services web pour l’informatique interactive avec toute sorte de langages de programmation. Il a été initié par F. Pérez et B. Granger qui ambitionnaient à obtenir un environnement d’informatique interactive pour le langage Python dans l’esprit des environnements IDL (1977), Maple (1982), Matlab (1884) et Mathematica (1988) [GP21].
Le projet Jupyter est créé en 2014 à partir du projet IPython, il en reprend les « IPython notebooks » et conserve le « IPykernel » comme l’un des noyaux d’exécution du code.
Dans son article publié dans la revue « Nature », Jeffrey M. Perkel [Per21] cite « IPython notebook » comme l’un des dix codes informatiques à avoir transformé la science (tableau ci-après).
Année |
Code informatique majeur |
Description |
|---|---|---|
1957 |
Fortran compiler |
le langage pionnier |
1965 |
FFT (Fast Fourier Transform) |
le traitement du signal |
1965 |
Atlas of protein sequence and structure |
le catalogueur de molécules |
1969 |
Modèle de circulation générale |
le leadeur de la prévision météo |
1979 |
BLAS (Basic Linear Algebra Subprograms) |
pionnier du calcul matriciel |
1987 |
NIH Image |
les bases de l’imagerie médicale |
1990 |
BLAST (Basic Local Alignment Search Tool) |
le chercheur de séquence |
1991 |
le serveur de preprints |
|
2011 |
IPython Notebook |
l’explorateur de donnée, mais pas que… |
2012 |
AlexNet |
deep learning basé sur les réseaux de neurones |
Une enquête auprès des lecteurs de la revue « Nature » place « IPython Notebook » en troisième place par ordre d’impact sur le travail des chercheurs.
Fig. 1 Résultat de l’enquête auprès des lecteurs de la revue « Nature » sur le code informatique qui a le plus d’impact sur leur travail (d’après [Per21])#
Les documents de type notebook sont au centre du projet Jupyter. On peut les traduire par carnets, cahiers ou bloc-notes. Leur caractéristique principale est qu’ils alternent du texte en langage naturel avec du code en langage informatique avec les résultats produits par ce code (voir Carnet (Notebook)).
Le projet Jupyter propose :
un format ouvert de carnet (nbformat)
des logiciels de création open source de carnets pour les éditer et assurer leur rendu (Jupyter Notebook, Jupyter Lab)
des plateformes de visualisation open source des carnets (nbviewer)
des plateformes d”utilisation interactive open source des carnet (Binder)
des plateformes d”utilisation collaborative open source des carnet (Jupyter Hub)
des logiciels de conversion open source de notebooks vers
des documents statiques (nbconvert, RISE, Jupyter Book)
des applications web interactives (Voilà, Voici)