Complete this setup before attending training.

Required Software

1. Python 3.10+

macOS:

brew install python@3.10

Windows: Download from https://python.org/downloads/

Linux:

sudo apt update && sudo apt install python3.10 python3.10-venv

Verify:

python3 --version
# Should show Python 3.10.x or higher

Download from https://code.visualstudio.com/

Recommended Extensions:

  • Python (Microsoft)
  • Pylance
  • Python Debugger

3. Docker Desktop

Download from https://docker.com/products/docker-desktop

Verify:

docker --version
docker compose version

4. ngrok

macOS:

brew install ngrok

Windows/Linux: Download from https://ngrok.com/download

Setup:

  1. Create free account at https://ngrok.com
  2. Get your authtoken from dashboard
  3. Configure ngrok:
ngrok config add-authtoken YOUR_TOKEN

Verify:

ngrok version

5. Git

macOS:

brew install git

Windows: Download from https://git-scm.com/

Verify:

git --version

Required Accounts

SignalWire Account

  1. Go to https://signalwire.com
  2. Click “Get Started Free”
  3. Complete registration
  4. Note your:
    • Space name (e.g., yourname.signalwire.com)
    • Project ID
    • API Token

ngrok Account

  1. Go to https://ngrok.com
  2. Create free account
  3. Configure authtoken (see above)
  4. Optional: Set up static domain for consistent URLs

Training Environment Setup

Create Working Directory

mkdir -p ~/signalwire-training
cd ~/signalwire-training

Create Virtual Environment

python3 -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate

Install SignalWire Agents SDK

Required version: >= 1.0.11

pip install "signalwire-agents>=1.0.11"

Verify Installation

# Check SDK imports
python -c "from signalwire_agents import AgentBase; print('SDK OK')"

# Check CLI tools
swaig-test --help
sw-agent-init --help

Create Environment File (Optional)

You can store configuration in a .env file. To use it, install python-dotenv:

pip install python-dotenv

Create .env in your working directory:

# SignalWire Credentials (for future use)
SIGNALWIRE_SPACE_NAME=your-space
SIGNALWIRE_PROJECT_ID=your-project-id
SIGNALWIRE_TOKEN=your-api-token

# Agent Authentication (SDK reads these automatically)
SWML_BASIC_AUTH_USER=signalwire
SWML_BASIC_AUTH_PASSWORD=your-secure-password

Note: The .env file is not loaded automatically. You must call load_dotenv() at the start of your agent script. See Module 1.4 for details.

Pre-Training Checklist

  • Python 3.10+ installed and working
  • VS Code installed with Python extension
  • Docker Desktop installed and running
  • ngrok installed and authenticated
  • Git installed
  • SignalWire account created
  • API credentials saved in .env
  • SDK installed and verified
  • CLI tools working

Troubleshooting

Python not found

# Try python3 instead of python
python3 --version

# Or specify full path on Windows
py -3.10 --version

pip install fails

# Upgrade pip first
pip install --upgrade pip

# Then install SDK
pip install signalwire-agents

ngrok connection issues

# Verify authtoken is set
ngrok config check

# Test tunnel
ngrok http 5000

Docker not starting

  • Ensure virtualization is enabled in BIOS
  • On Windows, ensure WSL2 is installed
  • Restart Docker Desktop

Getting Help


Back to top

SignalWire AI Agents Certification Program