Metadata-Version: 2.1
Name: openbb
Version: 4.1.6
Summary: OpenBB
Author: OpenBB Team
Author-email: hello@openbb.co
Requires-Python: >=3.8,<3.12
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Provides-Extra: all
Provides-Extra: alpha-vantage
Provides-Extra: biztoc
Provides-Extra: cboe
Provides-Extra: charting
Provides-Extra: ecb
Provides-Extra: econometrics
Provides-Extra: finra
Provides-Extra: finviz
Provides-Extra: government-us
Provides-Extra: nasdaq
Provides-Extra: quantitative
Provides-Extra: seeking-alpha
Provides-Extra: stockgrid
Provides-Extra: technical
Provides-Extra: tmx
Provides-Extra: tradier
Provides-Extra: wsj
Requires-Dist: openbb-alpha-vantage (>=1.1.4,<2.0.0) ; extra == "alpha-vantage" or extra == "all"
Requires-Dist: openbb-benzinga (>=1.1.4,<2.0.0)
Requires-Dist: openbb-biztoc (>=1.1.4,<2.0.0) ; extra == "biztoc" or extra == "all"
Requires-Dist: openbb-cboe (>=1.1.4,<2.0.0) ; extra == "cboe" or extra == "all"
Requires-Dist: openbb-charting (>=2.0.2,<3.0.0) ; extra == "charting" or extra == "all"
Requires-Dist: openbb-commodity (>=1.0.2,<2.0.0)
Requires-Dist: openbb-core (>=1.1.5,<2.0.0)
Requires-Dist: openbb-crypto (>=1.1.4,<2.0.0)
Requires-Dist: openbb-currency (>=1.1.4,<2.0.0)
Requires-Dist: openbb-derivatives (>=1.1.4,<2.0.0)
Requires-Dist: openbb-ecb (>=1.1.4,<2.0.0) ; extra == "ecb" or extra == "all"
Requires-Dist: openbb-econometrics (>=1.1.4,<2.0.0) ; extra == "econometrics" or extra == "all"
Requires-Dist: openbb-economy (>=1.1.4,<2.0.0)
Requires-Dist: openbb-equity (>=1.1.4,<2.0.0)
Requires-Dist: openbb-etf (>=1.1.4,<2.0.0)
Requires-Dist: openbb-federal-reserve (>=1.1.4,<2.0.0)
Requires-Dist: openbb-finra (>=1.1.4,<2.0.0) ; extra == "finra" or extra == "all"
Requires-Dist: openbb-finviz (>=1.0.3,<2.0.0) ; extra == "finviz" or extra == "all"
Requires-Dist: openbb-fixedincome (>=1.1.4,<2.0.0)
Requires-Dist: openbb-fmp (>=1.1.4,<2.0.0)
Requires-Dist: openbb-fred (>=1.1.4,<2.0.0)
Requires-Dist: openbb-government-us (>=1.1.4,<2.0.0) ; extra == "government-us" or extra == "all"
Requires-Dist: openbb-index (>=1.1.4,<2.0.0)
Requires-Dist: openbb-intrinio (>=1.1.4,<2.0.0)
Requires-Dist: openbb-nasdaq (>=1.1.4,<2.0.0) ; extra == "nasdaq" or extra == "all"
Requires-Dist: openbb-news (>=1.1.4,<2.0.0)
Requires-Dist: openbb-oecd (>=1.1.4,<2.0.0)
Requires-Dist: openbb-polygon (>=1.1.4,<2.0.0)
Requires-Dist: openbb-quantitative (>=1.1.4,<2.0.0) ; extra == "quantitative" or extra == "all"
Requires-Dist: openbb-regulators (>=1.1.4,<2.0.0)
Requires-Dist: openbb-sec (>=1.1.4,<2.0.0)
Requires-Dist: openbb-seeking-alpha (>=1.1.4,<2.0.0) ; extra == "seeking-alpha" or extra == "all"
Requires-Dist: openbb-stockgrid (>=1.1.4,<2.0.0) ; extra == "stockgrid" or extra == "all"
Requires-Dist: openbb-technical (>=1.1.5,<2.0.0) ; extra == "technical" or extra == "all"
Requires-Dist: openbb-tiingo (>=1.1.4,<2.0.0)
Requires-Dist: openbb-tmx (>=1.0.1,<2.0.0) ; extra == "tmx" or extra == "all"
Requires-Dist: openbb-tradier (>=1.0.1,<2.0.0) ; extra == "tradier" or extra == "all"
Requires-Dist: openbb-tradingeconomics (>=1.1.4,<2.0.0)
Requires-Dist: openbb-wsj (>=1.1.4,<2.0.0) ; extra == "wsj" or extra == "all"
Requires-Dist: openbb-yfinance (>=1.1.4,<2.0.0)
Description-Content-Type: text/markdown

