ifURI examples
← all examples

20 — the thesis: urirun between any-language runtime and any transport

The claim: urirun is the layer that sits between the runtime (connectors, in any language) and the transport (any wire). Neither side touches the contract — a URI + JSON Schema + policy + v2.run. So a connector's language and the transport are independent choices.

This example proves it as a matrix: connectors written in Go / PHP / JS / Python, each driven over in-process / queue (≈ MQTT/NATS) / HTTP / MCP.

python3 matrix.py
pytest test_matrix.py -q
                      inprocess   queue~MQTT  http        mcp
hash (Go)             ✓           ✓           ✓           ✓     identical out
base64 (PHP)          ✓           ✓           ✓           ✓     identical out
uuid (JS)             ✓           ✓           ✓           ✓     ok everywhere
time-tools (Python)   ✓           ✓           ✓           ✓     ok everywhere
VERDICT: urirun sits between any-language runtime and any transport ✓

across every transport** — the transport only moves {uri, payload}; it never changes the result.

transport has no idea what language is on the other end.

The two axes, and where each is proven

AxisProven by
transport-independent (http, mqtt/queue, mcp, grpc, serverless, in-process)07-transports — same URI, 5 transports, identical output
runtime/language-independent (Python, PHP, Go, JS)19-all-connectors — 17 connectors, one contract
one connector served over a transport18-connector-transport — HTTP node + MCP/A2A
both axes at once (this example)20-runtime-transport-matrix — language × transport

grpc is a real transport too (needs grpcio); WebSocket is the next adapter — adding a transport is "move {uri, payload}", never a redesign.

Files

.gitignoreREADME.mdmatrix.pytest_matrix.py.benchmarks/

View on GitHub →