URL: https://linuxfr.org/news/ipython-est-mort-vive-ipython-4-0 Title: IPython est mort, vive IPython 4.0 Authors: mbussonn palm123, emilien.schultz, Benoît Sibaud, Nÿco, ZeroHeure, zurvan, jcr83 et Snark Date: 2015年08月05日T18:37:53+02:00 License: CC By-SA Tags: ipython, python, jupyter et atom_editeur Score: 45 Pour ceux qui ne connaissent pas IPython et son historique, je vous propose de consulter les [dépêches précédentes](https://linuxfr.org/news/sortie-d-ipython-en-version-3-0), car si à l'origine il s'agissait uniquement d'une console évoluée pour Python, l'envergure des possibilités a bien changé entre-temps. Cette nouvelle version revient doucement aux sources en diminuant considérablement les fonctionnalités présentes. Il y a quelques mois, une description de ce que pouvait faire IPython aurait pris plusieurs heures d'explication sur le `notebook`, protocole de communication, `qtconsole`, etc. depuis cette nouvelle version IPython n'est plus qu'une console évoluée pour Python. On remarquera que c'est plus proche de la philosophie Unix : "Ne faire qu'une seule chose, et la faire bien". Vu qu'il y a peu de nouvelles fonctionnalités dans cette nouvelle version, je ne vais pas m'attarder trop dessus. Et plutôt décrire les changements opérés. Merci a emilien.schultz, Nÿco, palm123, zurvan, jcr83 et Snark pour avoir participé à la rédaction. ---- [Release of Jupyter 4.0](http://blog.jupyter.org/2015/08/12/first-release-of-jupyter/) [Annonce sur la mailing list Jupyter](https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/jupyter/Ia54LJqbGxE/VMyMSTGJCwAJ) [Sortie de IPython 3.0](https://linuxfr.org/news/sortie-d-ipython-en-version-3-0) [Notes de version](http://ipython.readthedocs.org/en/stable/whatsnew/version4.html) [Greffon Hydrogen (Jupyter pour Atom)](https://atom.io/packages/hydrogen) ---- Il est 19h00 sous le soleil de Californie, les étudiants sont partis de la Bibliothèque principale de Berkeley. Une partie de l'équipe de développement d'IPython est encore dans l'espace de travail commun pour peaufiner la première publication de Jupyter. Fernando Pérez, créateur d'IPython appuie sur la touche entrée du clavier de MinRK... Les lignes défilent... Quelques secondes plus tard, la fin d'une époque. Pour la première fois en 14 ans, IPython n'est plus un paquet unique, mais un ensemble de bibliothèques clairement identifiées. # Changement de fonctionnalités ## Nouvelles fonctionnalités Aucune. Facile à retenir. En fait, pour être honnête, ce n'est pas totalement vrai, nous avons bien ajouté quelques améliorations mineures, mais rien qui vaille la peine d'être décrit ici. ## Fonctionnalités retirées Alors là, c'est l'hécatombe. Au revoir le **Notebook**, plus de **Qtconsole**, plus de conversion de _notebook_ avec **nbconvert**, plus de **calcul parallel**, ni de **widget**. Le code source ne fait plus "que" 65k lignes de Python, 180k tous langages confondus, contre 146k et 340k pour la branche en maintenance 3.x. # La Grande Séparation Bien que beaucoup de fonctionnalités aient été retirées, vous pouvez toujours y avoir accès en installant les paquets correspondants. Pour ceux qui s'intéresseraient à la manière dont les différentes fonctionnalités ont été retirées de l'arbre principal, je vous conseille d'aller lire l'article sur "La Grande Séparation" ([The big SplitTM](http://blog.jupyter.org/2015/04/15/the-big-split/)). Ceci nous a permis de découper le code en à peu près une dizaine de paquets différents regroupant chacun une fonctionnalité bien précise. En tant qu'utilisateur, vous ne devriez faire face qu'à un nombre limité de choix. Si vous n'utilisez IPython qu'en ligne de commande, rien de changé pour vous, vous installez `ipython`. Si par contre vous étiez fan du `notebook`, maintenant vous voulez installer le méta-paquet Jupyter (`pip install jupyter`) qui devrait installer toutes les dépendances. Si vous désirez une installation sur mesure vous pouvez aller piocher les composants nécessaires parmi `notebook`, `qtconsole`, `nbconvert`, `console`, `ipyparallel`, etc. Les nouveaux composants gardent leur licence BSD et l'historique des modifications grâce à `git filter-branch`. En pratique pour les développeurs et utilisateurs qui voudraient trifouiller le code, il y a potentiellement plusieurs dépôts git à cloner. D'un autre coté si vous n'êtes intéressé que par une sous-partie des composants, le code est bien plus petit. Vous pouvez allez lire le court [post de blog](http://blog.jupyter.org/2015/08/12/first-release-of-jupyter/) sur la nouvelle version 4.0 de Jupyter (on commence à 4.0 pour rester dans la continuité d'IPython). # L'écosystème Comme souvent, le nombre de paquets et d'outils qui fonctionnent autour de Jupyter croît. On notera en particulier que Atom (l'éditeur de texte de GitHub) s'est enrichi du greffon [hydrogen](https://atom.io/packages/hydrogen). L'auteur travaille actuellement avec nous pour améliorer la complétion dans le `notebook`. L'intégration de l'édition de `notebook` directement dans Atom est aussi [en progression](https://github.com/jupyter/atom-notebook). Il y a quelques mois de cela, on a aussi eu le plaisir d'avoir le rendu des `notebooks` sur GitHub, vous pouvez en lire plus sur [le blog de Jupyter](http://blog.jupyter.org/2015/05/07/rendering-notebooks-on-github/). Ainsi que l'intégration du protocole pour exécuter du code sur la plateforme de publication d'Oreilly, qui transforme les balises "pre" d'une page [en code exécutable](https://beta.oreilly.com/learning/data-visualization-with-seaborn) à l'aide d'un outil open-source nommé [thebe](https://github.com/oreillymedia/thebe) (point de culture générale : il s'agit d'une des lunes de Jupiter). Une autre information est à noter, qui pourrait sembler déplacée sur un site généralement critique envers une certaine entreprise de Redmond à l'origine d'un système d'exploitation connu, les interactions entre Jupyter et les équipes de Microsoft sont relativement bonnes. Vous pouvez d'ailleurs utiliser les `notebooks` sur [Microsoft Azure](https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-python-ipython-notebook/). Big Blue (ou IBM pour les bébés moules de LinuxFr.org), a aussi une intégration poussée des `notebooks`, dans ses [différentes platformes](https://knowledgeanyhow.org/). On remerciera en particulier les chercheurs en sécurité d'IBM pour la divulgation responsable de failles de sécurités avérées sur la liste de diffusion dédiée à la sécurité. Kyle travaille toujours à Rackspace et passe une grande partie de son temps, avec l'autorisation de son employeur, sur [de trop nombreux projets liés à Jupyter](https://github.com/nteract). # La suite Maintenant plus que jamais est le moment de contribuer ! Chaque sous-projet est maintenant à taille humaine (et a été conçu pour l'être), et les publications ne sont plus synchronisées entre elles pour permettre plus de souplesse et des rythmes différents. Avec votre aide, il est envisageable d'avoir une nouvelle version du `notebook` au fil des mois, plutôt que des intervalles d'un an ! Par ailleurs, la taille de chaque projet diminuant, il va être plus facile d'obtenir les droits de commits, et de faire des choix d'implémentation sans se frotter à 10 autres développeurs qui ont un avis sans pour autant avoir jamais touché une ligne de ce sous-projet. Avec le [récent financement](http://blog.jupyter.org/2015/07/07/jupyter-funding-2015/), les personnes travaillant sur Jupyter/IPython vont pouvoir garder leurs postes, mais des nouvelles positions s'ouvrent. On collabore aussi avec le projet [OpenDreamKit](http://opendreamkit.org/) qui devrais aussi recruter en Europe, afin d'intégrer IPython plus en profondeur avec [SageMath](http://www.sagemath.org/). Je vous laisse allez chercher les offres de poste, ce n'est pas tous les jours qu'on peu trouver des offres d'emplois pour travailler à plein temps sur de l'Open Source. On notera aussi que deux développeurs de Berkeley (re)viennent travailler en Europe (Royaume-Uni, et Norvège) pour augmenter la présence européenne. Au cours des trois prochaines années le financement du projet inclut des personnes dédiées pour écrire la documentation, ainsi que des fonds pour un designer et un développeur web. On va donc peut-être enfin avoir une documentation digne de ce nom et pas trop moche. Le financement du projet prévoit aussi de faire une conférence sur quelques jours, pour regrouper la majorité des développeurs qui travaillent sur des projets en relation avec l'architecture de Jupyter. En attendant, cherchez les développeurs au conférence, j'ai entendu dire que maintenant ils avaient des autocollants Jupyter et des t-shirts à distribuer. Sinon le développement a déjà repris de plus belle, avec addition de fonctionnalités au `notebook` en cours (Rechercher, remplacer, sélection multiple, collaboration temps réel), et intégration des sous-projets comme `traitlets` avec `matplotlib`. Merci à vous, on attend vos contributions et commentaires avec impatience !