Jupyter

From air
Revision as of 22:48, 28 March 2016 by SAHUC.Alexandre (talk | contribs)
Jump to navigation Jump to search

http://jupyter.org/

Jupyter est un projet permettant de créer et partager des documents interactifs au travers d'une application web.


Fonctionalités

Cette application permet notamment de créer des documents contenant du texte, des équations; mais aussi la possibilité d'exécuter du code directement au sein des documents.

Les documents sont composés de cellules. Une cellule peut contenir un code source, du texte brut ou du texte utilisant la syntaxe du markdown git (et qui sera interprété lors du rendu). Il est possible d'exécuter le code d'une cellule dans l'éditeur afin de vérifier son résultat. Le noyau (exécutant le code) est un processsus lié au document et non à une cellule. De ce fait, il est possible de définir une variable dans une cellule puis de l'utiliser dans une autre. Ceci permet donc de rendre la document plus lisible puisqu'il est possible de diviser le code en plusieurs cellules (et par exemple de pouvoir insérer des cellules expliquant le but du code que l'on vient d'écrire). Dans le cas où le code écrit sur le sortie standard, la cellule qui le contient est automatiquement modifée afin de faire apparaitre la sortie du script.


Jupyter offre la possibilité d'éditer un document via un éditeur web. Cet éditeur intégre un mini-gestionnaire de version pusqu'il est possible de sauvegarder l'état d'un document en définissant un checkpoint et par la suite de revenir au dernier checkpoint afin d'annuler les dernières modifications. Il es possible d'exporter les document au format Jupyter (pour ensuite pouvoir les visionner dans Jupyter Notebook Viewer, une application faisant partie du projet Jupyter et permettant de visualiser et partager les documents Jupyter), Python, HTML, Markdown, reST et PDF.


Il est possible de partager simplement un document Jupyter par mail, Dropbox, GitHub ou en utilisant Jupyter Notebook Viewer. Il est possible d'inclure des images, des vidéos ou des widgets permettant de manipuler et visualiser les données en temps réel.


Architecture

Les documents Jupyter sont enregistrés dans un format ouvert basé sur JSON.

Il dialoguent avec le noyau via l'Interactive Computing Protocol, un protocole ouvert basé sur des données JSON échangées via ZMQ ou par WebSockets.

Le noyau est un processus chargé d'interprété le code saisi dans les documents et de renvoyer la sortie. Le noyau supporte plus de 40 langages dont Python, R, Julia et Scala.

Installation

Le moyen le plus simple d'insatller Jupyter est d'utiliser Anaconda. Ananconda est un [installateur]. Il est possible de le récupérer sur leur site officiel ou au moyen de la commande :

wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda-2.3.0-Linux-x86_64.sh

(version 64 bits)

Par la suite, il suffira d'exécuter le script Anaconda-2.3.0-Linux-x86_64.sh pour installer anaconda. Une fois Anaconda installé, il suffit d'exécuter la commande

conda install jupyter

pour installer Jupyter et ses dépendances. Anaconda n'installe que le noyau IPython (pour les scripts Python). Pour installer d'autres noyaux au sein de Jupyter, référez-vous à la documentation (https://ipython.readthedocs.org/en/latest/install/kernel_install.html)

Pour lancer Jupyter, un simple

jupyter notebook

suffit. Vous pouvez maintenant accéder à l'éditeur sur localhost:8888/tree.