FastAPI
enlace-fastapi, published from get-enlace/enlace-python.
Install
pip install enlace-fastapi
Usage
from fastapi import FastAPI
from enlace_fastapi import enlace
app = FastAPI()
app.include_router(enlace(spec="./openapi.json"), prefix="/enlace")
Open /enlace and the canvas loads, reading your spec from
/enlace/api/spec — resolved fresh on every request, so editing the spec
file on disk shows up on the next canvas reload with no restart needed.
spec is a file path (.json/.yaml/.yml) or an already-parsed
OpenAPI 3.x dict — whichever's easiest to point at your API's own
document.
Using FastAPI's own generated spec
Already have FastAPI building your OpenAPI document from your routes?
Call app.openapi() yourself and pass the result straight through — no
separate export step:
from fastapi import FastAPI
from enlace_fastapi import enlace
app = FastAPI(title="My API", version="1.0.0")
# ... your routes ...
app.include_router(enlace(spec=app.openapi()), prefix="/enlace")
Call app.openapi() after your routes are registered — that's when it
actually has something to build from. Already mounting /docs or
/redoc from the same app? Nothing about also mounting enlace()
changes how those keep working — they're independent consumers of the
same spec.
This package's job is intentionally small: it serves the canvas UI and resolves your OpenAPI document. Everything else — running a chain, mapping fields, credentials — happens in the browser; see Building a Chain.
Spec resolution
Unlike the other adapters, spec is always explicit — there's no
auto-detection to fall back on, since a FastAPI app has no single
conventional route every project serves its document from the way
springdoc or Swashbuckle do. Pass a file path, a URL your app builds
into a string, or app.openapi()'s own return value; whatever's
already the source of truth for your document.
Want to see it running end to end first? There's a live, hosted FastAPI example app — no local setup needed.