Jupyter Notebook

I have been programming with python for quite some time and been using Jupyter notebook for some data science projects, I like the UI and Jupter notebook provides with a web-based interactive development environment for python notebooks, code, and data.

There are many blogs which will help you setup your notebook environment and itse really not difficult either and can be summarised in the following 4 commands

$ python -m venv jupyter

$ source jupyter/bin/activate

$ pip install jupyter

$ jupyter notebook

Recently I tried to explore more on how I can possibly start jupyter notebook on my Android Device. The command does work on Android, but it comes with caveats. Here is somewhat quick detailed post on setting up Jupyter Notebook on Android Phone/Tablet.

To run jupyter notebook, we require a working python development environment on Android.

There are many ways to do this. I choose and prefer to use Termux App.

Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically – additional packages are available using the APT package manager.

– https://termux.com

I have taken this install instruction from the stackoverflow answer with my amendments to it.

  1. Install the Termux app.
  2. Open Termux, then enter/run the following commands in the prompt:
    $ apt install clang python fftw libzmq freetype libpng pkg-config libcrypt
    $ LDFLAGS="-lm -lcompiler_rt" pip install jupyterFinally, test the notebook out by running:
  3. $ jupyter notebook

When you run jupyter notebook, a notebook server starts up and dumps some information to stdout. When you see the line:

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:

copy the following URL, paste it into the browser on your device, and then hit go. You should end up with something that looks like this:

I tested these instructions out a Samsung Galaxy Tab 10 2020 (wifi) running stock Android 10 (10).


I tried to provide as much details as pososble, but in case if i missed anything please let me know in the comments.