Setup Guide

Published

September 3, 2026

ImportantAlert!

The instructions might change, please check this page shortly before the school begins.

TipIn a hurry? You can skip most of this

The notebooks run unchanged in Google Colab, on the school JupyterHub, and on your own machine — see Materials. If you only ever use Colab you need nothing on this page except a Google account, and Claude Code if you want coding help. Installing locally is still worth it: it is what you will use after the school.

Python

Install Python (3.10+), follow guidance on the official website or use your system’s package manager.

Git

Install Git, on Windows foolow this guide, on MacOS this one and on Linux you probably already have it and presumably know what you are doing.

IDE

Install and use an IDE of your choice, preferably Zed or VSCode.

Zed

Zed is a fast, open-source editor with a built-in AI agent, so you don’t need to install any extension to get coding assistance. We will use it during the school together with the API key you will be given, see Agent Integration below.

Download the installer from the download page, or run in PowerShell:

winget install -e --id ZedIndustries.Zed

Download from the download page, or run in Terminal:

curl -f https://zed.dev/install.sh | sh

Run in a terminal:

curl -f https://zed.dev/install.sh | sh

Your distribution may also package Zed, in which case feel free to use your package manager.

Zed keeps itself up to date, so you only need to do this once.

Agent Integration

During the school you will be granted access to LLM Agent via OpenRouter to support you in coding. OpenRouter is a gateway that gives you access to many models (Claude, GPT, Gemini, open-weight models, …) through a single API key – the one you will receive at the start of the school.

Note

If you already use a different coding assistant or have a Claude subscription, you can use your own settings, we do not require you to use this.

Add your API key to Zed

This is the recommended way – the key is stored in your system keychain and survives restarts.

  1. Open the settings from the menu: Zed > Open Settings (ctrl-,, on macOS cmd-,).

    Zed menu with the Open Settings item

  2. Pick AI in the left sidebar, and under General click Configure next to LLM Providers.

    AI section of Zed settings with the LLM Providers row

  3. Scroll down to the OpenRouter section and paste the key you were given into the API Key field, then confirm with enter.

    OpenRouter provider with the API Key field

Once the key is accepted, OpenRouter models show up in the model selector in the agent panel.

Instead of pasting the key into the settings, you can set the OPENROUTER_API_KEY environment variable – Zed reads it from the environment it was started in, so you have to restart Zed for it to take effect.

setx OPENROUTER_API_KEY "sk-or-v1-REPLACE-ME"

setx stores the variable permanently, but it only applies to programs started after you run it.

export OPENROUTER_API_KEY="sk-or-v1-REPLACE-ME"

This is not permanent – it only applies to the current terminal session, so start Zed from that same terminal (zed .), or add the line to your ~/.zshrc.

export OPENROUTER_API_KEY="sk-or-v1-REPLACE-ME"

This is not permanent – it only applies to the current terminal session, so start Zed from that same terminal (zed .), or add the line to your ~/.bashrc.

Using the agent in Zed

  • Agent panel – click the ✨ icon in the status bar, or run agent: new thread from the command palette. This is the chat-style assistant that can read and edit files in your project.
  • Pick a model – use the model selector above the message box, or cmd-alt-/ (macOS) / ctrl-alt-/ (Windows/Linux). With the school key, only GLM 5.3 Flash and DeepSeek V4.1 Flash are available.
  • Inline assist – press ctrl-enter in the editor or terminal to ask for a change right where your cursor is; select a block of code first to have it rewritten.
Tip

If you want to set a default model, so you don’t have to pick it in every new thread, you can edit Zed’s settings.json directly – Zed > Open Settings File (ctrl-alt-,, on macOS cmd-alt-,):

{
  "agent": {
    "default_model": {
      "provider": "openrouter",
      "model": "deepseek/deepseek-v4.1-flash"
    }
  }
}

The other available model is GLM 5.3 Flash – you can copy its exact identifier from the model selector or from the OpenRouter models page.

ImportantAttention
  • Never share your key or commit it to a repository.
  • The key is time-limited, has a spending limit, and will stop working after the school.
  • Only two models are available to you: GLM 5.3 Flash and DeepSeek V4.1 Flash.
  • Never put personal data or non-public information into the agent – whatever you send goes to a third-party service.

Docker or Podman

Install Docker or Podman:

Follow official documentation here. On Windows, Docker is probably easier to install.

Documentation here.

Accounts

You might need a Google account (to access Google Colab) and a HuggingFace account.

Course materials and Python packages

Once Python and Git are in place, clone the lessons repository — the notebooks and exercises live there, separately from this website — and install the packages they need:

git clone https://github.com/arubrno/atrium-school-ml-lessons.git
cd atrium-school-ml-lessons
python -m venv .venv

Then, activate the environment (.venv\Scripts\activate on Windows, source .venv/bin/activate on macOS and Linux) and install:

pip install -r requirements.txt --index-url https://download.pytorch.org/whl/cpu --extra-index-url https://pypi.org/simple
ImportantUse the CPU index for PyTorch

That --index-url matters. A plain pip install torch downloads the CUDA runtime — around 2.5 GB — even on a laptop with no NVIDIA graphics card. With the CPU index the whole install finishes in well under a minute, and everything we do this week should run on a CPU.

TipDatasets come later

Do not try to download the case-study data now. It is not in the repository — some of it is several gigabytes, and some cannot be redistributed. Each notebook fetches what it needs, and caches it so it downloads only once.

Each notebook’s first cell then finds this repository around it and installs nothing further.

If none of this works on your machine, do not worry — the same notebooks run in Google Colab (one click, nothing to install) and on a JupyterHub we will give you access to on the first day.