This is where the magic happens. Your home for data science. The workspace is your team’s shared file system - where your scripts and notebooks live and where you will work most of the time.

From the workspace you can create Jupyter notebooks and open terminals to interact with the server your code is running on. Your workspace is completely decoupled from your datasets and servers, meaning your code, data and computing power can each be managed separately.

Workflow for data science

The workspace is shared by data scientists on the project and flexible to how your team wants to work. We have seen a lot of value from each data scientist having their own directory in which to work - this gives maximum freedom while still being able to see and interact with work done by others in the team.


In your workspace you can open a terminal to interact with any server you have running. SherlockML server run the Ubuntu Linux operating system and you can use common Unix commands: for example, make directories with mkdir and move and copy files with mv and cp. To see where you are print the working directory with pwd. To create your own directory and move into it:

$ pwd
$ mkdir yourname
$ cd yourname
$ pwd

The dollar sign is the standard shell prompt. Lines with a dollar sign show text you need to type. Lines without a dollar sign shows what the shell will print out. When you first open a terminal the prompt will look something like:

(Python3) /project$

This has two useful bits of information. First is your environment, shown in brackets:


Second is your current location in the file system. At the root of the workspace this will be:


Finding your workspace

When you open a terminal, your initial location is /project. This is the directory (along with every sub-directory) that’s shared with everyone else in your project. Any files that you place in there will be visible to other members of your project.

If you’re ever lost, you can go back to the root of your workspace by typing:

$ cd /project

We encourage you to do all your work in /project (or a sub-directory). However, if you want to store configuration files or secrets, you can store these in your home directory, which is located at /home/sherlock. This is private to you, and it persists between servers and projects. Read Your home directory for more information.

Using version control

Your workspace is a file system, like you are familiar with from your local machine. This means you can, for example, clone code repositories into it as usual. For example, if your team uses Git, each data scientist could clone into their directory a copy of the Git repository. In your workspace open a terminal and use cd to change directory to where you would like to clone the repository:

$ cd mydirectory

Clone the repository with git clone and change into the new directory to edit the files:

$ git clone
$ cd training-neural-networks-notebook

You now have your own version of the files and can checkout branches and submit pull requests to the same repository without being in the same directory as other team members - just like if you were each working on your own local machines.