Getting Started on Saturn Cloud

Use our quick guide to get started on Saturn Cloud. For full documentation and resources, click here.

Requirements

Make sure you’re logged into the Saturn Cloud workspace. If you’re not yet signed up, try Saturn Cloud for free.

Choose a name, how much disk space you need, how much ram/cpu/gpu you want and hit Create. The Auto Shutoff parameter turns off Jupyter after your browser has disconnected. Depending on cluster resources, Your Jupyter instance should be ready in 1-10 minutes.

Managing Jupyter

On the Jupyter page we display all Jupyters that you have. There are links here that will take you to your Jupyter Notebook, as well as your Jupyter Lab.

The dash has a few buttons, from left to right, Trash, Stop, Edit, and Play. Play starts Jupyter, Stop stops Jupyter. Trash icon deletes Jupyter (this also deletes all data that you have stored on the machines SSD).

Editing Jupyter Parameters

After you’ve created a Jupyter, you might want to modify it. You can do this by clicking the edit button.

You can change the auto-shutoff policy, the size of the node, as well as the build configuration. For more information on building Jupyter environments, please review the documentation on Jupyter environments


Requirements

Go to the Dask tab in the dashboard.

 

Specify the name of the cluster and select a running instance to create it in as well as number of Dask workers and click Create.

Now that Dask cluster finished creating it is possible to connect to it from your Jupyter notebook using its IP address from the Scheduler Url which in this case is 172.20.109.182:8786

Now you can normally use Dask!

Note:  We currently do not have network policies in place to prevent a user from accessing another user’s dask cluster.  This is mitigated in our enterprise product since it is only accessible inside your EKS cluster, and only people with Saturn accounts at your company can access your EKS clusters.  This will be addressed in a future release.

 

Publishing allows you to share your code, notebooks, dashboards, and data with your peers, or the entire world. Published content can be unlisted or public. Unlisted notebooks are hidden from search engines and your homepage, but visible to anyone who has the link. Public notebooks will be listed on your profile, and visible to search engines.

Step 1. Create some content

Create a directory, and add some Python code or notebooks to it. We recommend you use JupyterLab, rather than the notebook, it makes it easier to do things like work with files and create directories. You can access JuptyerLab here, after you’ve started a server

In JupyterLab, it’s easy to create a folder.

Afterwards, you can rename it to whatever you would like

Step 2. Publish the content

Open a terminal in Jupyter Lab

In that terminal, execute the following command:

$ publish ~/project

After you finish, you should see the notebooks you published appear on the left, if you reload this page

Click on this link to finish publishing

Step 3. Finish Publishing

When you click on the name of your published notebooks, You can configure how it gets published.

Here you can edit the title, description, whether the notebooks should be secret, and whether you will allow others to execute your notebook. Non-enterprise users will be charged for associated compute costs.

If notebooks aren’t secret, they’ll be listed in your gallery, and they’ll have easy to remember URLs. If your notebooks are secret, they won’t be listed in your gallery, but anyone who has a link to the notebooks can view them. The link will look something like:

https://saturncloud.io/privpub/hugo/c85ca8d3b91d4e4d9ff5f62795f5a78b

There is also a link here, so you can access the public view of your notebooks

Published notebooks, look like this!

If you’ve selected to allow others to run your notebook on your behalf. the “Run in Saturn” Button will appear. Clicking on that button, takes viewers to a live running copy of your notebooks!

Modifying your notebook environment

You have root access on the machine, so you can install anything you want using sudo. However, your machine is built from a Docker image. Any libraries you install will be lost the next time you startup. For more permanent changes, we recommend customizing the underlying docker image.

When creating a Jupyter instance or editing one, there is a Building Images section that allows users to customize their Python and Linux environment. We minimize it by default.

Clicking on the bar, expands the building images form.

 

Here you can customize your Python and Linux environment (and soon, R, and Julia). Choose the appropriate option from the select box, and paste in an environment.yaml or a requirements.txt. In addition, if you want additional apt-get linux packages, you can type them into the apt-txt option. Currently mixing environment.yaml and requirements.txt is not supported. The build can take a while (up to 10 minutes)

As a starting point, this is the environment.yml that generates the default environment available in Saturn. Feel free to use this as a reference for your own environments.

channels: - https://conda.saturncloud.io/pkgs - pytorch - defaults dependencies: - blas=*=mkl - nodejs=10.13.0 - python=3.7 - numpy=1.16.4 - pandas=0.24.2 - ipywidgets=7.2* - numexpr - matplotlib - scipy - seaborn - scikit-learn - scikit-image - sympy - cython - patsy - statsmodels - cloudpickle - dill - numba - bokeh - sqlalchemy - hdf5 - h5py - vincent - beautifulsoup4 - protobuf - xlrd - ipykernel - dask=2.8.1 - lz4 - graphviz - s3fs - dash - dash-bootstrap-components - dash-core-components - dash-daq - dash-html-components - dash-renderer - dash-table - pip - s3fs - nltk - gensim - wordcloud - pytorch-cpu - torchvision-cpu - tensorflow=1.14.0=mkl_py37h45c423b_0 - cvxpy - keras - pip:   - tweepy   - geopandas==0.5.1   - descartes==1.1.0   - pyproj==2.2.1 name: saturn

Conda

Our base environment is created using Conda. We install Jupyter into /srv/conda, and the kernel into /srv/conda/envs/saturn. This kernel should be the default in the notebook.

The first time you use the JupyterLab terminal, you may need to set up conda command line interface. You can do so with the following commands.
conda init bash

After that, you can activate the Saturn environment
conda activate saturn

You can also use conda to create a python environment inside your home directory. Assuming you know which packages you want, you can execute the following command. Please make sure to add the ipykernel package.

$ conda create -p /home/jovyan/myenv numpy pandas matplotlib ipykernel=

If you have an environment.yaml file – you can use that as well! Just make sure you add ipykernel to the list of packages.

$ conda env create -p /home/jovyan/myenv --file env.yaml

After your environment is created, you can register it with jupyter

$ python -m ipykernel install --user --name myenv

Ready to get started?