Installation
OpenBB Python V5 is a set of separately published packages. openbb-core is the runtime: it contains the openbb import package, the REST API app, and the openbb-build command, but no data. Each provider package adds a data source and its own namespace on obb. The openbb distribution installs the runtime with every provider and interface package, or you can install the runtime with only the providers you want. Either way, the openbb import package is generated from whatever is installed.
Requirements
Every V5 package declares requires-python = ">=3.10,<4". CI runs the core test suite on Python 3.10 through 3.14 on Linux, and on 3.10 and 3.14 on macOS and Windows.
Install into a virtual environment rather than the system Python. Any environment manager works; the commands below use the standard library venv module.
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
On Windows, activate with .venv\Scripts\activate.
For a graphical installer that manages the environment for you, see ODP Desktop.
Install from PyPI
pip install openbb installs V5:
pip install openbb
The openbb package contains no code of its own. It installs openbb-core with its flask and pandas extras, every provider package in the package reference, openbb-news, openbb-charting with PyWry, openbb-cli, openbb-platform-api, openbb-mcp-server, and openbb-devtools. It does not install openbb-econometrics, openbb-quantitative, or openbb-technical; add those separately:
pip install openbb-econometrics openbb-quantitative openbb-technical
The routers extra, pip install "openbb[routers]", installs those three together with the shared asset-class routers such as openbb-equity and openbb-economy. This documentation does not cover the shared routers, and several providers leave commands to them when they are installed, so the provider namespaces lose commands that the reference lists. Migrating from V4 explains the interaction.
Install individual packages
For a smaller environment, install openbb-core with only the provider packages you need:
pip install openbb-core openbb-cboe openbb-imf
Every provider package depends on openbb-core[pandas], so installing a provider on its own also pulls in the runtime and pandas. Add or remove providers later with pip; the Python interface picks up the change on the next import.
Check the installation with a keyless provider:
from openbb import obb
quote = obb.cboe.equity.quote(symbol="AAPL", provider="cboe")
quote.to_dataframe()
Package reference
| Package | Adds |
|---|---|
openbb-core | Runtime, the openbb import package, openbb_core.api.rest_api:app, and openbb-build |
openbb-bls | obb.bls |
openbb-cboe | obb.cboe |
openbb-cftc | obb.cftc |
openbb-deribit | obb.deribit |
openbb-ecb | obb.ecb |
openbb-us-eia | obb.eia |
openbb-famafrench | obb.famafrench |
openbb-federal-reserve | obb.federal_reserve |
openbb-finra | obb.finra |
openbb-fred | obb.fred |
openbb-government-us | obb.uscongress, obb.ustreasury, obb.usda |
openbb-imf | obb.imf |
openbb-jodi | obb.jodi |
openbb-nasdaq | obb.nasdaq |
openbb-oecd | obb.oecd |
openbb-sec | obb.sec |
openbb-tmx | obb.tmx |
openbb-news | obb.news |
openbb-econometrics | obb.econometrics |
openbb-quantitative | obb.quantitative |
openbb-technical | obb.technical |
openbb-charting | The charting accessor on command results; the pywry extra adds native chart windows |
openbb-platform-api | The openbb-api launcher for the REST API and OpenBB Workspace |
openbb-mcp-server | The openbb-mcp MCP server; the cli extra adds the openbb-cli dispatcher tools |
openbb-cli | The openbb command line interface |
Some providers need an API key before their commands return data. See Credentials for where to put them, and Providers for what each provider covers. The CLI has its own installation guide.
Upgrading from V4
Install V5 into a new virtual environment instead of upgrading a V4 one. The V4 releases of providers that V5 removed, such as openbb-fmp and openbb-yfinance, require openbb-core 1.x and cannot be installed next to V5. Migrating from V4 lists the other changes to expect.
Build the Python interface
from openbb import obb is backed by modules generated inside the installed openbb package. On import, the runtime compares the installed extensions with the ones recorded at the last build and rebuilds when they differ, printing Extensions to add or Extensions to remove followed by Building....
To build ahead of time, for example in a container image or CI job, run:
openbb-build
openbb-build imports openbb in a subprocess, and calls openbb.build() directly if that import did not rebuild. Set OPENBB_AUTO_BUILD=false to turn off the rebuild on import. Packaging and static assets describes what the build generates.