Skip to main content

Run Jupyter on Orchestra 2

Project description

PyPI version PyPI pyversions PyPI license

Jupyter-O2 is a command-line tool that remotely runs Jupyter on Orchestra 2 (O2), an HPC cluster managed by the HMS Research Computing group.


First, follow the O2 wiki’s procedure to set up Jupyter for your account on O2. (If you have already installed Jupyter on O2, you can skip this step.)

Next, on your local machine:

Install Jupyter-O2.

pip install jupyter-o2

Then, generate the config file.

jupyter-o2 --generate-config

Follow the printed path to jupyter-o2.cfg and edit according to its instructions, particularly the DEFAULT_USER and INIT_JUPYTER_COMMANDS fields. You may copy this file to any of the locations listed by jupyter-o2 --paths if you wish.

Make sure you have X11 forwarding active (install XQuartz if on a Mac).

For more info on setting up Jupyter and troubleshooting Jupyter-O2, see the jupyter-o2 tips.


Jupyter-O2 should be run locally using the following command format:

jupyter-o2 [subcommand]

Examples: jupyter-o2 notebook or jupyter-o2 lab (try JupyterLab!)

This will automate the “Opening a Notebook” procedure on the O2 wiki.

Note that if Jupyter is installed on your machine, Jupyter-O2 can also be run as a Jupyter subcommand:

jupyter o2 lab

For info on the Jupyter-O2 command-line options, use jupyter-o2 --help.

Two-factor authentication

If you see a two-factor authentication prompt when SSH’ing into O2, you will need to tell Jupyter-O2 to request Duo pushes using the arguments --2fa --2fa-code 1.

Requirements and compatibility

  • python 3.6+
  • pexpect 4.5+
  • POSIX: Jupyter-O2 has not been tested on Windows, but it may work with Cygwin.
  • pinentry (suggested)

Changelog for Jupyter-O2

1.0.5 - 2021-06-06


  • This version removes compatibility with Python 2.7, which has not been supported since version 1.0.2.


  • Added warning message for a common error if two-factor authentication is not used


  • Fixed moving to a new jupyter port if the original port was occupied


  • Updated packaging system for PEP 517
  • Raised minimum dnspython version to 2.0

1.0.4 - 2021-02-02


  • Added option to change SLURM partition


  • #3 Improved handling of hostname decode error

1.0.2 - 2020-08-24


  • #6 Jupyter-O2 now requires only a single ssh session. The second ssh session is now disabled by default and can be re-enabled in the config file.

1.0.1 - 2020-07-14


  • #4 Improved README


  • #3 Made hostname decode error more readable
  • #5 Disabled timeout when starting interactive session

1.0.0 - 2019-05-30


  • #3 Improve exception handling
  • Fix handling of alternate ports

0.2.9 - 2018-12-04


  • #1 Initial implementation of Duo 2FA handler to address new O2 login procedures

For information about older versions, see their release notes.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for jupyter-o2, version 1.0.5
Filename, size File type Python version Upload date Hashes
Filename, size jupyter_o2-1.0.5-py2.py3-none-any.whl (21.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size jupyter-o2-1.0.5.tar.gz (26.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page