===== Jupyter =====
The School of Computer Science Jupyter server is available at https://jupyter.socs.uoguelph.ca, and is available to all SoCS students, faculty and staff. This page contains information on SoCS specific Jupyter information, including logging in, and our specific environments. For details on how to use Jupyter, please view the [[https://jupyterlab.readthedocs.io/en/latest/getting_started/overview.html|Jupyter Documentation]].
==== How to Start ====
===Logging In===
To begin, point your web browser at https://jupyter.socs.uoguelph.ca and log in with your UoG credentials.
{{:techsupport:services:jupyter_1_singin.png?400|}}
=== Choosing an Environment ===
After logging in, you will be prompted to choose an environment. Each environment contains a different set of software, tailored to specific needs. These environments are listed in more detail in the Jupyter Environments section below.
Choose your desired environment, and click Start
{{:techsupport:services:jupyter_2_serveroptions.png?600|}}
You are now logged into Jupyter and at the main menu.
=== Your Notebooks ===
Any notebooks you save in one environment are persistent on the SoCS Jupyter Server and are accessible though any of the available environments.
==== Jupyter Environments ====
=== Datascience===
This Jupyer environment includes libraries for data analysis from the Julia, Python, and R communities. Details of installed utilites can be found in the [[https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html#jupyter-datascience-notebook|Jupyter documentation]].
In addition to the default available packages, the following R libraries have been added.
* DAAG
* FactoMineR
* car
* caret
* corrplot
* dplyr
* e1071
* factoextra
* ggplot2
* ggraph
* knitr
* lubridate
* mclust
* mlbench
* mlr3
* pROC
* party
* plotly
* readr
* rpart
* rpart.plot
* shiny
* tidyr
* tidyverse
* tree
* xgboost
* xml
=== SoCS and Java ===
This environment includes the [[http://beakerx.com/|BeakerX]] collection of kernels and utilities. Included are, Python3, Clojure, Java and Kotlin.
==== Adding Libraries and Environments ====
You may want to create a separate environment that contains specific versions of packages. You can use Conda to set this up. Any environments you create will persist after logging out. To set up a basic environment open the Terminal through the Jupyter Launcher and enter one of the following.
* conda create -n my_env_name ipykernel
- create a base python environment
* conda create -n my_env_name r-ikernel
- create a base R environment
Once you have set up your environment you can view it in the list of available kernels in the Jupyter Launcher. You can add additional packages/libraries to your environment through the Terminal. For more details on managing Conda environments and packages see the following:
* [[https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html|Manage Conda Environments]]
* [[https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-pkgs.html|Manage Conda Packages]]
==== Jupyterhub Extensions ====
The following extensions have been installed and made available for the Jupyter Datascience Environment.
=== nbgitpuller ===
nbgitpuller allows you to distribute a git repository containing jupyter notebooks as a single link. For more details see: https://hub.jupyter.org/nbgitpuller/. This extension is "pull only".
=== jupyterlab-git ===
This git extension allows both push and pull operations to manage jupyter notebooks with git, however it is slightly more complex to use than nbgitpuller. Details on how to use this extension can be found here: https://github.com/jupyterlab/jupyterlab-git#readme
==== Changing your Jupyter Environment ====
If you need to change to a Jupyter different environment, you will need to stop your server and start a new one. First, click "File" and select "Hub Control Panel".
{{:techsupport:services:jupyter_3_controlpanel.png?200|}}
Then click "Stop Server". After a few seconds this page will display a "Start My Server" button. Click this, and choose your desired environment.
{{:techsupport:services:jupyter_4_stopserver.png?200|}}