Juno is a complete Jupyter development environment for iOS — which means it doesn’t need a server, since it runs code in your Jupyter notebooks locally, right on your iPad or iPhone. Juno Connect, on the other hand, is a Jupyter client for iOS — it lets you use same notebook editor you would find in Juno, but instead of running code on device it will use a remote Jupyter server (or cloud-computing service) as a computational backend.
Since Juno doesn’t need a server to run, it is more deeply integrated into iOS, allowing you to open Jupyter notebooks from other apps, and even edit them “in-place”, with all changes saved in the original location.
Juno Connect, being a client, connects to a remote Jupyter server instead (or cloud-computing service, such as CoCalc or Azure Notebooks), giving you access to virtually unlimited computational resources of the server you are using as a backend.
Juno currently ships with Python 3.6.6 kernel and following packages pre-installed:
You can also install any additional packages, as long as they are pure Python ones:
Juno Connect is a client, so you can use all kernels and packages available on the Jupyter server you are connecting to.
You can either access your Jupyter server directly over HTTP/HTTPS, or by establishing an SSH tunnel with port forwarding. See these guides on how to configure your server and connect to it from your iPad or iPhone:
Alternatively, if you don’t want to go through the hassle of configuring your own server, you could use one of cloud-computing services that are based on Jupyter, such as CoCalc, Azure Notebooks or Binder.
Unfortunately, Google Colaboratory is not supported in Juno Connect (yet). Meanwhile, it wouldn’t hurt to ping them through customer support, so that they know there is interest in Juno Connect integration. 😉
Juno Connect doesn’t support any JupyterLab specific features yet; however, all JupyterLab servers also include “classic” Jupyter Notebook as a fallback option, which Juno Connect works with perfectly. JupyterLab servers should be detected automatically in Juno Connect, redirecting to this “classic” interface — if your server keeps loading JupyterLab, try appending
/tree to your JupyterLab server URL.
Notebook editor in Juno and Juno Connect responds to default Jupyter shortcuts on your hardware keyboard, and also allows configuring an additional binding to
Option key, which will duplicate
Esc key and will let you enter command mode, for instance.
Juno apps are not open-source (yet), but we fully recognize the importance of open-source software. That’s why each month we donate 10% of our App Store sales proceeds to various open-source projects, which made Juno apps possible in the first place — such as Jupyter. We hope that this (small) contribution will nevertheless prove valuable to each project we support!
Please, report all defects and feature requests in the issue tracker: Juno Issue Tracker.