JupyterHub: Downloading and uploading files

Uploading and downloading individual files from a JupyterHub is straightforward, but the process for multiple files is trickier. We'll go over a few examples here.

Download a file, upload a file

To download a file to your local computer, right-click on the file in the JupyterHub File Browser and select Download, as shown in Figure 1 below.

To upload a file from your local computer to the JupyterHub, click on the upload button at the top of the JupyterHub File Browser, as shown in Figure 2 below.

A problem and a solution

Problem: The examples above only work for individual files. What if you want to download or upload multiple files?

Solution: Group files into a directory and create an archive file, such as a zip file or tarball, then download/upload the archive file.

In the examples that follow, we'll use zip files; while they don't offer the best compression, they're well-supported across Linux, macOS, and Windows.

Download a directory

On the JupyterHub, open a terminal. Locate the directory you want to download. For example, I'd like to download a directory called tmp. Zip it up:

$ zip -rT tmp.zip tmp

then use the instructions above to download the file tmp.zip to your local computer.

To unpack the zip file on your local computer, you can either double click on it in your operating system's file manager, or you can use unzip it in a terminal:

$ unzip tmp.zip

Upload a directory

On your local machine, find the directory of files you'd like to upload. Zip the directory, either with your operating system's file manager or with the zip command in a terminal, as above. Use the upload instructions above. On the JupyterHub, open a terminal and unzip the file.