Use case · Web servers
Web servers, wired as graphs
A graph can be the HTTP layer of a small service: accept a request, route it by method and path, transform the payload, and send a response. The shop starter already shows that shape with two public graphs.
What you build
Every graph is a set of small Python nodes wired by ports. These are the pieces this track puts together.
Receive and route
The HTTP Server node starts listening and emits one dictionary per request. HTTP Route matches method and path and passes the request down the exec chain.
Typed payloads
Exec ports control the order of work; data ports carry dicts, strings and numbers between nodes. The editor refuses connections whose types do not line up.
A container per graph
The API starts a Docker container for the graph and hands the run to the orchestrator inside it, so the server and its dependencies stay isolated.
Build it step by step
The same five moves work for every graph: add nodes, wire ports, set parameters, run, then save or share.
Open the reference project
Internet Shop Starter contains two public graphs, Catalog and Cart. Open Catalog in the editor and read it before changing anything.
startlist_productsAdd the HTTP chain
Drag the three HTTP nodes from the catalog onto the canvas. They are small on purpose: one node listens, one routes, one answers.
http_serverhttp_routehttp_respondWire control and data
Connect Server exec to Route exec and Route exec_out to Respond exec. Then send Server request into Route request and Route request_out into Respond request. Both flows travel together.
Set the parameters
Set host and port on the server, method and path on the route and the responder, and the status code and body on the responder. Parameters live on the node, not in the connections.
Run and watch the console
Run the graph. The console shows stdout and node events, and every node turns green while it is executing. Add a Print node on the request output to inspect the incoming payload.
printSave and share
Save needs a signed-in, email-verified account. Once the project is public, anyone can read it at its project URL and fork it in the editor.
Example you can open now
This example is seeded on the public site. Open the graph in the editor to inspect it, or take a copy through the store when a fork is not enough.
Internet Shop Starter
A free storefront skeleton with a catalog graph and a cart graph. It is the shortest complete example of a request-driven graph, and you can fork it or take it from the store.
How it runs
Running the graph asks the API to create or reuse a Docker container for it, then posts the run to the orchestrator inside that container. The orchestrator fetches the pinned node versions, starts one task per node and connects ports with queues. Every stdout line and node event is sent back to the API and re-emitted to the editor console in real time.
- Each graph runs in its own Docker container, started by the API.
- Nodes are fetched at the exact version the graph pins.
- stdout and node events stream to the editor console while it runs.
Build a service of your own
Start from a blank canvas, copy the HTTP chain from the starter, and change the routes to match your domain.
