Skip to main content

Toolkits

OpenBB Toolkit Extensions expand the Platform with functions for manipulating data and preparing it for display. The Core Platform installation does not install any toolkit extensions. The table below is the current list of toolkit extensions.

Extension NameDescriptionInstallation CommandCore/CommunityRouter Path
openbb-chartingRest API charting service and Plotly library.pip install openbb-chartingCommunityN/A
openbb-devtoolsAggregates dependencies that facilitate a nice development experience for OpenBB.pip install openbb-devtoolsN/A
openbb-econometricsEconometrics models for the Python interface only.pip install openbb-econometricsCommunityobb.econometrics
openbb-quantitativeFunctions for performing quantitative analysis.pip install openbb-quantitativeCommunityobb.quantitative
openbb-technicalFunctions for performing technical analysis.pip install openbb-technicalCommunityobb.technical

The sections below outline any specific installation considerations for the extension.

Charting​

The OpenBB Charting Extension supplies charting infrastructure and services to the OpenBB Platform. Figure objects are served via REST API or Python Client. It utilizes PyWry for handling the display of interactive charts and tables in a separate window, with a Plotly library. The extension framework allows developers to easily insert other Python charting libraries into the router pipeline.

Functions with charting enabled return figures to a field (chart) in the OBBject response object. They are displayed with the class method, show().

Additional Python libraries are installed with this extension: aiohttp, nbformat, pandas-ta, plotly, pywry, reportlab, scipy, statsmodels, and svglib.

tip

The openbb-charting is in fact an OBBject extension which means you'll have the functionality it exposes on every command result.

The following packages are dependencies of the openbb-charting extension:

  • scipy
  • plotly
  • statsmodels
  • reportlab
  • pywry
  • svglib
  • nbformat
  • pandas-ta

Installation​

To install the extension, run the following command in this folder:

pip install openbb-charting

Find the latest version on PyPI.

To install from source in editable mode, navigate into the folder, ~/openbb_platform/extensions/charting, and enter:

pip install -e .

After installation, the Python interface will automatically rebuild on initialization. This process can also be triggered manually with:

import openbb
openbb.build()

The Python interpreter may require a restart.

PyWry dependency in Linux​

When using Linux distributions, the PyWry dependency requires certain dependencies to be installed first.

  • Debian-based / Ubuntu / Mint: sudo apt install libwebkit2gtk-4.0-dev

  • Arch Linux / Manjaro: sudo pacman -S webkit2gtk

  • Fedora: sudo dnf install gtk3-devel webkit2gtk3-devel

If Rust (Cargo) is required, install it:

curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh

Devtools​

This extension aggregates the dependencies that facilitate a nice development experience for OpenBB. It does not contain any code itself, but rather pulls in the following dependencies:

  • bandit
  • black
  • ipykernel
  • mypy
  • poetry
  • pre-commit
  • pydocstyle
  • pylint
  • pytest
  • pytest-cov
  • ruff
  • tox
  • types-python-dateutil
  • types-toml

Installation​

The extension is included in the dev_install.py script.

Standalone installation:

pip install openbb-devtools

Econometrics​

The openbb-econometrics extension installs a new router path (obb.econometrics) and additional Python libraries:

  • scipy
  • statsmodels
  • arch
  • linearmodels
note

Statsmodels requires a C compiler be present on the system. Follow the instructions here for system-specific methods.

This extension is not accessible via REST API because statsmodels is not serializable.

Installation​

Install from PyPI with:

pip install openbb-econometrics

To install from source in editable mode, navigate into the folder, ~/openbb_platform/extensions/econometrics, and enter:

pip install -e .

After installation, the Python interface will automatically rebuild on initialization.

Quantitative​

The openbb-quantitative extension installs a new router path (obb.quantitative) and a few additional Python libraries:

  • pandas-ta
  • scipy
  • statsmodels

Installation​

Install from PyPI with:

pip install openbb-quantitative

To install from source in editable mode, navigate into the folder, ~/openbb_platform/extensions/quantitative, and enter:

pip install -e .

After installation, the Python interface will automatically rebuild on initialization.

Technical​

The openbb-technical extension is for performing technical analysis on time series data. It installs a new router path (obb.technical) and some additional Python libraries:

  • pandas-ta
  • scikit-learn
  • scipy
  • statsmodels

Installation​

Install from PyPI with:

pip install openbb-technical

To install from source in editable mode, navigate into the folder, ~/openbb_platform/extensions/technical, and enter:

pip install -e .

After installation, the Python interface will automatically rebuild on initialization.