Home

JuliaBox

Overview

Run Julia from your browser without installation

JuliaBox lets data scientists, quants and strats run Julia in Jupyter notebooks right in the browser. JuliaBox is the number one choice for universities teaching Julia since students can start using Julia in seconds with no installation required

Getting started

Juliabox is accessible using your favourite web browser. Navigate to https://www.juliabox.com, and securely log in using your preferred credentials (Github, Google, or LinkedIn). Once logged in, you are presented with the traditonal Jupyter notebook interface. This allows you to execute existing notebooks, create new notebooks, or upload new notebooks from your desktop on to JuliaBox.

All users also have a tutorial folder available to them. Inside this folder is a series of notebooks that will teach your the basics of the Julia language and some of its popular packages. Additionally, there are notebooks that demonstrate the use of distributed computing using Juliabox.

Packages

Julia comes installed with over one hundred of the most popular packages including libraries for plotting, statistics and machine learning. The list of pre-built packages can be seen by clicking the Packages button on the top of the screen once you log on to Juliabox.

Installing packages

Julia 1.0

Package operations can be done directly from the notebook in julia 1.0. To install a package:

using Pkg

Pkg.add("MyPackage")

Julia 0.6

To install additional packages, click the Packages button, and select the Yours tab. In the text box, start typing the name of the package you need, and click on the full name as it appears via auto-completion. Then click the button to add the package to the candidate list. Repeat for all the top-level packages you require (dependencies are installed automatically). Finally, click the Start button to begin the installation process, and then go grab a coffee.

We do not allow direct Pkg operations on Juliabox. Also, you will not be able to install any of the pre-installed packages in order to prevent conflicts.

Reset Packages

Julia 1.0

Since package operations can be done directly from the notebook in julia 1.0 you can delete your packages using Pkg.rm:

using Pkg

for p in keys(Pkg.installed())
    Pkg.rm(p)
end

Julia 0.6

When the set of built in packages in Juliabox changes, any additional packages that are installed by the user might become stale. This can manifest as Kernel Died messages in the notebook, or other unexplained errors. If that happens, the simplest resolution is to Reset the package system. This will remove any user-installed packages, and return the Juliabo environment to a pristine state. Once this is done, users can install additional packages once again.

To reset your packages, click on Packages button, and select the Yours tab. Then click the Reset button to remove all user installed packages.

Git Sync

Click the Git button to set up the syncing of files from a git repository. You'll need to enter the url for the repository, a branch to pull, and the local folder name to use. The url must end in a .git. Once the initial pull happens, you can sync changes with the remote repo. Note however that we have no conflict management system, and hence if you have both remote and local changes, the effects may be confusing.

Google Drive Sync

Click the Google Drive button to sync files from your Google Drive account. You will be asked to allow Juliabox access to your Google Drive files. After the initial pull, you can choose subsequent syncs to be local priority or remote priority. If a file is modified locally and remotely at the same time, then the former will keep the local changes and discard the remote changes, while the latter will keep the remote changes and discard the local changes. In both cases, files modified (or added or deleted) on one side will be synced to the other side.

Notebook resources

Click the "Customize" button before launching your notebook to edit the CPU and memory resources that will be allocated to your Jupyter instance. The Customize interface also lets you add workers to your jupyter instance after it has been launched. To read more about this see the distributed computing section.

GPU

GPU instances are made available for users with a paid subscription. Click on the "Launch with GPU" button to launch a Jupyter instance on a machine equipped with a Nvidia k80. Some packages such as TensorFlow.jl, Flux.jl and CuArrays.jl are pre-bundled.

Autograder

Classes using Juliabox Silver/Gold can use this feature to grade assignments. Please contact juliabox@juliacomputing.com to setup grader.

Resources