FastAPI Signature XLSX (VS Code Extension)
Generate a professional Excel workbook documenting a FastAPI project:
- A main sheet named
Service Overview listing all endpoints (service id, name, description, and a link).
- A separate sheet per Service ID, containing per-endpoint API details and JSON signatures generated from OpenAPI.
This extension generates signatures from OpenAPI, and fills the remaining details by discovering each endpoint’s source file in your repo (no assumptions about router file names).
What it generates
1) Service Overview sheet
Columns:
- (A and B are intentionally blank to match the requested layout)
- Name of Service: derived from the router function name converted to Title Case
Example: get_template_details_list → Get Template Details List
- Service-id:
- taken from a comment above the endpoint if present (e.g.,
TM-001)
- otherwise automatically assigned:
SERVICE-001, SERVICE-002, ...
- Description of services: the endpoint function’s docstring (full docstring text)
- Status / Assigned To / ETA / JIRA Ticket: left empty (as requested)
- JSON Signatures: a clickable link to the corresponding per-service sheet
2) One sheet per Service ID
Each Service ID sheet contains one row per endpoint matching that Service ID, with details such as:
- API endpoint (path)
- API method
- Query parameters
- Input headers
- Request signature (JSON)
- Response (JSON)
- Error response (JSON)
- Comments (source file + line, plus the extracted comment block)
- Overview Page link back to the
Service Overview row
If multiple endpoints share the same Service ID, they will appear as multiple rows on the same Service ID sheet.
How it works (high level)
- Runs a Python helper that imports your FastAPI
app and generates OpenAPI (app.openapi()).
- Inspects
app.routes to locate each endpoint’s exact file and line number in your repo.
- Reads the source file above that endpoint to extract:
- Service ID from comment block (if present)
- Docstring for description
- Builds the Excel workbook:
Service Overview sheet
- one sheet per Service ID
- hyperlinks between them
Requirements
- A Python interpreter that can import your FastAPI app (your project’s venv is recommended).
- Your FastAPI project must be importable from the workspace:
- dependencies installed
- environment variables available if required (DB URLs, secrets, etc.)
⚠️ This extension imports and executes your project’s Python modules (import-time code). Use it only in trusted workspaces.
Installation
From Marketplace
Install the extension in VS Code, then configure it per project (see Configuration below).
From VSIX (internal/shared installs)
- Package the extension into a
.vsix
- In VS Code: Extensions →
... → Install from VSIX…
Configuration
Set these settings in your FastAPI project workspace (recommended):
Create/edit: .vscode/settings.json
{
"fastapiSignatureXlsx.appImportPath": "your_package.main:app",
"fastapiSignatureXlsx.pythonPath": "C:\\path\\to\\venv\\Scripts\\python.exe",
// optional:
"fastapiSignatureXlsx.useFactory": false,
"fastapiSignatureXlsx.envFile": ".env",
"fastapiSignatureXlsx.outputDefaultName": "api-signatures.xlsx"
}