Pre-event Materials

Intro and Preparation for Oceanhackweek

Overview

Teaching: 15 min
Exercises: 0 min
Questions
  • Will my laptop work for this hackathon?

  • What version of Python should I install?

  • What tools do I need to participate?

Objectives
  • Getting participants ready for running code in the cloud and on their local machines during the hackweek

This preliminary tutorial is one that we would like you to complete before arriving at Oceanhackweek. The purpose is to learn about the minimum system requirement for the Oceanhackweek, install the necessary software used during the week, and hopefully answer any other technical question about your computer setup. Our goal is to have everyone up-and-running prior to the event so we can focus our time more productively when you arrive in person.

Python Version

We will be using Python 3 only during the hackweek. We encouraged participants who come from Python 2 to start reviewing the new syntax of Python 3. See here for more details.

Overview

Python software is distributed as a series of libraries that are called within your code to perform certain tasks. There are many different collections, or distributions of Python software. Generally you install a specific distribution of Python and then add additional libraries as you need them. There are also several different versions of Python. The two main versions right now are 2.7 and 3.7. During the hackweek we will be using Python 3.7 for the tutorials, and encouraging participants to do so.

So even though Python is one of the most adaptable, easy-to-use software systems, you can see there are still complexities to work out and potential challenges when delivering content to a large group. Therefore we have a number of different ways that we are trying to simplify this process to maximize your learning during Oceanhackweek.

We will be using http://ocean.pangeo.io. Pangeo is a JupyterHub-like implementation for the for ocean, atmospheric, and climate research community. A Jupyter Notebook is an open-source web application that allows users to create and share documents containing live code, equations, visualizations, and markdown texts. Here’s a overview on JupyterHub.

We also provide instructions for using Miniconda, which is our recommended Python distribution. We can assist in setting up “conda” environments that will simplify the gathering of Python libraries and version specific to the tutorial you are working on.

Getting set up with Conda

Conda is an open source package and environment management system for python libraries. We will be using various Python libraries with multiple dependencies, so it is critical that you have some sort of package management system in place. Conda can be installed in almost any computer. The advantage of conda compared to pip is that it has a built in environment management system as well as the management of binaries, and non-python dependencies.

Here are the system requirements:

NOTE: You do not need administrative or root permissions to install conda if you select a user-writable install location.

Click here to start our Conda tutorial. Let us know if on Slack you are having problems with installing Conda.

Brushing up on Python

Given all the heavy use of python during the oceanhackweek, we will not be able to provide instruction in Python fundamentals. Here are some excellent resources we recommend using to brush up on your Python skills in advance of our event:

Getting setup with Git and Github

Be sure to arrive at Oceanhackweek with your own GitHub account.

Git Installation

Getting started with Bash

During the hackweek it will be useful to know how to navigate between files from the command line. If you are not familiar with the unix shell commands you can review the first three sections of this Software Carpentry Shell Novice lesson. On Windows, use the Git Bash terminal to run these commands.

Command line editor

When working on the command line, it is often handy to modify file content directly from there. For that you can use a command line editor such as nano. On Mac and Linux it is usually pre-installed, but for Windows you can follow the instructions in this link to set it up.

Key Points