OpenBB
Project description
Table of contents
Pre-requisites
To install and use the SDK you need:
- A fresh virtual environment
- Python 3.8 or higher
- API keys for the APIs you want to use
For development you need:
- Poetry 1.5.1 or higher
- ruff 0.0.256
- mypy 1.4.1
- black
Installation
To install the SDK in a virtual environment from the repo root run:
pip install ./openbb_sdk
This will install the SDK and all its dependencies into the site-packages directory of the virtual environment.
API keys
To use your API keys you need to configure them. Here are the 3 options on how to do it:
- From local file
- At runtime
- From OpenBB Hub
1. From local file
You can specify the keys in the ~/.openbb_sdk/user_settings.json
file.
Create this file using 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"
}
}
2. From runtime
You can also specify your keys at runtime:
from openbb import obb
obb.user.credentials.fmp_api_key = "REPLACE_ME"
obb.user.credentials.polygon_api_key = "REPLACE_ME"
3. From OpenBB Hub
You can also load your the keys from the OpenBB Hub.
from openbb import obb
openbb.account.login(username="REPLACE_ME", password="REPLACE_ME")
Python Usage
Import and basic usage:
from openbb import obb
aapl = obb.stocks.load("AAPL")
df = aapl.to_dataframe()
df.head()
API Usage
Launch the API with:
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:
docker build -f build/docker/api.dockerfile -t openbb-sdk:latest .
To run this newly-built image:
docker run --rm -p8000:8000 -v ~/.openbb_sdk:/root/.openbb_sdk openbb-sdk:latest
This will mount the local ~/.openbb_sdk
directory 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 directory and run:
pip install -U -e .
While we're still developing, it is often required to reinstall extensions:
python -c "import openbb; openbb.build()"
You need to do this every time you install or uninstall a new extension or to reinstall all extensions.
Import time
We aim to have a short import time. To measure that we use tuna
.
To visualize the import time breakdown by module, run the following commands from openbb_sdk
directory:
pip install tuna
python -X importtime openbb/__init__.py 2> import.log
tuna import.log
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.