Files
OpenBB/openbb_platform
Pratyush Shukla 577a42461d [Feature] - Platform V4 Markdown Generator V2 (#6094)
* add recent `openapi.json`

* fix data types in models

* removed `openapi.json`

* set default date value as None in PolygonCurrencyPairs class

* add function to generate reference.json file

* reworked function to improve readability

* reword function to add seo metadata

* add functions for creating markdown sections

* add code to extract data card markdown title

* add additional functions for generating index and data models file

* extract first sentence of the description for cards

* code cleanup and documentation

* linting

* linting polygon models

* add openbb import statement in create_reference_markdown_examples function

* add POST method functions

* cleanup; reworked generate_reference_index_files function

* moved development section to 7th position in the sidebar

* fix POST function params default value

add standard flag to QueryParams and Data fields

cleanup

* add type expansion from package_builder.MethodDefinition

* sort data models cards alphabetically

make printing less verbose

* make MAX_CARDS global

display less content in cards in Commannds section

* cleanup

* Remove '_' from the cards under Commands section

* " to ' in econometrics/causality

* replace ' with " in ReferenceCard for reference dir index files

* remove extra . from the quantile function description

* shoutout to @deeleeramone for finding POST method description bug!

* set correct value for standard field

* handle BaseModel types in provider data fields

* unit tests for the platform markdown generator v2

* yeet 'Default' and 'Optional' columns in the 'Data' section

* last minute bug fix

* add info for multiple symbols

* make multiple items info same as platform static

* organize sections properly

* sort reference sub-directories alphabetically

* extra space in 'OBBject extra' description

* add type expansion for fields with multiple items

POST method cleanup

---------

Co-authored-by: Danglewood <85772166+deeleeramone@users.noreply.github.com>
Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
2024-02-27 11:20:28 +00:00
..
2023-11-13 15:03:31 +00:00
2024-01-30 09:57:01 +00:00
2024-01-30 09:57:01 +00:00

OpenBB Platform

Downloads LatestRelease

OpenBB is committed to build the future of investment research by focusing on an open source infrastructure accessible to everyone, everywhere.
OpenBBLogo
Check our website at openbb.co

Overview

The OpenBB Platform provides a convenient way to access raw financial data from multiple data providers. The package comes with a ready to use REST API - this allows developers from any language to easily create applications on top of OpenBB Platform.

Installation

The command below provides access to the core functionalities behind the OpenBB Platform.

pip install openbb

This will install the following data providers:

Extension Name Description Installation Command Minimum Subscription Type Required
openbb-benzinga Benzinga data connector pip install openbb-benzinga Paid
openbb-biztoc Biztoc News data connector pip install openbb-biztoc Free
openbb-ecb ECB data connector pip install openbb-ecb Free
openbb-finra FINRA data connector pip install openbb-finra Free
openbb-finviz Finviz data connector pip install openbb-finra Free
openbb-fmp FMP data connector pip install openbb-fmp Free
openbb-fred FRED data connector pip install openbb-fred Free
openbb-intrinio Intrinio data connector pip install openbb-intrinio Paid
openbb-oecd OECD data connector pip install openbb-oecd Free
openbb-polygon Polygon data connector pip install openbb-polygon Free
openbb-sec SEC data connector pip install openbb-sec Free
openbb-tiingo Tiingo data connector pip install openbb-tiingo Free
openbb-tradingeconomics TradingEconomics data connector pip install openbb-tradingeconomics Paid

To install extensions that expand the core functionalities specify the extension name or use all to install all.

# Install a single extension, e.g. openbb-charting and yahoo finance
pip install openbb[charting]
pip install openbb-yfinance

Alternatively, you can install all extensions at once.

pip install openbb[all]

Note: These instruction are specific to v4. For installation instructions and documentation for v3 go to our website.

Python

>>> from openbb import obb
>>> output = obb.equity.price.historical("AAPL")
>>> df = output.to_dataframe()
>>> df.head()
              open    high     low  ...  change_percent             label  change_over_time
date                                ...
2022-09-19  149.31  154.56  149.10  ...         3.46000  September 19, 22          0.034600
2022-09-20  153.40  158.08  153.08  ...         2.28000  September 20, 22          0.022800
2022-09-21  157.34  158.74  153.60  ...        -2.30000  September 21, 22         -0.023000
2022-09-22  152.38  154.47  150.91  ...         0.23625  September 22, 22          0.002363
2022-09-23  151.19  151.47  148.56  ...        -0.50268  September 23, 22         -0.005027

[5 rows x 12 columns]

API keys

To fully leverage the OpenBB Platform you need to get some API keys to connect with data providers. Here are the 3 options on where to set them:

  1. OpenBB Hub
  2. Runtime
  3. Local file

1. OpenBB Hub

Set your keys at OpenBB Hub and get your personal access token from https://my.openbb.co/app/sdk/pat to connect with your account.

>>> from openbb import obb
>>> openbb.account.login(pat="OPENBB_PAT")

>>> # Persist changes in OpenBB Hub
>>> obb.account.save()

2. Runtime

>>> from openbb import obb
>>> obb.user.credentials.fmp_api_key = "REPLACE_ME"
>>> obb.user.credentials.polygon_api_key = "REPLACE_ME"

>>> # Persist changes in ~/.openbb_platform/user_settings.json
>>> obb.account.save()

3. Local file

You can specify the keys directly in the ~/.openbb_platform/user_settings.json file.

Populate this file with the following template and replace the values with your keys:

{
  "credentials": {
    "fmp_api_key": "REPLACE_ME",
    "polygon_api_key": "REPLACE_ME",
    "benzinga_api_key": "REPLACE_ME",
    "fred_api_key": "REPLACE_ME"
  }
}

REST API

The OpenBB Platform comes with a ready to use REST API built with FastAPI. Start the application using this command:

uvicorn openbb_core.api.rest_api:app --host 0.0.0.0 --port 8000 --reload

Check openbb-core README for additional info.

Install for development

To develop the OpenBB Platform you need to have the following:

  • Git
  • Python 3.8 or higher
  • Virtual Environment with poetry and toml packages installed
    • To install these packages activate your virtual environment and run pip install poetry toml

How to install the platform in editable mode?

  1. Activate your virtual environment
  2. Navigate into the openbb_platform folder
  3. Run python dev_install.py to install the packages in editable mode