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 servers run the Ubuntu operating system and you can use
common Unix commands: for example, make directories with
mkdir and move and
copy files with
cp. To see where you are print the working
pwd. To create your own directory and move into it:
$ pwd /project $ mkdir yourname $ cd yourname $ pwd /project/yourname
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:
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
cd to change directory to where you would like to clone the
$ cd mydirectory
Clone the repository with
git clone and change into the new directory to
edit the files:
$ git clone https://github.com/ASIDataScience/training-neural-networks-notebook.git $ 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.