
Backends for OpenBB
https://github.com/openbb-finance/backends-for-openbb- Category
- Finance
- Rank
- No. 985Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- OpenBB-finance
- GitHub
- 213 stars
- Date
About
Backend template to plug your own data sources into the OpenBB Workspace finance terminal.
What it does
It supplies working patterns for making private or public data readable by OpenBB Workspace widgets. A backend publishes JSON data plus widget and optional app definitions. Examples cover basic endpoints, interactive tables, embedded Streamlit views, synchronized parameters, and MCP tools.
Why it's ranked here
This is useful because it documents the actual integration contract through runnable examples and validation scripts. It goes beyond a minimal starter by covering layouts, endpoint responses, server-side tables, iframe messaging, and MCP. The collection remains example-driven, so production decisions still belong to the adopter.
What's good
The validators catch malformed widget definitions, invalid types, broken layout references, grid overflow, deprecated table configuration, and unexpected endpoint response shapes. The examples progress from a small greeting to pagination, filtering, sorting, grouping, embedded interfaces, and tool-enabled portfolio actions.
Tradeoffs
Most examples use Python and FastAPI, although the protocol itself permits other languages. CORS setup remains the developer’s responsibility. Built-in authentication supports configured headers or query parameters, with other methods requiring coordination. The server-side table example implements SQLite and MySQL connections, but its Snowflake connection is explicitly unfinished.
How to use it well
Use it when an engineer owns a data source and needs a concrete OpenBB integration contract. Start small, define widgets, run structural validation, launch locally, then test live responses before deployment. Treat the advanced examples as patterns, not production infrastructure. You still supply real data, hosting, security policy, and operational controls.
Technical notes+
scripts/validate_app.py invokes scripts/validate_widgets.py and scripts/validate_apps.py, but live HTTP checks live separately in scripts/validate_endpoints.py. The endpoint validator checks /widgets.json, treats /apps.json as optional, selects GET or POST by widget type, supplies configured parameter defaults, and verifies response shapes. getting-started/hello-world/main.py demonstrates FastAPI routes and restricted CORS. widget-examples/streamlit/app.py implements iframe messaging and synchronized parameters, while widget-examples/streamlit/mcp_server.py combines FastMCP tools with Workspace routes. widget-examples/ssrm_mode/database.py implements SQLite and MySQL connections but raises NotImplementedError for Snowflake.
Observed
- Primary language
- Python
- Core interface
- HTTP endpoints serving JSON widget data and configuration
- Optional interface
- A Streamable HTTP MCP server example exposes portfolio tools alongside Workspace routes
- Validation surface
- Command-line validators cover widget definitions, app layouts, and live endpoint responses
- Example frameworks
- FastAPI, Streamlit, Starlette, and FastMCP
- Database example support
- The server-side row model example implements SQLite and MySQL; Snowflake is configured but not implemented
- Hosting model
- Integrations may be hosted internally or externally
Read from README.md, scripts/validate_app.py, scripts/validate_apps.py, scripts/validate_widgets.py, scripts/validate_endpoints.py, widget-examples/streamlit/app.py, widget-examples/ssrm_mode/main.py, getting-started/hello-world/main.py, widget-examples/ssrm_mode/config.py, widget-examples/ssrm_mode/models.py, widget-examples/ssrm_mode/helpers.py, widget-examples/ssrm_mode/database.py, widget-examples/streamlit/portfolio.py, widget-examples/ssrm_mode/formatters.py, widget-examples/streamlit/mcp_server.py.
What it can do
Integrate custom data sources into OpenBB Workspace
Custom data source APIs or databases → Connected data feeds in OpenBB terminal
Create backend templates for financial data
Data source specifications and requirements → Structured backend template code
Map external data to OpenBB format
Raw financial data from external sources → OpenBB-compatible data structures
Establish data pipeline connections
Data source endpoints and authentication credentials → Active data pipeline for OpenBB Workspace
Configure data source parameters
Data source configuration settings → Configured backend connection settings
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.