10
$\begingroup$

I would like to share a Jupyter Notebook with somebody who is not a programmer (via a URL).

I understand that I must publish my work to GitHub and then use http://nbviewer.jupyter.org/ to render the notebook. However, I don't know how to correctly publish my .ipynb file into Github.

$\endgroup$
  • 1
    $\begingroup$ You can also use colab service for sharing a notebook. $\endgroup$ – Media May 19 '18 at 21:30
  • 2
    $\begingroup$ you could export it as an html and send it if they do not need to run anything... yall probably know this. $\endgroup$ – Pavel Savine May 19 '18 at 21:51
  • 2
    $\begingroup$ or you can convert your notebooks to various other extensions like .pdf, .md, .py, .html etc.. $\endgroup$ – Aditya May 20 '18 at 4:36
  • $\begingroup$ help.github.com/articles/… $\endgroup$ – TwinPenguins May 20 '18 at 8:51
6
$\begingroup$

GitHub has built in support for showing a notebook. You will just need to run the notebook yourself, then upload the file to Github like all other file types.

Your viewer will be able to see your notebook without any installation.

| improve this answer | |
$\endgroup$
  • 1
    $\begingroup$ Sometimes Github has a lot of problems rendering the notebooks, especially when their size grows. I'd look for a more stable solution. $\endgroup$ – 89f3a1c Nov 2 '19 at 12:49
6
$\begingroup$

There is an option to convert the notebook to HTML. If the non programmer just have to view the notebook, do that then upload it in google drive or any website or you can share it even through mail. I do this every time when I want to present using a Jupyter notebook so that it will be supported on any system.

| improve this answer | |
$\endgroup$
2
$\begingroup$

Export as HTML is probably the best option. All the graphics are embedded in the HTML file and anyone can view it in a browser pretty easily just by clicking on the file.

| improve this answer | |
$\endgroup$
1
$\begingroup$

There are quite a few ways depending on your needs (security, simplicity, price, etc).

GitHub is a good one. I found this tutorial helpful.

In college, we used Gryd which is pretty easy.

This reddit post recommends Binder, Coclac and Google Colab.

Big cloud providers like Amazon, Google, and Microsoft also offer their own ways to share, but they have some limitations (which may not apply to you) around runtime, preserving env, etc

| improve this answer | |
$\endgroup$
1
$\begingroup$

If you want to share your Juptyer / IPython notebooks online, try using jovian.ml . It's a platform for sharing on collaborating on Jupyter notebooks, and it's really easy to use.

Step 1: Install the Jovian python library

pip install jovian

Step 2: Import the library inside your Jupyter / IPython notebook

import jovian

Step 3: Upload the notebook to your Jovian account by running

jovian.commit()

inside the Jupyter notebook. This will capture the Juptyer notebook (and also the Python libraries required to run it), and upload it your account, giving you shareable link. Here's an example: https://www.jovian.ml/aakashns/jovian-tutorial

Viewers can also run your notebook on cloud platforms like Google Colab, BinderHub and Kaggle with a single click.

| improve this answer | |
$\endgroup$
0
$\begingroup$

If you want to run notebook/lab everywhere and simply share a rendered .ipynb via URL you may want to take a look at neptune-notebooks extension. It's a tool for tracking/sharing machine learning and data science work.

Basically you would:

1. Install extension

pip install neptune-notebooks
jupyter nbextension enable --py neptune-notebooks

2. Connect to your account and click Upload

enter image description here

3. Share with anyone via a (persistent) URL

Here is a notebook example notebook.

4. That's it!

Link to the docs if you are interested.

| improve this answer | |
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.