This document provides comprehensive instructions for installing and configuring the OpenBB Platform components. It covers installation of the Python package, command-line interface (CLI), and API server, along with environment setup, dependency management, and credential configuration for data providers.
For usage examples and getting started with queries, see Quick Start Guide. For development environment setup, see Development Setup.
The OpenBB Platform supports Python versions 3.9 through 3.12. The platform is tested across multiple operating systems including Linux, macOS, and Windows.
Supported Python Versions:
| Python Version | Support Status |
|---|---|
| 3.9.x | ✅ Supported |
| 3.10.x | ✅ Supported |
| 3.11.x | ✅ Supported |
| 3.12.x | ✅ Supported |
| 3.13+ | ⚠️ Not tested |
Key Dependencies:
pandas for data manipulationpydantic for data validation and settings managementrequests for HTTP communication with data providersfastapi and uvicorn for the API serverSources: README.md61
The core OpenBB Platform package can be installed from PyPI using pip:
This installs the base platform with minimal providers. After installation, the platform can be imported in Python:
Installation Options:
| Command | Description | Use Case |
|---|---|---|
pip install openbb | Core platform only | Minimal installation for specific providers |
pip install "openbb[all]" | All provider extensions | Full feature access with all data sources |
pip install openbb-cli | Command-line interface | Terminal-based usage |
The platform uses optional dependencies to install provider extensions. The [all] extra installs all available providers:
Individual providers can also be installed selectively:
Provider Extension Discovery:
The platform uses Python's entry point mechanism to discover installed provider extensions at runtime. Each provider package declares entry points in its pyproject.toml file under the openbb_provider_extension group.
Sources: README.md66-69
It is recommended to install OpenBB in a virtual environment to isolate dependencies:
Sources: README.md113-119
The OpenBB CLI provides a command-line interface for the platform. It is distributed as a separate package:
After installation, the CLI can be launched by running:
The CLI provides an interactive shell with command completion and history. It wraps the same underlying platform that the Python SDK uses.
Sources: README.md121-129
The OpenBB Platform includes a FastAPI-based REST API server that can be launched locally.
The API server is included with the full platform installation:
Start the API server using the openbb-api command:
This launches a Uvicorn server at http://127.0.0.1:6900 by default.
Server Architecture:
Once the server is running, verify it by navigating to:
http://127.0.0.1:6900/docs - Interactive OpenAPI documentationhttp://127.0.0.1:6900/health - Server statushttp://127.0.0.1:6900/widgets.json - Widget definitions for OpenBB WorkspaceThe server automatically generates REST endpoints for all installed extensions and their commands.
Sources: README.md71-79
The OpenBB Platform stores user settings and credentials in a platform-specific directory:
~/.openbb_platform/
├── user_settings.json # Platform configuration
├── credentials.json # API keys (encrypted)
└── system_settings.json # System defaults
Directory Locations by OS:
| Operating System | Default Path |
|---|---|
| Linux/macOS | ~/.openbb_platform/ |
| Windows | %USERPROFILE%\.openbb_platform\ |
API keys and credentials for data providers are stored in the credentials.json file. This file is automatically created on first run.
Setting Credentials Programmatically:
Setting Credentials via Environment Variables:
Environment variables follow the pattern: OPENBB_{PROVIDER}_{FIELD} where the provider name and field are uppercase.
Each provider extension may require specific credentials:
| Provider | Required Credentials | Registration URL |
|---|---|---|
| FMP | fmp_api_key | financialmodelingprep.com |
| Intrinio | intrinio_api_key | intrinio.com |
| FRED | fred_api_key | fred.stlouisfed.org |
| Polygon | polygon_api_key | polygon.io |
| Alpha Vantage | alpha_vantage_api_key | alphavantage.co |
| YFinance | None (free) | - |
Credential Storage Flow:
Environment variables take precedence over file-based credentials, allowing secure configuration in containerized or CI/CD environments.
Sources: README.md61-96
If you encounter errors related to Python version:
If you encounter dependency conflicts with existing packages:
If a provider extension is installed but not discovered:
If you encounter permission errors writing to the configuration directory:
After installation and configuration:
Sources: README.md1-214
Refresh this wiki