Files
OpenBB/website/content/platform/extensions/toolkit_extensions.md
Danglewood c047cfeddd docs/new-working-docs: New working docs branch (#5768)
* move old example notebooks to v3 folder, update loadHistoricalPriceData and add findSymbols

* Create README.md

* Update README.md

* Update README.md

* Update README.md

* Vertical diagram instead

* important classes

* core dependencies

* folder structure

* devtools

* swap order

* fix github pages deploy issue

* development index

* delete expectations for developers

* devtools

* obbject stuff

* add

* installation

* hub sync

* idk if i committed already

* add usage page for financial statements

* add link to reference page

* syntax

* numbers

* nearly --> more than

* easier to read code blocks

* codespell

* removing mention to provider

* add 'orientation' for to_dict

* info card for output user preference

* put it in a code block

* correct user_settings.json example

* syntax corrections

* fix sentence

* get rid of floating point mathc

* get rid of other floating point math

* add companion example notebook for financial statements, and new section

* historical prices usage page

* codespell

* add commitment of traders section to usage

* add a note

* codespell

* get rid of equals sign

* Cleanup docs. with @the-praxs

* install

* obbject extend

* spell

* HeadTitle thingies

* Update obbject_extensions.md

* Update obbject_extensions.md

* typo

* Update architectural_considerations.md

* point to the TET pattern

* optional vs required

* reviewing the  patterns. removed the --pre flag under the assumption this will be the final docs for the release cc @deeleeramone

* add a walkthrough

* spelling

* Add more in the introduction

* validator examples

* update Copper-to-Gold notebook example for V4

* Update README.md

* QA Caveats w @the-praxs

* info on class outputs

* merge add data sources and add data points

* disclaimer on cookiecutter

* add missing import to example

* slight syntax change

* missing code block

* missing import

* update intrinio example syntax

* intrinio syntax update

* urls

* core and provider merged

* example syntax

* grammar

* Update API banner link

* quick-fix-docs cc @minhhoang1023

* Update pip install command for v3

* remove --pre note block

* update landing image

---------

Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
Co-authored-by: Luqman <luqazino@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
Co-authored-by: Theodore Aptekarev <aptekarev@gmail.com>
Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>
2023-12-01 01:09:25 +00:00

200 lines
5.4 KiB
Markdown
Vendored

---
title: Toolkits
sidebar_position: 1
description: This page describes the toolkit extensios available for the OpenBB Platform.
keywords:
- 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';
<HeadTitle title="Toolkits - Extensions | OpenBB Platform Docs" />
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](https://github.com/OpenBB-finance/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:
```bash
pip install openbb-charting
```
To install from source in editable mode, navigate into the folder, `~/openbb_platform/extensions/charting`, and enter:
```console
pip install -e .
```
After installation, the Python interface will automatically rebuild on initialization. This process can also be triggered manually with:
```python
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:
```console
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:
```console
pip install openbb-econometrics
```
To install from source in editable mode, navigate into the folder, `~/openbb_platform/extensions/econometrics`, and enter:
```console
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:
```console
pip install openbb-quantitative
```
To install from source in editable mode, navigate into the folder, `~/openbb_platform/extensions/quantitative`, and enter:
```console
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.techincal`) and some additional Python libraries:
- pandas-ta
- scikit-learn
- scipy
- statsmodels
### Installation
Install from PyPI with:
```console
pip install openbb-technical
```
To install from source in editable mode, navigate into the folder, `~/openbb_platform/extensions/technical`, and enter:
```console
pip install -e .
```
After installation, the Python interface will automatically rebuild on initialization.