Installation instructions
Last updated on 2025-11-26 | Edit this page
To go through the course material on your own or at a workshop, you will need the following software installed and working correctly on your system:
-
Command line terminal (shell)
(such as Bash, Zsh or Git
Bash)
- Git version control tool
- Python 3
- Visual Studio Code (VS Code) integrated development environment (IDE)
You will also need to create a GitHub account if you do not have one already, make sure that you are able to log into it, and download the Spacewalks data and analysis code which we will be used for exercises in the course.
We also provide “all in one setup check” to test everything works as expected.
Command line terminal
You will need a command line terminal (also referred to as a shell) in order to run Python scripts and various command like tools (such as Git and tools that interact with your filesystem).
Git Version Control Tool
Git is a command line program that is run from within a command line terminal to provide version control for your work. Git is also used to interact with online code and project sharing platform GitHub.
Follow the installation instructions below, then proceed to test and configure Git on your machine in additional steps.
Testing Git
To test your Git installation, start your command line terminal and type:
If your Git installation is working you should see something like:
OUTPUT
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
[--config-env=<name>=<envvar>] <command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
branch List, create, or delete branches
commit Record changes to the repository
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Reset current HEAD to the specified state
switch Switch branches
tag Create, list, delete or verify a tag object signed with GPG
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
Configuring Git
When you use Git on a machine for the first time, you also need to configure a few additional things:
- your name,
- your email address (the one you used to open your GitHub account with, which will be used to identify your commits),
- preferred text editor for Git to use (e.g. Nano or another text editor of your choice),
- the default branch name to be
main(instead ofmaster) - whether you want to use these settings globally (i.e. for every Git
project on your machine) by using the
--globaloption.
This can be done from a command line terminal as follows:
GitHub account
GitHub is a free, online host for Git repositories that you will use during the course to store your work in so you will need to open a free GitHub account unless you do not already have one.
Configuring GitHub account
In order to access GitHub using Git from your machine securely, you need to set up a way of authenticating yourself with GitHub through Git. The recommended way to do that for this course is to set up SSH authentication which requires a pair of keys - one public that you upload to your GitHub account, and one private that remains on your machine.
GitHub provides full documentation and guides on how to:
If you have already configured your SSH key with GitHub - you can
skip this step (but make sure to test your setup by running
ssh -T git@github.com command from the terminal).
A short summary of the commands you need to perform is shown below.
To generate an SSH key pair, you will need to run the
ssh-keygen command line tool (included with your command
line terminal) and provide your identity for the key
pair (e.g. the email address you used to register with GitHub)
via the -C parameter as shown below.
You will then be prompted to answer a few questions - e.g. where to
save the keys on your machine and a passphrase to use to protect your
private key. Pressing ‘Enter’ on these prompts will get
ssh-keygen to use the default key location (within
.ssh folder in your home directory) and set the passphrase
to empty.
OUTPUT
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/<YOUR_USERNAME>/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/<YOUR_USERNAME>/.ssh/id_ed25519
Your public key has been saved in /Users/<YOUR_USERNAME>/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:qjhN/iO42nnYmlpink2UTzaJpP8084yx6L2iQkVKdHk your-github-email@example.com
The key's randomart image is:
+--[ED25519 256]--+
|.. .. |
| ..o A |
|. o.. |
| .o.o . |
| ..+ = B |
| .o = .. |
|o..X *. |
|++B=@.X |
|+*XOoOo+ |
+----[SHA256]-----+
Next, you need to copy your public key (not your private key
- this is important!) over to your GitHub account. The
ssh-keygen command above will let you know where your
public key is saved (the file should have the extension “.pub”), and you
can get its contents from a command line terminal as follows:
OUTPUT
ssh-ed25519 AABAC3NzaC1lZDI1NTE5AAAAICWGVRsl/pZsxx85QHLwSgJWyfMB1L8RCkEvYNkP4mZC your-github-email@example.com
Copy the line of output that starts with “ssh-ed25519” and ends with your email address (it may start with a different algorithm name based on which one you used to generate the key pair and it may have gone over multiple lines if your command line terminal window is not wide enough).
Finally, go to your GitHub Settings -> SSH and GPG keys -> Add New page to add a new SSH public key. Give your key a memorable name (e.g. the name of the computer you are working on that contains the private key counterpart), paste the public key from your clipboard into the box labelled “Key” (making sure it does not contain any line breaks), then click the “Add SSH key” button.
To test if you can successfully authenticate to GitHub using your new key pair, do:
You may be asked to add GitHub to the list of trusted hosts on your machine (say ‘yes’ to that) and then you should see a line similar to:
OUTPUT
Hi anenadic! You've successfully authenticated, but GitHub does not provide shell access.
Python 3 distribution
You will need Python 3 for this course (note that while Python 2 may work as well, it is not supported by this course). You may already have Python 3 installed on your system, in which case you do not have to do anything.
To download the latest Python distribution for your operating system, please head to Python.org. Then use an appropriate command for your platform (see below) to test your installation.
Windows users should make sure to tick the “Add python.exe to PATH” check box at the bottom of the first page of the installer wizard to make sure that Python executable is found after installation.
Testing Python 3
You can check that you have Python 3 installed correctly from the command line terminal using the command below.
BASH
$ python3 --version # on macOS/Linux
$ python --version # on Windows — Windows installation comes with a python.exe file rather than a python3.exe file
You should see something like the output below.
OUTPUT
Python 3.11.7
If you are using Windows and invoking python command
causes your Git Bash terminal to hang with no error message or output,
you may need to create an alias for the Python executable
python.exe like so:
This alias will be valid for the duration of the shell session. For a more permanent solution, from the shell do:
Visual Studio Code
We will use Microsoft Visual Studio Code (VS Code) as an Integrated Development Environment (IDE) to type and execute Python code and run command line terminal and Git commands (through its integrations with the tools we have installed separately so far).
Please make sure to download VS Code for your platform.
Extensions
Python extensions for VS Code
You will need to install the Microsoft Python extension for
Visual Studio Code (from View > Extensions
top-level menu), which provides support for Python language.
This extension will automatically install the following extensions too by default to provide the best Python development experience in VS Code:
- Pylance – performant Python language support (IntelliSense)
- Python Debugger – improved debugging experience

