This guide will help you set up a complete development environment on macOS. We'll install all the necessary tools for Python development, AI model integration, and containerisation.
- macOS 10.15 (Catalina) or later
- Administrator access to your computer
- Stable internet connection
- At least 10 GB of free disk space (for AI models: ~1.3 GB for Ollama's llama3.2:1b, plus Docker images and dependencies)
Visual Studio Code is our recommended code editor with excellent support for Python, Jupyter notebooks, and development workflows.
- Go to https://code.visualstudio.com/
- Click "Download for Mac"
- Open the downloaded
.zipfile - Drag
Visual Studio Codeto yourApplicationsfolder - Launch VS Code from Applications
Open Terminal (Cmd + Space, type "Terminal", press Enter) and run:
code --versionIf the command is not found, open VS Code, press Cmd + Shift + P, type "Shell Command: Install 'code' command in PATH", and select it.
Homebrew is the missing package manager for macOS that we'll use to install development tools.
Open Terminal and run:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Follow the on-screen instructions. You may need to add Homebrew to your PATH:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"brew --versionShould show Homebrew version information.
- Go to https://github.com
- Click "Sign up" and create your account
- Verify your email address
brew install gitgit config --global user.name "Your Name"
git config --global user.email "your.email@example.com"For secure authentication with GitHub, setting up SSH keys is recommended:
# Generate SSH key (press Enter for default location, optionally set a passphrase)
ssh-keygen -t ed25519 -C "your.email@example.com"
# Start SSH agent and add your key
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# Display your public key to copy to GitHub
cat ~/.ssh/id_ed25519.pubCopy the output and add it to your GitHub account:
- Go to GitHub.com → Settings → SSH and GPG keys
- Click "New SSH key"
- Paste your public key
For detailed instructions, visit: https://docs.github.com/en/authentication/connecting-to-github-with-ssh
git --versionShould show Git version information.
We'll install Python 3.11 alongside your existing Python installation using Homebrew.
# Install Python 3.11 (this will not interfere with system Python)
brew install python@3.11Note: Homebrew installs Python 3.11 alongside your system Python without replacing it. Your system Python remains accessible as python3, while the new installation is available as python3.11.
python3.11 --version # Should show Python 3.11.x
python3 --version # Shows your system Python versionTo use Python 3.11 specifically:
- Use
python3.11command directly - Or create an alias:
alias python311="python3.11" - UV will automatically find and use Python 3.11 when specified
To remove Python 3.11 if no longer needed:
brew uninstall python@3.11Your system Python will remain unaffected.
# Navigate to your home directory
cd ~
# Create an aisc workspace directory
mkdir aisc
cd aisc
# Clone the repository
git clone https://github.com/aihpi/workshop-getting-started.git
cd workshop-getting-started# Open the project in VS Code
code .VS Code should open with the project loaded.
UV is a fast Python package manager that we'll use for environment management.
curl -LsSf https://astral.sh/uv/install.sh | shRestart your terminal.
uv --versionShould show UV version information.
We'll install Jupyter using UV to manage our notebook environment.
In your project directory (~/aisc/workshop-getting-started):
cd ~/aisc/workshop-getting-started
# Create a virtual environment with Python 3.11
uv venv --python python3.11 .venv
# Activate the environment
source .venv/bin/activate
# Install Jupyter and project dependencies
uv syncjupyter --versionShould show Jupyter version information.
- In VS Code, open
03_workshop/00_overview.ipynb - VS Code might prompt to install the Python extension - click "Install"
- Select the Python interpreter from your virtual environment (should show
.venvin the path)- If VS Code does not find the interpreter automatically:
- Press
Cmd+Shift+Pto open the command palette - Type "Python: Select Interpreter" and select it
- Click "Enter interpreter path..."
- Paste the following path and press Enter:
.venv/bin/python - Reload the VS Code window (
Cmd+Shift+P→ "Developer: Reload Window")
- Press
- If VS Code does not find the interpreter automatically:
- Try running a cell in the notebook - if prompted, select "Python Environments" and choose the
.venvinterpreter
Docker Desktop provides containerisation capabilities for macOS.
- Go to https://www.docker.com/products/docker-desktop/
- Download Docker Desktop for Mac (choose the version for your chip: Intel or Apple Silicon)
- Open the downloaded
.dmgfile - Drag Docker to your Applications folder
- Launch Docker Desktop from Applications
- Follow the setup wizard
In Terminal:
docker --version
docker compose versionBoth should show version information.
This step starts all services (frontend, backend, and Ollama) and downloads the AI model for the first time.
In your terminal:
# Make sure you're in the project root
cd ~/aisc/workshop-getting-started
# Start all services and download the AI model (first-time setup only)
./run.shImportant: The first time you run this, the script will automatically download the AI model (llama3.2:1b, approximately 1.3GB). This is a one-time process that may take 5-15 minutes depending on your internet connection. The script will show progress as it downloads.
- Wait for the model download to complete (you'll see "All services ready!" message)
- Open your web browser
- Go to
http://localhost:3000- you should see the chatbot frontend - Wait for the "Backend Connected" status
- Try sending a message to test the complete setup (e.g., "What's the capital of France?")
- Go to
http://localhost:8000/docs- you should see the API documentation
Note: If you see "Backend Disconnected" or chat errors, ensure the model download completed successfully. You can check available models with docker compose exec workshop-ollama ollama list.
To stop all services, press Ctrl+C in the terminal running ./run.sh, or open a new terminal and run:
docker compose downTo start the services again later, run ./run.sh again — it will detect that the model is already downloaded and skip straight to starting the services. Alternatively, you can run docker compose up -d to start services silently in the background.
You've successfully set up a complete development environment on macOS! You now have:
- ✅ Visual Studio Code
- ✅ Homebrew package manager
- ✅ GitHub account and Git configuration
- ✅ Python 3.11 with UV package management
- ✅ Jupyter notebook environment
- ✅ Docker Desktop
- ✅ Ollama AI model server
- ✅ A working chatbot application
Continue with the learning notebooks in the 03_workshop directory:
- Start with 00_overview.ipynb
- Progress through the numbered notebooks
- Experiment with the example chatbot application
- Try cloning and working with other repositories
Homebrew installation fails: Ensure you have Xcode Command Line Tools installed: xcode-select --install
Python command not found: Make sure you've added Python to your PATH and restarted your terminal.
Docker commands fail: Make sure Docker Desktop is running.
Ollama model download is slow: The initial model download can take time depending on your internet connection.
VS Code can't find Python interpreter: Ensure you've activated your virtual environment and selected the correct interpreter in VS Code.
Permission denied errors: You might need to use sudo for some installations, but try without it first.
Backend shows "Disconnected" in frontend: Wait 1-2 minutes for Ollama to fully start and download the model. Check progress with docker compose logs ollama.
For more help, check the individual notebook tutorials or consult the documentation links in each section.