# OpenBB Platform

[![Downloads](https://static.pepy.tech/badge/openbb)](https://pepy.tech/project/openbb)
[![LatestRelease](https://badge.fury.io/py/openbb.svg)](https://github.com/OpenBB-finance/OpenBBTerminal)

| OpenBB is committed to build the future of investment research by focusing on an open source infrastructure accessible to everyone, everywhere. |
| :---------------------------------------------------------------------------------------------------------------------------------------------: |
|              ![OpenBBLogo](https://user-images.githubusercontent.com/25267873/218899768-1f0964b8-326c-4f35-af6f-ea0946ac970b.png)               |
|                                                 Check our website at [openbb.co](www.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.

```bash
pip install openbb
```

This will install the following data providers:

| Extension Name          | Description                                                               | Installation Command                | Minimum Subscription Type Required |
| ----------------------- | ------------------------------------------------------------------------- | ----------------------------------- | ---------------------------------- |
| openbb-benzinga         | [Benzinga](https://www.benzinga.com/apis/en-ca/) data connector           | pip install openbb-benzinga         | Paid                               |
| openbb-federal-reserve  | [FederalReserve](https://www.federalreserve.gov/data.html) data connector | pip install openbb-federal-reserve  | Free                               |
| openbb-fmp              | [FMP](https://site.financialmodelingprep.com/developer/) data connector   | pip install openbb-fmp              | Free                               |
| openbb-fred             | [FRED](https://fred.stlouisfed.org/) data connector                       | pip install openbb-fred             | Free                               |
| openbb-intrinio         | [Intrinio](https://intrinio.com/pricing) data connector                   | pip install openbb-intrinio         | Paid                               |
| openbb-oecd             | [OECD](https://data.oecd.org/) data connector                             | pip install openbb-oecd             | Free                               |
| openbb-polygon          | [Polygon](https://polygon.io/) data connector                             | pip install openbb-polygon          | Free                               |
| openbb-sec              | [SEC](https://www.sec.gov/edgar/sec-api-documentation) data connector     | pip install openbb-sec              | Free                               |
| openbb-tiingo           | [Tiingo](https://www.tiingo.com/about/pricing) data connector             | pip install openbb-tiingo           | Free                               |
| openbb-tradingeconomics | [TradingEconomics](https://tradingeconomics.com/api) data connector       | pip install openbb-tradingeconomics | Paid                               |
| openbb-yahoo-finance    | [Yahoo Finance](https://finance.yahoo.com/) data connector                | pip install openbb-yfinance         | Free                               |

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

```bash
# 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.

```bash
pip install openbb[all]
```

> Note: These instruction are specific to v4. For installation instructions and documentation for v3 go to our [website](https://docs.openbb.co/sdk).

## Python

```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](https://my.openbb.co/app/sdk/api-keys) and get your personal access token from <https://my.openbb.co/app/sdk/pat> to connect with your account.

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

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

### 2. Runtime

```python
>>> 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:

```json
{
  "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:

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

Check `openbb-core` [README](https://pypi.org/project/openbb-core/) 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
  1. Navigate into the `openbb_platform` folder
  1. Run `python dev_install.py` to install the packages in editable mode