VS Code extensions for Git (optional)
You can optionally install the following VS Code extensions (from
View > Extensions top-level menu) to make your Git
experience in VS Code better:
- GitLens - Git Supercharged (adds a few nice additions to Git support in VS Code)
- Git Graph (provides nice graphs and visualisations of a Git repository in VS Code)

While the above extension may be very useful for your future work, we will not be using them in the course as we will type Git commands from the command line.
VS Code extensions for viewing data (optional)
You can optionally install the following extensions for additional support for viewing and editing different data formats in VS Code:
- Excel Viewer - custom editor and previewer for CSV files and Excel spreadsheets
- JSON - custom editor and previewer for JSON files

While the above extension may be very useful for your future work, we will not be using them in the course and the default support for these data formats in VS Code will be sufficient.
Spacewalks data and analysis code
As part of the course, you may receive the
spacewalks.zip archive from your instructors via email,
which contains data and code to be used for examples and exercises
throughout the course. Alternatively, you can download the spacewalks.zip
archive from GitHub.
The archive contains NASA’s open data on spacewalks (i.e. extravehicular activities - EVAs) undertaken by astronauts and cosmonauts from 1965 to 2013 and a Python script to analyse and plot this data.
Save the spacewalks.zip archive to your home directory
and extract it - you should get a directory called
spacewalks.
Setup check (all in one)
Let’s check your setup now to make sure you are ready for the rest of this course.
Check your setup (5 min)
From a command line terminal on your operating system or within VS Code run the following commands to check you have installed all the tools listed in the Setup page and that are functioning correctly.
Checking the command line terminal:
$ date$ echo $SHELL$ pwd$ whoami
Checking Python:
$ python --version$ python3 --version$ which python$ which python3
Checking Git and GitHub:
$ git --help$ git config --list$ ssh -T git@github.com
Checking VS Code:
$ code$ code --list-extensions --show-versions
The expected out put of each command is:
- Today’s date
-
bashorzsh- this tells you what shell language you are using. In this course we show examples in Bash. - Your “present working directory” or the folder where your shell is running
- Your username
- In this course we are using Python 3. If
python --versiongives you Python 2.x you may have two versions of Python installed on your computer and need to be careful which one you are using. - Use this command to be certain you are using Python version 3, not 2, if you have both installed.
- The file path to where the Python version you are calling is installed.
- If you have more than one version these should be different paths, if both 5. and 6. gave the same result then 7. and 8. should match as well.
- The help message explaining how to use the
gitcommand. - You should have
user.name,user.emailandcore.editorset in your Git configuration. Check that the editor listed is one you know how to use. - This checks if you have set up your connection to GitHub correctly.
If is says
permission deniedyou may need to look at the instructions for setting up SSH keys again on the Setup page. - This should open VS Code in your current working directory. macOS users may need to first open VS Code and add it to the PATH.
- You should see the extensions for VS Code you installed during setup or previously.

