Quelle est la meilleure façon de partager des ordinateurs portables Jupyter avec des non-programmeurs?
J'essaie d'envelopper ma tête autour de ce que je peux/ne peux pas faire avec Jupyter.
J'ai un serveur Jupyter fonctionnant sur notre serveur interne, accessible via VPN et protégé par mot de passe.
Je suis le seul à créer des ordinateurs portables, mais je voudrais rendre certains ordinateurs portables visibles aux autres membres de l'équipe en lecture seule. Idéalement, je pourrais simplement partager une URL avec eux qu'ils signeteraient quand ils veulent voir le bloc-notes avec des données actualisées.
J'ai vu les options d'exportation mais ne peut trouver aucune mention de "publication" ou "rendre public" les cahiers en direct locaux. Est-ce impossible? Est-ce peut-être juste une mauvaise façon de penser à la façon dont Jupyter devrait être utilisé? Leurs meilleures pratiques sont-elles à ce sujet?
11 réponses
La" meilleure " façon de partager un ordinateur portable Jupyter est simplement de le placer sur GitHub (et de le voir directement) ou un autre lien public et d'utiliser le Jupyter Notebook Viewer . Lorsque la vie privée est plus un problème, il existe des alternatives, mais c'est certainement plus complexe, il n'y a pas de moyen intégré de le faire dans Jupyter seul, mais quelques options sont:
Hébergez votre propre nbviewer
GitHub et le bloc-notes Jupyter Veiwer utilisent tous deux le même outil pour rendre les fichiers .ipynb
en statique HTML, cet outil est nbviewer .
Les instructions d'installation sont plus complexes que je ne suis prêt à entrer ici, mais si votre entreprise/équipe a un serveur partagé qui ne nécessite pas d'accès par mot de passe, vous pouvez héberger le nbviewer sur ce serveur et le charger à partir de votre serveur accrédité. Cela nécessitera probablement une configuration plus avancée que vous ne trouverez dans les documents.
Configurer un script de déploiement
Si vous n'avez pas nécessairement besoin live mise à jour HTML ensuite, vous pouvez configurer un script sur votre serveur authentifié qui utilisera simplement les options d'exportation intégrées de Jupyter pour créer les fichiers HTML statiques,puis les envoyer à un serveur plus accessible au public.
Bonne chance!
La suggestion de Michael d'exécuter votre propre instance nbviewer est une bonne que j'ai utilisée dans le passé avec un serveur Enterprise Github.
Une autre alternative légère est d'avoir une cellule à la fin de votre ordinateur portable qui fait un appel shell à nbconvert afin qu'il soit automatiquement actualisé après avoir exécuté le tout:
!ipython nbconvert <notebook name>.ipynb --to html
EDIT : avec le Big Split de Jupyter / IPython, vous voudrez probablement changer cela en !jupyter nbconvert <notebook name>.ipynb --to html
maintenant.
Google a récemment rendu public son projet Collaboratoire interne (lien ici). Vous pouvez démarrer un bloc-notes de la même manière que le démarrage D'une feuille Google ou Google Doc, puis simplement partager le bloc-notes ou ajouter des collaborateurs..
Pour l'instant, c'est le moyen le plus facile pour moi.
Si vous utilisez kyso.io (avertissement: j'ai fondé kyso) vous pouvez partager des ordinateurs portables en ligne facilement:
- vous pourrez afficher / masquer le code afin que les personnes non techniques puissent le lire
- les visualisations interactives fonctionnent parfaitement, comme bokeh et plotly.
Téléchargez votre cahier ici:
Voici quelques-uns exemples:
Cela dépend de ce que vous avez l'intention de faire avec votre ordinateur Portable: voulez-vous que l'utilisateur peut recalculer les résultats ou tout simplement jouer avec eux?
Bloc-notes statique
NBViewer est un outil formidable. Vous pouvez l'utiliser directement à l'intérieur de Jupyter. Github a également un rendu, vous pouvez donc lier directement votre fichier (tel que https://github.com/my-name/my-repo/blob/master/mynotebook.ipynb )
Carnet vivant
Si vous voulez que votre utilisateur puisse recalculer certaines parties, vous pouvez également utiliser MyBinder . Il faut un certain temps pour démarrer votre ordinateur portable, mais le résultat en vaut la peine.
Ils ne semblent pas assez matures mais consultez Jupyter Dashboard
Https://github.com/jupyter-incubator/dashboards
Https://github.com/jupyter-incubator/dashboards_server
Et Thebe
Une excellente façon de le faire sur WordPress consiste en les étapes suivantes:
Étape 1: Ouvrez votre ordinateur portable Jupyter dans un éditeur de texte et copiez le contenu qui peut ressembler à ceci: Votre .ipynb fichier peut ressembler à ceci lorsqu'il est ouvert dans un éditeur de texte
Étape 2: Ctrl + A et Ctrl + C ce contenu. Alors Ctrl + V ceci à un Github essentiel que vous devriez créer.
Étape 3: créez un essentiel public et intégrez le gist comme vous intégrez toujours gists sur WordPress, à savoir., allez dans L'éditeur HTML et ajoutez comme ceci:
[gist gist_url]
Je l'ai effectivement mis en œuvre sur mon blog. Vous pouvez trouver le poste ici
Sur CoCalc Vous pouvez télécharger votre fichier ipynb et collaborer avec d'autres en temps réel. Il existe également un moyen de publier les fichiers en tant que fichiers HTML statiques, mais vous pouvez aussi inviter les membres de votre équipe à votre projet et travailler sur le fichier pendant qu'ils observent ce qui se passe. Il y a aussi un side-chat pour parler du contenu.
Une autre façon d'atteindre cet objectif serait d'utiliser JupyterHub .
Avec JupyterHub, vous pouvez créer un Hub multi-utilisateurs qui génère, gère et proxy plusieurs instances du serveur Jupyter notebook mono-utilisateur. En raison de sa flexibilité et de ses options de personnalisation, JupyterHub peut être utilisé pour servir des ordinateurs portables à une classe d'étudiants, à un groupe de science des données d'entreprise ou à un groupe de recherche scientifique.
Www.zepl.com est un hub pour ordinateur portable data science. (avertissement. Je suis co-fondateur de ZEPL) Vous pouvez connecter votre Github ou S3 avec .fichiers ipynb, et get
- contrôle D'accès du bloc-notes (publication d'url en lecture seule)
- Ordinateurs portables synchronisés automatiquement depuis Github / S3 (rafraîchissement)
- Rapport looknfeel (pour les personnes non techniques)
- équipe et espace de travail pour organiser le partage (partager en toute sécurité dans l'équipe)
- Commentaires sur les cellules
- les deux Jupyter notebook et Support du format portable Zeppelin
Si cela ne vous dérange pas de partager publiquement, vous pouvez utiliser visionneuse D'Ordinateur Portable.
Juste télécharger ordinateur portable, cliquez sur convertir, et partager URL.
Notez que les ordinateurs portables durent 7 jours avant d'être supprimés.