Skip to main content

Relay Backend

API testing workflow covers discovery, authorization, requests, responses and exports.

An offline API testing interface for your FastAPI application. Install one Python package, mount it once, and open /relay on your backend's existing port.

Install

Install Relay, mount it on FastAPI, then open /relay on the backend's existing port.

  1. Install in your backend's Python environment:
python -m pip install relay-backend

A fresh installation gets the latest stable release. To update an existing installation:

python -m pip install --upgrade relay-backend

Restart the backend after upgrading. The browser title uses your application's name: FastAPI(title="Ludo Portal") becomes Relay - Ludo Portal. Any application's title works.

  1. Add these lines where your FastAPI app is created:
from relay_backend import install_relay
install_relay(app)
  1. Restart the backend with its usual command and open /relay on its existing port.
Complete example for a new app
from fastapi import FastAPI
from relay_backend import install_relay

app = FastAPI()
install_relay(app)

@app.get("/health", tags=["System"])
def health():
    return {"status": "ok"}

Run your backend normally, for example uvicorn main:app --reload, then visit http://localhost:8000/relay/.

No repository clone, Node installation, frontend build, CDN, separate Relay process, or target URL is required. Existing applications only need the import and install_relay(app) call. Use install_relay(app, enabled=settings.DEBUG) to keep Relay under your application's development flag. Install it on the FastAPI object before wrapping that object in Socket.IO or another ASGI wrapper.

Included

  • Code-generated OpenAPI endpoints grouped by tags, with inline request/response testing.
  • Shared and per-endpoint bearer, Basic, API-key and explicit no-auth modes.
  • Five color schemes, copy controls, response focus, and Relay/JSON endpoint exports.
  • Manual endpoint status, defaulting to Done, with optional Git-shared status and inferred source attribution.
  • A bundled standalone CLI for local OpenAPI backends and portable .relay reports.

Python 3.11+ is required. This is a local development tool: only loopback hosts/clients are accepted. Request execution invokes your real application middleware, dependencies and handlers. Tests can change your development data. Multipart upload, OAuth browser flows, remote/shared deployment are outside v0.0.4. Opt into automatic team statuses with install_relay(app, sync_status=True) using the backend repository's existing Git remote. Team setup explains access and conflict handling.

Setup and handoff tools in 0.0.4

Run python -m relay_backend init --project ./backend to preview a supported FastAPI integration. Add --apply to write an unambiguous edit; factories and multiple apps receive manual guidance. python -m relay_backend doctor --target http://127.0.0.1:8000 --json checks the local runtime, OpenAPI and native mount with sanitized output. See setup documentation.

Endpoints include local Notes & activity, retained unsaved edits and explicit contract-change explanations. Named request examples load only when applied. Git shares statuses, not notes, credentials or request traffic.

The PyPI distribution is relay-backend; the Python import is relay_backend. The former relay_agent root import remains compatible. relay-agent on PyPI is an unrelated package.

Documentation · Source · Issues

Licensed under Apache-2.0. Bundled React, Lucide and JetBrains Mono assets retain their respective licenses; see THIRD_PARTY_NOTICES.md.

Realtime team statuses in 0.0.5

Keep your native integration. Set RELAY_TEAM_URL, RELAY_TEAM_PROJECT and your private RELAY_TEAM_TOKEN on the backend, then restart. Python uses pip install --upgrade "relay-backend[realtime]"; Node includes its realtime client. A team administrator runs the optional shared service once using the same Python package. Existing Git statuses can be reviewed and imported from /relay/ without modifying Git files. Local API testing remains usable during service outages.

Team setup, upgrades and migration

Metadata

Release files for relay-backend 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for relay-backend 0.0.5
File Size Uploaded Provenance Actions
relay_backend-0.0.5.tar.gz 289.1 kB With provenance Details for relay_backend-0.0.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for relay-backend 0.0.5
File Interpreter ABI Platform Actions
relay_backend-0.0.5-py3-none-any.whl Python 3 none any Details for relay_backend-0.0.5-py3-none-any.whl

Total release size: 572.6 kB

Release files / relay_backend-0.0.5.tar.gz

Download URL relay_backend-0.0.5.tar.gz
Size 289.1 kB
Tags Source
SHA-256 checksum
How to use checksums
057d46ed5d8091772a6a367b56a77034fb3b498212e5ee5d115e6e364632ef8a
BLAKE2b-256 checksum
How to use checksums
877e3c6dd494d09065215931a2a4f89596a443e02c3d484499f0622b79842c8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Release files / relay_backend-0.0.5-py3-none-any.whl

Download URL relay_backend-0.0.5-py3-none-any.whl
Size 283.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
183d340a7c5b22dc685ed6a2f553913ddc78da15cf6b9df388658ff2cc766aba
BLAKE2b-256 checksum
How to use checksums
e6515f89abd12e5ebf1fac60dcadfe02bbfaf9e68a55b3b9944cd9551a151cbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

Security for relay-backend 0.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for relay_backend-0.0.5.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page