mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-11-03 07:51:49 +00:00
146 lines
3.1 KiB
Markdown
Vendored
146 lines
3.1 KiB
Markdown
Vendored
# Table of contents
|
|
|
|
- [Table of contents](#table-of-contents)
|
|
- [Pre-requisites](#pre-requisites)
|
|
- [Installation](#installation)
|
|
- [API keys](#api-keys)
|
|
- [From local file](#from-local-file)
|
|
- [From runtime](#from-runtime)
|
|
- [From OpenBB Hub](#from-openbb-hub)
|
|
- [Python Usage](#python-usage)
|
|
- [API Usage](#api-usage)
|
|
- [Docker](#docker)
|
|
- [Development](#development)
|
|
|
|
## Pre-requisites
|
|
|
|
To install and use you need:
|
|
|
|
- A fresh virtual environment
|
|
- Python 3.8 or higher
|
|
- API keys for the APIs you want to use
|
|
|
|
To develop you need:
|
|
|
|
- Poetry 1.5.1 or higher
|
|
- ruff 0.0.256
|
|
- mypy 1.4.1
|
|
- black
|
|
|
|
## Installation
|
|
|
|
To install the SDK in the virtual environment from the repo root run:
|
|
|
|
```bash
|
|
pip install ./openbb_sdk
|
|
```
|
|
|
|
This will install the SDK and all the dependencies into the site-packages folder of the virtual environment.
|
|
|
|
## API keys
|
|
|
|
To connect to APIs you need to provide the API keys. Here 3 options how you can provide them:
|
|
|
|
1. From local file
|
|
2. At runtime
|
|
3. From OpenBB Hub
|
|
|
|
### From local file
|
|
|
|
You can specify the keys from the `~/.openbb_sdk/user_settings.json` file.
|
|
|
|
Create this file with the following template:
|
|
|
|
```json
|
|
{
|
|
"credentials": {
|
|
"fmp_api_key": "REPLACE_ME",
|
|
"polygon_api_key": "REPLACE_ME",
|
|
"benzinga_api_key": "REPLACE_ME",
|
|
"fred_api_key": "REPLACE_ME"
|
|
}
|
|
}
|
|
```
|
|
|
|
Then add your API keys there and it should work.
|
|
|
|
### From runtime
|
|
|
|
You can also specify the keys at runtime:
|
|
|
|
```python
|
|
from openbb import obb
|
|
obb.settings.credentials.fmp_api_key = "REPLACE_ME"
|
|
obb.settings.credentials.polygon_api_key = "REPLACE_ME"
|
|
```
|
|
|
|
### From OpenBB Hub
|
|
|
|
You can also load your the keys from the OpenBB Hub.
|
|
|
|
```python
|
|
from openbb import obb
|
|
openbb.account.login(username="REPLACE_ME", password="REPLACE_ME")
|
|
```
|
|
|
|
## Python Usage
|
|
|
|
Import and basic usage:
|
|
|
|
```python
|
|
from openbb import obb
|
|
aapl = obb.stocks.load(symbol="AAPL", start_date="2020-01-01", provider="fmp")
|
|
df = aapl.to_dataframe()
|
|
df.head()
|
|
```
|
|
|
|
## API Usage
|
|
|
|
Launch the API with:
|
|
|
|
```bash
|
|
uvicorn openbb_core.api.rest_api:app --host 0.0.0.0 --port 8000 --reload
|
|
```
|
|
|
|
Navigate to <http://0.0.0.0:8000/docs> to see the swagger API documentation.
|
|
|
|
Authorize with the developer credentials: openbb/openbb
|
|
|
|
## Docker
|
|
|
|
You can use the API through docker.
|
|
|
|
To build the image from the repo root run:
|
|
|
|
```bash
|
|
docker build -f build/docker/api.dockerfile -t openbb-sdk:latest .
|
|
```
|
|
|
|
To run the image:
|
|
|
|
```bash
|
|
docker run --rm -p8000:8000 -v ~/.openbb_sdk:/root/.openbb_sdk openbb-sdk:latest
|
|
```
|
|
|
|
This will mount the local `~/.openbb_sdk` folder into the docker container so you can use the API keys from there and it will expose the API on port 8000.
|
|
|
|
## Development
|
|
|
|
From the root of the OpenBB Terminal repo run:
|
|
|
|
`poetry install -C ./openbb_sdk`
|
|
|
|
When developing a specific extension cd into the extension folder and run:
|
|
|
|
`pip install -U -e .`
|
|
|
|
While we're still developing it is required to create the static python interface:
|
|
|
|
```python
|
|
import openbb
|
|
openbb._rebuild_python_interface()
|
|
exit()
|
|
```
|
|
|
|
Right now you need to do this before the first launch and every time you install or uninstall a new extension.
|