Jupyter

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.

Le projet Jupyter
Jupyter Notebook n'est qu'une partie du projet Jupyter. Ce dernier est composé de 4 grands sous-projets.

Jupyter Notebook, donc, pour l'édition de document en ligne.

Jupyter Nbviewer pour partager simplement des docuements édités avec Jupyter Notebook.

IPython, le noyau de référence du projet de Jupyter, permettant d'interpréter des scripts Python. D'autres noyaux sont disponibles (environ une soixantaine) mais sont développés par des tierces parties et ne sont donc pas considérés comme faisant partie intégrante du projet Jupyter.

Jupyterhub une version multi-utilisateur de Jupyter Notebook, conçu pour un usage professionnel au sein d'une entreprise ou des universités. Elle permet notamment une authentification des utilisateurs et une mise à l'échelle de l'application en déployant des conteneurs Docker préparés à l'avance.

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.