Installation¶
Prerequisites¶
- Python 3.11+ (check with
python3 --version) - pip (usually bundled with Python)
- git (to clone the repo)
For cloud features, you'll also need: - A Supabase account (free tier is sufficient) - A GitHub account with admin access to the repos you want to monitor
Quick Install¶
git clone https://github.com/dsifry/metarelay.git
cd metarelay
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
Verify:
Development Install¶
If you plan to run tests or contribute:
git clone https://github.com/dsifry/metarelay.git
cd metarelay
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
This installs additional tools: pytest, black, ruff, mypy.
Verify everything works:
pytest # 158 tests, 100% coverage
ruff check . # Linting
black --check . # Formatting
mypy src/ # Type checking
Configuration¶
After installing, you need to configure metarelay before running it:
Edit ~/.metarelay/config.yaml with your Supabase credentials and repo name/path pairs.
See USAGE.md for full configuration reference.
Cloud Setup¶
Metarelay requires a Supabase backend to receive GitHub webhooks. See cloud/setup.md for step-by-step setup instructions covering:
- Creating a Supabase project
- Running the database migration
- Deploying the Edge Function
- Creating and installing a GitHub App