Files
OpenBB/website/content/platform/extensions/toolkit_extensions.md
Danglewood 7bcef37874 docs/working-docs: Working V4 Docs PR (#5747)
* post-install clarification, fix links

* more links

* change word

* toolkit cleanup

* rename 'contributing' to 'development'

* update extensions

* some urls

* Update sdk-platform and v4-develop in urls (#5730)

* Update sdk-platform and v4-develop in urls

* Seprate Intrinio financials data tags into a different command (#5723)

* add `ebit` field in income statement standard model

* only add required data tags

* remove calculations data

* use `name` key instead of `tag` key

* set `period` as required in data

* remove `period` and `cik` from provider models

* add `equity/fundamental/search_financial_attributes` with tests

* clean descriptions file

* add `equity/fundamental/financial_attributes` with tests

* set `value` as `Optional`

* Fix threadpool test error (#5734)

* Remove ultima from deps (#5736)

* remove ultima from deps

* skip ultima test

* black

* change skip location

* try except statement to avoid error on the ci

* new currency reference rates pr (#5724)

* point files to linters (#5739)

* remove news from equity (#5741)

* Add tiingo provider (#5740)

* first commit

* things

* Add news endpoints

* CryptoHistorical

* Add currency and trailing dividend yield

* things working

* deps

* fix pre commit things

* tests?

* black on the tests

* pratty told me to add it

* integration tests

* added helpers

* crypto revamped

* currency revamped

* trailing dividend yield revamped

* equity historical revamped

* company news overhauled

* global news overhauled

* remove `tags` param from news models

* crypto correct `exchanges` description

* james smh

* re-recorded fetcher tests

* fixed integration tests

* econometrics smh

* james smh again

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Add `derivatives` extension for `futures` and `options` (#5742)

* removed options and futures

* add derivatives extension

* cleanup

* bug #5649 (#5722)

* bug #5649

* fixing --a upmom, downmom

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>

* Rename the fmp search -> screener (#5744)

* Rename the fmp search -> screener

* misses some

* i cant copy paste

* docs/fix-urls: Updates the Terminal About URLs to match `/develop` (#5720)

* update Terminal about URLs and some other broken links

* ruff

* intro

* changing the heading levels

* dependency management sections

* structure

* developer guides

* structure

* contributor guides

* keywords and descriptions

* broken urls

* cool cards

* Cool cards (#5727)

* tidy up terminal/content

* some more tidy up

* fix styling for platform that was missing

* more tidy up

* improve color for dark and light mode

* create new reference card for more basic cards

* rename back to menus

* implement all index.md for terminal, except reference

* improve bot title

* more refactoring

* fix remaining index

* header styling

* more styling

* heheheheheheeh

* Revert "heheheheheheeh"

This reverts commit 7d095fcfd2.

* Ccards (#5733)

* links

* more links

* improved styling and chevron aligned to title

* fix index.mdx urls for Terminal

* update package.json

* update index.mdx

* fix generation

* spelling

* toolkit_extensions

* update data extensions

* couple of links

* add tiingo to data extensions list

---------

Co-authored-by: hjoaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* Stock leftover cleanup (#5745)

* change to equity in `.md` files

* `HistoricalStockSplits`->`HistoricalSplits`

* `StockInsiderTrading`->`InsiderTrading`

* sorry fmp

* `EquityHistorical` cleanup

* `EquityNBBO` cleanup

* .md leftover

* the last of stocks

* post-install clarification, fix links

* more links

* change word

* toolkit cleanup

* rename 'contributing' to 'development'

* Hotfix/urllib to dev group (#5732)

* use the urllib3 dependency on the dev group instead

* adapt the version script for the nightlies - if it's a nightly the package distribution name will have a different name

* add dev dependencies to the dev installation bc of the ci

* updating the import on validate_call according to: https://docs.pydantic.dev/latest/concepts/validation_decorator/
the way we were importing it breaks if pydantic=2.5
@montezdesousa

* loosing urllib3 version specification on the provider and adding it to platform dev deps

* rmeoving urllib from top level deps; and removing --with dev flag

* changing to ^ instead

* Revert "changing to ^ instead"

This reverts commit 7300904e9f.

* unnecessary dep

---------

Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>

* feature/v4-bop - Add ECB Balance of Payments (Replaces #5716) (#5726)

* add ecb balance of payments

* missing __init__.py files

* Nasdaq calendar earnings and fix FMP calendar earnings (#5718)

Co-authored-by: James Maslek <jmaslek11@gmail.com>

* feature/us-treasury-auctions: Adds Treasury Auctions endpoint and provider for US Government Data. (#5746)

* add government_us provider and treasury auctions endpoint

* black

* add param for cusip

* move logic for setting default start/end date

* Update hub<>platform credentials map (#5749)

* update hub<>platform credentials map

* typo

* Add API settings schema to system settings (#5743)

Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>

* Skip checking creds (#5737)

* skip checking creds

* fix bug

* ok mypy

* add comment

* rename required_credentials

* fix

* fix top_retail bug

* don't require creds in some nasdaq fetchers

* black

* this was not here before

* fix tests

* update fetcher test

* update contributing guidelines

* Fix Quote (#5752)

* Fix Quote

* fixed return type and model validation

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Wrap up renaming global news to world news on a model level (#5750)

* Wrap up renaming global news to world news on a model level

* cleanup

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* update extensions

* some urls

* Revert changes to v3 docs

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Ramazan <guvencramazan@yandex.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>

* POST request example

* update post example

* find symbols

* market calendars

* codespell

* codespell ftw

* improve main page light mode

---------

Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Ramazan <guvencramazan@yandex.com>
Co-authored-by: andrewkenreich <andrew.kenreich@gmail.com>
Co-authored-by: DidierRLopes <dro.lopes@campus.fct.unl.pt>
2023-11-20 20:14:00 +00:00

5.4 KiB
Vendored

title, sidebar_position, description, keywords
title sidebar_position description keywords
Toolkits 1 This page describes the toolkit extensios available for the OpenBB Platform.
OpenBB Platform
Python client
Fast API
getting started
extensions
data providers
data extensions
toolkit extensions
toolkits
endpoints
community
technical analysis
quantitative analysis
charting libraries
Plotly
OpenBBFigure
PyWry

import HeadTitle from '@site/src/components/General/HeadTitle.tsx';

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 Name Description Installation Command Core/Community Router Path
openbb-charting Rest API charting service and Plotly library. pip install openbb-charting Community N/A
openbb-devtools Aggregates dependencies that facilitate a nice development experience for OpenBB. pip install openbb-devtools N/A
openbb-econometrics Econometrics models for the Python interface only. pip install openbb-econometrics Community obb.econometrics
openbb-quantitative Functions for performing quantitative analysis. pip install openbb-quantitative Community obb.quantitative
openbb-technical Functions for performing technical analysis. pip install openbb-technical Community obb.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
  • svglib

Installation

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

pip install openbb-charting

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

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 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 install a new router path (obb.techincal) 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.