From 645e4f5a7f4fcf57503c256e3674a5fb85f04bd4 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Sat, 11 Feb 2023 12:41:24 -0800 Subject: [PATCH 01/30] Add Conda build file for Python 310 --- build/conda/conda-3-10-env-full.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 build/conda/conda-3-10-env-full.yaml diff --git a/build/conda/conda-3-10-env-full.yaml b/build/conda/conda-3-10-env-full.yaml new file mode 100644 index 00000000000..8fba2f7e92e --- /dev/null +++ b/build/conda/conda-3-10-env-full.yaml @@ -0,0 +1,13 @@ +channels: + - conda-forge +dependencies: + - python=3.10.8 + - pip + - pybind11 + - cmake + - git + - cvxpy + - lightgbm + - poetry + - pip: + - qdldl==0.1.5.post3 From a887c7fd1030c37f8409dbb30aa248f43340c212 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 15 Feb 2023 14:39:01 -0800 Subject: [PATCH 02/30] Updates API keys guides and moves them to Getting Started --- .../content/sdk/guides/advanced/api-keys.md | 560 ------------- website/content/sdk/quickstart/api-keys.md | 766 ++++++++++++++++++ .../terminal/guides/advanced/api-keys.md | 509 ------------ .../content/terminal/quickstart/api-keys.md | 720 ++++++++++++++++ 4 files changed, 1486 insertions(+), 1069 deletions(-) delete mode 100644 website/content/sdk/guides/advanced/api-keys.md create mode 100644 website/content/sdk/quickstart/api-keys.md delete mode 100644 website/content/terminal/guides/advanced/api-keys.md create mode 100644 website/content/terminal/quickstart/api-keys.md diff --git a/website/content/sdk/guides/advanced/api-keys.md b/website/content/sdk/guides/advanced/api-keys.md deleted file mode 100644 index 46172c50e3e..00000000000 --- a/website/content/sdk/guides/advanced/api-keys.md +++ /dev/null @@ -1,560 +0,0 @@ ---- -title: Set API Keys -sidebar_position: 1 -description: With the OpenBB SDK you can define your, often free, API key from various platforms like Alpha Vantage, FRED, IEX, Twitter, DeGiro, Binance and Coinglass. An API key is a set of random characters provided to you by a third party vendor that allows you to access data via their API endpoints. API keys can be managed directly from the SDK environment. -keywords: [api, keys, api keys, data provider, data, free, alpha vantage, fred, iex, twitter, degiro, binance, coinglass, polygon, intrinio, openbb sdk] ---- - -## Accessing API Keys - -With the OpenBB SDK you can define your, often free, API key from various platforms like Alpha Vantage, FRED, IEX, Twitter, DeGiro, Binance and Coinglass. An API key is a set of random characters provided to you by a third party vendor that allows you to access data via their API endpoints. API keys can be managed directly from the SDK environment. If there is already a Terminal installation configured with API keys, they will be recognized by the SDK. Find the complete list of options below: - -
-Summary of API Key Providers - -| Command | Name | URL | -| :--------- | :--------------------------------------- | :--------------------------------------------------------------------------------- | -| av | AlphaVantage | https://www.alphavantage.co/support/#api-key | -| binance | Binance | https://binance.com | -| bitquery | Bitquery | https://bitquery.io/ | -| cmc | CoinMarketCap | https://coinmarketcap.com/api/ | -| cb | Coinbase | https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key | -| coinglass | Coinglass | https://coinglass.github.io/API-Reference/#api-key | -| cpanic | Crypto Panic | https://cryptopanic.com/developers/api/ | -| degiro | DeGiro | https://www.degiro.com/ | -| eodhd | EODHD | https://eodhistoricaldata.com/r/?ref=869U7F4J | -| ethplorer | Ethplorer | https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API | -| finnhub | Finnhub | https://finnhub.io/ | -| fmp | Financial Modelling Prep | https://site.financialmodelingprep.com/developer/docs/ | -| fred | Federal Reserve Economic Database (FRED) | https://fred.stlouisfed.org | -| github | GitHub | https://docs.github.com/en/rest/guides/getting-started-with-the-rest-api | -| glassnode | Glassnode | https://docs.glassnode.com/basic-api/api-key#how-to-get-an-api-key/ | -| messari | Messari | https://messari.io/api/docs | -| news | News API | https://newsapi.org/ | -| oanda | Oanda | https://developer.oanda.com | -| polygon | Polygon | https://polygon.io | -| quandl | Quandl | https://www.quandl.com | -| reddit | Reddit | https://www.reddit.com/wiki/api | -| rh | Robinhood | https://robinhood.com/us/en/ | -| santiment | Santiment | https://app.santiment.net/ | -| shroom | ShroomDK | https://sdk.flipsidecrypto.xyz/shroomdk | -| smartstake | Smartstake | https://www.smartstake.io | -| stocksera | Stocksera | https://stocksera.pythonanywhere.com/ | -| tokenterminal | Token Terminal | https://tokenterminal.com/ | -| tradier | Tradier | https://documentation.tradier.com/ | -| twitter | Twitter | https://developer.twitter.com | -| si | Sentiment Investor | https://sentimentinvestor.com | -| walert | Whale Alert | https://docs.whale-alert.io/ | -
- -Their status can be verified with the line of code below. - -```python -from openbb_terminal.sdk import openbb -openbb.keys.mykeys(show = True) -``` - -Removing `show = True` from the syntax will hide the values for the keys, as shown in the table below. - -| API | Key | -|:--------------------------|:--------| -| BINANCE_KEY | ******* | -| BINANCE_SECRET | ******* | -| BITQUERY_KEY | ******* | -| CMC_KEY | ******* | - -Individual keys are entered like this example: - -```python -obb.keys.fred( - key = 'replace_me', - persist = True, -) -``` - -The required fields for each source will vary, print the docstring for each to know the required inputs. - -```python -help(openbb.keys.reddit) -``` - - -```py - Help on Operation in module openbb_terminal.core.library.operation: - - - Set Reddit key - - Parameters - ---------- - client_id: str - Client ID - client_secret: str - Client secret - password: str - User assword - username: str - User username - useragent: str - User useragent - persist: bool - If False, api key change will be contained to where it was changed. For example, Jupyter notebook. - If True, api key change will be global, i.e. it will affect terminal environment variables. - By default, False. - show_output: bool - Display status string or not. By default, False. - - Returns - ------- - str - Status of key set -``` - - -In cases where API credentials must be passed to another process, use the following import statement: - -```python -from openbb_terminal import config_terminal as cfg -``` - -Values can then be passed to a request URL as a variable, `f"{cfg.API_KEY_QUANDL}"` - -The code block below will authorize Quandl to request data from Nasdaq Data Link. The series in the example is for the historical price of gold. - -```python -import quandl -from openbb_terminal import config_terminal as cfg - -gold = quandl.get("LBMA/GOLD", collapse="monthly", transform="", index_col=0, order="desc", parse_dates=True, authtoken=f"{cfg.API_KEY_QUANDL}") -``` - -| Date | USD (AM) | USD (PM) | GBP (AM) | GBP (PM) | EURO (AM) | EURO (PM) | -|:--------------------|-----------:|-----------:|-----------:|-----------:|------------:|------------:| -| 2022-11-30 00:00:00 | 1757.35 | 1768.9 | 1491.46 | 1506.57 | 1704.98 | 1714.06 | -| 2022-10-31 00:00:00 | 1638.85 | 1639 | 1419.74 | 1425.27 | 1649.5 | 1656.87 | -| 2022-09-30 00:00:00 | 1672.75 | 1671.75 | 1495.94 | 1502.4 | 1703.7 | 1710.53 | -| 2022-08-31 00:00:00 | 1712.4 | 1715.9 | 1472.15 | 1478.08 | 1713.6 | 1715.21 | -| 2022-07-31 00:00:00 | 1758.9 | 1753.4 | 1447.4 | 1451.64 | 1724.07 | 1725.7 | - -To make a backup file containing all stored keys, use the code block below. - -```python -df_keys = openbb.keys.mykeys(show = True) -df_keys.to_csv('backup.csv') -``` - -## How to obtain the API Key from each source -This section covers all API keys listed above and include detailed instructions how to obtain each API key. By clicking on each name, the section will expand and instructions are provided. - -
-AlphaVantage - -Go to https://www.alphavantage.co/support/#api-key. You will be greeted with the following screen: - -image - -Once you enter the type of investor you are, the organization you work at and your email address pressing "GET FREE API KEY" gets you the key that you can submit into the OpenBB SDK with `openbb.keys.av` -
- -
-Binance -Go to https://www.binance.com/en/support/faq/how-to-create-api-360002502072. You will be greeted with the following screen: - -image - -These instructions should provide clear guidance how to set up an API Key. Enter this API key into the OpenBB SDK by typing `openbb.keys.binance`. -
- -
-Bitquery - -Go to https://bitquery.io/. You will be greeted with the following screen: - -image - -Click "Try GraphQL API". This opens the following screen: - -image - -After creating an account and verifying your email address, you will be able to access your API Key by clicking "Api Key". Enter this API key into the OpenBB SDK by typing `openbb.keys.bitquery`. - -image -
- -
-CoinMarketCap - -Go to https://coinmarketcap.com/api. You will be greeted with the following screen: - -image - -From here, click "Get Your Free API Key Now". This opens up the following screen: - -image - -Once you have created an account, you will be able to find your API key in the following screen. Enter this API key into the OpenBB SDK by typing `openbb.keys.cmc` - -image -
- -
-CoinBase - -Go to https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key. You will be greeted with the following screen: - -image - -By following these instructions you should be able to set-up an API Key. Enter this API key into the OpenBB SDK by typing `openbb.keys.coinbase`. -
- -
-Coinglass - -Go to https://www.coinglass.com/. You will be greeted with the following screen: - -image - -Click "Log in" and sign up for an account. This opens up the following screen: - -image - -Once you created your account, you will be able to find the API Key on your profile. Enter this API key into the OpenBB SDK by typing `openbb.keys.coinglass`. -
- -
-Crypto Panic - -Go to https://cryptopanic.com/developers/api/. You will be greeted with the following screen: - -image - -Click "Sign up" under "Your free API auth token". This opens up the following screen: - -image - -Once you have created your account, your API Key will be displayed under "Your free API auth token". Enter this API key into the OpenBB SDK by typing `openbb.keys.cpanic`. - -image -
- -
-DeGiro - -Go to https://www.degiro.com/. You will be greeted with the following screen: - -image - -Click "Sign up" and go to the registrations process. After setting up your account you will be able to use this broker by entering your username and password in the OpenBB SDK as follows `openbb.keys.degiro`. We also support 2FA, you can find more information about that [here](https://github.com/Chavithra/degiro-connector#35-how-to-use-2fa-). -
- -
-EODHD - -Go to https://eodhistoricaldata.com/r/?ref=869U7F4J. You will be greeted with the following screen: - -image - -Click "Registration". This opens up the following screen: - -image - -Once you have registered, you can find the API Key next to "API TOKEN". Enter this API key into the OpenBB SDK by typing `openbb.keys.cpanic`. - -image -
- -
-Finnhub - -Go to https://finnhub.io/. You will be greeted with the following screen: - -image - -Press "Get free api key". This opens up the following screen: - -image - -Once you have created an account, you will be able to find your API key in the following screen. Enter this API key into the OpenBB SDK by typing `openbb.keys.finnhub` - -image -
- -
-Financial Modelling Prep - -Go to https://site.financialmodelingprep.com/developer/docs/. You will be greeted with the following screen: - -image - -From here, press "Get my API KEY here". This opens up the following screen: - -image - -If you already have an account, you can sign-in directly and obtain the API key, otherwise click "Sign Up". Once you have created an account you can access your API Key by pressing the "Dashboard" button which will show the API key. Enter this API key into the OpenBB SDK by typing `openbb.keys.fmp` - -image -
- -
-FRED - -Go to https://fred.stlouisfed.org. You will be greeted with the following screen: - -image - -Click on "My Account". This opens up the following screen: - -image - -Once you have signed up, go to "My Account" and select "API Keys". This will get you to the following screen: - -image - -Click on "Request API Key" and fill in information about why you wish to use FRED. Then, by pressing "Request API key" you will be able to obtain the API key. Enter this API key into the OpenBB SDK by typing `openbb.keys.fred` - -image -
- -
-GitHub - -Go to https://github.com/. You will be greeted with the following screen: - -GitHub - -Click "Sign up" and create an account with GitHub. Once you have done so go to as depicted below: https://github.com/settings/apps - -image - -Press "New GitHub App". This opens up the following screen: - -image - -Once the app is created you are able to obtain the API Key. Enter this API key into the OpenBB SDK by typing `openbb.keys.github`. -
- -
-Glassnode - -Go to https://studio.glassnode.com/. You will be greeted with the following screen: - -image - -Click on "Sign up". This opens up the following screen: - -image - -After you have created your account, go to https://studio.glassnode.com/settings/api where you can create your API Key. Enter this API key into the OpenBB SDK by typing `openbb.keys.glassnode`. - -image -
- -
-Messari - -Go to https://messari.io/. You will be greeted with the following screen: - -image - -Press "Sign up". This opens up the following screen: - -image - -Once you have signed up, go to https://messari.io/account/api where you will be able to find your API Key. Enter this API key into the OpenBB SDK by typing `openbb.keys.messari`. - -image -
- -
-News API - -Go to https://newsapi.org/. You will be greeted with the following screen: - -image - -Press "Get API Key". This opens up the following screen: - -image - -Register for an account. The next screen will provide you with the API Key. Enter this API key into the OpenBB SDK by typing `openbb.keys.news` - -image -
- -
-Oanda - -Go to https://developer.oanda.com. You will be greeted with the following screen: - -image - -After you have created an account with Oanda, you will be able to find the API key by following the steps below. After setting up your account you will be able to use this broker by entering your username and password in the OpenBB SDK as follows `openbb.keys.oanda`. - -image -
- -
-Polygon - -Go to https://polygon.io. You will be greeted with the following screen: - -image - -Press the button "Get your Free API Key". This opens up the following screen: - -image - -Once signed up you will find the API Key at the bottom. Enter this API key into the OpenBB SDK by typing `openbb.keys.polygon` - -image -
- -
-Quandl - -Go to https://www.quandl.com. You will be greeted with the following screen: - -image - -From here, click "Sign Up" at the top. This opens up the following screen: - -image - -Follow the sign-up instructions and once you have signed up you will be able to retrieve your API key. Enter this API key into the OpenBB SDK by typing `openbb.keys.quandl` - -image -
- -
-Reddit - -Go to https://www.reddit.com/wiki/api. You will be greeted with the following screen: - -image - -Press "Read the full API terms and sign up for usage" and start the sign-up process. This opens up the following screen: - -image - -Once you have filled out everything, you will receive an email when your application is approved. Once this is approved you will receive the necessary information that needs to be entered in the OpenBB SDK. Enter these into the OpenBB SDK by typing `openbb.keys.reddit`. -
- -
-Robinhood - -Go to https://robinhood.com/us/en/. You will be greeted with the following screen: - -image - -Click "Sign up" and go to the registrations process. After setting up your account you will be able to use this broker by entering your username and password in the OpenBB SDK as follows `openbb.keys.rh`. -
- -
-Santiment - -Go to https://app.santiment.net/. You will be greeted with the following screen: - -image - -Click "Sign up". This opens up the following screen: - -image - -After creating an account go to https://app.santiment.net/account#api-keys and generate a key. Enter this API key into the OpenBB SDK by typing `openbb.keys.santiment`. - -image -
- -
-ShroomDK - -Go to https://app.santiment.net/. You will be greeted with the following screen: - -image - -Click "Mint Your ShroomDK API Key" and sign up for an account. This opens up the following screen: - -image - -Once you have your account created, connect a wallet and access the API Key. Enter this API key into the OpenBB SDK by typing `openbb.keys.shroom`. - -image -
- -
-Stocksera - -Go to https://stocksera.pythonanywhere.com/. You will be greeted with the following screen: - -image - -Click "Log in" and create an account. This opens up the following screen: - -image - -Once you have created an account, go to "Developers" to access your API Key. Enter this API key into the OpenBB SDK by typing `/openbb.keys.stocksera`. - -image -
- -
-Token Terminal - -Go to https://tokenterminal.com/. You will be greeted with the following screen: - -image - -Click "Log in" and sign up for an account. This opens up the following screen: - -image - -Once you have created an account, go to "API" to access your API Key. Enter this API key into the OpenBB SDK by typing `openbb.keys.tokenterminal`. - -image -
- -
-Tradier - -Go to https://documentation.tradier.com/. You will be greeted with the following screen: - -image - -Click the button "Open Account" and start the sign-up process. Once you have gone through the whole process you will be able to find your API key within your account. Enter this API key into the OpenBB SDK by typing `openbb.keys.tradier` -
- -
-Twitter - -Go to https://developer.twitter.com. You will be greeted with the following screen: - -image - -Click "Sign Up". Note that you are required to have a Twitter account and that you have verified your phone number. This opens up the following screen: - -image - -Create an account and verify your email. Then, you will be able to create an app to obtain your API Key. - -image - -This will give you the following keys. Enter these into the OpenBB SDK by typing `openbb.keys.twitter`. - -image -
- -
-Whale Alert - -Go to https://docs.whale-alert.io/. You will be greeted with the following screen: - -image - -Click "sign up here". This opens up the following screen: - -image - -Once you have created your account, click "Create" to create your own API Key. Enter this API key into the OpenBB SDK by typing `openbb.keys.walert`. - -image -
diff --git a/website/content/sdk/quickstart/api-keys.md b/website/content/sdk/quickstart/api-keys.md new file mode 100644 index 00000000000..a39c99c0bda --- /dev/null +++ b/website/content/sdk/quickstart/api-keys.md @@ -0,0 +1,766 @@ +--- +title: Obtain and Set API Keys for Data Providers +sidebar_position: 4 +description: API (Application Programming Interface) keys are access credentials for accessing data from a particular source. They are a string of random characters assigned, by the data provider, to an individual account. Most vendors offer a free tier requiring only a valid email address. Each key is entered into the OpenBB SDk from the `openbb.keys` module, using the syntax described below. The docstrings for each source will also display the expected inputs. +keywords: [api, keys, api keys, data provider, data, free, alpha vantage, fred, iex, twitter, degiro, binance, coinglass, polygon, intrinio, sdk] +--- +## The Keys Module + +API (Application Programming Interface) keys are access credentials for obtaining data from a particular source. They are a string of random characters assigned, by the data provider, to an individual account. Most vendors offer a free tier requiring only a valid email address, some will require an account with proper KYC (Know Your Customer). Each source is entered into the SDK with the `openbb.keys` module, using the syntax described in the sections below. Wrapping the command with `help()` will print the docstrings to the screen. For example: + +```console +help(openbb.keys.reddit) +``` + +Which prints: + +```console + Set Reddit key + + Parameters + ---------- + client_id: str + Client ID + client_secret: str + Client secret + password: str + User password + username: str + User username + useragent: str + User useragent + persist: bool, optional + If False, api key change will be contained to where it was changed. For example, a Jupyter notebook session. + If True, api key change will be global, i.e. it will affect terminal environment variables. + By default, False. + show_output: bool, optional + + Returns + ------- + str + Status of key set + + Examples + -------- + >>> from openbb_terminal.sdk import openbb + >>> openbb.keys.reddit( + client_id="example_id", + client_secret="example_secret", + password="example_password", + username="example_username", + useragent="example_useragent" + ) +``` + +A message similar to the one below will be printed when a function requesting data from an API is called but the key has not yet been entered. + +```console +openbb.stocks.quote("AAPL") +API_KEY_FINANCIALMODELINGPREP not defined. Set API Keys in ~/.openbb_terminal/.env or under keys menu. +``` + +The menu also provides a method for testing the validity of a key upon entry. It can be easy to copy & paste the string with a missing character; so, if the test fails, check that the values were correctly recorded with the command: + +```console +openbb.keys.mykeys(show = True) +``` + +**We recommend gradually obtaining keys, when the use of a specific function requires it.** + +## Summary List + +
+Click to expand the list of data providers + +| Command | Name | URL | +| :------------ | :--------------------------------------- | :--------------------------------------------------------------------------------- | +| av | AlphaVantage | https://www.alphavantage.co/support/#api-key | +| binance | Binance | https://binance.com | +| bitquery | Bitquery | https://bitquery.io/ | +| cmc | CoinMarketCap | https://coinmarketcap.com/api/ | +| coinbase | Coinbase | https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key | +| coinglass | Coinglass | https://coinglass.github.io/API-Reference/#api-key | +| cpanic | Crypto Panic | https://cryptopanic.com/developers/api/ | +| degiro | DeGiro | https://www.degiro.com/ | +| eodhd | EODHD | https://eodhistoricaldata.com/r/?ref=869U7F4J | +| ethplorer | Ethplorer | https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API | +| finnhub | Finnhub | https://finnhub.io/ | +| fmp | Financial Modelling Prep | https://site.financialmodelingprep.com/developer/docs/ | +| fred | Federal Reserve Economic Database (FRED) | https://fred.stlouisfed.org | +| github | GitHub | https://docs.github.com/en/rest/guides/getting-started-with-the-rest-api | +| glassnode | Glassnode | https://docs.glassnode.com/basic-api/api-key#how-to-get-an-api-key/ | +| iex | IEX Cloud | https://iexcloud.io/ | +| intrinio | Intrinio | https://intrinio.com/ | +| messari | Messari | https://messari.io/api/docs | +| news | News API | https://newsapi.org/ | +| oanda | Oanda | https://developer.oanda.com | +| polygon | Polygon | https://polygon.io | +| quandl | Quandl | https://www.quandl.com | +| reddit | Reddit | https://www.reddit.com/wiki/api | +| rh | Robinhood | https://robinhood.com/us/en/ | +| santiment | Santiment | https://app.santiment.net/ | +| shroom | ShroomDK | https://sdk.flipsidecrypto.xyz/shroomdk | +| smartstake | Smartstake | https://www.smartstake.io | +| stocksera | Stocksera | https://stocksera.pythonanywhere.com/ | +| tokenterminal | Token Terminal | https://tokenterminal.com/ | +| tradier | Tradier | https://documentation.tradier.com/ | +| twitter | Twitter | https://developer.twitter.com | +| walert | Whale Alert | https://docs.whale-alert.io/ | + +
+ +## Instructions by Source + +This section covers all API keys listed above and include detailed instructions how to obtain each API key. By clicking on each name, the section will expand and instructions are provided. Include, `persist = True` in the syntax to permanently store the key on the machine. + +### AlphaVantage + +
+Go to: https://www.alphavantage.co/support/#api-key + +![AlphaVantage](https://user-images.githubusercontent.com/46355364/207820936-46c2ba00-81ff-4cd3-98a4-4fa44412996f.png) + +Fill out the form, pass Captcha, and click on, "GET FREE API KEY". The issued key can be entered into the OpenBB SDK with: + +```console +openbb.keys.av(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Binance + +
+Go to: https://www.binance.com/en/support/faq/how-to-create-api-360002502072 + +![Binance](https://user-images.githubusercontent.com/46355364/207839805-f71cf12a-62d2-41cb-ba19-0c35917abc40.png) + +These instructions should provide clear guidance for obtaining an API Key. Enter the issued credentials into the OpenBB SDK with: + +```console +openbb.keys.binance( + key = 'REPLACE_WITH_KEY', + secret = 'REPLACE_WITH_SECRET', + persist = True +) +``` + +
+ +### Bitquery + +
+Go to: https://bitquery.io/ + +![Bitquery](https://user-images.githubusercontent.com/46355364/207840322-5532a3f9-739f-4e28-9839-a58db932882e.png) + +Click "Try GraphQL API", which opens the following screen: + +![Try GraphQL API](https://user-images.githubusercontent.com/46355364/207840576-2c51a538-dd9b-484d-b11d-40e3e424df62.png) + +After creating an account and verifying the email address, get the value for the key by clicking on the "API Key" tab. + +![Get Bitquery API Key](https://user-images.githubusercontent.com/46355364/207840833-35c1b12c-9b4b-43fe-a33e-f7b92c43a011.png) + +Enter this API key into the OpenBB SDK with: + +```console +openbb.keys.bitquery(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### CoinMarketCap + +
+Go to: https://coinmarketcap.com/api + +![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831111-3f09ed75-740e-4121-a67e-6e1f36e8ab9a.png) + +Click on, "Get Your Free API Key Now", which opens to the page: + +![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831345-06a48efe-63b2-4804-bcf9-52fa4a73f7db.png) + +Once the account has been created, copy the API key dispalyed within the dashboard. + +![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831705-e9f95018-bba7-49a9-b057-3443bc839861.png) + +Enter the API key into the OpenBB SDK with: + +```console +openbb.keys.cmc(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Coinbase + +
+Go to: https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key + +![Coinbase](https://user-images.githubusercontent.com/46355364/207841901-647f0aef-0c74-454d-b99e-367d784259f0.png) + +Follow the instructions to obtain the credentials for the specific account. Enter the three values into the OpenBB SDK with: + +```console +openbb.keys.coinbase( + key = 'REPLACE_WITH_KEY', + secret = 'REPLACE_WITH_SECRET', + passphrase = 'REPLACE_WITH_PASSPHRASE', + persist = True +) +``` + +
+ +### Coinglass + +
+Go to: https://www.coinglass.com/ + +![Coinglass](https://user-images.githubusercontent.com/46355364/207844601-8510687a-e54f-49b9-961f-5ef6718f58ab.png) + +Click, "Log in", and then sign up for an account. This opens the page: + +![Coinglass](https://user-images.githubusercontent.com/46355364/207844637-a9321889-c4d8-4d44-95fe-a6288a17ad19.png) + +With the account created, find the assigned API key within the account profile page. Enter this value into the OpenBB SDK with: + +```console +openbb.keys.coinglass(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Crypto Panic + +
+Go to: https://cryptopanic.com/developers/api/ + +![Crypto Panic](https://user-images.githubusercontent.com/46355364/207848733-27e5a804-7ae7-4ca2-88b2-848b32929b6f.png) + +Click on, ["Sign up"](https://cryptopanic.com/accounts/signup/?next=/developers/api/), and after creating, the API Key will be displayed on the documentation page, "Your free API auth token". + +![Crypto Panic](https://user-images.githubusercontent.com/46355364/207848971-3e4771b7-1faa-45fe-955f-81bd736b16b7.png) + +Enter that value in the OpenBB SDK with: + +```console +openbb.keys.cpanic(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Degiro + +
+Go to: https://www.degiro.com/ + +![Degiro](https://user-images.githubusercontent.com/46355364/207838353-001d350c-872c-4770-a586-fb21318122eb.png) + +Click on, "Open an account", and then go through the registration process. After setting up the account, the login credentials can be entered in the OpenBB SDK with: + +```console +openbb.keys.degiro( + username = 'USERNAME', + password = 'PASSWORD', + persist = True +) +``` + +Instructions for setting up 2FA authorization are [here](https://github.com/Chavithra/degiro-connector#35-how-to-use-2fa-). + +
+ +### EODHD + +
+Go to: https://eodhistoricaldata.com/r/?ref=869U7F4J + +![EODHD](https://user-images.githubusercontent.com/46355364/207849214-23763c95-7314-42ae-b97d-cb5810686498.png) + +Clicking on, "Registration", opens the page: + +![EODHD](https://user-images.githubusercontent.com/46355364/207849324-00d4a916-8260-45c0-9714-289e0a0574c0.png) + +Once registered, the API Key will be next to "API TOKEN". + +![EODHD](https://user-images.githubusercontent.com/46355364/207849462-37471270-929a-45c5-a164-a84249b19231.png) + +Enter this string into the OpenBB SDK with: + +```console +openbb.keys.eodhd(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Finnhub + +
+Go to: https://finnhub.io/ + +![Finnhub](https://user-images.githubusercontent.com/46355364/207832028-283c3321-8c05-4ee8-b4d2-41cdc940f408.png) + +Click on, "Get free api key", to open the page: + +![Finnhub](https://user-images.githubusercontent.com/46355364/207832185-f4c8406a-3b75-4acc-b3e8-3c4b3272d4da.png) + +Once the account has been created, find the API key in the account dashboard. + +![Finnhub](https://user-images.githubusercontent.com/46355364/207832601-62007d95-410c-4d03-a5a3-b177d1894a4c.png) + +Add this key to the OpenBB SDK with: + +```console +openbb.keys.finnhub(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Financial Modeling Prep + +
+Go to: https://site.financialmodelingprep.com/developer/docs + +![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207821920-64553d05-d461-4984-b0fe-be0368c71186.png) + +Click on, "Get my API KEY here", and sign up for a free account. + +![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207822184-a723092e-ef42-4f87-8c55-db150f09741b.png) + +With an account created, sign in and navigate to the Dashboard, which shows the assigned token. by pressing the "Dashboard" button which will show the API key. + +![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207823170-dd8191db-e125-44e5-b4f3-2df0e115c91d.png) + +Enter the key into the OpenBB SDK with: + +```console +openbb.keys.fmp(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### FRED + +
+Go to: https://fred.stlouisfed.org + +![FRED](https://user-images.githubusercontent.com/46355364/207827137-d143ba4c-72cb-467d-a7f4-5cc27c597aec.png) + +Click on, "My Account", create a new account or sign in with Google: + +![FRED](https://user-images.githubusercontent.com/46355364/207827011-65cdd501-27e3-436f-bd9d-b0d8381d46a7.png) + +After completing the sign-up, go to "My Account", and select "API Keys". Then, click on, "Request API Key". + +![FRED](https://user-images.githubusercontent.com/46355364/207827577-c869f989-4ef4-4949-ab57-6f3931f2ae9d.png) + +Fill in the box for information about the use-case for FRED, and by clicking, "Request API key", at the bottom of the page, the API key will be issued. + +![FRED](https://user-images.githubusercontent.com/46355364/207828032-0a32d3b8-1378-4db2-9064-aa1eb2111632.png) + +Enter the API key into the OpenBB SDK with: + +```console +openbb.keys.fred(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### GitHub + +
+Go to: https://github.com + +![GitHub](https://user-images.githubusercontent.com/46355364/207846953-7feae777-3c3b-4f21-9dcf-84817c732618.png) + +Sign up for, or sign in to, GitHub. Once logged in, navigate to the [apps](https://github.com/settings/apps) page, under account settings. + +![GitHub](https://user-images.githubusercontent.com/46355364/207847215-3c04003f-26ea-4e62-9c13-ea35176bb5e3.png) + +Select, "New GitHub App": + +![GitHub](https://user-images.githubusercontent.com/46355364/207847383-d24416c6-18be-43f2-ae7c-455e8372a6ed.png) + +After creating the app, the key will be issued. Enter this token into the OpenBB SDK with: + +```console +openbb.keys.github(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Glassnode + +
+Go to: https://studio.glassnode.com + +![Glassnode](https://user-images.githubusercontent.com/46355364/207843761-799078ff-fa64-4d39-a6eb-ba01d250be69.png) + +Click on, "Sign up", and create an account: + +![Glassnode](https://user-images.githubusercontent.com/46355364/207843795-dd2cdbdb-45eb-4c7d-b967-ae9857d4ea5d.png) + +After creating an account, navigate to the [account settings](https://studio.glassnode.com/settings/api) and generate an API Key. + +![Glassnode](https://user-images.githubusercontent.com/46355364/207843950-5f33f37d-0203-4302-a67f-198808f18e06.png) + +Enter this key in the OpenBB SDK with: + +```console +openbb.keys.glassnode(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### IEX Cloud + +
+Go to: https://iexcloud.io + +![IEX Cloud](https://user-images.githubusercontent.com/46355364/207833088-e879e9f2-3180-4e50-ba9e-f40ee958f98a.png) + +Click on, "Sign in", and then create a new account. + +![IEX Cloud](https://user-images.githubusercontent.com/46355364/207833011-542d6ef0-0bdf-494a-83cb-c0a6741df2a3.png) + +After signing up, select a plan. There is a choice for a free plan at the bottom. + +![IEX Cloud](https://user-images.githubusercontent.com/46355364/207833303-4ebb2880-0b4c-4008-9b33-0e8ee6836027.png) + +After completing the sign-up process, the API Keyis found under the, "Access & Security", tab. + +![IEX Cloud](https://user-images.githubusercontent.com/46355364/207833540-c1e25500-22e9-43c3-a89e-b05dd446f2a5.png) + +Add this API key to the OpenBB SDK with: + +```console +openbb.keys.iex(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Intrinio + +
+Go to: https://intrinio.com/starter-plan + +![Intrinio](intrinio.png) + +An API key will be issued with a subscription. Find the token value within the account dashboard, and enter it into the OpenBB SDK with: + +```console +openbb.keys.intrinio(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Messari + +
+Go to: https://messari.io + +![Messari](https://user-images.githubusercontent.com/46355364/207848122-ec6a41e4-76b7-4620-adc3-1f1c19f4bca6.png) + +Click on, "Sign up", and create an account. + +![Messari](https://user-images.githubusercontent.com/46355364/207848160-6a962e3c-3007-40a3-9431-cd5ddfe5bb8e.png) + +After creating the account, navigate to the [account page](https://messari.io/account/api), and click on the tab for, API Access. + +![Messari](https://user-images.githubusercontent.com/46355364/207848324-ade5bede-8e6b-4b87-bdec-eade3217c0d8.png) + +Copy the API key and add it to the OpenBB SDK with: + +```console +openbb.keys.messari(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### News API + +
+Go to: https://newsapi.org + +![News API](https://user-images.githubusercontent.com/46355364/207828250-0c5bc38c-90b4-427d-a611-b43c98c8e7ab.png) + +Click on, "Get API Key", and fill out the form. + +![News API](https://user-images.githubusercontent.com/46355364/207828421-76922bc2-cde0-493f-9eed-7f90eb831779.png) + +Register for an account and the next screen will provide the API Key. + +![News API](https://user-images.githubusercontent.com/46355364/207828736-f0fce53b-f302-4456-adf9-8d50ac41fbe2.png) + +Add this API key into the OpenBB SDK with: + +```console +openbb.keys.news(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Oanda + +
+Go to: https://developer.oanda.com + +![Oanda](https://user-images.githubusercontent.com/46355364/207839324-d30aa2b6-be83-41ff-9b1b-146cac566789.png) + +After creating an account, follow the steps below. + +![Oanda](https://user-images.githubusercontent.com/46355364/207839246-eb40f093-b583-4edd-b178-99fe399bfb66.png) + +Upon completion of the account setup, enter the credentials into the OpenBB SDK with: + +```console +openbb.keys.oanda( + account = 'REPLACE_WITH_ACCOUNT', + access_token = 'REPLACE_WITH_TOKEN', + account_type = 'REPLACE_WITH_LIVE_OR_PRACTICE', + persist = True +) +``` + +
+ +### Polygon + +
+Go to: https://polygon.io + +![Polygon](https://user-images.githubusercontent.com/46355364/207825623-fcd7f0a3-131a-4294-808c-754c13e38e2a.png) + +Click on, "Get your Free API Key". + +![Polygon](https://user-images.githubusercontent.com/46355364/207825952-ca5540ec-6ed2-4cef-a0ed-bb50b813932c.png) + +After signing up, the API Key is found at the bottom of the account dashboard page. + +![Polygon](https://user-images.githubusercontent.com/46355364/207826258-b1f318fa-fd9c-41d9-bf5c-fe16722e6601.png) + +Enter the key into the OpenBB SDK with: + +```console +openbb.keys.polygon(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Quandl + +
+Go to: https://www.quandl.com + +![Quandl](https://user-images.githubusercontent.com/46355364/207823899-208a3952-f557-4b73-aee6-64ac00faedb7.png) + +Click on, "Sign Up", and register a new account. + +![Quandl](https://user-images.githubusercontent.com/46355364/207824214-4b6b2b74-e709-4ed4-adf2-14803e6f3568.png) + +Follow the sign-up instructions, and upon completion the API key will be assigned. + +![Quandl](https://user-images.githubusercontent.com/46355364/207824664-3c82befb-9c69-42df-8a82-510d85c19a97.png) + +Enter the key into the OpenBB SDK with: + +```console +openbb.keys.quandl(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Reddit + +
+Sign in to Reddit, and then go to: https://old.reddit.com/prefs/apps/ + +![Reddit](https://preview.redd.it/540vrn3k0cn91.png?width=986&format=png&auto=webp&v=enabled&s=88228cd0cf4415b3487b8d35e1097f0caa804e15) + +Scroll down and click on "create application", selecting "script". + +![Reddit](https://preview.redd.it/7je4ehqa1cn91.png?width=916&format=png&auto=webp&v=enabled&s=dbdf65ccc0820cfe28eff8e81cba056f4fd8263e) + +Once the application is created, you must register it [here](https://old.reddit.com/wiki/api) + +![Reddit](https://user-images.githubusercontent.com/46355364/207834105-665180be-c2b6-43c8-b1c9-477729905010.png) + +Click on, "Read the full API terms and sign up for usage", and fill out the form. + +![Reddit](https://user-images.githubusercontent.com/46355364/207834850-32a0d4c8-9990-4919-94e3-abad1487a3bd.png) + +After submitting the form, check for a confirmation email. The credentials will be displayed [here](https://old.reddit.com/prefs/apps/), add them to the OpenBB SDK with: + +```console +openbb.keys.reddit( + client_id = 'REPLACE_WITH_CLIENT_ID', + client_secret = 'REPLACE_WITH_CLIENT_SECRET', + username = 'REPLACE_WITH_REDDIT_USERNAME', + password = 'REPLACE_WITH_REDDIT_PASSWORD', + useragent = 'REPLACE_WITH_USER_AGENT', + persist = True +) +``` + +
+ +### Robinhood + +
+Go to: https://robinhood.com/us/en + +![Robinhood](https://user-images.githubusercontent.com/46355364/207838058-a2311632-6459-4cfd-bc0a-639ee3931574.png) + +After registering for an account, it can be added to the OpenBB SDK with: + +```console +openbb.keys.rb( + username = 'REPLACE_WITH_USERNAME', + password = 'REPLACE_WITH_PASSWORD', + persist = True +``` + +The first login will request 2FA authorization from the device connected to the account. + +
+ +### Santiment + +
+Go to: https://app.santiment.net + +![Santiment](https://user-images.githubusercontent.com/46355364/207849709-a5f10b03-138c-4e09-89f6-8a18cfbaf008.png) + +Click on, "Sign up", and register for an account. + +![Santiment](https://user-images.githubusercontent.com/46355364/207849732-4bae61de-2f62-4919-b85d-f418f1bbd0c4.png) + +Navigate to the [account dashboard](https://app.santiment.net/account#api-keys) and generate a key. + +![Santiment](https://user-images.githubusercontent.com/46355364/207849839-31d1d0a7-6936-4ebd-a7f8-1292f6317b07.png) + +Add it to the OpenBB SDK with: + +```console +openbb.keys.santiment(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### ShroomDK + +
+Go to: https://app.santiment.net + +![ShroomDK](https://user-images.githubusercontent.com/46355364/207850122-b8cd225e-0a65-4ea8-8069-0b40fff1600e.png) + +Click "Mint Your ShroomDK API Key", and sign up for an account. + +![ShroomDK](https://user-images.githubusercontent.com/46355364/207850176-f29cc73b-2b55-46e8-bce3-62c9342b6599.png) + +Once created, connect a wallet to complete minting the NFT license. The API key will be displayed under the account. + +![ShroomDK](https://user-images.githubusercontent.com/46355364/207850380-b59554af-1e65-4616-921d-e02c9ecf1aad.png) + +Enter it into the OpenBB SDK with: + +```console +openbb.keys.shroom(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Stocksera + +
+Go to: https://stocksera.pythonanywhere.com + +![Stocksera](https://user-images.githubusercontent.com/46355364/207853896-ee233569-26bb-4244-b115-43ac8885757a.png) + +Click on, "Log in", and create an account. + +![Stocksera](https://user-images.githubusercontent.com/46355364/207853985-46a7a17f-b6b2-442b-886d-f68b3ba2ad5a.png) + +Once logged in, navigate to the "Developers" tab and copy the API key. + +![Stocksera](https://user-images.githubusercontent.com/46355364/207854224-e5ddace0-15d1-491c-b616-263cca0bef02.png) + +Add the key to the OpenBB SDK with: + +```console +openbb.keys.stocksera(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Token Terminal + +
+Go to: https://tokenterminal.com + +![Token Terminal](https://user-images.githubusercontent.com/46355364/207850735-69368b4f-6a3e-46b8-ba69-3b79d9231f15.png) + +Click on, "Log in" and sign up for an account. + +![Token Terminal](https://user-images.githubusercontent.com/46355364/207850774-2071df78-3289-4c8e-9d64-156b9ec8ad81.png) + +Verify the email address, and then navigate go to the "API" tab and copy the API key to the clipboard. + +![Token Terminal](https://user-images.githubusercontent.com/46355364/207851035-71ea3eff-a11f-4835-8592-c07b3aa3f800.png) + +Add the key to the OpenBB SDK with: + +```console +openbb.keys.tokenterminal(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Tradier + +
+Go to: https://documentation.tradier.com + +![Tradier](https://user-images.githubusercontent.com/46355364/207829178-a8bba770-f2ea-4480-b28e-efd81cf30980.png) + +Click on, "Open Account", to start the sign-up process. After the account has been setup, navigate to [Tradier Broker Dash](https://dash.tradier.com/login?redirect=settings.api) and create the application. Request a sandbox access token, and enter this key into the OpenBB SDK with: + +```console +openbb.keys.tradier(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Twitter + +
+Upcoming changes to the Twitter API will deprecate the current functionality, it is uncertain if the features will continue to work. + +![Twitter API](https://pbs.twimg.com/media/FooIJF3agAIU8SN?format=png&name=medium) + +
+ +### Whale Alert + +
+Go to: https://docs.whale-alert.io + +![Whale Alert](https://user-images.githubusercontent.com/46355364/207842892-3f71ee7a-6cd3-48a2-82e4-fa5ec5b13807.png) + +Click on, "sign up here". + +![Whale Alert](https://user-images.githubusercontent.com/46355364/207842992-427f1d2c-b34e-41c9-85fd-18511805fd16.png) + +After creating the account, click on, "Create", to issue the API Key. + +![Whale Alert](https://user-images.githubusercontent.com/46355364/207843214-20232465-9a52-4b66-b01a-0b8cecbdd612.png) + +Enter the key into the OpenBB SDK with: + +```console +openbb.keys.walert(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
diff --git a/website/content/terminal/guides/advanced/api-keys.md b/website/content/terminal/guides/advanced/api-keys.md deleted file mode 100644 index 79a7ab10d32..00000000000 --- a/website/content/terminal/guides/advanced/api-keys.md +++ /dev/null @@ -1,509 +0,0 @@ ---- -title: Set API keys -sidebar_position: 1 -description: Within the keys menu you can define your, often free, API key from various platforms like Alpha Vantage, FRED, IEX, Twitter, DeGiro, Binance and Coinglass. An API key is a set of random characters provided to you by a third party vendor that allows you to access data via their API endpoints. -keywords: [api, keys, api keys, data provider, data, free, alpha vantage, fred, iex, twitter, degiro, binance, coinglass, polygon, intrinio, openbb terminal] ---- - -## Accessing the keys menu - -Within the `keys` menu you can define your, often free, API key from various platforms like Alpha Vantage, FRED, IEX, Twitter, DeGiro, Binance and Coinglass. An API key is a set of random characters provided to you by a third party vendor that allows you to access data via their API endpoints. You will notice that you need an API key when you receive a message like the following: - -``` -(🦋) /stocks/fa/ $ rot - -API_FINNHUB_KEY not defined. Set API Keys in ~/.openbb_terminal/.env or under keys menu. -``` - -You can access the `keys` menu as mentioned above from the homepage with `keys` (or directly from your current menu with `/keys`). This will open the menu as shown below: - -image - -Within this menu you are able to set your API keys to access the commands that require that key. You can do so by typing the command followed by the API key, for example: `fred a215egade08a8d47cfd49c849658a2be`. When you press `ENTER` (⏎) the terminal will test whether this API key works. If it does, you receive the message `defined, test passed` and if it does not, you receive the message `defined, test failed`. - -To figure out where you can obtain the API key, you can enter the command (e.g. `av`) and press `ENTER` (⏎) or use the table below. We also provide an elaborate explanation where to find the API key in the next section. **We recommend that you gradually obtain and set keys whenever you wish to use features that require an API key. For example, if you are interested in viewing recent news about a company, you should set the API key from the 'News API'.** - -
-Summary of API Key Providers - -| Command | Name | URL | -| :------------ | :--------------------------------------- | :--------------------------------------------------------------------------------- | -| av | AlphaVantage | https://www.alphavantage.co/support/#api-key | -| binance | Binance | https://binance.com | -| bitquery | Bitquery | https://bitquery.io/ | -| cmc | CoinMarketCap | https://coinmarketcap.com/api/ | -| cb | Coinbase | https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key | -| coinglass | Coinglass | https://coinglass.github.io/API-Reference/#api-key | -| cpanic | Crypto Panic | https://cryptopanic.com/developers/api/ | -| degiro | DeGiro | https://www.degiro.com/ | -| eodhd | EODHD | https://eodhistoricaldata.com/r/?ref=869U7F4J | -| ethplorer | Ethplorer | https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API | -| finnhub | Finnhub | https://finnhub.io/ | -| fmp | Financial Modelling Prep | https://site.financialmodelingprep.com/developer/docs/ | -| fred | Federal Reserve Economic Database (FRED) | https://fred.stlouisfed.org | -| github | GitHub | https://docs.github.com/en/rest/guides/getting-started-with-the-rest-api | -| glassnode | Glassnode | https://docs.glassnode.com/basic-api/api-key#how-to-get-an-api-key/ | -| messari | Messari | https://messari.io/api/docs | -| news | News API | https://newsapi.org/ | -| oanda | Oanda | https://developer.oanda.com | -| polygon | Polygon | https://polygon.io | -| quandl | Quandl | https://www.quandl.com | -| reddit | Reddit | https://www.reddit.com/wiki/api | -| rh | Robinhood | https://robinhood.com/us/en/ | -| santiment | Santiment | https://app.santiment.net/ | -| shroom | ShroomDK | https://sdk.flipsidecrypto.xyz/shroomdk | -| smartstake | Smartstake | https://www.smartstake.io | -| stocksera | Stocksera | https://stocksera.pythonanywhere.com/ | -| tokenterminal | Token Terminal | https://tokenterminal.com/ | -| tradier | Tradier | https://documentation.tradier.com/ | -| twitter | Twitter | https://developer.twitter.com | -| si | Sentiment Investor | https://sentimentinvestor.com | -| walert | Whale Alert | https://docs.whale-alert.io/ | - -
- -## How to obtain the API Key from each source - -This section covers all API keys listed above and include detailed instructions how to obtain each API key. By clicking on each name, the section will expand and instructions are provided. - -
-AlphaVantage - -Go to https://www.alphavantage.co/support/#api-key You will be greeted with the following screen: - -image - -Once you enter the type of investor you are, the organization you work at and your email address pressing "GET FREE API KEY" gets you the key that you can submit into the OpenBB Terminal with `/keys/av KEY` - -
- -
-Binance - -Go to https://www.binance.com/en/support/faq/how-to-create-api-360002502072 You will be greeted with the following screen: - -image - -These instructions should provide clear guidance how to set up an API Key. Enter this API key into the OpenBB Terminal by typing `/keys/binance -k KEY -s SECRET`. - -
- -
-Bitquery - -Go to https://bitquery.io/ You will be greeted with the following screen: - -image - -Click "Try GraphQL API". This opens the following screen: - -image - -After creating an account and verifying your email address, you will be able to access your API Key by clicking "Api Key". Enter this API key into the OpenBB Terminal by typing `/keys/bitquery KEY`. - -image - -
- -
-CoinMarketCap - -Go to https://coinmarketcap.com/api You will be greeted with the following screen: - -image - -From here, click "Get Your Free API Key Now". This opens up the following screen: - -image - -Once you have created an account, you will be able to find your API key in the following screen. Enter this API key into the OpenBB Terminal by typing `/keys/cmc KEY` - -image - -
- -
-CoinBase - -Go to https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key You will be greeted with the following screen: - -image - -By following these instructions you should be able to set-up an API Key. Enter this API key into the OpenBB Terminal by typing `/keys/coinbase -k KEY -s SECRET -p PASSPHRASE`. - -
- -
-Coinglass - -Go to https://www.coinglass.com/ You will be greeted with the following screen: - -image - -Click "Log in" and sign up for an account. This opens up the following screen: - -image - -Once you created your account, you will be able to find the API Key on your profile. Enter this API key into the OpenBB Terminal by typing `/keys/coinglass KEY`. - -
- -
-Crypto Panic - -Go to https://cryptopanic.com/developers/api/ You will be greeted with the following screen: - -image - -Click "Sign up" under "Your free API auth token". This opens up the following screen: - -image - -Once you have created your account, your API Key will be displayed under "Your free API auth token". Enter this API key into the OpenBB Terminal by typing `/keys/cpanic KEY`. - -image - -
- -
-DeGiro - -Go to https://www.degiro.com/ You will be greeted with the following screen: - -image - -Click "Sign up" and go to the registrations process. After setting up your account you will be able to use this broker by entering your username and password in the OpenBB Terminal as follows `/keys/degiro -u USERNAME -p PASSWORD`. We also support 2FA, you can find more information about that [here](https://github.com/Chavithra/degiro-connector#35-how-to-use-2fa-). - -
- -
-EODHD - -Go to https://eodhistoricaldata.com/r/?ref=869U7F4J You will be greeted with the following screen: - -image - -Click "Registration". This opens up the following screen: - -image - -Once you have registered, you can find the API Key next to "API TOKEN". Enter this API key into the OpenBB Terminal by typing `/keys/cpanic KEY`. - -image - -
- -
-Finnhub - -Go to https://finnhub.io/ You will be greeted with the following screen: - -image - -Press "Get free api key". This opens up the following screen: - -image - -Once you have created an account, you will be able to find your API key in the following screen. Enter this API key into the OpenBB Terminal by typing `/keys/finnhub KEY` - -image - -
- -
-Financial Modelling Prep - -Go to https://site.financialmodelingprep.com/developer/docs You will be greeted with the following screen: - -image - -From here, press "Get my API KEY here". This opens up the following screen: - -image - -If you already have an account, you can sign-in directly and obtain the API key, otherwise click "Sign Up". Once you have created an account you can access your API Key by pressing the "Dashboard" button which will show the API key. Enter this API key into the OpenBB Terminal by typing `/keys/fmp KEY` - -image - -
- -
-FRED - -Go to https://fred.stlouisfed.org You will be greeted with the following screen: - -image - -Click on "My Account". This opens up the following screen: - -image - -Once you have signed up, go to "My Account" and select "API Keys". This will get you to the following screen: - -image - -Click on "Request API Key" and fill in information about why you wish to use FRED. Then, by pressing "Request API key" you will be able to obtain the API key. Enter this API key into the OpenBB Terminal by typing `/keys/fred KEY` - -image - -
- -
-GitHub - -Go to https://github.com You will be greeted with the following screen: - -GitHub - -Click "Sign up" and create an account with GitHub. Once you have done so go to as depicted below: https://github.com/settings/apps - -image - -Press "New GitHub App". This opens up the following screen: - -image - -Once the app is created you are able to obtain the API Key. Enter this API key into the OpenBB Terminal by typing `/keys/github KEY`. - -
- -
-Glassnode - -Go to https://studio.glassnode.com You will be greeted with the following screen: - -image - -Click on "Sign up". This opens up the following screen: - -image - -After you have created your account, go to https://studio.glassnode.com/settings/api where you can create your API Key. Enter this API key into the OpenBB Terminal by typing `/keys/glassnode KEY`. - -image - -
- -
-Messari - -Go to https://messari.io You will be greeted with the following screen: - -image - -Press "Sign up". This opens up the following screen: - -image - -Once you have signed up, go to https://messari.io/account/api where you will be able to find your API Key. Enter this API key into the OpenBB Terminal by typing `/keys/messari KEY`. - -image - -
- -
-News API - -Go to https://newsapi.org You will be greeted with the following screen: - -image - -Press "Get API Key". This opens up the following screen: - -image - -Register for an account. The next screen will provide you with the API Key. Enter this API key into the OpenBB Terminal by typing `/keys/news KEY` - -image - -
- -
-Oanda - -Go to https://developer.oanda.com You will be greeted with the following screen: - -image - -After you have created an account with Oanda, you will be able to find the API key by following the steps below. After setting up your account you will be able to use this broker by entering your username and password in the OpenBB Terminal as follows `/keys/oanda -a ACCOUNT -t TOKEN`. - -image - -
- -
-Polygon - -Go to https://polygon.io You will be greeted with the following screen: - -image - -Press the button "Get your Free API Key". This opens up the following screen: - -image - -Once signed up you will find the API Key at the bottom. Enter this API key into the OpenBB Terminal by typing `/keys/polygon KEY` - -image - -
- -
-Quandl - -Go to https://www.quandl.com You will be greeted with the following screen: - -image - -From here, click "Sign Up" at the top. This opens up the following screen: - -image - -Follow the sign-up instructions and once you have signed up you will be able to retrieve your API key. Enter this API key into the OpenBB Terminal by typing `/keys/quandl KEY` - -image - -
- -
-Reddit - -Go to https://www.reddit.com/wiki/api You will be greeted with the following screen: - -image - -Press "Read the full API terms and sign up for usage" and start the sign-up process. This opens up the following screen: - -image - -Once you have filled out everything, you will receive an email when your application is approved. Once this is approved you will receive the necessary information that needs to be entered in the OpenBB Terminal. Enter these into the OpenBB Terminal by typing `/keys/reddit -i CLIENT_ID -s CLIENT_SECRET -u USERNAME -p PASSWORD -a USER_AGENT`. - -
- -
-Robinhood - -Go to https://robinhood.com/us/en You will be greeted with the following screen: - -image - -Click "Sign up" and go to the registrations process. After setting up your account you will be able to use this broker by entering your username and password in the OpenBB Terminal as follows `/keys/rb -u USERNAME -p PASSWORD`. - -
- -
-Santiment - -Go to https://app.santiment.net You will be greeted with the following screen: - -image - -Click "Sign up". This opens up the following screen: - -image - -After creating an account go to https://app.santiment.net/account#api-keys and generate a key. Enter this API key into the OpenBB Terminal by typing `/keys/santiment KEY`. - -image - -
- -
-ShroomDK - -Go to https://app.santiment.net You will be greeted with the following screen: - -image - -Click "Mint Your ShroomDK API Key" and sign up for an account. This opens up the following screen: - -image - -Once you have your account created, connect a wallet and access the API Key. Enter this API key into the OpenBB Terminal by typing `/keys/shroom KEY`. - -image - -
- -
-Stocksera - -Go to https://stocksera.pythonanywhere.com You will be greeted with the following screen: - -image - -Click "Log in" and create an account. This opens up the following screen: - -image - -Once you have created an account, go to "Developers" to access your API Key. Enter this API key into the OpenBB Terminal by typing `/keys/stocksera KEY`. - -image - -
- -
-Token Terminal - -Go to https://tokenterminal.com You will be greeted with the following screen: - -image - -Click "Log in" and sign up for an account. This opens up the following screen: - -image - -Once you have created an account, go to "API" to access your API Key. Enter this API key into the OpenBB Terminal by typing `/keys/tokenterminal KEY`. - -image - -
- -
-Tradier - -Go to https://documentation.tradier.com You will be greeted with the following screen: - -image - -Click the button "Open Account" and start the sign-up process. Once you have gone through the whole process you will be able to find your API key within your account. Enter this API key into the OpenBB Terminal by typing `/keys/tradier KEY` - -
- -
-Twitter - -Go to https://developer.twitter.com You will be greeted with the following screen: - -image - -Click "Sign Up". Note that you are required to have a Twitter account and that you have verified your phone number. This opens up the following screen: - -image - -Create an account and verify your email. Then, you will be able to create an app to obtain your API Key. - -image - -This will give you the following keys. Enter these into the OpenBB Terminal by typing `/keys/twitter -k API_KEY -s API_KEY_SECRET -t BEARER_TOKEN`. - -image - -
- -
-Whale Alert - -Go to https://docs.whale-alert.io You will be greeted with the following screen: - -image - -Click "sign up here". This opens up the following screen: - -image - -Once you have created your account, click "Create" to create your own API Key. Enter this API key into the OpenBB Terminal by typing `/keys/walert KEY`. - -image - -
diff --git a/website/content/terminal/quickstart/api-keys.md b/website/content/terminal/quickstart/api-keys.md new file mode 100644 index 00000000000..b8c8c6f86c8 --- /dev/null +++ b/website/content/terminal/quickstart/api-keys.md @@ -0,0 +1,720 @@ +--- +title: Obtain and Set API Keys for Data Providers +sidebar_position: 4 +description: API (Application Programming Interface) keys are access credentials for accessing data from a particular source. They are a string of random characters assigned, by the data provider, to an individual account. Most vendors offer a free tier requiring only a valid email address. Each key is entered into the Terminal from the `/keys` menu, using the syntax described below. The `--help` dialogue for each source will also display the expected inputs. +keywords: [api, keys, api keys, data provider, data, free, alpha vantage, fred, iex, twitter, degiro, binance, coinglass, polygon, intrinio, openbb terminal] +--- +## The Keys Menu + +API (Application Programming Interface) keys are access credentials for obtaining data from a particular source. They are a string of random characters assigned, by the data provider, to an individual account. Most vendors offer a free tier requiring only a valid email address, some will require an account with proper KYC (Know Your Customer). Each source is entered into the Terminal from the `/keys` menu with the syntax as described in the sections below. Adding the `-h` argument to the command will also display the expected inputs. For example, + +```console +/keys/reddit -h +``` + +Displays: + +```console +usage: reddit [-i CLIENT_ID] [-s CLIENT_SECRET] [-u USERNAME] [-p PASSWORD] [-a USER_AGENT [USER_AGENT ...]] [-h] + +Set Reddit API key. + +options: + -i CLIENT_ID, --id CLIENT_ID + Client ID (default: None) + -s CLIENT_SECRET, --secret CLIENT_SECRET + Client Secret (default: None) + -u USERNAME, --username USERNAME + Username (default: None) + -p PASSWORD, --password PASSWORD + Password (default: None) + -a USER_AGENT [USER_AGENT ...], --agent USER_AGENT [USER_AGENT ...] + User agent (default: None) + -h, --help show this help message (default: False) +``` + +A message similar to the one below will be printed when a function requesting data from an API is called but the key has not yet been entered. + +```console +/stocks/fa/ $ rot + +API_FINNHUB_KEY not defined. Set API Keys in ~/.openbb_terminal/.env or under keys menu. +``` + +The menu also provides a method for testing the validity of a key upon entry. It can be easy to copy & paste the string with a missing character; so, if the test fails, check that the values were correctly recorded with the command: + +```console +mykeys --show +``` + +**We recommend gradually obtaining keys, when the use of a specific function requires it.** + +## Summary List + +
+Click to expand the list of data providers + +| Command | Name | URL | +| :------------ | :--------------------------------------- | :--------------------------------------------------------------------------------- | +| av | AlphaVantage | https://www.alphavantage.co/support/#api-key | +| binance | Binance | https://binance.com | +| bitquery | Bitquery | https://bitquery.io/ | +| cmc | CoinMarketCap | https://coinmarketcap.com/api/ | +| coinbase | Coinbase | https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key | +| coinglass | Coinglass | https://coinglass.github.io/API-Reference/#api-key | +| cpanic | Crypto Panic | https://cryptopanic.com/developers/api/ | +| degiro | DeGiro | https://www.degiro.com/ | +| eodhd | EODHD | https://eodhistoricaldata.com/r/?ref=869U7F4J | +| ethplorer | Ethplorer | https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API | +| finnhub | Finnhub | https://finnhub.io/ | +| fmp | Financial Modelling Prep | https://site.financialmodelingprep.com/developer/docs/ | +| fred | Federal Reserve Economic Database (FRED) | https://fred.stlouisfed.org | +| github | GitHub | https://docs.github.com/en/rest/guides/getting-started-with-the-rest-api | +| glassnode | Glassnode | https://docs.glassnode.com/basic-api/api-key#how-to-get-an-api-key/ | +| iex | IEX Cloud | https://iexcloud.io/ | +| intrinio | Intrinio | https://intrinio.com/ | +| messari | Messari | https://messari.io/api/docs | +| news | News API | https://newsapi.org/ | +| oanda | Oanda | https://developer.oanda.com | +| polygon | Polygon | https://polygon.io | +| quandl | Quandl | https://www.quandl.com | +| reddit | Reddit | https://www.reddit.com/wiki/api | +| rh | Robinhood | https://robinhood.com/us/en/ | +| santiment | Santiment | https://app.santiment.net/ | +| shroom | ShroomDK | https://sdk.flipsidecrypto.xyz/shroomdk | +| smartstake | Smartstake | https://www.smartstake.io | +| stocksera | Stocksera | https://stocksera.pythonanywhere.com/ | +| tokenterminal | Token Terminal | https://tokenterminal.com/ | +| tradier | Tradier | https://documentation.tradier.com/ | +| twitter | Twitter | https://developer.twitter.com | +| walert | Whale Alert | https://docs.whale-alert.io/ | + +
+ +## Instructions by Source + +This section covers all API keys listed above and include detailed instructions how to obtain each API key. By clicking on each name, the section will expand and instructions are provided. + +### AlphaVantage + +
+Go to: https://www.alphavantage.co/support/#api-key + +![AlphaVantage](https://user-images.githubusercontent.com/46355364/207820936-46c2ba00-81ff-4cd3-98a4-4fa44412996f.png) + +Fill out the form, pass Captcha, and click on, "GET FREE API KEY". The issued key can be entered into the OpenBB Terminal with: + +```console +/keys/av REPLACE_WITH_KEY +``` + +
+ +### Binance + +
+Go to: https://www.binance.com/en/support/faq/how-to-create-api-360002502072 + +![Binance](https://user-images.githubusercontent.com/46355364/207839805-f71cf12a-62d2-41cb-ba19-0c35917abc40.png) + +These instructions should provide clear guidance for obtaining an API Key. Enter the issued credentials into the OpenBB Terminal with: + +```console +/keys/binance -k REPLACE_WITH_KEY -s REPLACE_WITH_SECRET +``` + +
+ +### Bitquery + +
+Go to: https://bitquery.io/ + +![Bitquery](https://user-images.githubusercontent.com/46355364/207840322-5532a3f9-739f-4e28-9839-a58db932882e.png) + +Click "Try GraphQL API", which opens the following screen: + +![Try GraphQL API](https://user-images.githubusercontent.com/46355364/207840576-2c51a538-dd9b-484d-b11d-40e3e424df62.png) + +After creating an account and verifying the email address, get the value for the key by clicking on the "API Key" tab. + +![Get Bitquery API Key](https://user-images.githubusercontent.com/46355364/207840833-35c1b12c-9b4b-43fe-a33e-f7b92c43a011.png) + +Enter this API key into the OpenBB Terminal by typing: + +```console +/keys/bitquery REPLACE_WITH_KEY +``` + +
+ +### CoinMarketCap + +
+Go to: https://coinmarketcap.com/api + +![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831111-3f09ed75-740e-4121-a67e-6e1f36e8ab9a.png) + +Click on, "Get Your Free API Key Now", which opens to the page: + +![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831345-06a48efe-63b2-4804-bcf9-52fa4a73f7db.png) + +Once the account has been created, copy the API key dispalyed within the dashboard. + +![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831705-e9f95018-bba7-49a9-b057-3443bc839861.png) + +Enter the API key into the OpenBB Terminal by typing: + +```console +/keys/cmc REPLACE_WITH_KEY +``` + +
+ +### Coinbase + +
+Go to: https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key + +![Coinbase](https://user-images.githubusercontent.com/46355364/207841901-647f0aef-0c74-454d-b99e-367d784259f0.png) + +Follow the instructions to obtain the credentials for the specific account. Enter the three values into the OpenBB Terminal by typing: + +```console +/keys/coinbase -k REPLACE_WITH_KEY -s REPLACE_WITH_SECRET -p REPLACE_WITH_PASSPHRASE +``` + +
+ +### Coinglass + +
+Go to: https://www.coinglass.com/ + +![Coinglass](https://user-images.githubusercontent.com/46355364/207844601-8510687a-e54f-49b9-961f-5ef6718f58ab.png) + +Click, "Log in", and then sign up for an account. This opens the page: + +![Coinglass](https://user-images.githubusercontent.com/46355364/207844637-a9321889-c4d8-4d44-95fe-a6288a17ad19.png) + +With the account created, find the assigned API key within the account profile page. Enter this value into the OpenBB Terminal by typing: + +```console +/keys/coinglass REPLACE_WITH_KEY +``` + +
+ +### Crypto Panic + +
+Go to: https://cryptopanic.com/developers/api/ + +![Crypto Panic](https://user-images.githubusercontent.com/46355364/207848733-27e5a804-7ae7-4ca2-88b2-848b32929b6f.png) + +Click on, ["Sign up"](https://cryptopanic.com/accounts/signup/?next=/developers/api/), and after creating, the API Key will be displayed on the documentation page, "Your free API auth token". + +![Crypto Panic](https://user-images.githubusercontent.com/46355364/207848971-3e4771b7-1faa-45fe-955f-81bd736b16b7.png) + +Enter that value in the OpenBB Terminal by typing: + +```console +/keys/cpanic REPLACE_WITH_KEY +``` + +
+ +### Degiro + +
+Go to: https://www.degiro.com/ + +![Degiro](https://user-images.githubusercontent.com/46355364/207838353-001d350c-872c-4770-a586-fb21318122eb.png) + +Click on, "Open an account", and then go through the registration process. After setting up the account, the login credentials can be entered in the OpenBB Terminal with: + +```console +/keys/degiro -u USERNAME -p PASSWORD +``` + +Instructions for setting up 2FA authorization are [here](https://github.com/Chavithra/degiro-connector#35-how-to-use-2fa-). + +
+ +### EODHD + +
+Go to: https://eodhistoricaldata.com/r/?ref=869U7F4J + +![EODHD](https://user-images.githubusercontent.com/46355364/207849214-23763c95-7314-42ae-b97d-cb5810686498.png) + +Clicking on, "Registration", opens the page: + +![EODHD](https://user-images.githubusercontent.com/46355364/207849324-00d4a916-8260-45c0-9714-289e0a0574c0.png) + +Once registered, the API Key will be next to "API TOKEN". + +![EODHD](https://user-images.githubusercontent.com/46355364/207849462-37471270-929a-45c5-a164-a84249b19231.png) + +Enter this string into the OpenBB Terminal by typing: + +```console +/keys/eodhd REPLACE_WITH_KEY +``` + +
+ +### Finnhub + +
+Go to: https://finnhub.io/ + +![Finnhub](https://user-images.githubusercontent.com/46355364/207832028-283c3321-8c05-4ee8-b4d2-41cdc940f408.png) + +Click on, "Get free api key", to open the page: + +![Finnhub](https://user-images.githubusercontent.com/46355364/207832185-f4c8406a-3b75-4acc-b3e8-3c4b3272d4da.png) + +Once the account has been created, find the API key in the account dashboard. + +![Finnhub](https://user-images.githubusercontent.com/46355364/207832601-62007d95-410c-4d03-a5a3-b177d1894a4c.png) + +Add this key to the OpenBB Terminal by entering: + +```console +/keys/finnhub REPLACE_WITH_KEY +``` + +
+ +### Financial Modeling Prep + +
+Go to: https://site.financialmodelingprep.com/developer/docs + +![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207821920-64553d05-d461-4984-b0fe-be0368c71186.png) + +Click on, "Get my API KEY here", and sign up for a free account. + +![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207822184-a723092e-ef42-4f87-8c55-db150f09741b.png) + +With an account created, sign in and navigate to the Dashboard, which shows the assigned token. by pressing the "Dashboard" button which will show the API key. + +![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207823170-dd8191db-e125-44e5-b4f3-2df0e115c91d.png) + +Enter the key into the OpenBB Terminal with: + +```console +/keys/fmp REPLACE_WITH_KEY +``` + +
+ +### FRED + +
+Go to: https://fred.stlouisfed.org + +![FRED](https://user-images.githubusercontent.com/46355364/207827137-d143ba4c-72cb-467d-a7f4-5cc27c597aec.png) + +Click on, "My Account", create a new account or sign in with Google: + +![FRED](https://user-images.githubusercontent.com/46355364/207827011-65cdd501-27e3-436f-bd9d-b0d8381d46a7.png) + +After completing the sign-up, go to "My Account", and select "API Keys". Then, click on, "Request API Key". + +![FRED](https://user-images.githubusercontent.com/46355364/207827577-c869f989-4ef4-4949-ab57-6f3931f2ae9d.png) + +Fill in the box for information about the use-case for FRED, and by clicking, "Request API key", at the bottom of the page, the API key will be issued. + +![FRED](https://user-images.githubusercontent.com/46355364/207828032-0a32d3b8-1378-4db2-9064-aa1eb2111632.png) + +Enter the API key into the OpenBB Terminal with: + +```console +/keys/fred REPLACE_WITH_KEY +``` + +
+ +### GitHub + +
+Go to: https://github.com + +![GitHub](https://user-images.githubusercontent.com/46355364/207846953-7feae777-3c3b-4f21-9dcf-84817c732618.png) + +Sign up for, or sign in to, GitHub. Once logged in, navigate to the [apps](https://github.com/settings/apps) page, under account settings. + +![GitHub](https://user-images.githubusercontent.com/46355364/207847215-3c04003f-26ea-4e62-9c13-ea35176bb5e3.png) + +Select, "New GitHub App": + +![GitHub](https://user-images.githubusercontent.com/46355364/207847383-d24416c6-18be-43f2-ae7c-455e8372a6ed.png) + +After creating the app, the key will be issued. Enter this token into the OpenBB Terminal with: + +```console +/keys/github REPLACE_WITH_KEY +``` + +
+ +### Glassnode + +
+Go to: https://studio.glassnode.com + +![Glassnode](https://user-images.githubusercontent.com/46355364/207843761-799078ff-fa64-4d39-a6eb-ba01d250be69.png) + +Click on, "Sign up", and create an account: + +![Glassnode](https://user-images.githubusercontent.com/46355364/207843795-dd2cdbdb-45eb-4c7d-b967-ae9857d4ea5d.png) + +After creating an account, navigate to the [account settings](https://studio.glassnode.com/settings/api) and generate an API Key. + +![Glassnode](https://user-images.githubusercontent.com/46355364/207843950-5f33f37d-0203-4302-a67f-198808f18e06.png) + +Enter this key in the OpenBB terminal with: + +```console +/keys/glassnode REPLACE_WITH_KEY +``` + +
+ +### IEX Cloud + +
+Go to: https://iexcloud.io + +![IEX Cloud](https://user-images.githubusercontent.com/46355364/207833088-e879e9f2-3180-4e50-ba9e-f40ee958f98a.png) + +Click on, "Sign in", and then create a new account. + +![IEX Cloud](https://user-images.githubusercontent.com/46355364/207833011-542d6ef0-0bdf-494a-83cb-c0a6741df2a3.png) + +After signing up, select a plan. There is a choice for a free plan at the bottom. + +![IEX Cloud](https://user-images.githubusercontent.com/46355364/207833303-4ebb2880-0b4c-4008-9b33-0e8ee6836027.png) + +After completing the sign-up process, the API Keyis found under the, "Access & Security", tab. + +![IEX Cloud](https://user-images.githubusercontent.com/46355364/207833540-c1e25500-22e9-43c3-a89e-b05dd446f2a5.png) + +Add this API key to the OpenBB Terminal by entering: + +```console +/keys/iex REPLACE_WITH_KEY +``` + +
+ +### Intrinio + +
+Go to: https://intrinio.com/starter-plan + +![Intrinio](intrinio.png) + +An API key will be issued with a subscription. Find the token value within the account dashboard, and enter it into the OpenBB Terminal with: + +```console +/keys/intrinio REPLACE_WITH_KEY +``` + +
+ +### Messari + +
+Go to: https://messari.io + +![Messari](https://user-images.githubusercontent.com/46355364/207848122-ec6a41e4-76b7-4620-adc3-1f1c19f4bca6.png) + +Click on, "Sign up", and create an account. + +![Messari](https://user-images.githubusercontent.com/46355364/207848160-6a962e3c-3007-40a3-9431-cd5ddfe5bb8e.png) + +After creating the account, navigate to the [account page](https://messari.io/account/api), and click on the tab for, API Access. + +![Messari](https://user-images.githubusercontent.com/46355364/207848324-ade5bede-8e6b-4b87-bdec-eade3217c0d8.png) + +Copy the API key and add it to the OpenBB Terminal by entering: + +```console +/keys/messari REPLACE_WITH_KEY +``` + +
+ +### News API + +
+Go to: https://newsapi.org + +![News API](https://user-images.githubusercontent.com/46355364/207828250-0c5bc38c-90b4-427d-a611-b43c98c8e7ab.png) + +Click on, "Get API Key", and fill out the form. + +![News API](https://user-images.githubusercontent.com/46355364/207828421-76922bc2-cde0-493f-9eed-7f90eb831779.png) + +Register for an account and the next screen will provide the API Key. + +![News API](https://user-images.githubusercontent.com/46355364/207828736-f0fce53b-f302-4456-adf9-8d50ac41fbe2.png) + +Add this API key into the OpenBB Terminal by entering: + +```console +/keys/news REPLACE_WITH_KEY +``` + +
+ +### Oanda + +
+Go to: https://developer.oanda.com + +![Oanda](https://user-images.githubusercontent.com/46355364/207839324-d30aa2b6-be83-41ff-9b1b-146cac566789.png) + +After creating an account, follow the steps below. + +![Oanda](https://user-images.githubusercontent.com/46355364/207839246-eb40f093-b583-4edd-b178-99fe399bfb66.png) + +Upon completion of the account setup, enter the credentials into the OpenBB Terminal using the syntax: + +```console +/keys/oanda -a REPLACE_WITH_ACCOUNT -t REPLACE_WITH_TOKEN --account_type REPLACE_WITH_LIVE_OR_PRACTICE +``` + +
+ +### Polygon + +
+Go to: https://polygon.io + +![Polygon](https://user-images.githubusercontent.com/46355364/207825623-fcd7f0a3-131a-4294-808c-754c13e38e2a.png) + +Click on, "Get your Free API Key". + +![Polygon](https://user-images.githubusercontent.com/46355364/207825952-ca5540ec-6ed2-4cef-a0ed-bb50b813932c.png) + +After signing up, the API Key is found at the bottom of the account dashboard page. + +![Polygon](https://user-images.githubusercontent.com/46355364/207826258-b1f318fa-fd9c-41d9-bf5c-fe16722e6601.png) + +Enter the key into the OpenBB Terminal by typing: + +```console +/keys/polygon REPLACE_WITH_KEY +``` + +
+ +### Quandl + +
+Go to: https://www.quandl.com + +![Quandl](https://user-images.githubusercontent.com/46355364/207823899-208a3952-f557-4b73-aee6-64ac00faedb7.png) + +Click on, "Sign Up", and register a new account. + +![Quandl](https://user-images.githubusercontent.com/46355364/207824214-4b6b2b74-e709-4ed4-adf2-14803e6f3568.png) + +Follow the sign-up instructions, and upon completion the API key will be assigned. + +![Quandl](https://user-images.githubusercontent.com/46355364/207824664-3c82befb-9c69-42df-8a82-510d85c19a97.png) + +Enter the key into the OpenBB Terminal with: + +```console +/keys/quandl REPLACE_WITH_KEY +``` + +
+ +### Reddit + +
+Sign in to Reddit, and then go to: https://old.reddit.com/prefs/apps/ + +![Reddit](https://preview.redd.it/540vrn3k0cn91.png?width=986&format=png&auto=webp&v=enabled&s=88228cd0cf4415b3487b8d35e1097f0caa804e15) + +Scroll down and click on "create application", selecting "script". + +![Reddit](https://preview.redd.it/7je4ehqa1cn91.png?width=916&format=png&auto=webp&v=enabled&s=dbdf65ccc0820cfe28eff8e81cba056f4fd8263e) + +Once the application is created, you must register it [here](https://old.reddit.com/wiki/api) + +![Reddit](https://user-images.githubusercontent.com/46355364/207834105-665180be-c2b6-43c8-b1c9-477729905010.png) + +Click on, "Read the full API terms and sign up for usage", and fill out the form. + +![Reddit](https://user-images.githubusercontent.com/46355364/207834850-32a0d4c8-9990-4919-94e3-abad1487a3bd.png) + +After submitting the form, check for a confirmation email. The credentials will be displayed [here](https://old.reddit.com/prefs/apps/), enter them into the OpenBB Terminal in one line: + +```console +/keys/reddit -i REPLACE_WITH_CLIENT_ID -s REPLACE_WITH_CLIENT_SECRET -u REPLACE_WITH_REDDIT_USERNAME -p REPLACE_WITH_REDDIT_PASSWORD -a REPLACE_WITH_USER_AGENT +``` + +
+ +### Robinhood + +
+Go to: https://robinhood.com/us/en + +![Robinhood](https://user-images.githubusercontent.com/46355364/207838058-a2311632-6459-4cfd-bc0a-639ee3931574.png) + +After registering for an account, it can be added to the OpenBB Terminal with: + +```console +/keys/rb -u REPLACE_WITH_USERNAME -p REPLACE_WITH_PASSWORD +``` + +The first login will request 2FA authorization from the device connected to the account. + +
+ +### Santiment + +
+Go to: https://app.santiment.net + +![Santiment](https://user-images.githubusercontent.com/46355364/207849709-a5f10b03-138c-4e09-89f6-8a18cfbaf008.png) + +Click on, "Sign up", and register for an account. + +![Santiment](https://user-images.githubusercontent.com/46355364/207849732-4bae61de-2f62-4919-b85d-f418f1bbd0c4.png) + +Navigate to the [account dashboard](https://app.santiment.net/account#api-keys) and generate a key. + +![Santiment](https://user-images.githubusercontent.com/46355364/207849839-31d1d0a7-6936-4ebd-a7f8-1292f6317b07.png) + +Add it to the OpenBB Terminal by entering: + +```console +/keys/santiment REPLACE_WITH_KEY +``` + +
+ +### ShroomDK + +
+Go to: https://app.santiment.net + +![ShroomDK](https://user-images.githubusercontent.com/46355364/207850122-b8cd225e-0a65-4ea8-8069-0b40fff1600e.png) + +Click "Mint Your ShroomDK API Key", and sign up for an account. + +![ShroomDK](https://user-images.githubusercontent.com/46355364/207850176-f29cc73b-2b55-46e8-bce3-62c9342b6599.png) + +Once created, connect a wallet to complete minting the NFT license. The API key will be displayed under the account. + +![ShroomDK](https://user-images.githubusercontent.com/46355364/207850380-b59554af-1e65-4616-921d-e02c9ecf1aad.png) + +Enter it into the OpenBB Terminal by typing, + +```console +/keys/shroom REPLACE_WITH_KEY +``` + +
+ +### Stocksera + +
+Go to: https://stocksera.pythonanywhere.com + +![Stocksera](https://user-images.githubusercontent.com/46355364/207853896-ee233569-26bb-4244-b115-43ac8885757a.png) + +Click on, "Log in", and create an account. + +![Stocksera](https://user-images.githubusercontent.com/46355364/207853985-46a7a17f-b6b2-442b-886d-f68b3ba2ad5a.png) + +Once logged in, navigate to the "Developers" tab and copy the API key. + +![Stocksera](https://user-images.githubusercontent.com/46355364/207854224-e5ddace0-15d1-491c-b616-263cca0bef02.png) + +Add the key to the OpenBB Terminal by entering: + +```console +/keys/stocksera REPLACE_WITH_KEY +``` + +
+ +### Token Terminal + +
+Go to: https://tokenterminal.com + +![Token Terminal](https://user-images.githubusercontent.com/46355364/207850735-69368b4f-6a3e-46b8-ba69-3b79d9231f15.png) + +Click on, "Log in" and sign up for an account. + +![Token Terminal](https://user-images.githubusercontent.com/46355364/207850774-2071df78-3289-4c8e-9d64-156b9ec8ad81.png) + +Verify the email address, and then navigate go to the "API" tab and copy the API key to the clipboard. + +![Token Terminal](https://user-images.githubusercontent.com/46355364/207851035-71ea3eff-a11f-4835-8592-c07b3aa3f800.png) + +Add the key to the OpenBB Terminal by typing: + +```console +/keys/tokenterminal REPLACE_WITH_KEY +``` + +
+ +### Tradier + +
+Go to: https://documentation.tradier.com + +![Tradier](https://user-images.githubusercontent.com/46355364/207829178-a8bba770-f2ea-4480-b28e-efd81cf30980.png) + +Click on, "Open Account", to start the sign-up process. After the account has been setup, navigate to [Tradier Broker Dash](https://dash.tradier.com/login?redirect=settings.api) and create the application. Request a sandbox access token, and enter this key into the OpenBB Terminal with: + +```console +/keys/tradier REPLACE_WITH_KEY +``` + +
+ +### Twitter + +
+Upcoming changes to the Twitter API will deprecate the current functionality, it is uncertain if the current features will continue to work. + +![Twitter API](https://pbs.twimg.com/media/FooIJF3agAIU8SN?format=png&name=medium) + +
+ +### Whale Alert + +
+Go to: https://docs.whale-alert.io + +![Whale Alert](https://user-images.githubusercontent.com/46355364/207842892-3f71ee7a-6cd3-48a2-82e4-fa5ec5b13807.png) + +Click on, "sign up here". + +![Whale Alert](https://user-images.githubusercontent.com/46355364/207842992-427f1d2c-b34e-41c9-85fd-18511805fd16.png) + +After creating the account, click on, "Create", to issue the API Key. + +![Whale Alert](https://user-images.githubusercontent.com/46355364/207843214-20232465-9a52-4b66-b01a-0b8cecbdd612.png) + +Enter the key into the OpenBB Terminal by typing: + +```console +/keys/walert REPLACE_WITH_KEY +``` + +
From c29a3f65f8fec274530caf23b49068b80eb86959 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 15 Feb 2023 14:52:37 -0800 Subject: [PATCH 03/30] Typo correction --- website/content/sdk/quickstart/api-keys.md | 2 +- website/content/terminal/quickstart/api-keys.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/website/content/sdk/quickstart/api-keys.md b/website/content/sdk/quickstart/api-keys.md index a39c99c0bda..21e5cd172e2 100644 --- a/website/content/sdk/quickstart/api-keys.md +++ b/website/content/sdk/quickstart/api-keys.md @@ -181,7 +181,7 @@ Click on, "Get Your Free API Key Now", which opens to the page: ![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831345-06a48efe-63b2-4804-bcf9-52fa4a73f7db.png) -Once the account has been created, copy the API key dispalyed within the dashboard. +Once the account has been created, copy the API key displayed within the dashboard. ![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831705-e9f95018-bba7-49a9-b057-3443bc839861.png) diff --git a/website/content/terminal/quickstart/api-keys.md b/website/content/terminal/quickstart/api-keys.md index b8c8c6f86c8..1b5d7afdc51 100644 --- a/website/content/terminal/quickstart/api-keys.md +++ b/website/content/terminal/quickstart/api-keys.md @@ -159,7 +159,7 @@ Click on, "Get Your Free API Key Now", which opens to the page: ![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831345-06a48efe-63b2-4804-bcf9-52fa4a73f7db.png) -Once the account has been created, copy the API key dispalyed within the dashboard. +Once the account has been created, copy the API key displayed within the dashboard. ![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831705-e9f95018-bba7-49a9-b057-3443bc839861.png) From 461af33b1768e062bbf44f459a60a3bdb2d9c5e1 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 15 Feb 2023 14:55:07 -0800 Subject: [PATCH 04/30] adds the screenshot for Intrinio --- website/content/sdk/quickstart/api-keys.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/sdk/quickstart/api-keys.md b/website/content/sdk/quickstart/api-keys.md index 21e5cd172e2..28e909e0f7e 100644 --- a/website/content/sdk/quickstart/api-keys.md +++ b/website/content/sdk/quickstart/api-keys.md @@ -446,7 +446,7 @@ openbb.keys.iex(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://intrinio.com/starter-plan -![Intrinio](intrinio.png) +![Intrinio](https://user-images.githubusercontent.com/85772166/219207307-d6605460-ae2c-46d3-8b4e-f82057cfce59.png) An API key will be issued with a subscription. Find the token value within the account dashboard, and enter it into the OpenBB SDK with: From ae80d2b31d4aadfe9f539506f1261c15e18348eb Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 15 Feb 2023 14:56:25 -0800 Subject: [PATCH 05/30] Adds Intrinio screenshot --- website/content/terminal/quickstart/api-keys.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/terminal/quickstart/api-keys.md b/website/content/terminal/quickstart/api-keys.md index 1b5d7afdc51..192812d2e00 100644 --- a/website/content/terminal/quickstart/api-keys.md +++ b/website/content/terminal/quickstart/api-keys.md @@ -415,7 +415,7 @@ Add this API key to the OpenBB Terminal by entering:
Go to: https://intrinio.com/starter-plan -![Intrinio](intrinio.png) +![Intrinio](https://user-images.githubusercontent.com/85772166/219207556-fcfee614-59f1-46ae-bff4-c63dd2f6991d.png) An API key will be issued with a subscription. Find the token value within the account dashboard, and enter it into the OpenBB Terminal with: From e5f686f1a3581003e0fccf35a6936b6cbfa3322a Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 15 Feb 2023 15:00:47 -0800 Subject: [PATCH 06/30] Flipside Crypto URL correction --- website/content/sdk/quickstart/api-keys.md | 6 +++--- website/content/terminal/quickstart/api-keys.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/website/content/sdk/quickstart/api-keys.md b/website/content/sdk/quickstart/api-keys.md index 28e909e0f7e..77690187e23 100644 --- a/website/content/sdk/quickstart/api-keys.md +++ b/website/content/sdk/quickstart/api-keys.md @@ -16,7 +16,7 @@ Which prints: ```console Set Reddit key - + Parameters ---------- client_id: str @@ -39,7 +39,7 @@ Which prints: ------- str Status of key set - + Examples -------- >>> from openbb_terminal.sdk import openbb @@ -652,7 +652,7 @@ openbb.keys.santiment(key = 'REPLACE_WITH_KEY', persist = True) ### ShroomDK
-Go to: https://app.santiment.net +Go to: https://sdk.flipsidecrypto.xyz/shroomdk ![ShroomDK](https://user-images.githubusercontent.com/46355364/207850122-b8cd225e-0a65-4ea8-8069-0b40fff1600e.png) diff --git a/website/content/terminal/quickstart/api-keys.md b/website/content/terminal/quickstart/api-keys.md index 192812d2e00..3515cc43df7 100644 --- a/website/content/terminal/quickstart/api-keys.md +++ b/website/content/terminal/quickstart/api-keys.md @@ -606,7 +606,7 @@ Add it to the OpenBB Terminal by entering: ### ShroomDK
-Go to: https://app.santiment.net +Go to: https://sdk.flipsidecrypto.xyz/shroomdk ![ShroomDK](https://user-images.githubusercontent.com/46355364/207850122-b8cd225e-0a65-4ea8-8069-0b40fff1600e.png) @@ -618,7 +618,7 @@ Once created, connect a wallet to complete minting the NFT license. The API key ![ShroomDK](https://user-images.githubusercontent.com/46355364/207850380-b59554af-1e65-4616-921d-e02c9ecf1aad.png) -Enter it into the OpenBB Terminal by typing, +Enter it into the OpenBB Terminal by typing: ```console /keys/shroom REPLACE_WITH_KEY From 593edf8a08052f79d43edc6df2359326cd5337d3 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Thu, 16 Feb 2023 20:35:55 -0800 Subject: [PATCH 07/30] updates routines intro --- .../guides/advanced/scripts-and-routines.md | 172 +++++++++--------- 1 file changed, 88 insertions(+), 84 deletions(-) diff --git a/website/content/terminal/guides/advanced/scripts-and-routines.md b/website/content/terminal/guides/advanced/scripts-and-routines.md index fffb575a010..af0b2e7e4d9 100644 --- a/website/content/terminal/guides/advanced/scripts-and-routines.md +++ b/website/content/terminal/guides/advanced/scripts-and-routines.md @@ -1,113 +1,117 @@ --- sidebar_position: 5 title: Scripts & Routines -description: The .openbb scripts offer the ability to automatically run a set of commands in the form of a **routine**. Furthermore, the scripts can be adapted, and documented, at any moment giving the user full control over the type of analysis you wish to do (and repeat). This can fundamental research, understanding market movements, finding hidden gems and even doing advanced statistical/econometric research. +description: OpenBB Routine files, `.openbb`, are simple scripts for automating processes and repetitive tasks. They represent a 1:1 relationship with any command in the OpenBB Terminal; one line represents one function. A routine file can be created or modified in any basic text editor, the only difference between a plain-text file and an OpenBB Routine file is the `.openbb` file extension. Additionally, routine files can be captured with the macro recorder, controlled with global commands, `record` & `stop`. Upon `stop`, the script is automatically saved to the, `~/OpenBBUserData/routines/`, folder. Routine files stored there are callable from the main menu, using the `exe` function. By deploying variable arguments - `$ARGV[0]` - to any line in the script, dates, symbols, exported filenames, or any Terminal function argument, scripts become dynamic. keywords: [scripts, routines, .do file, stata, spss, r studio, python, automation, data collection, aggregation, script, routine, openbb terminal] --- -The `.openbb` scripts offer the ability to automatically run a set of commands in the form of a **routine**. Furthermore, the scripts can be adapted, and documented, at any moment giving the user full control over the type of analysis you wish to do (and repeat). This can fundamental research, understanding market movements, finding hidden gems and even doing advanced statistical/econometric research. +## OpenBB Routine Files -The .openbb scripts offer a vast amount of capabilities to export data from the OpenBB Terminal directly into Excel files allowing students, professors, researchers and professionals to collect a a large dataset incredibly quick. For example, the GIF below demonstrates market data collection of all constituents of the S&P 500. Download the routine file [here](https://www.dropbox.com/s/3w8jgtzl0yoq9o9/sp500.openbb?dl=0) and place it in the `routines` folder as found in the `OpenBBUserData` folder and execute with `exe sp500.openbb`. Read on to understand in detail how to create and execute these type of files. +OpenBB Routine files, `.openbb`, are simple scripts for automating processes and repetitive tasks. They represent a 1:1 relationship with any command in the OpenBB Terminal; one line represents one function. A routine file can be created or modified in any basic text editor, the only difference between a plain-text file and an OpenBB Routine file is the `.openbb` file extension. Additionally, routine files can be captured with the macro recorder, controlled with global commands, `record` & `stop`. Upon `stop`, the script is automatically saved to the, `~/OpenBBUserData/routines/`, folder. Routine files stored there are callable from the main menu, using the `exe` function. By deploying variable arguments - `$ARGV[0]` - to any line in the script, dates, symbols, exported filenames, or any Terminal function argument, scripts become dynamic. - +Run a routine file from the main menu, with the `exe` command. Below, the `--help` dialogue is displayed. -### Create your own script +```console +usage: exe [--file PATH] [-i ROUTINE_ARGS] [-e] [-h] -Within the OpenBB Terminal, you have the option to record your own session with `record` which converts any commands you run in an .openbb script until you type `stop`. Find a short demonstration below. - - - -As shown in the video, scripts and routines reside in the `routines` folder within the `OpenBBUserData` folder (as found [here](https://docs.openbb.co/terminal/guides/advanced/data)) and are automatically shown when you type `exe` from the home screen (`home`). - -:::note To manually create your own .openbb script use the following: -1. Download the file that can be used as a template [here](https://www.dropbox.com/s/73g9qx9xgtbb2ec/routines_template.openbb?dl=0). -2. Move the file inside the `routines` folder within the [OpenBBUserData](https://docs.openbb.co/terminal/guides/advanced/data) folder and, optionally, adjust the name to your liking. -3. Open the file with a Text Editor (e.g. Notepad or TextEdit) and adjust the file accordingly. -4. Open up the OpenBB Terminal, and type `exe --file`. The file should then be one of the options. -5. Select the file to run the routine script. -::: - -As long as the file remains in the `routines` folder, you will be able to find your file automatically as shown below: - -![Script Showcase](https://user-images.githubusercontent.com/46355364/213746605-53cfeb46-13f2-4550-b0fd-9de8a6d06bf1.png) - -### Explanation of scripts - -The script file follows the following logic: - -- **Comments**: any text after a hashtag (`#`) is referred to as a comment. This is used to explain what is happening within the script and is not taking into account when running terminal commands. -- **Commands**: any text *without* a hashtag is being ran inside the OpenBB Terminal. E.g. on the second line it says `stocks` thus within the OpenBB Terminal the script will enter `stocks` and run this for you. - -These scripts have a 1-to-1 relationship with how you would normally use the terminal. To get a better understanding of how the terminal is used, please see Structure of the OpenBB Terminal. The example below can be executed by running `exe --example`. +Execute automated routine script. For an example, please use `exe --example` and for documentation and to learn how create your own script type `about exe`. +options: + --file PATH The path or .openbb file to run. (default: None) + -i ROUTINE_ARGS, --input ROUTINE_ARGS + Select multiple inputs to be replaced in the routine and separated by commas. E.g. GME,AMC,BTC-USD (default: None) + -e, --example Run an example script to understand how routines can be used. (default: False) + -h, --help show this help message (default: False) ``` -# Go into the stocks context + +## The Macro Recorder + +With the macro recorder, it is easy to get started; just enter `record`. To follow along, copy the block below into the Terminal at the main menu. + +```console +record/stocks/load qqq/forecast/expo QQQ/autoselect QQQ/stop +``` + +![Routines](routines1.png) + +![Routines](routines2.png) + +The routine has been successfully captured, and the next time the Terminal is opened, this routine will be visible when calling the `exe` function. + +![Routines](routines3.png) + +## Editing & Inserting Arguments + +Let's take a look at the routine file that was just generated. This is what was captured, the recorder interpreted each `/` as a new command: + +```console stocks -# Load a company ticker, e.g. Apple -load AAPL +load qqq -# Show a candle chart with a 20 day Moving Average -candle --ma 20 +forecast -# Switch over to the Due Diligence menu -dd +expo QQQ -# Show analyst ratings -analyst - -# Show price targets charts -pt - -# Show future estimations -est - -# Return to home -home +autoselect QQQ ``` -### Executing a script +A routine file that is locked to any single symbol will likely be less desirable than one which can be applied to any ticker. OpenBB routine files overcome this obstacle by allowing for an unlimited number of variable arguments - `$ARGV[0]` - to be assigned anywhere in the script. Let's go ahead and edit our Routine file to accommodate any symbol. -By going to the main menu as depicted below (accessible with `home`), the `exe` command can be used. With this command you can run any `.openbb` script. These scripts are located where the application is located inside the `routines` folder as found in the `OpenBBUserData` folder. - -Thus, using the earlier mentioned script, we can enter `exe --file routines_template.openbb` which automatically runs all commands within the script file. Thus, it will return a candle chart with a moving average of 20 days, expectations and price targets from analysts and estimated future performance before returning to the home window. - -![OpenBB Routine Script Execution](https://user-images.githubusercontent.com/46355364/213746495-6b38ab67-1d90-46b1-898f-9df1ce4063c0.png) - -### Custom arguments - -Next to that, it is also possible to add in custom arguments to your script making the script more interactive and allow you to do the same analysis for multiple companies. This is done in the following script (and can be downloaded [here](https://www.dropbox.com/s/usooz6y29r1xldb/routines_template_with_inputs.openbb?dl=0): - -``` -# This script requires you to use arguments. This can be done with the following: -# exe --file routines_template_with_inputs.openbb -i TSLA,AAPL,MSFT - -# Go to the stocks menu +```console stocks -# Load a ticker, given the argument used. E.g. -i TSLA load $ARGV[0] -# Enter the Technical Analysis (ta) menu -ta +forecast -# Show the fibonacci retracement levels -fib +expo $ARGV[0] -# Enter the comparison analysis (ca) menu -../ca - -# Set two extra tickers based on the arguments used. E.g. -i TSLA,AAPL,MSFT -add $ARGV[1],$ARGV[2] - -# Plot the historical prices -historical - -# Return to home -home +autoselect $ARGV[0] ``` -This script includes `$ARGV[0]`, `$ARGV[1]` and `$ARGV[2]`. This means that the script requires you to submit three arguments. In this case, they refer to stock tickers. Therefore, like the script also says, you can include these arguments with `-i` followed by three tickers (e.g. `exe example_with_inputs.openbb -i TSLA,AAPL,MSFT`). This results in the following: +Open the file with a text editor, make the changes, save the file, and then run the `exe` command again; except now, add the `--input` argument with a new ticker. For demonstration purposes, the routine file used in the example has been renamed to be `demo_routine.openbb`. Because the file name was changed, the Terminal will need to be restarted for the new name to be recognized. In subsequent edits, this will not be necessary because the file is read from start-to-finish with every execution. -![OpenBB Script with Input](https://user-images.githubusercontent.com/46355364/213747540-1907ffdb-1950-42a7-bb5b-8482777a9763.png) +```console +exe demo_routine.openbb --input SPY +``` -It is an incredibly simple script, but it gives an understanding what the possibilities are. Do make sure you saved this script in the `routines` folder else you are not able to execute it. +![Routines](routines4.png) + +Additional variables can be assigned to perform other functions, a date for example. Let's modify the routine file to include a start date as part of the `load` function. For those following along at home, modify the second command in the script to be: + +```console +load $ARGV[0] --start $ARGV[1] +``` + +The additional argument is added to the previous `exe` syntax as a comma-separated list. + +```console +exe demo_routine.openbb --input SPY,2022-01-01 +``` + +![Routines](routines5.png) + +This process is limited only to the imagination. Large, reptitive, tasks can be automated by extrapolating on the process above. + +## Commenting + +Commenting within an OpenBB routine file provides the creator to communicate with the end-user. Commented lines - beginning with, "#" - are passed over during execution of the routine. Let's update the example routine file with a few commments to illustrate. + +```console +# This routine is a demonstration of the OpenBB routine files. +# Read the docs here: https://docs.openbb.co/terminal/guides/advanced/scripts-and-routines + +# Start of routine +stocks + +load $ARGV[0] --start $ARGV[1] + +forecast + +expo $ARGV[0] + +autoselect $ARGV[0] + +# End of routine +# Please note that the outputs of this routine will be different than depicted, because, you are now in the future. +``` From 68fc5cbee967d33a309d97af9c0d333dc82eb783 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Thu, 16 Feb 2023 20:50:52 -0800 Subject: [PATCH 08/30] adds images and embeds demonstartion routine file. --- .../guides/advanced/scripts-and-routines.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/website/content/terminal/guides/advanced/scripts-and-routines.md b/website/content/terminal/guides/advanced/scripts-and-routines.md index af0b2e7e4d9..19433215997 100644 --- a/website/content/terminal/guides/advanced/scripts-and-routines.md +++ b/website/content/terminal/guides/advanced/scripts-and-routines.md @@ -31,13 +31,13 @@ With the macro recorder, it is easy to get started; just enter `record`. To foll record/stocks/load qqq/forecast/expo QQQ/autoselect QQQ/stop ``` -![Routines](routines1.png) +![Routines](https://user-images.githubusercontent.com/85772166/219550644-26ecaf27-cbf9-4314-8f3b-d9f20e8fcb88.png) -![Routines](routines2.png) +![Routines](https://user-images.githubusercontent.com/85772166/219550698-3b1cd675-4e1f-4d3e-a630-9ed00b689b2b.png) The routine has been successfully captured, and the next time the Terminal is opened, this routine will be visible when calling the `exe` function. -![Routines](routines3.png) +![Routines](https://user-images.githubusercontent.com/85772166/219550745-06d9a8d5-a85d-45c9-aa58-b5adaad16a08.png) ## Editing & Inserting Arguments @@ -75,7 +75,7 @@ Open the file with a text editor, make the changes, save the file, and then run exe demo_routine.openbb --input SPY ``` -![Routines](routines4.png) +![Routines](https://user-images.githubusercontent.com/85772166/219550837-fe6ece69-2336-40fc-8db9-fc7b62b784c6.png) Additional variables can be assigned to perform other functions, a date for example. Let's modify the routine file to include a start date as part of the `load` function. For those following along at home, modify the second command in the script to be: @@ -89,13 +89,13 @@ The additional argument is added to the previous `exe` syntax as a comma-separat exe demo_routine.openbb --input SPY,2022-01-01 ``` -![Routines](routines5.png) +![Routines](https://user-images.githubusercontent.com/85772166/219550901-13205851-a12f-4ef9-85f4-a2bfa24be9c9.png) This process is limited only to the imagination. Large, reptitive, tasks can be automated by extrapolating on the process above. ## Commenting -Commenting within an OpenBB routine file provides the creator to communicate with the end-user. Commented lines - beginning with, "#" - are passed over during execution of the routine. Let's update the example routine file with a few commments to illustrate. +Commenting within an OpenBB routine file is how the author of a script can communicate to the end-user. Commented lines - beginning with, "#" - are passed over during execution of the routine. Let's update the example routine file with a few commments to illustrate. ```console # This routine is a demonstration of the OpenBB routine files. @@ -113,5 +113,7 @@ expo $ARGV[0] autoselect $ARGV[0] # End of routine -# Please note that the outputs of this routine will be different than depicted, because, you are now in the future. +# Please note that the outputs of this routine will be different than the depictions above, because, you are now in the future. ``` + +For convenience, the routine file constructed in the example above can be downloaded directly [here](https://github.com/OpenBB-finance/OpenBBTerminal/files/10763257/demo_routine.openbb.zip). From 631c07d82149c4730b6f5a9c8bef8358e453a3ee Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Thu, 16 Feb 2023 20:58:23 -0800 Subject: [PATCH 09/30] linter - commments -> comments --- .../content/terminal/guides/advanced/scripts-and-routines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/terminal/guides/advanced/scripts-and-routines.md b/website/content/terminal/guides/advanced/scripts-and-routines.md index 19433215997..b01b3714051 100644 --- a/website/content/terminal/guides/advanced/scripts-and-routines.md +++ b/website/content/terminal/guides/advanced/scripts-and-routines.md @@ -95,7 +95,7 @@ This process is limited only to the imagination. Large, reptitive, tasks can be ## Commenting -Commenting within an OpenBB routine file is how the author of a script can communicate to the end-user. Commented lines - beginning with, "#" - are passed over during execution of the routine. Let's update the example routine file with a few commments to illustrate. +Commenting within an OpenBB routine file is how the author of a script can communicate to the end-user. Commented lines - beginning with, "#" - are passed over during execution of the routine. Let's update the example routine file with a few comments to illustrate. ```console # This routine is a demonstration of the OpenBB routine files. From 9e2f03710f985ca0d754d0d966269f752141caba Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Fri, 17 Feb 2023 21:49:11 -0800 Subject: [PATCH 10/30] some changes... --- .../content/terminal/guides/advanced/data.md | 134 ++++++++++-------- 1 file changed, 71 insertions(+), 63 deletions(-) diff --git a/website/content/terminal/guides/advanced/data.md b/website/content/terminal/guides/advanced/data.md index 0e6c06d2cda..840fc6ca890 100644 --- a/website/content/terminal/guides/advanced/data.md +++ b/website/content/terminal/guides/advanced/data.md @@ -1,100 +1,108 @@ --- title: Importing and Exporting Data sidebar_position: 3 -description: The OpenBBUserData folder's default location is the home of the system user account. By default this will be the following paths. Within the folder you can find files that you have exported as well as files that you wish to import directly into the OpenBB Terminal. For example, this could be an orderbook which you can store in OpenBBUserData/portfolio/holdings. -keywords: [export, import, data, excel, xlsx, csv, json, png, pdf, jpg, openbbuserdata, where is data exported, market data, financial data, free, openbb terminal] +description: The `OpenBBUserData` folder is where files are saved when they are created from within the OpenBB Terminal, like exports and generated reports. It is also where user-generated files are stored. +keywords: [export, import, data, excel, xlsx, csv, json, png, pdf, jpg, openbbuserdata, terminal, user, data, presets, screener, portfolio, styles, themes] --- - ## The OpenBBUserData Folder -The `OpenBBUserData` folder's default location is the home of the system user account. By default this will be the following paths: +The `OpenBBUserData` folder is where files are saved when they are created from within the OpenBB Terminal, like exports and generated reports. It is also where user-generated files are stored, such as: + +- Screener presets +- Portfolio files +- Exported files +- Files to be imported by various functions +- Styles and themes + +The folder's location is at the root of user account for the operating system. + +- Linux: `~/home//OpenBBUserData` - macOS: `Macintosh HD/Users//OpenBBUserData` -- Windows: `C:/Users//OpenBBUserData` +- Windows: `C:\Users\\OpenBBUserData` -Within the folder you can find files that you have exported as well as files that you wish to import directly into the OpenBB Terminal. For example, this could be an orderbook which you can store in `OpenBBUserData/portfolio/holdings`. - -![OpenBBUserData Folder](https://user-images.githubusercontent.com/85772166/195742985-19f0e420-d8f7-4fea-a145-a0243b8f2ddc.png) - -This folder contains all things user-created. For example: - - - Screener presets - - Portfolio files - - Exported files - - Files to be imported by various functions - - Styles and themes - - Preferred data sources +**Note:** With a WSL-enabled Windows installation, this folder will be under the Linux partition ## Exporting Files -Within many of the functionalities, we offer the capability to export to Excel (xlsx and csv) or JSON. This can be demonstrated with the `--export` argument, e.g. if you wish to export to `xlsx` you would add `--export xlsx`. - -For example, if you wish to download market data you can do so from the stocks menu with the following: +Most Terminal functions have the ability to export results as a file to the `OpenBBUserData` folder. This can be confirmed by engaging the help dialogue. ```console -/stocks/load AAPL -s 2010-01-01 --export xlsx +/economy/ycrv --help ``` -This results in the following: - -![Export Example](https://user-images.githubusercontent.com/46355364/214817681-fd5324c3-003c-45eb-adf4-96d5b41a3c02.png) - -We also allow you to define a file name, for example for the same stock tickers, we can also add in the filename. This time, we export to `csv`. - ```console -/stocks/load AAPL -s 2010-01-01 --export apple.csv +usage: ycrv [-d DATE] [-h] [--export EXPORT] [--sheet-name SHEET_NAME [SHEET_NAME ...]] [--raw] + +Generate country yield curve. The yield curve shows the bond rates at different maturities. + +options: + -d DATE, --date DATE Date to get data from FRED. If not supplied, the most recent entry will be used. (default: None) + -h, --help show this help message (default: False) + --export EXPORT Export raw data into csv, json, xlsx (default: ) + --sheet-name SHEET_NAME [SHEET_NAME ...] + Name of excel sheet to save data to. Only valid for .xlsx files. (default: None) + --raw Flag to display raw data (default: False) + +For more information and examples, use 'about ycrv' to access the related guide. + ``` -Which results in the following: +For exporting data from tables, the valid output types are: -![Filename Example](https://user-images.githubusercontent.com/46355364/214818131-597b3bd0-9c66-43f1-bf0e-2c0a703e2645.png) +- CSV +- JSON +- XLSX -Lastly, when you select the `xlsx` option, you can also specify the sheet name with `--sheet-name` which allows multiple datasets to be send to the same Excel file. Using the same stock ticker, we can define the following. First, get market data from the `stocks` menu: +Images can be exported as: + +- JPG +- PDF +- PNG +- SVG + +Deploying the `--export` flag can include just the file type: ```console -/stocks/load AAPL -s 2010-01-01 --export apple.xlsx --sheet-name Market Data +/stocks/ $ load aapl --export csv ``` -Then enter the `fa` (Fundamental Analysis) menu and type: - -**Income Statement:** - ```console -income --source FinancialModelingPrep -l 10 --export apple.xlsx --sheet-name Income Statement +Loading Daily data for AAPL with starting period 2020-02-13. +Saved file: /Users/danglewood/OpenBBUserData/exports/20230217_204550_OpenBBTerminal_openbb_terminal_load_AAPL.csv ``` -**Balance Sheet:** -```console -balance --source FinancialModelingPrep -l 10 --export apple.xlsx --sheet-name Balance Sheet -``` - -**Cash Flow Statement:** +Or, the file can be named explicitly: ```console -cash --source FinancialModelingPrep -l 10 --export apple.xlsx --sheet-name Cash Flow Statement +/stocks/ $ load aapl --export aapl_daily.csv ``` -This generates a file for Apple with market data from 2010-01-01 until now and income, balance and cash flow statements over the last 10 years as seen in the image below. +```console +Loading Daily data for AAPL with starting period 2020-02-13. +Saved file: /Users/danglewood/OpenBBUserData/exports/aapl_daily.csv +``` -![Sheet Name Example](https://user-images.githubusercontent.com/46355364/214824561-6eaf3a88-746a-4abc-91e1-420c9036c00d.png) +When `xlsx` is the file type, an additional argument for the sheet name is available. The purpose of this functionality is to export multiple items to the same spreadsheet; for example: -Next to that, we also allow exporting to images, this can be PNG, JPG, PDF and SVG. For example, using our `portfolio` menu we can export the charts to any type of format which again can be found within the `OpenBBUserData` folder. +```console +/stocks/load aapl --export watchlist.xlsx --sheet-name AAPL +``` -![image](https://user-images.githubusercontent.com/46355364/214819518-cec40468-9019-440c-8bfe-7bcabc207578.png) +```console +Loading Daily data for AAPL with starting period 2020-02-13. +Saved file: /Users/danglewood/OpenBBUserData/exports/watchlist.xlsx +``` + +```console +/stocks/load msft --export watchlist.xlsx --sheet-name MSFT +``` + +```console +Loading Daily data for MSFT with starting period 2020-02-13. +Saved file: /Users/danglewood/OpenBBUserData/exports/watchlist.xlsx +``` + +![Exporting Data](exports1.png) ## Importing Data -Menus, such as [Econometrics](https://docs.openbb.co/terminal/guides/intros/econometrics) or [Portfolio](https://docs.openbb.co/terminal/guides/intros/portfolio), allow the user to import their own dataset. Files available to import will be included with the selections made available by auto-complete. In the Econometrics menu, this is activated after pressing the space bar, `load -f ` - -![Importing Data](https://user-images.githubusercontent.com/85772166/204921760-38742f6c-ec78-4009-9c23-54dcb0504524.png) - -The Econometrics menu looks into the `exports` and `custom_imports/econometrics` folder. For the Portfolio functionalities the `portfolio` menu looks into the `portfolio/holdings` folder whereas the `portfolio/po` menu looks into the `portfolio/allocation` and `portfolio/optimization` folder for the `load` and `file` command respectively. Please make sure to read the relevant guides to understand how this works. - -## Alternative Folder - -The location of this folder can be set by the user from the `/settings` menu. There should be no need to update paths in this menu unless the folders have been moved manually. If the location of the OpenBBUserData folder must be changed, it is best to move the entire existing folder to the new path. The path is then changed under the settings menu with: - -```console -userdata --folder /path_to/OpenBBUserData -``` - -![The Settings Menu](https://user-images.githubusercontent.com/85772166/195736718-a1b821da-5977-437a-bd18-b44add2a29a2.png) From d498b9dbef9d3d28631c3fe66c8458248f296bf9 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Mon, 20 Feb 2023 13:29:28 -0800 Subject: [PATCH 11/30] updates Terminal installation page --- .../terminal/quickstart/installation.md | 320 ++++++++---------- 1 file changed, 145 insertions(+), 175 deletions(-) diff --git a/website/content/terminal/quickstart/installation.md b/website/content/terminal/quickstart/installation.md index 86b5a0368f7..07998d9edde 100644 --- a/website/content/terminal/quickstart/installation.md +++ b/website/content/terminal/quickstart/installation.md @@ -1,5 +1,5 @@ --- -sidebar_position: 1 +Sidebar_position: 2 title: Installation description: The OpenBB Terminal can be directly installed on your computer via our installation programs. Within this section, you are guided through the installation process and how to launch the program. If you struggle with the installation process, please don’t hesitate to reach us on Discord or visit our contact page. keywords: @@ -19,108 +19,108 @@ keywords: openbb terminal, ] --- - import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import InstallerButton from "@site/src/components/General/InstallerButton"; -The OpenBB Terminal can be directly installed on your computer via our installation programs. Within this section, you are guided through the installation process and how to launch the program. If you struggle with the installation process, please don’t hesitate to reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). - -OpenBB Terminal is available on all major platforms. With Windows and macOS you can make use of an installation file as found below. Furthermore, it is also possible to install the OpenBB Terminal with Docker or directly through Python which also offers support for Linux. +The OpenBB Terminal can be directly installed on a Mac or Windows machine with the installer packages linked in the tabs below. While no installer package for Linux is currently available, it can be installed from the command line, via a Python virtual environment. Having trouble? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). :::info Installation Instructions - -
-

This section provides you with the installation file as well as the guide to install the OpenBB Terminal via Windows (10 or greater).

-

Download the installer from the button below:

+Follow along with the instructions for the preferred installation method: + +## Installer Packages + + + +### 1. Windows Installer + +Install the OpenBB Terminal on Windows (10 or greater): + +#### 1.1 Download + +**Step 1:** Download the file by clicking on the button. -

Follow along with the instructions of the video or use the steps below to run the OpenBB Terminal:

+#### 1.2 Run Installer - +**Step 2:** Open the downloaded file by double-clicking on it -
+#### 1.3 Follow Prompts -
-

Step 1: Double-click the .exe file that got downloaded to your Downloads folder

-

windows_protected_your_pc

+**Step 3:** Follow the prompts to complete the installation process -
+#### 1.4 Launch -
-

Step 2: Follow the prompts clicking Next > where needed to complete the installation process

+**Step 4:** Launch the Terminal by double-clicking on the application shortcut added to the desktop. -
+**Note:** The first launch may take up to a few minutes, subsequent launches will be quicker. -
-

Step 3: Double-click on the application that appeared on your Desktop, you are now able to run the OpenBB Terminal

-

run_the_terminal

-

The first time this takes a bit longer to load, this can take up to a few minutes. If everything was successful you should see a screen like the one below :

-

run_the_terminal

- -
- -
-For Mac there are two installers available, one for Intel and one for Apple Silicon (M1). Please download the correct one for your machine. +### 2. MacOS Installer + +Install the OpenBB Terminal on MacOS (Big Sur or later). There are two versions of the installers available for MacOS, Apple Silicon (M1) and Intel-based. Apple Silicon users will need to install Rosetta prior to installation. Install Rosetta from the command line: + +```console +softwareupdate --install-rosetta +```
-
If you are using Mac Intel: +
Intel-based Mac:
-
-
-If you are using Mac Apple Silicon (M1): + +
Mac Apple Silicon (M1):
-

Follow along with the instructions of the video or use the steps below to run the OpenBB Terminal:

+#### 2.1 Download - +**Step 1:** Download the DMG file from the links above. -
+#### 2.2 Mount DMG + +**Step 2:** Mount the downloaded DMG file by double-clicking on it. + +#### 2.3 Drag Folder + +**Step 3:** Click and drag the OpenBB Terminal folder and hold it over the Applications shortcut. This opens a new Finder window, then drag the OpenBB Terminal folder into the Applications folder. -
-

Step 1: Open the downloaded OpenBB Terminal.dmg and drag the OpenBB Terminal folder into your Applications

-

A link to the Applications folder is presented on the screen. -Note that this should take some time as it is extracting the files from the .dmg file.

image

-
+#### 2.4 Unmount DMG -
-

Step 2: Open the OpenBB Terminal app in the folder that you have just copied to your Applications.

-

During first launch if you get a message saying that the application can’t be launched, do the following: -Right-Click the app and select Open. You will see a message saying that macOS was not able to check whether the application contains malicious software. Click Open to proceed.

-

image

+**Step 4:** Unmount the installer, by "Ejecting OpenBB Terminal" from the locations in Finder. -
+#### 2.5 Launch + +**Step 5:** Launch the application by double-clicking on the `OpenBB Terminal` application. + +**Note:** During the first launch, a warning message may appear. Click, "Open". +

-
- -

Installing the OpenBB Terminal via Docker supports both Windows and Unix systems (Linux + MacOS). Installation differs a bit between operating system (Windows, macOS and Linux). Please select the section matching to your OS. -

-

Follow along with the instructions of the video or use the steps below to run the OpenBB Terminal:

+## Docker - + -## 1. Windows +Installing the OpenBB Terminal via Docker supports both Windows and Unix systems (Linux + MacOS). Installation differs a bit between operating system (Windows, macOS and Linux). Please select the section matching to your OS. -### 1.1. Install Docker Desktop +### 1. Windows + +#### 1.1. Install Docker Desktop You can find `Docker Desktop` for Windows here: [Download Docker Desktop](https://www.docker.com/products/docker-desktop) -### 1.2. Start Docker +#### 1.2. Start Docker Execute the following command: @@ -152,7 +152,7 @@ Server: Stopped: 10 ``` -### 1.3. Install VcXsrv +#### 1.3. Install VcXsrv To display charts with your container, you need : VcXsrv. @@ -160,7 +160,7 @@ You can download VcXsrv here : [Download VcXsrv](https://sourceforge.net/project When running VcXsrv program check the option: `Disable access control` -### 1.4. Pull and run the container +#### 1.4. Pull and run the container Execute this commands: @@ -174,13 +174,13 @@ This will download and run the file: `docker-compose.yaml` This file contents the settings to pull and run OpenBB Terminal Docker image. -## 2. macOS +### 2. MacOS -### 2.1. Install and run Docker Desktop +#### 2.1. Install and run Docker Desktop Install and run Docker Desktop as describe above in this document. -### 2.2. Install XQuartz +#### 2.2. Install XQuartz You can download XQuartz here: [Download XQuartz](https://www.xquartz.org) @@ -196,7 +196,7 @@ Make sure both of these options are enabled: It should look like this: ![Screen Shot 2021-09-08 at 12 21 48 PM](https://user-images.githubusercontent.com/18151143/132548605-235d774b-9aa6-4a45-afcf-58fb775d376a.png) -### 2.3. Get Docker IP +#### 2.3. Get Docker IP To get Docker IP you can use this command: @@ -204,7 +204,7 @@ To get Docker IP you can use this command: IP=$(ifconfig | grep inet | grep -v "127.0.0.1" | awk '$1=="inet" {print $2}') ``` -### 2.4. Pull and run the container +#### 2.4. Pull and run the container Execute this commands: @@ -221,13 +221,13 @@ This file contents the settings to pull and run OpenBB Terminal Docker image. The `xhost +$IP` and `DISPLAY=$IP:0` parts are there to allow charts display. -## 3. Linux +### 3. Linux -### 3.1. Install and run Docker Desktop +#### 3.1. Install and run Docker Desktop Install and run Docker Desktop as describe above in this document. -### 3.2. Pull and run the container +#### 3.2. Pull and run the container Execute this commands: @@ -240,7 +240,9 @@ docker compose run openbb Note: if you're using remote docker host, you can connect with `ssh -X `. -## 4. Advanced: without Docker Compose +### 4. Advanced + +#### Without Docker Compose To run directly the docker image you can use the following command: @@ -252,163 +254,149 @@ docker run --rm -it \ ``` - -

This section guides you a long to install the OpenBB Terminal via Python. This installation type supports both Windows and Unix systems (Linux + MacOS).

-

Follow along with the instructions of the video or use the steps below to run the OpenBB Terminal:

+## Source Code - + -**NOTE for Windows users:** For Windows users who prefer to use an environment similar to what Linux and macOS users use, we recommend Windows Subsystem for Linux (WSL). WSL emulates a Linux machine inside your Windows system. If this is the case - jump to the Installing WSL (Only for Windows users) section before proceeding. +The following instructions are for installing the OpenBB Terminal source code. -### Installing the terminal +### 1. System Preparation -These steps are common in all operating systems (Windows with or without WSL, MacOS or Linux). +Prepare the system by installing the following items: -This project supports Python 3.8 and 3.9. By default, the newly created virtual environment will use Python 3.9.13 +#### 1.1 Install Miniconda -Our current recommendation is to use this project with Anaconda's Python distribution - either full [**Anaconda3 Latest**](https://www.anaconda.com/products/distribution) or [**Miniconda3 Latest**](https://docs.conda.io/en/latest/miniconda.html) (recommended). Several features in this project utilize Machine Learning. Machine Learning Python dependencies are optional. For MacOS systems, the "Miniconda3 MacOSX 64-bit" version that works on both Intel and M1 macs is recommended. +[Install Miniconda](https://docs.conda.io/en/latest/miniconda.html) -**NOTE:** We recommend using `conda` and `poetry` because it just works. You can use other python -distributions and use raw `pip` instead of `poetry` but you will very likely bump into installation -issues. - -#### 1. [Install Miniconda](https://docs.conda.io/en/latest/miniconda.html) - -Miniconda is a python environment and package manager. It is required if you want to -have the dependencies working straight away. +Miniconda is a Python environment and package manager. It is required for installing certain dependencies.. - Go [here](https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links) to find the download for your operating system or use the links below: + + - Apple-Silicon Systems: [Miniconda for MacOS](https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.pkg) + - Intel-based Mac Systems: [Miniconda for MacOS](https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh) + - Linux and WSL Systems: [Miniconda for Linux](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh) + - Raspberry PI Systems: [Miniconda for Raspberry PI](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh) + - Windows Systems: [Miniconda for Windows](https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe) - - If you are using macOS [Miniconda for MacOS](https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh) - - If you are using WSL or Linux [Miniconda for Linux](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh) - - If you are using a Raspberry PI [Miniconda for Raspberry PI](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh) - - If you are using Windows [Miniconda for Windows](https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe). + **NOTE for Apple Silicon Users:** Install Rosetta from the command line: `softwareupdate --install-rosetta` - **ONLY REQUIRED ON WINDOWS IF NOT USING WSL**, Install/update Microsoft C++ Build Tools from here: + **NOTE for Windows users:** Install/update Microsoft C++ Build Tools from [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/). - **NOTE for macOS users:** The link above gets you the Intel version of miniconda meaning if you're on an Apple Silicon powered machine you will be using the terminal through Apple's rosetta2 layer. We recommend sticking to this distribution for better compatibility until the dependency developers fully catch up with Apple's transition to Apple Silicon. +#### 1.2 Install CMake -- After following the steps, confirm that you have it by opening a terminal and running: `conda -V`. The output should be something along the lines of: `conda 22.9.0` +**CMake is required by several Python modules.** -#### 2. Install CMake +**For Windows:** -CMake is required by several python modules. +CMake is installed as a part of Microsoft C++ Build Tools. Skip ahead to the next step. -**On Linux or Raspberry Pi:** +**For MacOS:** -```bash -sudo apt update -sudo apt install -y gcc cmake -``` +Check if homebrew is installed by running `brew --version` -**On macOS:** - -Check if you have homebrew installed by running `brew --version` - -If you don't have homebrew installed run: +If Homebrew is not installed, run: ```bash /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install cmake +brew install gcc ``` -If you have homebrew installed run: +If Homebrew is already installed: ```bash brew install cmake +brew install gcc ``` -**On Windows:** - -If you have followed the instructions in step 1 of this guide CMake was installed as a part of you Microsoft C++ Build Tools - -#### 3. Install git +**For Linux:** ```bash -conda install -c anaconda git +sudo apt update && sudo apt upgrade +sudo apt install -y gcc cmake ``` -#### 4. Clone the Project +#### 1.3 Linux and WSL Only -- Via HTTPS: `git clone https://github.com/OpenBB-finance/OpenBBTerminal.git` -- via SSH: `git clone git@github.com:OpenBB-finance/OpenBBTerminal.git` +Since a WSL installation is headless by default (i.e., there is only access to a terminal running a Linux distribution) there are additional steps required to display visualizations. A more detailed tutorial is found, [here](https://medium.com/@shaoyenyu/make-matplotlib-works-correctly-with-x-server-in-wsl2-9d9928b4e36a). -#### 5. Navigate into the project's folder +- Dynamically export the DISPLAY environment variable in WSL2: -```bash -cd OpenBBTerminal/ +```console +# add to the end of ~/.bashrc file +export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 +# source the file +source ~/.bashrc ``` -#### 6. Create Environment +- Download and install [VcXsrv](https://sourceforge.net/projects/vcxsrv/) -You can name the environment whatever you want. Although you could use names such as: `welikethestock`, `thisistheway` or `diamondhands`, we recommend something simple and intuitive like `obb`. This is because this name will be used from now onwards. +- When running the program is important to check "Disable access control" -Please note, the following setup has been confirmed to work for all OS (including M1) with the standard miniconda distribution. If you are using a different distribution, you will need to install it manually before proceeding. +After this, `VcXsrv` should be running successfully, and the machine is ready to proceed with the terminal installation. -```bash -conda env create -n obb --file build/conda/conda-3-9-env.yaml +### 2. Create Python Environment + +The first step is to create the virtual Python environment. When a terminal window is opened, if the base Conda environment `(base)` is not activated automatically, enter: + +```console +conda env list ``` -Or, to include machine learning type: +Then copy the path which corresponds with `base`, and activate it with: -```bash -conda env create -n obb --file build/conda/conda-3-9-env-full.yaml +```console +conda activate REPLACE_WITH_PATH ``` -Note: Using python 3.10+ can lead to undesirable functionality for certain commands. +Now create the environment by copying the code below into the command line: -#### 7. Activate the virtual environment +```console +conda create -n obb -c conda-forge python=3.10.8 pip pybind11 cmake git cvxpy lightgbm poetry +``` -```bash +### 3. Activate Environment + +After the packages from Step 2 install, activate the newly created environment by entering: + +```console conda activate obb ``` -Note: At the end, you can deactivate it with: `conda deactivate`. +### 4. Install OpenBB Terminal -#### 8. Install dependencies with poetry +From the command line, navigate into a folder where the installation should live. Do not continue without completing steps 1-3. -Install the main dependencies with +#### 4.1 Clone the Project -```bash -poetry install +Cloning the GitHub repo will download the source code to the current working directory. + +```console +git clone https://github.com/OpenBB-finance/OpenBBTerminal.git ``` -You are good to go with the core of the OpenBB Terminal. To install additional toolkits proceed with the following commands: +#### 4.2 Navigate to OpenBBTerminal -To install the Portfolio Optimization Toolkit run: - -```bash -poetry install -E optimization +```console +cd OpenBBTerminal ``` -To install the Machine Learning Toolkit run: - -```bash -poetry install -E forecast -``` - -To install both the Portfolio Optimization and the Machine Learning Toolkit run: +#### 4.3 Install Remaining Packages ```bash poetry install -E all ``` -#### 9. You're ready to use the terminal! +#### 4.4 Launch OpenBB Terminal Start the terminal by running: -```bash -openbb -``` - -Or the old-fashioned way: - ```bash python terminal.py ``` -**NOTE:** When you close the terminal and re-open it, the only command you need to re-call is `conda activate obb` before you call `openbb` again. +**NOTE:** When a terminal is re-opened, the Python environment will need to be activated again - `conda activate obb` - and the current working directory should be the `OpenBBTerminal` folder where the source code was cloned. **TROUBLESHOOT:** If you are having troubles with installation, check out the [FAQ page](/terminal/quickstart/faq). You can also reach for help on our [discord](https://discord.gg/Up2QGbMKHY). @@ -416,16 +404,16 @@ python terminal.py By default we advise using `conda` and `poetry` for environment setup and dependency management. Conda ships binaries for packages like `numpy` so these dependencies are not built from source locally by `pip`. Poetry solves the dependency tree in a way that the dependencies of dependencies of dependencies use versions that are compatible with each other. -If you are using a conda environment the `build/conda` folder contains multiple `.yaml` configuration files that you can choose from. +For `Conda` environments, the `build/conda` folder contains multiple `.yaml` configuration files to choose from. -If you are using other python distributions we highly recommend that you use some virtual environment like `virtualenv` or `pyenv` for installing the terminal dependency libraries. +When using other python distributions we highly recommend a virtual environment like `virtualenv` or `pyenv` for installing the terminal dependency libraries. -Requirements files that you can find in the project root: +Requirements files that are found in the project root: - `requirements.txt` list all the dependencies without Machine Learning libraries - `requirements-full.txt` list all the dependencies with Machine Learning libraries -You can install them with with pip +They can be installed with `pip`: ```bash pip install -r requirements.txt @@ -435,26 +423,8 @@ The dependency tree is solved by poetry. Note: The libraries specified in the requirements files have been tested and work for the purpose of this project, however, these may be older versions. Hence, it is recommended for the user to set up a virtual python environment prior to installing these. This allows to keep dependencies required by different projects in separate places. -### Installing WSL (Only for Windows users) - -If you are using Windows you first you need to install WSL. The process is simple and a tutorial can be found [here](https://www.sitepoint.com/wsl2/). Once you reach the section **Update Linux** on that tutorial, you should have a linux machine installed and can proceed to the next steps. - -Since WSL installation is headless by default (i.e., you have only access to a terminal running a linux distribution) you need some extra steps to be able to visualize the charts produced by the terminal (more detailed tutorial [here](https://medium.com/@shaoyenyu/make-matplotlib-works-correctly-with-x-server-in-wsl2-9d9928b4e36a)): - -1. Dynamically export the DISPLAY environment variable in WSL2: - - ```bash - # add to the end of ~/.bashrc file - export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 - # source the file - source ~/.bashrc - ``` - -2. Download and install [VcXsrv](https://sourceforge.net/projects/vcxsrv/) -3. When running the program is important to check "Disable access control" - -After this, `VcXsrv` should be running successfully and we can proceed to terminal installation. + ::: From 426c99289ccacf66f5f569faf867a7dd5afe20c7 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Mon, 20 Feb 2023 13:35:20 -0800 Subject: [PATCH 12/30] updates one image. --- website/content/terminal/quickstart/installation.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/content/terminal/quickstart/installation.md b/website/content/terminal/quickstart/installation.md index 07998d9edde..06695fd66b7 100644 --- a/website/content/terminal/quickstart/installation.md +++ b/website/content/terminal/quickstart/installation.md @@ -104,7 +104,8 @@ softwareupdate --install-rosetta **Step 5:** Launch the application by double-clicking on the `OpenBB Terminal` application. **Note:** During the first launch, a warning message may appear. Click, "Open". -

+ +![MacOS Installation](https://user-images.githubusercontent.com/85772166/220201620-1c42bbd4-7509-41fc-8df8-389f34fde58a.png)
From 984ff01b2e0f574e732148b0a13341c918312ffb Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Mon, 20 Feb 2023 19:24:00 -0800 Subject: [PATCH 13/30] re-ordering --- .../terminal/quickstart/installation.md | 348 ++++++++++-------- 1 file changed, 186 insertions(+), 162 deletions(-) diff --git a/website/content/terminal/quickstart/installation.md b/website/content/terminal/quickstart/installation.md index 06695fd66b7..46cac9d96d5 100644 --- a/website/content/terminal/quickstart/installation.md +++ b/website/content/terminal/quickstart/installation.md @@ -23,7 +23,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import InstallerButton from "@site/src/components/General/InstallerButton"; -The OpenBB Terminal can be directly installed on a Mac or Windows machine with the installer packages linked in the tabs below. While no installer package for Linux is currently available, it can be installed from the command line, via a Python virtual environment. Having trouble? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). +The OpenBB Terminal can be directly installed on a Mac or Windows machine with the installer packages linked in the tabs below. While no installer package for Linux is currently available, it can be installed from the command line in a virtual Python environment. Having trouble? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). :::info Installation Instructions @@ -35,25 +35,25 @@ Follow along with the instructions for the preferred installation method: -### 1. Windows Installer +### A. Windows Installer Install the OpenBB Terminal on Windows (10 or greater): -#### 1.1 Download +#### 1. Download **Step 1:** Download the file by clicking on the button. -#### 1.2 Run Installer +#### 2. Run Installer **Step 2:** Open the downloaded file by double-clicking on it -#### 1.3 Follow Prompts +#### 3. Follow Prompts **Step 3:** Follow the prompts to complete the installation process -#### 1.4 Launch +#### 4. Launch **Step 4:** Launch the Terminal by double-clicking on the application shortcut added to the desktop. @@ -63,9 +63,9 @@ Install the OpenBB Terminal on Windows (10 or greater): -### 2. MacOS Installer +### B. MacOS Installer -Install the OpenBB Terminal on MacOS (Big Sur or later). There are two versions of the installers available for MacOS, Apple Silicon (M1) and Intel-based. Apple Silicon users will need to install Rosetta prior to installation. Install Rosetta from the command line: +Install the OpenBB Terminal on MacOS (Big Sur or later). There are two versions of the installers available for MacOS, Apple Silicon (M1) and Intel-based. Apple Silicon users will need to install Rosetta prior to installation. Install Rosetta from the command line: ```console softwareupdate --install-rosetta @@ -76,30 +76,30 @@ softwareupdate --install-rosetta
-
Mac Apple Silicon (M1): +
Mac Apple Silicon (M1):
-#### 2.1 Download +#### 1. Download **Step 1:** Download the DMG file from the links above. -#### 2.2 Mount DMG +#### 2. Mount DMG **Step 2:** Mount the downloaded DMG file by double-clicking on it. -#### 2.3 Drag Folder +#### 3. Drag Folder **Step 3:** Click and drag the OpenBB Terminal folder and hold it over the Applications shortcut. This opens a new Finder window, then drag the OpenBB Terminal folder into the Applications folder. -

image

+![MacOS Installation](https://user-images.githubusercontent.com/11668535/173027899-9b25ae4f-1eef-462c-9dc9-86086e9cf197.png) -#### 2.4 Unmount DMG +#### 4. Unmount DMG -**Step 4:** Unmount the installer, by "Ejecting OpenBB Terminal" from the locations in Finder. +**Step 4:** Unmount the installer, by "Ejecting OpenBB Terminal" from, locations, in Finder. -#### 2.5 Launch +#### 5. Launch **Step 5:** Launch the application by double-clicking on the `OpenBB Terminal` application. @@ -109,6 +109,175 @@ softwareupdate --install-rosetta +## Source Code + +`` + +The following instructions are for installing the OpenBB Terminal source code. + +### 1. System Preparation + +Prepare the system by installing the following items: + +#### 1.1 Install Miniconda + +[Install Miniconda](https://docs.conda.io/en/latest/miniconda.html) + +Miniconda is a Python environment and package manager. It is required for installing certain dependencies.. + +- Go [here](https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links) to find the download for your operating system or use the links below: + + - Apple-Silicon Systems: [Miniconda for MacOS](https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.pkg) + - Intel-based Mac Systems: [Miniconda for MacOS](https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh) + - Linux and WSL Systems: [Miniconda for Linux](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh) + - Raspberry PI Systems: [Miniconda for Raspberry PI](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh) + - Windows Systems: [Miniconda for Windows](https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe) + + **NOTE for Apple Silicon Users:** Install Rosetta from the command line: `softwareupdate --install-rosetta` + + **NOTE for Windows users:** Install/update Microsoft C++ Build Tools from [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/). + +#### 1.2 Install CMake + +**CMake is required by several Python modules.** + +**For Windows:** + +CMake is installed as a part of Microsoft C++ Build Tools. Skip ahead to the next step. + +**For MacOS:** + +Check if homebrew is installed by running `brew --version` + +If Homebrew is not installed, run: + +```bash +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +brew install cmake +brew install gcc +``` + +If Homebrew is already installed: + +```bash +brew install cmake +brew install gcc +``` + +**For Linux:** + +```bash +sudo apt update && sudo apt upgrade +sudo apt install -y gcc cmake +``` + +#### 1.3 Linux and WSL Only + +Since a WSL installation is headless by default (i.e., there is only access to a terminal running a Linux distribution) there are additional steps required to display visualizations. A more detailed tutorial is found, [here](https://medium.com/@shaoyenyu/make-matplotlib-works-correctly-with-x-server-in-wsl2-9d9928b4e36a). + +- Dynamically export the DISPLAY environment variable in WSL2: + +```console +# add to the end of ~/.bashrc file +export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 +# source the file +source ~/.bashrc +``` + +- Download and install [VcXsrv](https://sourceforge.net/projects/vcxsrv/) +- When running the program is important to check "Disable access control" + +After this, `VcXsrv` should be running successfully, and the machine is ready to proceed with the terminal installation. + +Alternatives to `VcXsrv` include: + +- [GWSL](https://opticos.github.io/gwsl/) +- [Xming](https://xming.en.softonic.com/) +- [Wayland](https://wayland.freedesktop.org/docs/html/) + +### 2. Create Python Environment + +The first step is to create the virtual Python environment. + +#### 2.1 Confirm Conda Base + +When a terminal window is opened, if the base Conda environment - look for `(base)` to the left of the curson on the command line - is not activated automatically, find the path for it by entering: + +```console +conda env list +``` + +Copy the path which corresponds with `base`, and activate it with: + +```console +conda activate REPLACE_WITH_PATH +``` + +Check which `conda` version is installed by entering: + +```console +conda -V +``` + +As of writing, the most recent version of `Conda` is, `23.1.0`. If required, update from a lower version with: + +```console +conda install -c conda-forge -n base conda=23.1.0 +``` + +#### 2.2 Create the Environment + +Create the environment by copying the code below into the command line: + +```console +conda create -n obb -c conda-forge python=3.10.9 pip pybind11 cmake git cvxpy lightgbm poetry +``` + +### 3. Activate Environment + +After the packages from Step 2 install, activate the newly created environment by entering: + +```console +conda activate obb +``` + +### 4. Install OpenBB Terminal + +From the command line, navigate into a folder where the installation should live. Do not continue without completing steps 1-3. + +#### 4.1 Clone the Project + +Cloning the GitHub repo will download the source code to the current working directory. + +```console +git clone https://github.com/OpenBB-finance/OpenBBTerminal.git +``` + +#### 4.2 Navigate to OpenBBTerminal + +```console +cd OpenBBTerminal +``` + +#### 4.3 Install Remaining Packages + +```bash +pip install qdldl==0.1.5.post3 +poetry install -E all +``` + +#### 4.4 Launch OpenBB Terminal + +Start the terminal by running: + +```bash +python terminal.py +``` + +**NOTE:** When a terminal is re-opened, the Python environment will need to be activated again - `conda activate obb` - and the current working directory should be the `OpenBBTerminal` folder where the source code was cloned. + +**TROUBLESHOOT:** If you are having troubles with installation, check out the [FAQ page](/terminal/quickstart/faq). You can also reach for help on our [discord](https://discord.gg/Up2QGbMKHY). + ## Docker @@ -256,152 +425,7 @@ docker run --rm -it \ -## Source Code - - - -The following instructions are for installing the OpenBB Terminal source code. - -### 1. System Preparation - -Prepare the system by installing the following items: - -#### 1.1 Install Miniconda - -[Install Miniconda](https://docs.conda.io/en/latest/miniconda.html) - -Miniconda is a Python environment and package manager. It is required for installing certain dependencies.. - -- Go [here](https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links) to find the download for your operating system or use the links below: - - - Apple-Silicon Systems: [Miniconda for MacOS](https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.pkg) - - Intel-based Mac Systems: [Miniconda for MacOS](https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh) - - Linux and WSL Systems: [Miniconda for Linux](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh) - - Raspberry PI Systems: [Miniconda for Raspberry PI](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh) - - Windows Systems: [Miniconda for Windows](https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe) - - **NOTE for Apple Silicon Users:** Install Rosetta from the command line: `softwareupdate --install-rosetta` - - **NOTE for Windows users:** Install/update Microsoft C++ Build Tools from [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/). - -#### 1.2 Install CMake - -**CMake is required by several Python modules.** - -**For Windows:** - -CMake is installed as a part of Microsoft C++ Build Tools. Skip ahead to the next step. - -**For MacOS:** - -Check if homebrew is installed by running `brew --version` - -If Homebrew is not installed, run: - -```bash -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -brew install cmake -brew install gcc -``` - -If Homebrew is already installed: - -```bash -brew install cmake -brew install gcc -``` - -**For Linux:** - -```bash -sudo apt update && sudo apt upgrade -sudo apt install -y gcc cmake -``` - -#### 1.3 Linux and WSL Only - -Since a WSL installation is headless by default (i.e., there is only access to a terminal running a Linux distribution) there are additional steps required to display visualizations. A more detailed tutorial is found, [here](https://medium.com/@shaoyenyu/make-matplotlib-works-correctly-with-x-server-in-wsl2-9d9928b4e36a). - -- Dynamically export the DISPLAY environment variable in WSL2: - -```console -# add to the end of ~/.bashrc file -export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 -# source the file -source ~/.bashrc -``` - -- Download and install [VcXsrv](https://sourceforge.net/projects/vcxsrv/) - -- When running the program is important to check "Disable access control" - -After this, `VcXsrv` should be running successfully, and the machine is ready to proceed with the terminal installation. - -### 2. Create Python Environment - -The first step is to create the virtual Python environment. When a terminal window is opened, if the base Conda environment `(base)` is not activated automatically, enter: - -```console -conda env list -``` - -Then copy the path which corresponds with `base`, and activate it with: - -```console -conda activate REPLACE_WITH_PATH -``` - -Now create the environment by copying the code below into the command line: - -```console -conda create -n obb -c conda-forge python=3.10.8 pip pybind11 cmake git cvxpy lightgbm poetry -``` - -### 3. Activate Environment - -After the packages from Step 2 install, activate the newly created environment by entering: - -```console -conda activate obb -``` - -### 4. Install OpenBB Terminal - -From the command line, navigate into a folder where the installation should live. Do not continue without completing steps 1-3. - -#### 4.1 Clone the Project - -Cloning the GitHub repo will download the source code to the current working directory. - -```console -git clone https://github.com/OpenBB-finance/OpenBBTerminal.git -``` - -#### 4.2 Navigate to OpenBBTerminal - -```console -cd OpenBBTerminal -``` - -#### 4.3 Install Remaining Packages - -```bash -poetry install -E all -``` - -#### 4.4 Launch OpenBB Terminal - -Start the terminal by running: - -```bash -python terminal.py -``` - -**NOTE:** When a terminal is re-opened, the Python environment will need to be activated again - `conda activate obb` - and the current working directory should be the `OpenBBTerminal` folder where the source code was cloned. - -**TROUBLESHOOT:** If you are having troubles with installation, check out the [FAQ page](/terminal/quickstart/faq). You can also reach for help on our [discord](https://discord.gg/Up2QGbMKHY). - -## Advanced User Install - Custom installation procedures +## Advanced Installation Procedures By default we advise using `conda` and `poetry` for environment setup and dependency management. Conda ships binaries for packages like `numpy` so these dependencies are not built from source locally by `pip`. Poetry solves the dependency tree in a way that the dependencies of dependencies of dependencies use versions that are compatible with each other. From d20ec9016549fb4dbe11d1a153b025b92a14b984 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Mon, 20 Feb 2023 19:28:08 -0800 Subject: [PATCH 14/30] add missing close to TabItem section --- website/content/terminal/quickstart/installation.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/content/terminal/quickstart/installation.md b/website/content/terminal/quickstart/installation.md index 46cac9d96d5..f92f671e1d1 100644 --- a/website/content/terminal/quickstart/installation.md +++ b/website/content/terminal/quickstart/installation.md @@ -278,6 +278,8 @@ python terminal.py **TROUBLESHOOT:** If you are having troubles with installation, check out the [FAQ page](/terminal/quickstart/faq). You can also reach for help on our [discord](https://discord.gg/Up2QGbMKHY). + + ## Docker From c92e805ae4ab33d8b381be2f481f00a81a0a5f1c Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Tue, 21 Feb 2023 11:22:25 -0800 Subject: [PATCH 15/30] updates SDK install instructions --- .../content/sdk/quickstart/installation.md | 224 +++++++++++++----- .../terminal/quickstart/installation.md | 8 +- 2 files changed, 171 insertions(+), 61 deletions(-) diff --git a/website/content/sdk/quickstart/installation.md b/website/content/sdk/quickstart/installation.md index 75e01058973..c3c01c4b8dc 100644 --- a/website/content/sdk/quickstart/installation.md +++ b/website/content/sdk/quickstart/installation.md @@ -2,100 +2,210 @@ title: Installation sidebar_position: 2 description: The OpenBB SDK can be directly installed on your computer via our installation instructions. Within this section, you are guided through the installation process and how to launch the program. If you struggle with the installation process, please don’t hesitate to reach us on Discord or visit our contact page. -keywords: [installation, installer, install, guide, mac, windows, linux, python, github, macos, how to, explanation, openbb sdk] +keywords: [installation, installer, install, guide, mac, windows, linux, python, github, macos, how to, explanation, openbb, sdk, api, pip, pypi,] --- - -# Installation - -We provide a simple installation method in order to utilize the OpenBB SDK. You must first create an environment, which allows you to isolate the SDK from the rest of your system. It is our recommendation that you utilize a `conda` environment because there are optional features, such as `forecast`, that utilize libraries that are specifically sourced from `conda-forge`. Due to this, if you do not use a conda environment, you will not be able to use some of these features. As such, the installation steps will be written under the assumption that you are using conda. - -## Steps +The OpenBB SDK provides programmatic access to all Terminal functions. This layer of code allows users to build their own tools and applications on top of the existing architecture. Follow these steps to install on a local machine. :::note NOTE -Make sure you meet all [requirements](requirements.md) before proceeding. + +- Make sure you meet all [requirements](requirements.md) before proceeding. +- If the OpenBB Terminal has already been installed in a virtual Python environment, no additional installations are required. + ::: -

Follow along with the instructions of the video or use the steps below to use the OpenBB SDK:

+## 1. System Preparation - +Prepare the system by installing the following items: -### 1. **Install [Miniconda](https://docs.conda.io/en/latest/miniconda.html)** +### 1.1 Install Miniconda - Download the `x86_64` Miniconda for your respective system and follow along - with it's installation instructions. The Miniconda architecture MUST be - `x86_64` in order to use certain features. +[Install Miniconda](https://docs.conda.io/en/latest/miniconda.html) -### 2. **Create the virtual environment** +Miniconda is a Python environment and package manager. It is required for installing certain dependencies. + +- Go [here](https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links) to find the download for your operating system or use the links below: + + - Apple-Silicon Systems: [Miniconda for MacOS](https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.pkg) + - Intel-based Mac Systems: [Miniconda for MacOS](https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh) + - Linux and WSL Systems: [Miniconda for Linux](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh) + - Raspberry PI Systems: [Miniconda for Raspberry PI](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh) + - Windows Systems: [Miniconda for Windows](https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe) + + **NOTE for Apple Silicon Users:** Install Rosetta from the command line: `softwareupdate --install-rosetta` + + **NOTE for Windows users:** Install/update Microsoft C++ Build Tools from [here](https://visualstudio.microsoft.com/visual-cpp-build-tools/). + +### 1.2 Install CMake + +**CMake is required by several Python modules.** + +**For Windows:** + +CMake is installed as a part of Microsoft C++ Build Tools. Skip ahead to the next step. + +**For MacOS:** + +Check if homebrew is installed by running `brew --version` + +If Homebrew is not installed, run: ```bash -conda create -n obb python=3.9.6 -y +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +brew install cmake +brew install gcc ``` -### 3. **Activate the virtual environment** +If Homebrew is already installed: ```bash +brew install cmake +brew install gcc +``` + +**For Linux:** + +```bash +sudo apt update && sudo apt upgrade +sudo apt install -y gcc cmake +``` + +## 2. Create Python Environment + +The first step is to create the virtual Python environment. + +### 2.1 Confirm Conda Base + +When a terminal window is opened, if the base Conda environment - look for `(base)` to the left of the cursor on the command line - is not activated automatically, find the path for it by entering: + +```console +conda env list +``` + +Copy the path which corresponds with `base`, and activate it with: + +```console +conda activate REPLACE_WITH_PATH +``` + +Check which `conda` version is installed by entering: + +```console +conda -V +``` + +As of writing, the most recent version of `Conda` is, `23.1.0`. If required, update from a lower version with: + +```console +conda install -c conda-forge -n base conda=23.1.0 +``` + +### 2.2 Create the Environment + +Create the environment by copying the code below into the command line: + +```console +conda create -n obb -c conda-forge python=3.10.9 pip pybind11 cmake git cvxpy lightgbm poetry +``` + +### 2.3 Activate the Environment + +After the packages from Step 2 install, activate the newly created environment by entering: + +```console conda activate obb ``` -### 4. **Install OpenBB SDK Core package** +## 3. Install the OpenBB SDK + +### 3A. Install From PyPi ```bash -pip install openbb +pip install openbb[all] ``` -### 5. **(Optional) Install the Toolkits** +Done! The OpenBB SDK can now be imported to any Python session with the line of code below. -#### 5.1 **If you would like to use the Portfolio Optimization features** - -:::note NOTE -If on Apple Silicon Macs (M1/M2) you will need to install dependency from conda-forge first -```bash -conda install -c conda-forge cvxpy=1.2.2 -y +```console +from openbb_terminal.sdk import openbb ``` -::: +The [OpenBB Terminal](https://docs.openbb.co/terminal) is part of the installation, and the application can be launched from the command line by entering: -Install the Portfolio Optimization Toolkit +```console +openbb +``` + +### 3B. Install via Git Clone + +#### 3B.1 Clone the Project + +Cloning the GitHub repo will download the source code to the current working directory. + +```console +git clone https://github.com/OpenBB-finance/OpenBBTerminal.git +``` + +#### 3B.2 CD into OpenBBTerminal + +```console +cd OpenBBTerminal +``` + +#### 3B.3 Install Remaining Packages ```bash -pip install "openbb[optimization]" +pip install qdldl==0.1.5.post3 +poetry install -E all ``` -#### 5.2 **If you would like ML Forecasting features** +Done! The OpenBB SDK can now be imported to any Python session with the line of code below. -:::note NOTE -If on Apple Silicon Macs (M1/M2) you will need to install the dependency from conda-forge first -```bash -conda install -c conda-forge lightgbm=3.3.3 -y -``` -::: - -Install the Forecasting Toolkit - -```bash -pip install "openbb[forecast]" +```console +from openbb_terminal.sdk import openbb ``` -#### 5.3 **If you would like to use both Portfolio Optimization and ML forecast features** +The Terminal application is also installed, and it can be launched from the command line at the root `OpenBBTerminal` folder with: -:::note NOTE -If on Apple Silicon Macs (M1/M2) you will need to install the dependencies from conda-forge first -```bash -conda install -c conda-forge lightgbm=3.3.3 cvxpy=1.2.2 -y -``` -::: - -Install all Toolkits - -```bash -pip install "openbb[all]" +```console +python terminal.py ``` -Congratulations! You have successfully installed `openbb` on an environment and are now able to begin using it. However, it is important to note that if you close out of your CLI you must re-activate your environment in order begin using it again. This can be done with the following: +## Updating the OpenBB SDK Version -```bash -conda activate obb +Use the code below to check the version number of the OpenBB SDK. + +```python +from openbb_terminal.sdk import openbb +openbb.__version__ ``` -The OpenBB SDK can be imported to a Jupyter Notebook or any code editor with, `from openbb_terminal.sdk import openbb` as explained in the [How to use the SDK](https://docs.openbb.co/sdk/guides/basics) guides. By following the above process, the [OpenBB Terminal](https://docs.openbb.co/terminal) is automatically included as well which can be ran by typing `openbb`. +Which prints a string similar to: `'2.4.1'` +### A. Updating a PyPi Installation + +To upgrade the OpenBB SDK to the latest version, with the `obb` Python environment active, enter: + +```console +pip install -U openbb[all] +``` + +### B. Updating a Git Clone Installation + +#### B.1 Fetch changes to the code + +With the `obb` Python environment activated, navigate into the root folder of the cloned project. Then, pull the changes from GitHub: + +```console +git fetch +git pull +``` + +**Note:** If working from a forked repo, the `git pull` command will need to be adjusted to pull from the desired branch, like `origin` or `upstream`. For example, `git pull origin main`; `git pull origin develop` + +#### B.2 Run Poetry Install + +Update any changes to the dependencies by running: + +```console +poetry install -E all +``` diff --git a/website/content/terminal/quickstart/installation.md b/website/content/terminal/quickstart/installation.md index f92f671e1d1..0cc3547b94d 100644 --- a/website/content/terminal/quickstart/installation.md +++ b/website/content/terminal/quickstart/installation.md @@ -111,7 +111,7 @@ softwareupdate --install-rosetta ## Source Code -`` + The following instructions are for installing the OpenBB Terminal source code. @@ -123,7 +123,7 @@ Prepare the system by installing the following items: [Install Miniconda](https://docs.conda.io/en/latest/miniconda.html) -Miniconda is a Python environment and package manager. It is required for installing certain dependencies.. +Miniconda is a Python environment and package manager. It is required for installing certain dependencies. - Go [here](https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links) to find the download for your operating system or use the links below: @@ -201,7 +201,7 @@ The first step is to create the virtual Python environment. #### 2.1 Confirm Conda Base -When a terminal window is opened, if the base Conda environment - look for `(base)` to the left of the curson on the command line - is not activated automatically, find the path for it by entering: +When a terminal window is opened, if the base Conda environment - look for `(base)` to the left of the cursor on the command line - is not activated automatically, find the path for it by entering: ```console conda env list @@ -276,7 +276,7 @@ python terminal.py **NOTE:** When a terminal is re-opened, the Python environment will need to be activated again - `conda activate obb` - and the current working directory should be the `OpenBBTerminal` folder where the source code was cloned. -**TROUBLESHOOT:** If you are having troubles with installation, check out the [FAQ page](/terminal/quickstart/faq). You can also reach for help on our [discord](https://discord.gg/Up2QGbMKHY). +**TROUBLESHOOTING:** Having difficulty getting through the installation, or encountering errors? Check out the [troubleshooting page](/terminal/quickstart/troubleshooting), or reach out to our [Discord](https://discord.gg/Up2QGbMKHY) community for help. From 274c8c1abde5cf26a6bd86165604aaf960a07d96 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 22 Feb 2023 16:20:24 -0800 Subject: [PATCH 16/30] reconfiguring terminal faq page - WIP --- .../content/terminal/quickstart/api-keys.md | 2 +- website/content/terminal/quickstart/faq.md | 350 ------------------ .../terminal/quickstart/installation.md | 2 +- .../terminal/quickstart/troubleshooting.md | 349 +++++++++++++++++ 4 files changed, 351 insertions(+), 352 deletions(-) delete mode 100644 website/content/terminal/quickstart/faq.md create mode 100644 website/content/terminal/quickstart/troubleshooting.md diff --git a/website/content/terminal/quickstart/api-keys.md b/website/content/terminal/quickstart/api-keys.md index 3515cc43df7..af06a9ecac1 100644 --- a/website/content/terminal/quickstart/api-keys.md +++ b/website/content/terminal/quickstart/api-keys.md @@ -1,6 +1,6 @@ --- title: Obtain and Set API Keys for Data Providers -sidebar_position: 4 +sidebar_position: 3 description: API (Application Programming Interface) keys are access credentials for accessing data from a particular source. They are a string of random characters assigned, by the data provider, to an individual account. Most vendors offer a free tier requiring only a valid email address. Each key is entered into the Terminal from the `/keys` menu, using the syntax described below. The `--help` dialogue for each source will also display the expected inputs. keywords: [api, keys, api keys, data provider, data, free, alpha vantage, fred, iex, twitter, degiro, binance, coinglass, polygon, intrinio, openbb terminal] --- diff --git a/website/content/terminal/quickstart/faq.md b/website/content/terminal/quickstart/faq.md deleted file mode 100644 index aaea140f3a9..00000000000 --- a/website/content/terminal/quickstart/faq.md +++ /dev/null @@ -1,350 +0,0 @@ ---- -title: FAQ -sidebar_position: 3 -keywords: [faq, frequently asked questions, openbb terminal] ---- - -## General - -
Where does the data from the OpenBB Terminal come from? -

- -The OpenBB platform does not provide any data itself as the platform is a data aggregator that connects to -almost a hundred different data providers and APIs to access the data. - -

-
- -
How do I update my installation to the latest version? -

- -The terminal is constantly being updated with new features and bug fixes. Updating will be different depending on the installation type: - -- For installation packages, uninstall the previous version (uninstall.exe for Windows, delete the Application folder on MacOS); then, download the latest version and reinstall. User settings and data will remain. -- For a `pip` installation, when a new version is published: `pip install openbb --upgrade` -- Upgrade the `pip installation` to the source code installation with: - -```bash -conda install -c conda-forge git -git clone https://github.com/OpenBB-finance/OpenBBTerminal.git -cd OpenBBTerminal -poetry install (for a complete installation - poetry install -E all) -``` - -The Terminal can now be launched with either, `openbb`, or, `python terminal.py` - -

-
- -
What programs need to be allowed for Windows Firewall? -

- -When issues arise regarding Windows Firewall, please allow the following applications through (if not already): - -- BranchCache -- Hyper-V -- VcXsrv -- Windows Terminal - -From the Windows Security menu, click on the Firewall & Network Protection tab, then click on "Allow an app through firewall". If the applications below are not allowed to communicate through Windows Defender Firewall, change the settings to allow. - -

-
- -
On what Operating Systems can I run the OpenBB Terminal? -

- -The OpenBB Terminal is compatible with Windows, MacOS and Linux. Check the -[installation guide](/terminal/quickstart/installation) and [requirements outline](/terminal/quickstart/requirements) for more details. - -

-
- -
How much hard drive space is required? -

- -An installation will use approximately 2GB of space. - -

-
- -
How can I contribute to the OpenBB Terminal -

- -There are two main ways of contributing to this project. - -**BECOME A CONTRIBUTOR** - -1. Fork the [Project](https://github.com/OpenBB-finance/OpenBBTerminal) -2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) -3. Install the pre-commit hooks by running: `pre-commit install` - Any time you commit a change, linters will be run automatically. On changes, you will have to re-commit -4. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) -5. Push to your Branch (`git push origin feature/AmazingFeature`) -6. Open a Pull Request - -You can read more details about adding a feature in our [CONTRIBUTING GUIDELINES](https://github.com/OpenBB-finance/OpenBBTerminal/blob/main/CONTRIBUTING.md). - -**RAISE AN ISSUE OR REQUEST A FEATURE** - -- Raise an issue by opening a [bug ticket](https://github.com/OpenBB-finance/OpenBBTerminal/issues). -- Request a new feature through a [feature request ticket](https://github.com/OpenBB-finance/OpenBBTerminal/issues). - -

-
- -## Support - -
How do I report a bug? -

- -First, search the open issues for another report. If one already exists, attach any relevant information and screenshots as a comment. If one does not exist, start one with this [link](https://github.com/OpenBB-finance/OpenBBTerminal/issues/new?assignees=&labels=type%3Abug&template=bug_report.md&title=%5BBug%5D) - -

-
- -
How can I get help with OpenBB Terminal? -

- -You can get help with OpenBB Terminal by joining our [Discord server](https://openbb.co/discord) or contact us in our support form [here](https://openbb.co/support). - -

-
- -
How can I give feedback about the OpenBB Terminal? -

- -Being an open source platform that wishes to tailor to the needs of any type of investor, we highly encourage anyone to share with us their experience and/or how we can further improve the OpenBB Terminal. This can be anything from a very small bug, a new feature, or the implementation of a highly advanced Machine Learning model. - -You are able to directly send us information about a bug or a question/suggestion from inside the terminal by using the `support` command which is available everywhere in the terminal. Here you can select which command you want to report a bug on, ask a question or make a suggestion. After entering `support`, when you press `ENTER` (⏎), you are taken to the Support form which is automatically filled with your input. You are only required to include the type (e.g. bug, suggestion or question) and message in the form, although this can also be set directly from inside the terminal (see `support -h`). - -Support Command - -Alternatively, you can contact us via the following routes: - -- If you notice that a feature is missing inside the terminal, please fill in the Request a Feature form. -- If you wish to report a bug, have a question/suggestion or anything else, please fill in the Support form. -- If you wish to speak to us directly, please contact us via Discord. - -

-
- -## Functionality - -
Why is data from today missing when I use the load function? -

- -By default, the load function requests end-of-day daily data and is not included until the EOD summary has been published. The current day's data is considered intraday and is loaded when the `interval` argument is present. - -

-
- -
Why does a specific menu or command not exist? -

- -It could be that you are running an outdated version in which the menu or command is not yet available. Please check the [installation guide](https://docs.openbb.co/terminal/quickstart/installation) to download the most recent release. - -Do note that it is also possible that the menu or command is removed. If this is undesirable, please reach out to us [here](https://openbb.co/support). - -

-
- -
Why does my Portfolio file fail to load? -

- -This will typically be the result of a formatting error. - -- Check that all the necessary column titles are present. -- Inspect the file to see if cells left blank have been filled unintentionally with 0 or NaN values. -- A particular asset may not be able to load data. Check for valid historical data from the Stocks menu. -- Format ticker symbols according to yFinance naming convention. -- All dates must be entered as YYYY-MM-DD. -- Transactions dated for today will fail to load historical data. -- MacOS users should attempt to avoid using the Numbers application as it has a habit of changing the formatting while saving. - -

-
- -## Source - -
How do I update the OpenBB Terminal? -

- -A source code installation can utilize the `update` command from the main menu of the OpenBB Terminal, or, exit and enter: - -```bash -git pull -``` - -If this fails due to the fact that you had modified some python files, and there's a conflict with the updates, you can use: - -```bash -git stash -``` - -Then, re-run `poetry install` to get any new dependencies. Once installation is finished, you're ready to use the OpenBB Terminal again. If you `stashed` your changes previously, you can un-stash them with: - -```bash -git stash pop -``` - -**NOTE:** When you close the terminal and re-open it, the only command you need to re-call is `conda activate obb` -before you call `openbb` again. - -

-
- -
What kind of architectural pattern does the OpenBB SDK use? -

- -Throughout the entire OpenBB Platform, the [Model-view-controller](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) architectural pattern is used for creating functionality in the OpenBB Terminal. - -The `model` relates to any calculations or data collection done. The `view` is meant for showing tables or graphs and the `controller` makes it possible to execute a command with a set of arguments directly in the OpenBB Terminal. Learn more about this in our [CONTRIBUTING GUIDELINES](https://github.com/OpenBB-finance/OpenBBTerminal/blob/main/CONTRIBUTING.md). - -

-
- - -
Why do I get too many red error lines on Windows? -

- -If you are on Windows and your terminal has too many red error lines, it is likely that this is the issue. Go to this page and install the 2019 Build Tools (not the latest) found [here](https://answers.microsoft.com/en-us/windows/forum/windows_other-windows_install/microsoft-visual-c-140/6f0726e2-6c32-4719-9fe5-aa68b5ad8e6d) - -

-
- -
What does it mean if it says wheel is missing? -

- -If you receive any notifications regarding `wheel` missing, this could be due to this dependency missing. - -`conda install -c conda-forge wheel` or `pip install wheel` - -

-
- -
Why do these .whl files not exist? -

- -If you get errors about .whl files not existing (usually on Windows) you have to reinitialize the following folder. -Just removing the 'artifacts' folder could also be enough: - -| Platform | Location | -| -------- | ------------------------------- | -| Linux | "~/.cache/pypoetry" | -| Mac | "~/Library/Caches/pypoetry" | -| Windows | "%localappdata%/pypoetry/cache" | - -When you try to add a package to Poetry it is possible that it causes a similar issue. Here you can remove the -'artifacts' folder again to reinitialize Poetry. - -If you run into trouble with Poetry, and the advice above did not help, your best bet is to try - -1. `poetry update --lock` - -2. `conda deactivate` -> `conda activate obb`, then try again - -3. Track down the offensive package and purge it from your anaconda `` folder, then try again - (removing through conda can sometimes leave locks behind) - - | Platform | Location | - | --------- | -------------------------------------------- | - | Linux/Mac | "~/anaconda3/envs" or "~/opt/anaconda3/envs" | - | Windows | "%userprofile%/anaconda3/envs" | - -4. Completely nuke your conda environment folder and make a new environment from scratch - -- `conda deactivate` -- `conda env remove -n obb` -- `conda clean -a` -- Make a new environment and install dependencies again. - -5. Reboot your computer and try again - -6. Submit a ticket on GitHub - -

-
- -
What does the JSONDecodeError mean during poetry install? -

- -Sometimes poetry can throw a `JSONDecodeError` on random packages while running `poetry install`. This can be observed on macOS 10.14+ running python 3.8+. This is because of the use of an experimental installer that can be switched off to avoid the mentioned error. Run the code below as advised [here](https://github.com/python-poetry/poetry/issues/4210) and it should fix the installation process. - -```bash -poetry config experimental.new-installer false -``` - -

-
- -
Why do a receive a ModuleNotFoundError? -

- -IF you receive an error like `ModuleNotFoundError: No module named '_______'` - -

Before you start begin troubleshooting please verify that you have followed the recommended installation instructions. -These errors often can occur when you have not activated the virtual environment where you have installed the terminal, or you have not used the `poetry install` command to install the dependencies.

- -If you are still having issues install the missing packages via pip. For example if you get the error that `yfinance` is not found, you would run `pip install yfinance` - -

-
- -
How do I fix "Cannot convert a symbolic Tensor..."? -

- -If you run into issues installing or `Cannot convert a symbolic Tensor...` at runtime, try this: - -```bash -poetry install -poetry install -E forecast -``` - -_Commands that may help you in case of an error:_ - -- `python -m pip install --upgrade pip` -- `poetry update --lock` -- `poetry install` - -

-
- -
How do I deal with errors regarding CRLF? -

- -When trying to commit code changes, pylint will prevent you from doing so if your line break settings are set to -CRLF (default for Windows). -This is because the entire package uses LF (default for Linux/Mac), and it is therefore -important that you change this setting to LF _before_ you make any changes to the code. - -It is possible that CRLF automatically turns back on, you can correct this with: - -```bash -git config --global core.autocrlf false -``` - -In case you already made coding adjustments, you have to reset your cache, and the changes you made to the code with -the following: - -```bash -git rm --cached -r . -git reset --hard -``` - -

-
- -
Why can't I run OpenBB via the VS Code integrated terminal? -

- -This occurs when VS Code terminal python version/path is different from the terminal version. - -To fix it add this to vscode JSON settings ([ref](https://stackoverflow.com/questions/54582361/vscode-terminal-shows-incorrect-python-version-and-path-launching-terminal-from)): - -```bash - "terminal.integrated.inheritEnv": false, -``` - -

-
diff --git a/website/content/terminal/quickstart/installation.md b/website/content/terminal/quickstart/installation.md index 0cc3547b94d..893eb2f1f76 100644 --- a/website/content/terminal/quickstart/installation.md +++ b/website/content/terminal/quickstart/installation.md @@ -1,7 +1,7 @@ --- Sidebar_position: 2 title: Installation -description: The OpenBB Terminal can be directly installed on your computer via our installation programs. Within this section, you are guided through the installation process and how to launch the program. If you struggle with the installation process, please don’t hesitate to reach us on Discord or visit our contact page. +description: The OpenBB Terminal can be directly installed on a Mac or Windows machine with the installer packages linked in the tabs below. While no installer package for Linux is currently available, it can be installed from the command line in a virtual Python environment. Having trouble? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). keywords: [ installation, diff --git a/website/content/terminal/quickstart/troubleshooting.md b/website/content/terminal/quickstart/troubleshooting.md new file mode 100644 index 00000000000..20fe4905ccf --- /dev/null +++ b/website/content/terminal/quickstart/troubleshooting.md @@ -0,0 +1,349 @@ +--- +title: Troubleshooting +sidebar_position: 4 +keywords: [faq, questions, openbb, terminal, troubleshooting, errors, bugs, issues, problems, installation, contributors, developers, github, pip] +--- + +Still experiencing trouble after consulting this page? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). + +## Installation and Updates + +
How much hard drive space is required? + +An installation will use approximately 4GB of space. + +
+ +
What is the minimum version of Windows or MacOS required to install the OpenBB Terminal? + +The OpenBB Terminal installation packages are compatible with: + +- Windows 10 or later. +- MacOS Monterey or later. + +**Note:** Machines which are not compatible with the installer packages may be able to install from the source code. + +
+ +
How do I update my installation to the latest version? + +The terminal is constantly being updated with new features and bug fixes. The process for updating will vary by the installation type: + +- As of version 2.4.1, the Windows installer has an option for uninstalling the existing prior to updating. +- For other installer versions, uninstall the previous version (uninstall.exe for Windows, delete the Application folder on MacOS); then, download the latest version and reinstall. User settings and data will remain. +- For a `pip` installation, when a new version is published: `pip install -U openbb[all]` +- Upgrade a cloned version of the GitHub repo with: + +```console +git fetch +git pull +poetry install -E all +``` + +**Notes:** If the cloned repository is a fork, pull from: `git pull origin main` or `git pull origin develop`. If there are changes locally to the files that conflict with the incoming changes from GitHub, stash them before pulling from main with `git stash`. + +
+ +
"Microsoft Visual C++ 14.0 or greater is required" + +Download and install [C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/), restart the machine, then try again. + +
+ +
Error: failed building wheel for bt + +There may be an additional message that is printed from this error, stating: "Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools". + +Download and install it. [https://visualstudio.microsoft.com/visual-cpp-build-tools/](https://visualstudio.microsoft.com/visual-cpp-build-tools/) + +Mac users may also encounter a similar error because a C++ compiler is not installed. Install Homebrew: + +```console +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +``` + +Then run: + +```console +brew install gcc +brew install cmake +``` + +
+ +## Launching + +
Mac: Invalid CPU Type - Terminal fails to launch. + +This error is usually the result of a Mac M1/M2 machine which does not have Rosetta installed. Install from the system Terminal command line: + +```console +softwareupdate --install-rosetta +``` + +
Terminal app does not launch: Failed to execute script 'terminal' due to unhandled exception! + +When an installer-packaged version of the OpenBB Terminal fails to launch, because of this message, the machine may have an obsolete CPU-type or operating system. Please try installing via the source code, and if problems persist, reach out to us on [Discord](https://discord.gg/xPHTuHCmuV) or fill out a support request form on our [website](https://openbb.co/support). + +
+ +
ModuleNotFoundError: No module named '______' + +Before troubleshooting please verify that the recommended installation instructions were followed. These errors often can occur when the virtual environment has not been activated, or the `poetry install` command was skipped. Activate the OpenBB virtual environment created during the installation process prior to launching or importing the SDK. + +**Terminal**: + +```console +conda activate obb +python terminal.py +``` + +**SDK**: + +```console +conda activate obb +ipython +from openbb_terminal.sdk import openbb +``` + +**Jupyter**: + +Check that the kernel selected for the session is the OpenBB virtual environment created during the installation process and then re-run the cell. + +```console +from openbb_terminal.sdk import openbb +``` + +There is also a possibility that a new dependency has been added to the code and it has not yet been installed in the environment. This may happen after updating the code from GitHub, but before running the `poetry install` install command. + +```console +poetry install -E all +``` + +
+ +
Fontconfig warning: ignoring UTF-8: not a valid region tag + +In the OS default terminal shell profile, check for a variable similar to, “set locale environment variables at startup”, then also, set text encoding to UTF-8. + +
+ +
SSL certificates fail to authorize + +```console +SSL: CERTIFICATE_VERIFY_FAILED +``` + +An error message, similar to above, is usually encountered while attempting to use the OpenBB Platform from behind a firewall. A workplace environment is typically the most common occurrence. Try connecting to the internet directly through a home network to test the connection. If using a work computer and/or network, we recommend speaking with the company's IT department prior to installing or running any software. + +A potential solution is to try: + +```console +pip install pip-system-certs +``` + +
+ +
Cannot connect due to proxy connection. + +Find the `.env` file (located at the root of the user account folder: (`~/.openbb_terminal/.env`), and add a line at the bottom of the file with: + +```console +HTTP_PROXY="
" or HTTPS_PROXY="
” +``` + +
+ +## General Troubleshooting + +Both Windows and MacOS provide a "developer mode", and enabling it may help. + +**MacOS**: Go to the System Settings, and under the "Privacy and Security" tab, scroll to the bottom and select the option to "Allow applications downloaded from App Store and identified developers". Then, scroll up to click on, "Developer Tools", and add `Terminal.app` and `Visual Studio Code` (or the preferred code editor) to the list of applications allowed to run software locally that does not meet the system's security policy. + +**Windows**: Go to the Control Panel, and under the "Privacy & Securty" tab, click on, "For developers". Under this menu, turn "Developer Mode" on. + +From the Windows Security menu, click on the Firewall & Network Protection tab, then click on "Allow an app through firewall". If the applications below are not allowed to communicate through Windows Defender Firewall, change the settings to allow. + +- BranchCache +- Hyper-V +- VcXsrv +- Windows Terminal + +
+ +
Why does a specific menu or command not exist? + +It could be that you are running an outdated version in which the menu or command is not yet available. Please check the [installation guide](https://docs.openbb.co/terminal/quickstart/installation) to download the most recent release. + +Do note that it is also possible that the menu or command has been deprecated. If this is oversight, please reach out to us [here](https://openbb.co/support). + +
+ +## General Operating Issues + +
Why does my Portfolio file fail to load? + +This can be the result of a formatting error, check the file in a simple text editor to observe any abnormalities in the formatting; or, it could be a bug - check the [GitHub issues page](https://github.com/OpenBB-finance/OpenBBTerminal/issues) for similar errors. + +- Check that all the necessary column titles are present. +- Inspect the file to see if cells left blank have been filled unintentionally with 0 or NaN values. +- A particular asset may not be able to load data. Check for valid historical data from the Stocks menu. +- Format ticker symbols according to yFinance naming convention. +- All dates must be entered as YYYY-MM-DD. +- Transactions dated for today will fail to load historical data. +- MacOS users should attempt to avoid using the Numbers application as it has a habit of changing the formatting while saving. + +
+ +## Data and Sources + +Please note that OpenBB does not provide any data, it is an aggregator which provides users access to data from a variety of sources. OpenBB does not maintain or have any control over the raw data supplied. If there is a specific problem with the output from a data provider, please consider contacting them first. + +
Data from today is missing. + +By default, the load function requests end-of-day daily data and is not included until the EOD summary has been published. The current day's data is considered intraday and is loaded when the `interval` argument is present. + +```console +load SPY -i 60 +``` + +
+ +## Bugs, Support, and Feedback + +When an error is encountered, it is always a good idea to check the open issues on [GitHub](https://github.com/OpenBB-finance/OpenBBTerminal/issues). There may be a workaround solution for the specific problem until a patch is released. + +
How often are patches for bugs released? + +The installer versions are packaged approximately every two-weeks. Those working with a cloned GitHub version can checkout the Develop branch to get the latest fixes and releases before they are pushed to the main branch. + +```console +git checkout develop +``` + +
+ +
How do I report a bug? + +First, search the open issues for another report. If one already exists, attach any relevant information and screenshots as a comment. If one does not exist, start one with this [link](https://github.com/OpenBB-finance/OpenBBTerminal/issues/new?assignees=&labels=type%3Abug&template=bug_report.md&title=%5BBug%5D) + +
+ +
How can I get help with OpenBB Terminal? + +You can get help with OpenBB Terminal by joining our [Discord server](https://openbb.co/discord) or contact us in our support form [here](https://openbb.co/support). + +
+ +
How can I give feedback about the OpenBB Terminal, or request specific functionality? + +Being an open source platform that wishes to tailor to the needs of any type of investor, we highly encourage anyone to share with us their experience and/or how we can further improve the OpenBB Terminal. This can be anything from a very small bug, a new feature, or the implementation of a highly advanced Machine Learning model. + +You are able to directly send us information about a bug or a question/suggestion from inside the terminal by using the `support` command which is available everywhere in the terminal. Here you can select which command you want to report a bug on, ask a question or make a suggestion. After entering `support`, when you press `ENTER` (⏎), you are taken to the Support form which is automatically filled with your input. You are only required to include the type (e.g. bug, suggestion or question) and message in the form, although this can also be set directly from inside the terminal (see `support -h`). + +Alternatively, you can contact us via the following routes: + +- If you notice that a feature is missing inside the terminal, please fill in the [Request a Feature](https://openbb.co/request-a-feature) form. +- If you wish to report a bug, have a question/suggestion or anything else, please fill in the [Support](https://openbb.co/support) form. +- If you wish to speak to us directly, please contact us on [Discord](https://openbb.co/discord). + +
+ +## Developer Issues + +
What does it mean if it says wheel is missing? +

+ +If you receive any notifications regarding `wheel` missing, this could be due to this dependency missing. + +`conda install -c conda-forge wheel` or `pip install wheel` + +

+
+ +
Why do these .whl files not exist? + +If you get errors about .whl files not existing (usually on Windows) you have to reinitialize the following folder. +Just removing the 'artifacts' folder could also be enough: + +| Platform | Location | +| -------- | ------------------------------- | +| Linux | "~/.cache/pypoetry" | +| Mac | "~/Library/Caches/pypoetry" | +| Windows | "%localappdata%/pypoetry/cache" | + +When you try to add a package to Poetry it is possible that it causes a similar issue. Here you can remove the +'artifacts' folder again to reinitialize Poetry. + +If you run into trouble with Poetry, and the advice above did not help, your best bet is to try + +1. `poetry update --lock` +2. `conda deactivate` -> `conda activate obb`, then try again +3. Track down the offensive package and purge it from your anaconda `` folder, then try again + (removing through conda can sometimes leave locks behind) + | Platform | Location | + | --------- | --------------------------------------------- | + | Linux/Mac | "~/anaconda3/envs" or "~/opt/anaconda3/envs" | + | Windows | "%userprofile%/anaconda3/envs" | +4. Completely nuke your conda environment folder and make a new environment from scratch + +- `conda deactivate` +- `conda env remove -n obb` +- `conda clean -a` +- Make a new environment and install dependencies again. + +5. Reboot your computer and try again +6. Submit a ticket on GitHub + +
+ +
What does the JSONDecodeError mean during poetry install? + +Sometimes poetry can throw a `JSONDecodeError` on random packages while running `poetry install`. This can be observed on macOS 10.14+ running python 3.8+. This is because of the use of an experimental installer that can be switched off to avoid the mentioned error. Run the code below as advised [here](https://github.com/python-poetry/poetry/issues/4210) and it should fix the installation process. + +```bash +poetry config experimental.new-installer false +``` + +_Commands that may help you in case of an error:_ + +- `python -m pip install --upgrade pip` +- `poetry update --lock` +- `poetry install` + +
+ +
How do I deal with errors regarding CRLF? + +When trying to commit code changes, pylint will prevent you from doing so if your line break settings are set to +CRLF (default for Windows). +This is because the entire package uses LF (default for Linux/Mac), and it is therefore +important that you change this setting to LF _before_ you make any changes to the code. + +It is possible that CRLF automatically turns back on, you can correct this with: + +```bash +git config --global core.autocrlf false +``` + +In case you already made coding adjustments, you have to reset your cache, and the changes you made to the code with +the following: + +```bash +git rm --cached -r . +git reset --hard +``` + +
+ +
Why can't I run OpenBB via the VS Code integrated terminal? + +This occurs when VS Code terminal python version/path is different from the terminal version. + +To fix it add this to vscode JSON settings ([ref](https://stackoverflow.com/questions/54582361/vscode-terminal-shows-incorrect-python-version-and-path-launching-terminal-from)): + +```bash + "terminal.integrated.inheritEnv": false, +``` + +
From a5e23bc0e93633b38dbd7aabae8041e990f3c972 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Wed, 22 Feb 2023 16:58:42 -0800 Subject: [PATCH 17/30] linter on typo --- website/content/terminal/quickstart/troubleshooting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/terminal/quickstart/troubleshooting.md b/website/content/terminal/quickstart/troubleshooting.md index 20fe4905ccf..324b14638cb 100644 --- a/website/content/terminal/quickstart/troubleshooting.md +++ b/website/content/terminal/quickstart/troubleshooting.md @@ -160,7 +160,7 @@ Both Windows and MacOS provide a "developer mode", and enabling it may help. **MacOS**: Go to the System Settings, and under the "Privacy and Security" tab, scroll to the bottom and select the option to "Allow applications downloaded from App Store and identified developers". Then, scroll up to click on, "Developer Tools", and add `Terminal.app` and `Visual Studio Code` (or the preferred code editor) to the list of applications allowed to run software locally that does not meet the system's security policy. -**Windows**: Go to the Control Panel, and under the "Privacy & Securty" tab, click on, "For developers". Under this menu, turn "Developer Mode" on. +**Windows**: Go to the Control Panel, and under the "Privacy & Security" tab, click on, "For developers". Under this menu, turn "Developer Mode" on. From the Windows Security menu, click on the Firewall & Network Protection tab, then click on "Allow an app through firewall". If the applications below are not allowed to communicate through Windows Defender Firewall, change the settings to allow. From fd562b37fba7a0611b06995e7d3ebab5ab35e82f Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Thu, 23 Feb 2023 10:48:14 -0800 Subject: [PATCH 18/30] changes to layout and adding more content --- .../terminal/quickstart/requirements.md | 11 +- .../terminal/quickstart/troubleshooting.md | 201 +++++++++++++----- 2 files changed, 158 insertions(+), 54 deletions(-) diff --git a/website/content/terminal/quickstart/requirements.md b/website/content/terminal/quickstart/requirements.md index b3e90883f0f..6a49fcbb67a 100644 --- a/website/content/terminal/quickstart/requirements.md +++ b/website/content/terminal/quickstart/requirements.md @@ -4,14 +4,17 @@ sidebar_position: 1 description: The OpenBB Terminal can be directly installed on your computer via our installation programs, these are the requirements. keywords: [installation, installer, install, guide, mac, windows, linux, python, github, macos, how to, explanation, requirements, openbb terminal] --- - import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -Installation of the OpenBB Terminal requires downloading around 2GB of data. Querying data (by running commands) does not require a lot of bandwidth but you will certainly have a more pleasant experience if you are on a fast internet connection. 4G networks provide a good enough experience so if you're traveling your personal hot-spot will do. While it's technically possible to use a subset of the functionality in off-line mode, you will not be able to use any data that is queried from the APIs of data providers and services. +Installation of the OpenBB Terminal requires downloading around 4GB of data. Querying data (by running commands) does not require a lot of bandwidth but you will certainly have a more pleasant experience if you are on a fast internet connection. 4G networks provide a good enough experience so if you're traveling your personal hot-spot will do. While it's technically possible to use a subset of the functionality in off-line mode, you will not be able to use any data that is queried from the APIs of data providers and services. -### Minimum System Requirements +## Minimum System Requirements +- A modern CPU compatible with the Intel Math Kernel Library, supporting SSE3 & SSE4.2 instructions. +- Windows 10 or higher. +- MacOS Monterey or higher, with Rosetta installed. +- Check the Ubuntu hardware certified hardware page [here](https://ubuntu.com/certified?q=&limit=20&category=Desktop&category=Laptop). - 4GB RAM or more -- 2GB free storage +- 5GB free storage - Internet connection diff --git a/website/content/terminal/quickstart/troubleshooting.md b/website/content/terminal/quickstart/troubleshooting.md index 324b14638cb..ed8746bda21 100644 --- a/website/content/terminal/quickstart/troubleshooting.md +++ b/website/content/terminal/quickstart/troubleshooting.md @@ -3,7 +3,6 @@ title: Troubleshooting sidebar_position: 4 keywords: [faq, questions, openbb, terminal, troubleshooting, errors, bugs, issues, problems, installation, contributors, developers, github, pip] --- - Still experiencing trouble after consulting this page? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). ## Installation and Updates @@ -56,7 +55,7 @@ There may be an additional message that is printed from this error, stating: "Mi Download and install it. [https://visualstudio.microsoft.com/visual-cpp-build-tools/](https://visualstudio.microsoft.com/visual-cpp-build-tools/) -Mac users may also encounter a similar error because a C++ compiler is not installed. Install Homebrew: +Mac and Linux users may also encounter a similar error because a C++ compiler is not installed. Install Homebrew: ```console /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" @@ -71,6 +70,12 @@ brew install cmake
+
Miniconda3 will not install on ARM/Linux Raspberry Pi machines. + +Refer to this issue on the Conda [GitHub](https://github.com/conda/conda/issues/10723) page. + +
+ ## Launching
Mac: Invalid CPU Type - Terminal fails to launch. @@ -146,7 +151,7 @@ pip install pip-system-certs
Cannot connect due to proxy connection. -Find the `.env` file (located at the root of the user account folder: (`~/.openbb_terminal/.env`), and add a line at the bottom of the file with: +Find the `.env` file (located at the root of the user account folder: (`~/.openbb_terminal/.env`), and add a line at the bottom of the file with: ```console HTTP_PROXY="
" or HTTPS_PROXY="
” @@ -154,6 +159,117 @@ HTTP_PROXY="
" or HTTPS_PROXY="
”
+
Linux Ubuntu installation was successful but now hangs on launch. + +Check that VcXsvr - or an equivalent X-host - is running and configured prior to launch. + +
+ +## General Operation + +
Charts do not display on Linux/WSL or Docker installation. + +Check that X-11, or similar, is installed, open, and configured. Follow the instructions pertaining to the system here: [https://docs.openbb.co/terminal/quickstart/installation#3-configuring-your-x-server-to-show-plots](https://docs.openbb.co/terminal/quickstart/installation#3-configuring-your-x-server-to-show-plots) + +
+ +
How do I retrieve more results than is returned by default? + +Most functions will have either, `--start` and `--end` flags, or a `--limit` argument. Print the help dialogue for any command by attaching, `--help` or `-h`. + +
+ +
Does the portfolio menu allow for dividends, interest, or other distributions? + +Currently, this is only possible by manually updating the portfolio file. + +
+ +
Why does my Portfolio file fail to load? + +This can be the result of a formatting error, check the file in a simple text editor to observe any abnormalities in the formatting; or, it could be a bug - check the [GitHub issues page](https://github.com/OpenBB-finance/OpenBBTerminal/issues) for similar errors. + +- Check that all the necessary column titles are present. +- Inspect the file to see if cells left blank have been filled unintentionally with 0 or NaN values. +- A particular asset may not be able to load data. Check for valid historical data from the Stocks menu. +- Format ticker symbols according to yFinance naming convention. +- All dates must be entered as YYYY-MM-DD. +- Transactions dated for today will fail to load historical data. +- MacOS users should attempt to avoid using the Numbers application as it has a habit of changing the formatting while saving. + +Files can be formatted as either `.csv` or `.xlsx` files, and the required column headers are: + +`[Date,Type,Ticker,Side,Price,Quantity,Fees,Investment,Currency,Sector,Industry,Country,Region]` + +See the guide [here](https://docs.openbb.co/sdk/guides/intros/portfolio) for more information. + +
+ +
How do I change the chart styles? + +Place style sheets in this folder: `OpenBBUserData/styles/user` + +SDK users can refer to the documentation [here](https://docs.openbb.co/sdk/guides/advanced/chart-styling) for syntax. A sample Matplotlib configuration file can be copied from [here](https://matplotlib.org/stable/tutorials/introductory/customizing.html#the-default-matplotlibrc-file). + +
+ +
Can I change the colors of the text in the Terminal? + +Yes, follow the directions on this page: [https://openbb.co/products/terminal?customizeMenu=true#terminal](https://openbb.co/products/terminal?customizeMenu=true#terminal) + +
+ +
After setting the preset in the stocks screener, nothing happens. + +Print the current screen again with by entering, `?`. Does the name of the selected preset display? With a preset loaded, run the screener by entering one of the commands below: + +- Financial +- Ownership +- Overview +- Performance +- Technical +- Valuation + +
+ +
Forecast functions say to enter a valid data set + +Because an unlimited number of data sets can be loaded into the Forecast menu, each function requires defining the specific data set to be used. Add the `-d` or `--dataset` argument to the command, along with the name of the desired data set. + +```console +rnn -d SPY +``` + +
+ +## Data and Sources + +Please note that OpenBB does not provide any data, it is an aggregator which provides users access to data from a variety of sources. OpenBB does not maintain or have any control over the raw data supplied. If there is a specific problem with the output from a data provider, please consider contacting them first. + +
Data from today is missing. + +By default, the load function requests end-of-day daily data and is not included until the EOD summary has been published. The current day's data is considered intraday and is loaded when the `interval` argument is present. + +```console +load SPY -i 60 +``` + +
+ +
Can I stream live prices and news feeds? + +The OpenBB Terminal is not currently capable of streaming live feeds through websocket connections. + +
+ +
"Pair BTC/USDT not found in binance" + +US-based users are currently unable to access the Binance API. Please try loading the pair from a different source, for example: + +`load btc --source CCXT --exchange kraken` + +
+ ## General Troubleshooting Both Windows and MacOS provide a "developer mode", and enabling it may help. @@ -179,36 +295,6 @@ Do note that it is also possible that the menu or command has been deprecated. I
-## General Operating Issues - -
Why does my Portfolio file fail to load? - -This can be the result of a formatting error, check the file in a simple text editor to observe any abnormalities in the formatting; or, it could be a bug - check the [GitHub issues page](https://github.com/OpenBB-finance/OpenBBTerminal/issues) for similar errors. - -- Check that all the necessary column titles are present. -- Inspect the file to see if cells left blank have been filled unintentionally with 0 or NaN values. -- A particular asset may not be able to load data. Check for valid historical data from the Stocks menu. -- Format ticker symbols according to yFinance naming convention. -- All dates must be entered as YYYY-MM-DD. -- Transactions dated for today will fail to load historical data. -- MacOS users should attempt to avoid using the Numbers application as it has a habit of changing the formatting while saving. - -
- -## Data and Sources - -Please note that OpenBB does not provide any data, it is an aggregator which provides users access to data from a variety of sources. OpenBB does not maintain or have any control over the raw data supplied. If there is a specific problem with the output from a data provider, please consider contacting them first. - -
Data from today is missing. - -By default, the load function requests end-of-day daily data and is not included until the EOD summary has been published. The current day's data is considered intraday and is loaded when the `interval` argument is present. - -```console -load SPY -i 60 -``` - -
- ## Bugs, Support, and Feedback When an error is encountered, it is always a good idea to check the open issues on [GitHub](https://github.com/OpenBB-finance/OpenBBTerminal/issues). There may be a workaround solution for the specific problem until a patch is released. @@ -251,14 +337,29 @@ Alternatively, you can contact us via the following routes: ## Developer Issues +
Error: "git pull" fails because of a hot fix: cannot lock ref + +If the error message looks something like: + +```console +cannot lock ref: 'refs/remotes/origin/hotfix' exists; cannot create +``` + +Try: + +```console +git remote prune origin +git pull +``` + +
+
What does it mean if it says wheel is missing? -

If you receive any notifications regarding `wheel` missing, this could be due to this dependency missing. `conda install -c conda-forge wheel` or `pip install wheel` -

Why do these .whl files not exist? @@ -277,23 +378,23 @@ When you try to add a package to Poetry it is possible that it causes a similar If you run into trouble with Poetry, and the advice above did not help, your best bet is to try -1. `poetry update --lock` -2. `conda deactivate` -> `conda activate obb`, then try again -3. Track down the offensive package and purge it from your anaconda `` folder, then try again - (removing through conda can sometimes leave locks behind) - | Platform | Location | - | --------- | --------------------------------------------- | - | Linux/Mac | "~/anaconda3/envs" or "~/opt/anaconda3/envs" | - | Windows | "%userprofile%/anaconda3/envs" | -4. Completely nuke your conda environment folder and make a new environment from scratch +- `poetry update --lock` +- `conda deactivate` -> `conda activate obb`, then try again +- Track down the offensive package and purge it from your anaconda `` folder, then try again -- `conda deactivate` -- `conda env remove -n obb` -- `conda clean -a` -- Make a new environment and install dependencies again. +| Platform | Location | +| --------- | ------------------------------------------- | +| Linux/Mac | ~/anaconda3/envs, or , ~/opt/anaconda3/envs | +| Windows | %userprofile%/anaconda3/envs | -5. Reboot your computer and try again -6. Submit a ticket on GitHub +- Completely nuke your conda environment folder and make a new environment from scratch + + - `conda deactivate` + - `conda env remove -n obb` + - `conda clean -a` + - Make a new environment and install dependencies again. +- Reboot your computer and try again +- Submit a ticket on GitHub
From 453e547fc1a05268950a5e61cdefab3455694c3c Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Thu, 23 Feb 2023 14:20:54 -0800 Subject: [PATCH 19/30] updates to requirements files --- .../content/sdk/quickstart/requirements.md | 59 ++++--------------- .../terminal/quickstart/requirements.md | 2 +- 2 files changed, 11 insertions(+), 50 deletions(-) diff --git a/website/content/sdk/quickstart/requirements.md b/website/content/sdk/quickstart/requirements.md index d3de45ef443..501fa4f1154 100644 --- a/website/content/sdk/quickstart/requirements.md +++ b/website/content/sdk/quickstart/requirements.md @@ -1,69 +1,30 @@ --- title: Requirements sidebar_position: 1 -description: The OpenBB SDK can be directly installed on your computer via our installation instructions, these are the requirements. -keywords: [installation, installer, install, guide, mac, windows, linux, python, github, macos, how to, explanation, requirements, openbb sdk] +description: General system requirements for installing the OpenBB SDK. +keywords: [installation, installer, install, guide, mac, windows, linux, python, github, macos, how to, explanation, requirements, openbb, sdk, system] --- - import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -The OpenBB SDK is a set of tools for financial and data analysis. The purpose of this page is to outline some of the background information required to get the most out of the software. +Installation of the OpenBB Terminal requires downloading around 4GB of data. Querying data (by running commands) does not require a lot of bandwidth but you will certainly have a more pleasant experience if you are on a fast internet connection. 4G networks provide a good enough experience so if you're traveling your personal hot-spot will do. While it's technically possible to use a subset of the functionality in off-line mode, you will not be able to use any data that is queried from the APIs of data providers and services. -### Minimum System Requirements +## Minimum System Requirements +- A modern CPU compatible with the Intel Math Kernel Library, supporting SSE3 & SSE4.2 instructions. +- Windows 10 or higher. +- MacOS Monterey or higher, with Rosetta installed. +- Check the Ubuntu hardware certified hardware page [here](https://ubuntu.com/certified?q=&limit=20&category=Desktop&category=Laptop). - 4GB RAM or more - 5GB free storage -- A code editor or Jupyter Notebook - Internet connection -Note that installation of the SDK with all the toolkits would require downloading around 4GB of data. Querying data does not require a lot of bandwidth but you will certainly have a more pleasant experience if you will be on a fast internet line. 4G networks provide a good enough experience so if you're traveling your personal hot-spot will do. While it's technically possible to use a subset of the functionality in off-line mode, you will not be able to use any data that is queried from the APIs of data providers and services. - -:::info OS Specific Requirements - - - -
- -

The OpenBB platform requires MacOS Catalina or higher. The oldest Mac configuration known to work is a MacPro 3,1 (OS Catalina) and functions relying on the Intel Math Kernel (Forecast models like RNN) are not compatible with the CPU.

-

Portfolio Optimization Toolkit and Forecasting Toolkit on Apple Silicon: To install the Forecasting toolkit on M1/M2 macs you need to use the x86_64 version of conda and install certain dependencies from conda-forge. Further Instructions can be found in the Installation section

-
- -
- -
- -
- -

Windows 10 or higher is required. - -

-
- -
-
- -
- -

The OpenBB platform can be installed on a variety of Linux distributions. Due to the large number of system configuration variables, we are unable to verify compatibility across all distributions. It is known to work with up-do-date versions of Ubuntu, Debian and Raspberry Pi. Any 32-bit distributions are incompatible. Generally, if the system installs Miniconda3 then the OpenBB Terminal should also be installable. -

-
- -
-
-
-::: - ## Virtual Environments - [Miniconda3](https://docs.conda.io/en/latest/miniconda.html) - [Installing Python Packages](https://packaging.python.org/en/latest/tutorials/installing-packages/) -Virtual Python environments are containers for Python applications, and allows the operating system to remain unchanged. The OpenBB SDK is built on top of 300+ open-source libraries. The dependency tree is complex and the components are carefully selected to work with each other. This makes it critical to install the OpenBB SDK in an isolated, dedicated, virtual environment. We recommend a Conda virtual environment because this is currently the only package manager compatible with every function. Consequently, installations within a `venv` or other container will lack the ML and forecast features. The Forecast menu will not be installed unless: - -- Miniconda3 is installed and the version is specifically x86/x64 architecture, regardless of the CPU-type. -- CMake must be installed within the environment created for the OpenBB installation. - - `conda install -c conda-forge cmake` +Virtual Python environments are containers for Python applications, and allows the operating system to remain unchanged. The OpenBB SDK is built on top of 300+ open-source libraries. The dependency tree is complex and the components are carefully selected to work with each other. This makes it critical to install the OpenBB SDK in an isolated, dedicated, virtual environment. We recommend a Conda virtual environment because this is currently the only package manager compatible with every function. It is not recommended to install in a Global environment, such as Homebrew or `usr/local/bin/python3`. Create and activate a new environment before installing the OpenBB SDK. @@ -71,4 +32,4 @@ It is not recommended to install in a Global environment, such as Homebrew or `u [GitHub](https://github.com/OpenBB-finance/OpenBBTerminal) is where the OpenBB source code is maintained. Cloning the [repository](https://github.com/OpenBB-finance/OpenBBTerminal.git) is recommended for those wishing to develop functions, inspect the source code, or be on the bleeding-edge of development. Syncing the local folder - `git pull` - to the main branch of the repository will keep the installation up-to-date, and `git checkout` provides a way to test development or contributor branches. GitHub can also be used as a personal storage vault and take advantage of automated actions. It's a great place to build, store, and maintain small databases for free. -Users encountering bugs are encouraged to report them [here](https://github.com/OpenBB-finance/OpenBBTerminal/issues/new/choose) by creating a new issue, if no open issue for the bug already exists. \ No newline at end of file +Users encountering bugs are encouraged to report them [here](https://github.com/OpenBB-finance/OpenBBTerminal/issues/new/choose) by creating a new issue, if no open issue for the bug already exists. diff --git a/website/content/terminal/quickstart/requirements.md b/website/content/terminal/quickstart/requirements.md index 6a49fcbb67a..2f40ba3e576 100644 --- a/website/content/terminal/quickstart/requirements.md +++ b/website/content/terminal/quickstart/requirements.md @@ -1,7 +1,7 @@ --- title: Requirements sidebar_position: 1 -description: The OpenBB Terminal can be directly installed on your computer via our installation programs, these are the requirements. +description: General system requirements for installing the OpenBB Terminal. keywords: [installation, installer, install, guide, mac, windows, linux, python, github, macos, how to, explanation, requirements, openbb terminal] --- import Tabs from '@theme/Tabs'; From db25cc554c48fd7c8ec5121bc6804a2397d78957 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Fri, 24 Feb 2023 11:07:03 -0800 Subject: [PATCH 20/30] rename sdk faq to troubleshooting --- website/content/sdk/quickstart/faq.md | 166 ------- .../content/sdk/quickstart/installation.md | 2 +- .../content/sdk/quickstart/troubleshooting.md | 412 ++++++++++++++++++ 3 files changed, 413 insertions(+), 167 deletions(-) delete mode 100644 website/content/sdk/quickstart/faq.md create mode 100644 website/content/sdk/quickstart/troubleshooting.md diff --git a/website/content/sdk/quickstart/faq.md b/website/content/sdk/quickstart/faq.md deleted file mode 100644 index fa1b184db0d..00000000000 --- a/website/content/sdk/quickstart/faq.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: FAQ -sidebar_position: 3 -keywords: [faq, frequently asked questions, openbb sdk] ---- - -## General - -
How do I update the OpenBB SDK? -

- -With new releases of the OpenBB SDK, it would suffice to use `pip install openbb`. If this doesn't update to the latest version you can include the version number as follows `pip install openbb==2.0.0`. Please find the latest version [here](https://pypi.org/project/openbb/). - -

-
- -
Where does the data from the OpenBB SDK come from? -

- -The OpenBB platform does not provide any data itself as the platform is a data aggregator that connects to almost a hundred different data providers and APIs to access the data. - -

-
- -
What programs need to be allowed for Windows Firewall? -

- -When issues arise regarding Windows Firewall, please allow the following applications through (if not already): - -- BranchCache -- Hyper-V -- VcXsrv -- Windows Terminal - -From the Windows Security menu, click on the Firewall & Network Protection tab, then click on "Allow an app through firewall". If the applications below are not allowed to communicate through Windows Defender Firewall, change the settings to allow. - -

-
- -
On what Operating Systems can I run OpenBB SDK? -

- -The OpenBB Terminal is compatible with Windows, Mac Os and Linux. Check the -[installation guide](/sdk/quickstart/installation) and [requirements outline](/sdk/quickstart/requirements) for more details. - -

-
- -
How much hard drive space is required? -

- -An installation will use approximately 4GB of space. - -

-
- -
How do I launch Jupyter Lab or Jupyter Notebook for use with the OpenBB SDK? -

- -Once the installation is finished via `pip` and you have activated the conda environment, as explained in the [installation guide](/sdk/quickstart/installation) you are able to activate a Jupyter Notebook by running `jupyter notebook` or Jupyter Lab with `jupyter lab`. Then, you should be able to use the OpenBB SDK by following along with the [How to use the SDK](/sdk/guides/basics#how-to-use-the-sdk) guide. - -

-
- -
How can I contribute to the OpenBB SDK -

- -There are three main ways of contributing to this project. - -**BECOME A CONTRIBUTOR** - -1. Fork the [Project](https://github.com/OpenBB-finance/OpenBBTerminal) -2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) -3. Install the pre-commit hooks by running: `pre-commit install` - Any time you commit a change, linters will be run automatically. On changes, you will have to re-commit -4. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) -5. Push to your Branch (`git push origin feature/AmazingFeature`) -6. Open a Pull Request - -You can read more details about adding a feature in our [CONTRIBUTING GUIDELINES](https://github.com/OpenBB-finance/OpenBBTerminal/blob/main/CONTRIBUTING.md). - -**RAISE AN ISSUE OR REQUEST A FEATURE** - -- Raise an issue by opening a [bug ticket](https://github.com/OpenBB-finance/OpenBBTerminal/issues). -- Request a new feature through a [feature request ticket](https://github.com/OpenBB-finance/OpenBBTerminal/issues). - -

-
- -## Support - -
How do I report a bug? -

- -First, search the open issues for another report. If one already exists, attach any relevant information and screenshots as a comment. If one does not exist, start one with this [link](https://github.com/OpenBB-finance/OpenBBTerminal/issues/new?assignees=&labels=type%3Abug&template=bug_report.md&title=%5BBug%5D) - -

-
- -
How can I get help with OpenBB SDK? -

- -You can get help with OpenBB SDK by joining our [Discord server](https://openbb.co/discord) or contact us in our support form [here](https://openbb.co/support). - -

-
- -
How can I give feedback about the OpenBB SDK? -

- -Being an open source platform that wishes to tailor to the needs of any type of investor, we highly encourage anyone to share with us their experience and/or how we can further improve the OpenBB Terminal. This can be anything from a very small bug, a new feature, or the implementation of a highly advanced Machine Learning model. - -You can contact us via the following routes: - -- If you notice that a feature is missing inside the terminal, please fill in the Request a Feature form. -- If you wish to report a bug, have a question/suggestion or anything else, please fill in the Support form. -- If you wish to speak to us directly, please contact us via Discord. - -

-
- - -## Functionality - -
What kind of architectural pattern does the OpenBB SDK use? -

- -Throughout the entire OpenBB Platform, the [Model-view-controller](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller) architectural pattern is used for creating functionality in the terminal. - -This is visible in the OpenBB SDK with the addition of `_chart` within functions relating to the `view` portfion of the pattern. - -For example the model is displayed with: - -``` -openbb.economy.ycrv() -``` - -| | Maturity | Rate | -| --: | --------: | ---: | -| 0 | 0.0833333 | 3.93 | -| 1 | 0.25 | 4.34 | -| 2 | 0.5 | 4.61 | -| ... | ... | ... | -| 8 | 10 | 3.82 | -| 9 | 20 | 4.13 | -| 10 | 30 | 3.92 | - -And the view with: - -``` -openbb.economy.ycrv_chart() -``` - -![Screenshot 2022-11-21 at 4 29 17 PM](https://user-images.githubusercontent.com/85772166/203185342-f019414d-24e2-4d8a-a718-10eeedb59e8c.png) - -

-
- - -
Why is data from today missing when I use the load function? -

- -By default, the load function requests end-of-day daily data and is not included until the EOD summary has been published. The current day's data is considered intraday and is loaded when the `interval` argument is present. - -

-
diff --git a/website/content/sdk/quickstart/installation.md b/website/content/sdk/quickstart/installation.md index c3c01c4b8dc..754e187df1c 100644 --- a/website/content/sdk/quickstart/installation.md +++ b/website/content/sdk/quickstart/installation.md @@ -1,7 +1,7 @@ --- title: Installation sidebar_position: 2 -description: The OpenBB SDK can be directly installed on your computer via our installation instructions. Within this section, you are guided through the installation process and how to launch the program. If you struggle with the installation process, please don’t hesitate to reach us on Discord or visit our contact page. +description: The OpenBB SDK provides programmatic access to all Terminal functions. This layer of code allows users to build their own tools and applications on top of the existing architecture. Follow these steps to install on a local machine. keywords: [installation, installer, install, guide, mac, windows, linux, python, github, macos, how to, explanation, openbb, sdk, api, pip, pypi,] --- The OpenBB SDK provides programmatic access to all Terminal functions. This layer of code allows users to build their own tools and applications on top of the existing architecture. Follow these steps to install on a local machine. diff --git a/website/content/sdk/quickstart/troubleshooting.md b/website/content/sdk/quickstart/troubleshooting.md new file mode 100644 index 00000000000..a546bf5c098 --- /dev/null +++ b/website/content/sdk/quickstart/troubleshooting.md @@ -0,0 +1,412 @@ +--- +title: Troubleshooting +sidebar_position: 4 +keywords: [faq, questions, openbb, terminal, troubleshooting, errors, bugs, issues, problems, installation, contributors, developers, github, pip] +--- +Still experiencing trouble after consulting this page? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). + +## Installation and Updates + +
Do I have to use Miniconda? + +There are certain dependencies which are sourced exclusively from the `conda-forge` directory. Other virtual environment managers, such a `venv`, may not solve the environment properly, resulting in failed package installations or incorrect builds. We highly recommend using Miniconda as the Python virtual environment manager for installing the OpenBB SDK. + +
+ +
How do I update my installation to the latest version? + +The code is constantly being updated with new features and bug fixes. The process for updating will vary by the installation type: + +- For a `pip` installation, when a new version is published: `pip install -U openbb[all]` +- Upgrade a cloned version of the GitHub repo with: + +```console +git fetch +git pull +poetry install -E all +``` + +**Notes:** If the cloned repository is a fork, pull from: `git pull origin main`, or, `git pull origin develop`. If there are changes locally to the files that conflict with the incoming changes from GitHub, stash them before pulling from main with `git stash`. + +
+ +### PyPi Nightly + +The nightly build can be installed with: + +```console +pip install openbb-nightly[all] +``` + +**Note**: This version may not be stable and should not be used in a production setting. + +
"Microsoft Visual C++ 14.0 or greater is required" + +Download and install [C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/), restart the machine, then try again. + +
+ +
Error: failed building wheel for bt + +There may be an additional message that is printed from this error, stating: "Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools". + +Download and install it. [https://visualstudio.microsoft.com/visual-cpp-build-tools/](https://visualstudio.microsoft.com/visual-cpp-build-tools/) + +Mac and Linux users may also encounter a similar error because a C++ compiler is not installed. Install Homebrew: + +```console +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +``` + +Then run: + +```console +brew install gcc +brew install cmake +``` + +Additionally, Mac users should install Rosetta: + +```console +softwareupdate --install-rosetta +``` + +
+ +
Miniconda3 will not install on ARM/Linux Raspberry Pi machines. + +Refer to this issue on the Conda [GitHub](https://github.com/conda/conda/issues/10723) page. + +
+ +## Import Errors + +
ModuleNotFoundError: No module named '______' + +Before troubleshooting please verify that the recommended installation instructions were followed. These errors often can occur when the virtual environment has not been activated, or the `poetry install` command was skipped. Activate the OpenBB virtual environment created during the installation process prior to launching or importing the SDK. + +**Terminal**: + +```console +conda activate obb +python terminal.py +``` + +**SDK**: + +```console +conda activate obb +ipython +from openbb_terminal.sdk import openbb +``` + +**Jupyter**: + +Check that the kernel selected for the session is the OpenBB virtual environment created during the installation process and then re-run the cell. + +```console +from openbb_terminal.sdk import openbb +``` + +There is also a possibility that a new dependency has been added to the code and it has not yet been installed in the environment. This may happen after updating the code from GitHub, but before running the `poetry install` install command. + +```console +poetry install -E all +``` + +
+ +
SSL certificates fail to authorize + +```console +SSL: CERTIFICATE_VERIFY_FAILED +``` + +An error message, similar to above, is usually encountered while attempting to use the OpenBB Platform from behind a firewall. A workplace environment is typically the most common occurrence. Try connecting to the internet directly through a home network to test the connection. If using a work computer and/or network, we recommend speaking with the company's IT department prior to installing or running any software. + +A potential solution is to try: + +```console +pip install pip-system-certs +``` + +
+ +
Cannot connect due to proxy connection. + +Find the `.env` file (located at the root of the user account folder: (`~/.openbb_terminal/.env`), and add a line at the bottom of the file with: + +```console +HTTP_PROXY="
" or HTTPS_PROXY="
” +``` + +## General Operation + +
What is the correct format for entering dates to function variables? + +Dates should be entered as a string variable, inside of quotation marks, formatted as `%Y-%m-%d` - YYYY-MM-DD. + +
+ +
Does the portfolio menu allow for dividends, interest, or other distributions? + +Currently, this is only possible by manually updating the portfolio file. + +
+ +
Why does my Portfolio file fail to load? + +This can be the result of a formatting error, check the file in a simple text editor to observe any abnormalities in the formatting; or, it could be a bug - check the [GitHub issues page](https://github.com/OpenBB-finance/OpenBBTerminal/issues) for similar errors. + +- Check that all the necessary column titles are present. +- Inspect the file to see if cells left blank have been filled unintentionally with 0 or NaN values. +- A particular asset may not be able to load data. Check for valid historical data from the Stocks menu. +- Format ticker symbols according to yFinance naming convention. +- All dates must be entered as YYYY-MM-DD. +- Transactions dated for today will fail to load historical data. +- MacOS users should attempt to avoid using the Numbers application as it has a habit of changing the formatting while saving. + +Files can be formatted as either `.csv` or `.xlsx` files, and the required column headers are: + +`[Date,Type,Ticker,Side,Price,Quantity,Fees,Investment,Currency,Sector,Industry,Country,Region]` + +See the guide [here](https://docs.openbb.co/sdk/guides/intros/portfolio) for more information. + +
+ +
How do I change the chart styles? + +Place style sheets in this folder: `OpenBBUserData/styles/user` + +To select the light themes: + +```python +from openbb_terminal.sdk import TerminalStyle +theme = TerminalStyle("light", "light", "light") +``` + +To select the dark themes: + +```python +from openbb_terminal.sdk import TerminalStyle +theme = TerminalStyle("dark", "dark", "dark") +``` + +
+ +
Where are the included stock screener presets located? + +The files are located in the folder with the code, under: + +`~/openbb_terminal/miscellaneous/stocks/screener` + +Alternatively, the source code on GitHub is [here](https://github.com/OpenBB-finance/OpenBBTerminal/tree/develop/openbb_terminal/miscellaneous/stocks/screener) + +
+ +## Data and Sources + +Please note that OpenBB does not provide any data, it is an aggregator which provides users access to data from a variety of sources. OpenBB does not maintain or have any control over the raw data supplied. If there is a specific problem with the output from a data provider, please consider contacting them first. + +
Data from today is missing. + +By default, the load function requests end-of-day daily data and is not included until the EOD summary has been published. The current day's data is considered intraday and is loaded when the `interval` argument is present. + +```console +df = openbb.stocks.load(SPY, interval = 60) +``` + +
+ +
Can I stream live prices and news feeds? + +It is not currently possible to stream live feeds with the OpenBB SDK. + +
+ +
"Pair BTC/USDT not found in binance" + +US-based users are currently unable to access the Binance API. Please try loading the pair from a different source, for example: + +`load btc --source CCXT --exchange kraken` + +
+ +## General Troubleshooting + +Both Windows and MacOS provide a "developer mode", and enabling it may help. + +**MacOS**: Go to the System Settings, and under the "Privacy and Security" tab, scroll to the bottom and select the option to "Allow applications downloaded from App Store and identified developers". Then, scroll up to click on, "Developer Tools", and add `Terminal.app` and `Visual Studio Code` (or the preferred code editor) to the list of applications allowed to run software locally that does not meet the system's security policy. + +**Windows**: Go to the Control Panel, and under the "Privacy & Security" tab, click on, "For developers". Under this menu, turn "Developer Mode" on. + +From the Windows Security menu, click on the Firewall & Network Protection tab, then click on "Allow an app through firewall". If the applications below are not allowed to communicate through Windows Defender Firewall, change the settings to allow. + +- BranchCache +- Hyper-V +- VcXsrv +- Windows Terminal + +
+ +
Why does a specific menu or command not exist? + +It could be that you are running an outdated version in which the menu or command is not yet available. Please check the [installation guide](https://docs.openbb.co/terminal/quickstart/installation) to download the most recent release. + +Do note that it is also possible that the menu or command has been deprecated. If this is oversight, please reach out to us [here](https://openbb.co/support). + +
+ +## Bugs, Support, and Feedback + +When an error is encountered, it is always a good idea to check the open issues on [GitHub](https://github.com/OpenBB-finance/OpenBBTerminal/issues). There may be a workaround solution for the specific problem until a patch is released. + +
How often are patches for bugs released? + +The installer versions are packaged approximately every two-weeks. Those working with a cloned GitHub version can checkout the Develop branch to get the latest fixes and releases before they are pushed to the main branch. + +```console +git checkout develop +``` + +
+ +
How do I report a bug? + +First, search the open issues for another report. If one already exists, attach any relevant information and screenshots as a comment. If one does not exist, start one with this [link](https://github.com/OpenBB-finance/OpenBBTerminal/issues/new?assignees=&labels=type%3Abug&template=bug_report.md&title=%5BBug%5D) + +
+ +
How can I get help with OpenBB Terminal? + +You can get help with OpenBB Terminal by joining our [Discord server](https://openbb.co/discord) or contact us in our support form [here](https://openbb.co/support). + +
+ +
How can I give feedback about the OpenBB Terminal, or request specific functionality? + +Being an open source platform that wishes to tailor to the needs of any type of investor, we highly encourage anyone to share with us their experience and/or how we can further improve the OpenBB Terminal. This can be anything from a very small bug, a new feature, or the implementation of a highly advanced Machine Learning model. + +You are able to directly send us information about a bug or a question/suggestion from inside the terminal by using the `support` command which is available everywhere in the terminal. Here you can select which command you want to report a bug on, ask a question or make a suggestion. After entering `support`, when you press `ENTER` (⏎), you are taken to the Support form which is automatically filled with your input. You are only required to include the type (e.g. bug, suggestion or question) and message in the form, although this can also be set directly from inside the terminal (see `support -h`). + +Alternatively, you can contact us via the following routes: + +- If you notice that a feature is missing inside the terminal, please fill in the [Request a Feature](https://openbb.co/request-a-feature) form. +- If you wish to report a bug, have a question/suggestion or anything else, please fill in the [Support](https://openbb.co/support) form. +- If you wish to speak to us directly, please contact us on [Discord](https://openbb.co/discord). + +
+ +## Developer Issues + +
Error: "git pull" fails because of a hot fix: cannot lock ref + +If the error message looks something like: + +```console +cannot lock ref: 'refs/remotes/origin/hotfix' exists; cannot create +``` + +Try: + +```console +git remote prune origin +git pull +``` + +
+ +
What does it mean if it says wheel is missing? + +If you receive any notifications regarding `wheel` missing, this could be due to this dependency missing. + +`conda install -c conda-forge wheel` or `pip install wheel` + +
+ +
Why do these .whl files not exist? + +If you get errors about .whl files not existing (usually on Windows) you have to reinitialize the following folder. +Just removing the 'artifacts' folder could also be enough: + +| Platform | Location | +| -------- | ------------------------------- | +| Linux | "~/.cache/pypoetry" | +| Mac | "~/Library/Caches/pypoetry" | +| Windows | "%localappdata%/pypoetry/cache" | + +When you try to add a package to Poetry it is possible that it causes a similar issue. Here you can remove the +'artifacts' folder again to reinitialize Poetry. + +If you run into trouble with Poetry, and the advice above did not help, your best bet is to try + +- `poetry update --lock` +- `conda deactivate` -> `conda activate obb`, then try again +- Track down the offensive package and purge it from your anaconda `` folder, then try again + +| Platform | Location | +| --------- | ------------------------------------------- | +| Linux/Mac | ~/anaconda3/envs, or , ~/opt/anaconda3/envs | +| Windows | %userprofile%/anaconda3/envs | + +- Completely nuke your conda environment folder and make a new environment from scratch + + - `conda deactivate` + - `conda env remove -n obb` + - `conda clean -a` + - Make a new environment and install dependencies again. +- Reboot your computer and try again +- Submit a ticket on GitHub + +
+ +
What does the JSONDecodeError mean during poetry install? + +Sometimes poetry can throw a `JSONDecodeError` on random packages while running `poetry install`. This can be observed on macOS 10.14+ running python 3.8+. This is because of the use of an experimental installer that can be switched off to avoid the mentioned error. Run the code below as advised [here](https://github.com/python-poetry/poetry/issues/4210) and it should fix the installation process. + +```bash +poetry config experimental.new-installer false +``` + +_Commands that may help you in case of an error:_ + +- `python -m pip install --upgrade pip` +- `poetry update --lock` +- `poetry install` + +
+ +
How do I deal with errors regarding CRLF? + +When trying to commit code changes, pylint will prevent you from doing so if your line break settings are set to +CRLF (default for Windows). +This is because the entire package uses LF (default for Linux/Mac), and it is therefore +important that you change this setting to LF _before_ you make any changes to the code. + +It is possible that CRLF automatically turns back on, you can correct this with: + +```bash +git config --global core.autocrlf false +``` + +In case you already made coding adjustments, you have to reset your cache, and the changes you made to the code with +the following: + +```bash +git rm --cached -r . +git reset --hard +``` + +
+ +
Why can't I run OpenBB via the VS Code integrated terminal? + +This occurs when VS Code terminal python version/path is different from the terminal version. + +To fix it add this to vscode JSON settings ([ref](https://stackoverflow.com/questions/54582361/vscode-terminal-shows-incorrect-python-version-and-path-launching-terminal-from)): + +```bash + "terminal.integrated.inheritEnv": false, +``` + +
From b7ccef72077357f4535cdf6bdcf09c50ad34f5a2 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Mon, 27 Feb 2023 11:11:17 -0800 Subject: [PATCH 21/30] fix build failure --- .../content/sdk/quickstart/troubleshooting.md | 2 +- .../terminal/quickstart/installation.md | 63 +++++-------------- .../terminal/quickstart/troubleshooting.md | 2 +- 3 files changed, 17 insertions(+), 50 deletions(-) diff --git a/website/content/sdk/quickstart/troubleshooting.md b/website/content/sdk/quickstart/troubleshooting.md index a546bf5c098..1f1a48fe950 100644 --- a/website/content/sdk/quickstart/troubleshooting.md +++ b/website/content/sdk/quickstart/troubleshooting.md @@ -174,7 +174,7 @@ See the guide [here](https://docs.openbb.co/sdk/guides/intros/portfolio) for mor
-
How do I change the chart styles? +
How do I change the chart styles? Place style sheets in this folder: `OpenBBUserData/styles/user` diff --git a/website/content/terminal/quickstart/installation.md b/website/content/terminal/quickstart/installation.md index 893eb2f1f76..090c56ba0cf 100644 --- a/website/content/terminal/quickstart/installation.md +++ b/website/content/terminal/quickstart/installation.md @@ -1,7 +1,7 @@ --- Sidebar_position: 2 title: Installation -description: The OpenBB Terminal can be directly installed on a Mac or Windows machine with the installer packages linked in the tabs below. While no installer package for Linux is currently available, it can be installed from the command line in a virtual Python environment. Having trouble? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). +description: The OpenBB Terminal can be directly installed on a Mac or Windows machine via the installer packages below. While not available for Linux is currently available, it can be installed from the command line in a virtual Python environment. keywords: [ installation, @@ -19,22 +19,15 @@ keywords: openbb terminal, ] --- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; + import InstallerButton from "@site/src/components/General/InstallerButton"; -The OpenBB Terminal can be directly installed on a Mac or Windows machine with the installer packages linked in the tabs below. While no installer package for Linux is currently available, it can be installed from the command line in a virtual Python environment. Having trouble? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). - -:::info Installation Instructions - - +The OpenBB Terminal can be directly installed on a Mac or Windows machine via the installer packages below. While not available for Linux is currently available, it can be installed from the command line in a virtual Python environment. Having trouble? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). Follow along with the instructions for the preferred installation method: ## Installer Packages - - ### A. Windows Installer Install the OpenBB Terminal on Windows (10 or greater): @@ -59,10 +52,6 @@ Install the OpenBB Terminal on Windows (10 or greater): **Note:** The first launch may take up to a few minutes, subsequent launches will be quicker. - - - - ### B. MacOS Installer Install the OpenBB Terminal on MacOS (Big Sur or later). There are two versions of the installers available for MacOS, Apple Silicon (M1) and Intel-based. Apple Silicon users will need to install Rosetta prior to installation. Install Rosetta from the command line: @@ -71,15 +60,9 @@ Install the OpenBB Terminal on MacOS (Big Sur or later). There are two versions softwareupdate --install-rosetta ``` -
-
Intel-based Mac: - -
- -
Mac Apple Silicon (M1): - -
-
+

+ +

#### 1. Download @@ -107,12 +90,8 @@ softwareupdate --install-rosetta ![MacOS Installation](https://user-images.githubusercontent.com/85772166/220201620-1c42bbd4-7509-41fc-8df8-389f34fde58a.png) -
- ## Source Code - - The following instructions are for installing the OpenBB Terminal source code. ### 1. System Preparation @@ -195,7 +174,7 @@ Alternatives to `VcXsrv` include: - [Xming](https://xming.en.softonic.com/) - [Wayland](https://wayland.freedesktop.org/docs/html/) -### 2. Create Python Environment +### 2. Create Environment The first step is to create the virtual Python environment. @@ -278,12 +257,8 @@ python terminal.py **TROUBLESHOOTING:** Having difficulty getting through the installation, or encountering errors? Check out the [troubleshooting page](/terminal/quickstart/troubleshooting), or reach out to our [Discord](https://discord.gg/Up2QGbMKHY) community for help. - - ## Docker - - Installing the OpenBB Terminal via Docker supports both Windows and Unix systems (Linux + MacOS). Installation differs a bit between operating system (Windows, macOS and Linux). Please select the section matching to your OS. ### 1. Windows @@ -296,13 +271,13 @@ You can find `Docker Desktop` for Windows here: [Download Docker Desktop](https: Execute the following command: -```bash +```console docker info ``` If you have something like this, it means you haven't started Docker: -```bash +```console docker info Server: ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. @@ -311,7 +286,7 @@ Is the docker daemon running? Start Docker, this is how the right output looks like: -```bash +```console docker info Client: Context: default @@ -336,7 +311,7 @@ When running VcXsrv program check the option: `Disable access control` Execute this commands: -```bash +```console curl -o docker-compose.yaml https://raw.githubusercontent.com/OpenBB-finance/OpenBBTerminal/main/build/docker/docker-compose.yaml docker compose run openbb @@ -380,7 +355,7 @@ IP=$(ifconfig | grep inet | grep -v "127.0.0.1" | awk '$1=="inet" {print $2}') Execute this commands: -```bash +```console curl -o docker-compose.yaml https://raw.githubusercontent.com/OpenBB-finance/OpenBBTerminal/main/build/docker/docker-compose.yaml xhost +$IP @@ -403,7 +378,7 @@ Install and run Docker Desktop as describe above in this document. Execute this commands: -```bash +```console curl -o docker-compose.yaml https://raw.githubusercontent.com/OpenBB-finance/OpenBBTerminal/main/build/docker/docker-compose.yaml xhost +local: @@ -418,16 +393,14 @@ Note: if you're using remote docker host, you can connect with `ssh -X To run directly the docker image you can use the following command: -```bash +```console docker run --rm -it \ -v ~/.openbb_terminal/:/home/python/.openbb_terminal \ -v ~/OpenBBUserData:/home/python/OpenBBUserData \ ghcr.io/openbb-finance/openbbterminal/openbb:latest ``` - - -## Advanced Installation Procedures +## Advanced Installation By default we advise using `conda` and `poetry` for environment setup and dependency management. Conda ships binaries for packages like `numpy` so these dependencies are not built from source locally by `pip`. Poetry solves the dependency tree in a way that the dependencies of dependencies of dependencies use versions that are compatible with each other. @@ -449,9 +422,3 @@ pip install -r requirements.txt The dependency tree is solved by poetry. Note: The libraries specified in the requirements files have been tested and work for the purpose of this project, however, these may be older versions. Hence, it is recommended for the user to set up a virtual python environment prior to installing these. This allows to keep dependencies required by different projects in separate places. - - - -
- -::: diff --git a/website/content/terminal/quickstart/troubleshooting.md b/website/content/terminal/quickstart/troubleshooting.md index ed8746bda21..0651dc0bc83 100644 --- a/website/content/terminal/quickstart/troubleshooting.md +++ b/website/content/terminal/quickstart/troubleshooting.md @@ -205,7 +205,7 @@ See the guide [here](https://docs.openbb.co/sdk/guides/intros/portfolio) for mor
-
How do I change the chart styles? +
How do I change the chart styles? Place style sheets in this folder: `OpenBBUserData/styles/user` From c95f8bba872e785d3344c7bef5c327005ee61ded Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Tue, 28 Feb 2023 09:39:11 -0800 Subject: [PATCH 22/30] Adds the missing pieces. --- website/content/terminal/guides/advanced/data.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/website/content/terminal/guides/advanced/data.md b/website/content/terminal/guides/advanced/data.md index 840fc6ca890..9e16b083c47 100644 --- a/website/content/terminal/guides/advanced/data.md +++ b/website/content/terminal/guides/advanced/data.md @@ -102,7 +102,21 @@ Loading Daily data for MSFT with starting period 2020-02-13. Saved file: /Users/danglewood/OpenBBUserData/exports/watchlist.xlsx ``` -![Exporting Data](exports1.png) +![Exporting Data](https://user-images.githubusercontent.com/85772166/221929090-5477a635-fccc-42a1-9ee3-7e7485988452.png) + ## Importing Data +Menus, such as Econometrics, Forecast, or Portfolio, allow the user to import their own dataset. Files available to import will be included with the choices presented by auto-complete. In the Econometrics menu, this is activated after pressing the space bar, `load -f`. + +![Loading data in the Econometrics menu](https://user-images.githubusercontent.com/85772166/221930794-d754e63f-262f-410b-b698-e03823c5d30b.png) + +The Econometrics menu looks at the `exports` and `custom_imports/econometrics` folder. The `portfolio` menu looks in the `portfolio/holdings` folder whereas the `portfolio/po` menu looks at the `portfolio/allocation` and `portfolio/optimization` folder for the load and file command respectively. Please make sure to read the relevant guides to understand how this works. + +## Custom Path for OpenBBUserData folder + +The location of this folder can be set by the user from the /settings menu. There should be no need to update paths in this menu unless the folders have been moved manually. If the location of the OpenBBUserData folder must be changed, it is best to move the entire existing folder to the new path. The path is then changed under the settings menu with: + +```console +userdata --folder "/complete_path_to/OpenBBUserData" +``` From 2925e11ec7d2667bc54e3d9d5c8356d253816b8f Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Tue, 28 Feb 2023 10:12:01 -0800 Subject: [PATCH 23/30] adds clickable URL in keys + Databento --- website/content/sdk/quickstart/api-keys.md | 75 +++++++++++++++++++ .../content/terminal/quickstart/api-keys.md | 75 ++++++++++++++++++- 2 files changed, 149 insertions(+), 1 deletion(-) diff --git a/website/content/sdk/quickstart/api-keys.md b/website/content/sdk/quickstart/api-keys.md index 77690187e23..029357d82a4 100644 --- a/website/content/sdk/quickstart/api-keys.md +++ b/website/content/sdk/quickstart/api-keys.md @@ -118,6 +118,8 @@ This section covers all API keys listed above and include detailed instructions
Go to: https://www.alphavantage.co/support/#api-key +[AlphaVantage](https://www.alphavantage.co/support/#api-key) + ![AlphaVantage](https://user-images.githubusercontent.com/46355364/207820936-46c2ba00-81ff-4cd3-98a4-4fa44412996f.png) Fill out the form, pass Captcha, and click on, "GET FREE API KEY". The issued key can be entered into the OpenBB SDK with: @@ -133,6 +135,8 @@ openbb.keys.av(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://www.binance.com/en/support/faq/how-to-create-api-360002502072 +[Binance](https://www.binance.com/en/support/faq/how-to-create-api-360002502072) + ![Binance](https://user-images.githubusercontent.com/46355364/207839805-f71cf12a-62d2-41cb-ba19-0c35917abc40.png) These instructions should provide clear guidance for obtaining an API Key. Enter the issued credentials into the OpenBB SDK with: @@ -152,6 +156,8 @@ openbb.keys.binance(
Go to: https://bitquery.io/ +[Bitquery](https://bitquery.io/) + ![Bitquery](https://user-images.githubusercontent.com/46355364/207840322-5532a3f9-739f-4e28-9839-a58db932882e.png) Click "Try GraphQL API", which opens the following screen: @@ -175,6 +181,8 @@ openbb.keys.bitquery(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://coinmarketcap.com/api +[CoinMarketCap](https://coinmarketcap.com/api) + ![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831111-3f09ed75-740e-4121-a67e-6e1f36e8ab9a.png) Click on, "Get Your Free API Key Now", which opens to the page: @@ -198,6 +206,8 @@ openbb.keys.cmc(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key +[Coinbase](https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key) + ![Coinbase](https://user-images.githubusercontent.com/46355364/207841901-647f0aef-0c74-454d-b99e-367d784259f0.png) Follow the instructions to obtain the credentials for the specific account. Enter the three values into the OpenBB SDK with: @@ -218,6 +228,8 @@ openbb.keys.coinbase(
Go to: https://www.coinglass.com/ +[Coinglass](https://www.coinglass.com/) + ![Coinglass](https://user-images.githubusercontent.com/46355364/207844601-8510687a-e54f-49b9-961f-5ef6718f58ab.png) Click, "Log in", and then sign up for an account. This opens the page: @@ -237,6 +249,8 @@ openbb.keys.coinglass(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://cryptopanic.com/developers/api/ +[Crypto Panic](https://cryptopanic.com/developers/api/) + ![Crypto Panic](https://user-images.githubusercontent.com/46355364/207848733-27e5a804-7ae7-4ca2-88b2-848b32929b6f.png) Click on, ["Sign up"](https://cryptopanic.com/accounts/signup/?next=/developers/api/), and after creating, the API Key will be displayed on the documentation page, "Your free API auth token". @@ -251,11 +265,30 @@ openbb.keys.cpanic(key = 'REPLACE_WITH_KEY', persist = True)
+### Databento + +
+Go to: https://docs.databento.com/getting-started + +[Databento](https://docs.databento.com/getting-started) + +![Databento](databento.png) + +Click on, [Sign up](databento2.png), and after creating an account, the API key is found in the [account portal](https://databento.com/portal/keys). Enter this into the terminal with: + +```console +openbb.keys.databento(key = 'REPLACE_WITH_KEY') +``` + +
+ ### Degiro
Go to: https://www.degiro.com/ +[Degiro](https://www.degiro.com/) + ![Degiro](https://user-images.githubusercontent.com/46355364/207838353-001d350c-872c-4770-a586-fb21318122eb.png) Click on, "Open an account", and then go through the registration process. After setting up the account, the login credentials can be entered in the OpenBB SDK with: @@ -277,6 +310,8 @@ Instructions for setting up 2FA authorization are [here](https://github.com/Chav
Go to: https://eodhistoricaldata.com/r/?ref=869U7F4J +[EODHD](https://eodhistoricaldata.com/r/?ref=869U7F4J) + ![EODHD](https://user-images.githubusercontent.com/46355364/207849214-23763c95-7314-42ae-b97d-cb5810686498.png) Clicking on, "Registration", opens the page: @@ -300,6 +335,8 @@ openbb.keys.eodhd(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://finnhub.io/ +[Finnhub](https://finnhub.io/) + ![Finnhub](https://user-images.githubusercontent.com/46355364/207832028-283c3321-8c05-4ee8-b4d2-41cdc940f408.png) Click on, "Get free api key", to open the page: @@ -323,6 +360,8 @@ openbb.keys.finnhub(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://site.financialmodelingprep.com/developer/docs +[FinancialModelingPrep](https://site.financialmodelingprep.com/developer/docs) + ![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207821920-64553d05-d461-4984-b0fe-be0368c71186.png) Click on, "Get my API KEY here", and sign up for a free account. @@ -346,6 +385,8 @@ openbb.keys.fmp(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://fred.stlouisfed.org +[FRED](https://fred.stlouisfed.org) + ![FRED](https://user-images.githubusercontent.com/46355364/207827137-d143ba4c-72cb-467d-a7f4-5cc27c597aec.png) Click on, "My Account", create a new account or sign in with Google: @@ -373,6 +414,8 @@ openbb.keys.fred(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://github.com +[GitHub](https://github.com) + ![GitHub](https://user-images.githubusercontent.com/46355364/207846953-7feae777-3c3b-4f21-9dcf-84817c732618.png) Sign up for, or sign in to, GitHub. Once logged in, navigate to the [apps](https://github.com/settings/apps) page, under account settings. @@ -396,6 +439,8 @@ openbb.keys.github(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://studio.glassnode.com +[Glassnode](https://studio.glassnode.com) + ![Glassnode](https://user-images.githubusercontent.com/46355364/207843761-799078ff-fa64-4d39-a6eb-ba01d250be69.png) Click on, "Sign up", and create an account: @@ -419,6 +464,8 @@ openbb.keys.glassnode(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://iexcloud.io +[IEX Cloud](https://iexcloud.io) + ![IEX Cloud](https://user-images.githubusercontent.com/46355364/207833088-e879e9f2-3180-4e50-ba9e-f40ee958f98a.png) Click on, "Sign in", and then create a new account. @@ -446,6 +493,8 @@ openbb.keys.iex(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://intrinio.com/starter-plan +[Intrinio](https://intrinio.com/starter-plan) + ![Intrinio](https://user-images.githubusercontent.com/85772166/219207307-d6605460-ae2c-46d3-8b4e-f82057cfce59.png) An API key will be issued with a subscription. Find the token value within the account dashboard, and enter it into the OpenBB SDK with: @@ -461,6 +510,8 @@ openbb.keys.intrinio(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://messari.io +[Messari](https://messari.io) + ![Messari](https://user-images.githubusercontent.com/46355364/207848122-ec6a41e4-76b7-4620-adc3-1f1c19f4bca6.png) Click on, "Sign up", and create an account. @@ -484,6 +535,8 @@ openbb.keys.messari(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://newsapi.org +[News API](https://newsapi.org) + ![News API](https://user-images.githubusercontent.com/46355364/207828250-0c5bc38c-90b4-427d-a611-b43c98c8e7ab.png) Click on, "Get API Key", and fill out the form. @@ -507,6 +560,8 @@ openbb.keys.news(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://developer.oanda.com +[Oanda](https://developer.oanda.com) + ![Oanda](https://user-images.githubusercontent.com/46355364/207839324-d30aa2b6-be83-41ff-9b1b-146cac566789.png) After creating an account, follow the steps below. @@ -531,6 +586,8 @@ openbb.keys.oanda(
Go to: https://polygon.io +[Polygon](https://polygon.io) + ![Polygon](https://user-images.githubusercontent.com/46355364/207825623-fcd7f0a3-131a-4294-808c-754c13e38e2a.png) Click on, "Get your Free API Key". @@ -554,6 +611,8 @@ openbb.keys.polygon(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://www.quandl.com +[Quandl](https://www.quandl.com) + ![Quandl](https://user-images.githubusercontent.com/46355364/207823899-208a3952-f557-4b73-aee6-64ac00faedb7.png) Click on, "Sign Up", and register a new account. @@ -577,6 +636,8 @@ openbb.keys.quandl(key = 'REPLACE_WITH_KEY', persist = True)
Sign in to Reddit, and then go to: https://old.reddit.com/prefs/apps/ +[Reddit](https://old.reddit.com/prefs/apps/) + ![Reddit](https://preview.redd.it/540vrn3k0cn91.png?width=986&format=png&auto=webp&v=enabled&s=88228cd0cf4415b3487b8d35e1097f0caa804e15) Scroll down and click on "create application", selecting "script". @@ -611,6 +672,8 @@ openbb.keys.reddit(
Go to: https://robinhood.com/us/en +[Robinhood](https://robinhood.com/us/en) + ![Robinhood](https://user-images.githubusercontent.com/46355364/207838058-a2311632-6459-4cfd-bc0a-639ee3931574.png) After registering for an account, it can be added to the OpenBB SDK with: @@ -631,6 +694,8 @@ The first login will request 2FA authorization from the device connected to the
Go to: https://app.santiment.net +[Santiment](https://app.santiment.net) + ![Santiment](https://user-images.githubusercontent.com/46355364/207849709-a5f10b03-138c-4e09-89f6-8a18cfbaf008.png) Click on, "Sign up", and register for an account. @@ -654,6 +719,8 @@ openbb.keys.santiment(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://sdk.flipsidecrypto.xyz/shroomdk +[ShroomDK](https://sdk.flipsidecrypto.xyz/shroomdk) + ![ShroomDK](https://user-images.githubusercontent.com/46355364/207850122-b8cd225e-0a65-4ea8-8069-0b40fff1600e.png) Click "Mint Your ShroomDK API Key", and sign up for an account. @@ -677,6 +744,8 @@ openbb.keys.shroom(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://stocksera.pythonanywhere.com +[Stocksera](https://stocksera.pythonanywhere.com) + ![Stocksera](https://user-images.githubusercontent.com/46355364/207853896-ee233569-26bb-4244-b115-43ac8885757a.png) Click on, "Log in", and create an account. @@ -700,6 +769,8 @@ openbb.keys.stocksera(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://tokenterminal.com +[Token Terminal](https://tokenterminal.com) + ![Token Terminal](https://user-images.githubusercontent.com/46355364/207850735-69368b4f-6a3e-46b8-ba69-3b79d9231f15.png) Click on, "Log in" and sign up for an account. @@ -723,6 +794,8 @@ openbb.keys.tokenterminal(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://documentation.tradier.com +[Tradier](https://documentation.tradier.com) + ![Tradier](https://user-images.githubusercontent.com/46355364/207829178-a8bba770-f2ea-4480-b28e-efd81cf30980.png) Click on, "Open Account", to start the sign-up process. After the account has been setup, navigate to [Tradier Broker Dash](https://dash.tradier.com/login?redirect=settings.api) and create the application. Request a sandbox access token, and enter this key into the OpenBB SDK with: @@ -747,6 +820,8 @@ openbb.keys.tradier(key = 'REPLACE_WITH_KEY', persist = True)
Go to: https://docs.whale-alert.io +[Whale Alert](https://docs.whale-alert.io) + ![Whale Alert](https://user-images.githubusercontent.com/46355364/207842892-3f71ee7a-6cd3-48a2-82e4-fa5ec5b13807.png) Click on, "sign up here". diff --git a/website/content/terminal/quickstart/api-keys.md b/website/content/terminal/quickstart/api-keys.md index af06a9ecac1..a43c18bc779 100644 --- a/website/content/terminal/quickstart/api-keys.md +++ b/website/content/terminal/quickstart/api-keys.md @@ -100,6 +100,8 @@ This section covers all API keys listed above and include detailed instructions
Go to: https://www.alphavantage.co/support/#api-key +[AlphaVantage](https://www.alphavantage.co/support/#api-key) + ![AlphaVantage](https://user-images.githubusercontent.com/46355364/207820936-46c2ba00-81ff-4cd3-98a4-4fa44412996f.png) Fill out the form, pass Captcha, and click on, "GET FREE API KEY". The issued key can be entered into the OpenBB Terminal with: @@ -115,6 +117,8 @@ Fill out the form, pass Captcha, and click on, "GET FREE API KEY". The issued ke
Go to: https://www.binance.com/en/support/faq/how-to-create-api-360002502072 +[Binance](https://www.binance.com/en/support/faq/how-to-create-api-360002502072) + ![Binance](https://user-images.githubusercontent.com/46355364/207839805-f71cf12a-62d2-41cb-ba19-0c35917abc40.png) These instructions should provide clear guidance for obtaining an API Key. Enter the issued credentials into the OpenBB Terminal with: @@ -130,6 +134,8 @@ These instructions should provide clear guidance for obtaining an API Key. Enter
Go to: https://bitquery.io/ +[Bitquery](https://bitquery.io/) + ![Bitquery](https://user-images.githubusercontent.com/46355364/207840322-5532a3f9-739f-4e28-9839-a58db932882e.png) Click "Try GraphQL API", which opens the following screen: @@ -153,6 +159,8 @@ Enter this API key into the OpenBB Terminal by typing:
Go to: https://coinmarketcap.com/api +[CoinMarketCap](https://coinmarketcap.com/api) + ![CoinMarketCap](https://user-images.githubusercontent.com/46355364/207831111-3f09ed75-740e-4121-a67e-6e1f36e8ab9a.png) Click on, "Get Your Free API Key Now", which opens to the page: @@ -176,6 +184,8 @@ Enter the API key into the OpenBB Terminal by typing:
Go to: https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key +[Coinbase](https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key) + ![Coinbase](https://user-images.githubusercontent.com/46355364/207841901-647f0aef-0c74-454d-b99e-367d784259f0.png) Follow the instructions to obtain the credentials for the specific account. Enter the three values into the OpenBB Terminal by typing: @@ -191,6 +201,8 @@ Follow the instructions to obtain the credentials for the specific account. Ente
Go to: https://www.coinglass.com/ +[Coinglass](https://www.coinglass.com/) + ![Coinglass](https://user-images.githubusercontent.com/46355364/207844601-8510687a-e54f-49b9-961f-5ef6718f58ab.png) Click, "Log in", and then sign up for an account. This opens the page: @@ -210,9 +222,11 @@ With the account created, find the assigned API key within the account profile p
Go to: https://cryptopanic.com/developers/api/ +[Crypto Panic](https://cryptopanic.com/developers/api/) + ![Crypto Panic](https://user-images.githubusercontent.com/46355364/207848733-27e5a804-7ae7-4ca2-88b2-848b32929b6f.png) -Click on, ["Sign up"](https://cryptopanic.com/accounts/signup/?next=/developers/api/), and after creating, the API Key will be displayed on the documentation page, "Your free API auth token". +Click on, [Sign up](https://cryptopanic.com/accounts/signup/?next=/developers/api/), and after creating, the API key will be displayed on the documentation page, "Your free API auth token". ![Crypto Panic](https://user-images.githubusercontent.com/46355364/207848971-3e4771b7-1faa-45fe-955f-81bd736b16b7.png) @@ -224,11 +238,30 @@ Enter that value in the OpenBB Terminal by typing:
+### Databento + +
+Go to: https://docs.databento.com/getting-started + +[Databento](https://docs.databento.com/getting-started) + +![Databento](databento.png) + +Click on, [Sign up](databento2.png), and after creating an account, the API key is found in the [account portal](https://databento.com/portal/keys). Enter this into the terminal with: + +```console +/keys/databento REPLACE_WITH_KEY +``` + +
+ ### Degiro
Go to: https://www.degiro.com/ +[Degiro](https://www.degiro.com/) + ![Degiro](https://user-images.githubusercontent.com/46355364/207838353-001d350c-872c-4770-a586-fb21318122eb.png) Click on, "Open an account", and then go through the registration process. After setting up the account, the login credentials can be entered in the OpenBB Terminal with: @@ -246,6 +279,8 @@ Instructions for setting up 2FA authorization are [here](https://github.com/Chav
Go to: https://eodhistoricaldata.com/r/?ref=869U7F4J +[EODHD](https://eodhistoricaldata.com/r/?ref=869U7F4J) + ![EODHD](https://user-images.githubusercontent.com/46355364/207849214-23763c95-7314-42ae-b97d-cb5810686498.png) Clicking on, "Registration", opens the page: @@ -269,6 +304,8 @@ Enter this string into the OpenBB Terminal by typing:
Go to: https://finnhub.io/ +[Finnhub](https://finnhub.io/) + ![Finnhub](https://user-images.githubusercontent.com/46355364/207832028-283c3321-8c05-4ee8-b4d2-41cdc940f408.png) Click on, "Get free api key", to open the page: @@ -292,6 +329,8 @@ Add this key to the OpenBB Terminal by entering:
Go to: https://site.financialmodelingprep.com/developer/docs +[FinancialModelingPrep](https://site.financialmodelingprep.com/developer/docs) + ![FinancialModelingPrep](https://user-images.githubusercontent.com/46355364/207821920-64553d05-d461-4984-b0fe-be0368c71186.png) Click on, "Get my API KEY here", and sign up for a free account. @@ -315,6 +354,8 @@ Enter the key into the OpenBB Terminal with:
Go to: https://fred.stlouisfed.org +[FRED](https://fred.stlouisfed.org) + ![FRED](https://user-images.githubusercontent.com/46355364/207827137-d143ba4c-72cb-467d-a7f4-5cc27c597aec.png) Click on, "My Account", create a new account or sign in with Google: @@ -342,6 +383,8 @@ Enter the API key into the OpenBB Terminal with:
Go to: https://github.com +[GitHub](https://github.com) + ![GitHub](https://user-images.githubusercontent.com/46355364/207846953-7feae777-3c3b-4f21-9dcf-84817c732618.png) Sign up for, or sign in to, GitHub. Once logged in, navigate to the [apps](https://github.com/settings/apps) page, under account settings. @@ -365,6 +408,8 @@ After creating the app, the key will be issued. Enter this token into the OpenBB
Go to: https://studio.glassnode.com +[Glassnode](https://studio.glassnode.com) + ![Glassnode](https://user-images.githubusercontent.com/46355364/207843761-799078ff-fa64-4d39-a6eb-ba01d250be69.png) Click on, "Sign up", and create an account: @@ -388,6 +433,8 @@ Enter this key in the OpenBB terminal with:
Go to: https://iexcloud.io +[IEX Cloud](https://iexcloud.io) + ![IEX Cloud](https://user-images.githubusercontent.com/46355364/207833088-e879e9f2-3180-4e50-ba9e-f40ee958f98a.png) Click on, "Sign in", and then create a new account. @@ -415,6 +462,8 @@ Add this API key to the OpenBB Terminal by entering:
Go to: https://intrinio.com/starter-plan +[Intrinio](https://intrinio.com/starter-plan) + ![Intrinio](https://user-images.githubusercontent.com/85772166/219207556-fcfee614-59f1-46ae-bff4-c63dd2f6991d.png) An API key will be issued with a subscription. Find the token value within the account dashboard, and enter it into the OpenBB Terminal with: @@ -430,6 +479,8 @@ An API key will be issued with a subscription. Find the token value within the a
Go to: https://messari.io +[Messari](https://messari.io) + ![Messari](https://user-images.githubusercontent.com/46355364/207848122-ec6a41e4-76b7-4620-adc3-1f1c19f4bca6.png) Click on, "Sign up", and create an account. @@ -453,6 +504,8 @@ Copy the API key and add it to the OpenBB Terminal by entering:
Go to: https://newsapi.org +[News API](https://newsapi.org) + ![News API](https://user-images.githubusercontent.com/46355364/207828250-0c5bc38c-90b4-427d-a611-b43c98c8e7ab.png) Click on, "Get API Key", and fill out the form. @@ -476,6 +529,8 @@ Add this API key into the OpenBB Terminal by entering:
Go to: https://developer.oanda.com +[Oanda](https://developer.oanda.com) + ![Oanda](https://user-images.githubusercontent.com/46355364/207839324-d30aa2b6-be83-41ff-9b1b-146cac566789.png) After creating an account, follow the steps below. @@ -495,6 +550,8 @@ Upon completion of the account setup, enter the credentials into the OpenBB Term
Go to: https://polygon.io +[Polygon](https://polygon.io) + ![Polygon](https://user-images.githubusercontent.com/46355364/207825623-fcd7f0a3-131a-4294-808c-754c13e38e2a.png) Click on, "Get your Free API Key". @@ -518,6 +575,8 @@ Enter the key into the OpenBB Terminal by typing:
Go to: https://www.quandl.com +[Quandl](https://www.quandl.com) + ![Quandl](https://user-images.githubusercontent.com/46355364/207823899-208a3952-f557-4b73-aee6-64ac00faedb7.png) Click on, "Sign Up", and register a new account. @@ -541,6 +600,8 @@ Enter the key into the OpenBB Terminal with:
Sign in to Reddit, and then go to: https://old.reddit.com/prefs/apps/ +[Reddit](https://old.reddit.com/prefs/apps/) + ![Reddit](https://preview.redd.it/540vrn3k0cn91.png?width=986&format=png&auto=webp&v=enabled&s=88228cd0cf4415b3487b8d35e1097f0caa804e15) Scroll down and click on "create application", selecting "script". @@ -568,6 +629,8 @@ After submitting the form, check for a confirmation email. The credentials will
Go to: https://robinhood.com/us/en +[Robinhood](https://robinhood.com/us/en) + ![Robinhood](https://user-images.githubusercontent.com/46355364/207838058-a2311632-6459-4cfd-bc0a-639ee3931574.png) After registering for an account, it can be added to the OpenBB Terminal with: @@ -608,6 +671,8 @@ Add it to the OpenBB Terminal by entering:
Go to: https://sdk.flipsidecrypto.xyz/shroomdk +[ShroomDK](https://sdk.flipsidecrypto.xyz/shroomdk) + ![ShroomDK](https://user-images.githubusercontent.com/46355364/207850122-b8cd225e-0a65-4ea8-8069-0b40fff1600e.png) Click "Mint Your ShroomDK API Key", and sign up for an account. @@ -631,6 +696,8 @@ Enter it into the OpenBB Terminal by typing:
Go to: https://stocksera.pythonanywhere.com +[Stocksera](https://stocksera.pythonanywhere.com) + ![Stocksera](https://user-images.githubusercontent.com/46355364/207853896-ee233569-26bb-4244-b115-43ac8885757a.png) Click on, "Log in", and create an account. @@ -654,6 +721,8 @@ Add the key to the OpenBB Terminal by entering:
Go to: https://tokenterminal.com +[Token Terminal](https://tokenterminal.com) + ![Token Terminal](https://user-images.githubusercontent.com/46355364/207850735-69368b4f-6a3e-46b8-ba69-3b79d9231f15.png) Click on, "Log in" and sign up for an account. @@ -677,6 +746,8 @@ Add the key to the OpenBB Terminal by typing:
Go to: https://documentation.tradier.com +[Tradier](https://documentation.tradier.com) + ![Tradier](https://user-images.githubusercontent.com/46355364/207829178-a8bba770-f2ea-4480-b28e-efd81cf30980.png) Click on, "Open Account", to start the sign-up process. After the account has been setup, navigate to [Tradier Broker Dash](https://dash.tradier.com/login?redirect=settings.api) and create the application. Request a sandbox access token, and enter this key into the OpenBB Terminal with: @@ -701,6 +772,8 @@ Click on, "Open Account", to start the sign-up process. After the account has be
Go to: https://docs.whale-alert.io +[Whale Alert](https://docs.whale-alert.io) + ![Whale Alert](https://user-images.githubusercontent.com/46355364/207842892-3f71ee7a-6cd3-48a2-82e4-fa5ec5b13807.png) Click on, "sign up here". From febe26f172a7906ca2a9e6a6bb5533ba772ca7d1 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Tue, 28 Feb 2023 10:16:12 -0800 Subject: [PATCH 24/30] adds databento images --- website/content/terminal/quickstart/api-keys.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/website/content/terminal/quickstart/api-keys.md b/website/content/terminal/quickstart/api-keys.md index a43c18bc779..2944fe83ed9 100644 --- a/website/content/terminal/quickstart/api-keys.md +++ b/website/content/terminal/quickstart/api-keys.md @@ -63,6 +63,7 @@ mykeys --show | coinbase | Coinbase | https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key | | coinglass | Coinglass | https://coinglass.github.io/API-Reference/#api-key | | cpanic | Crypto Panic | https://cryptopanic.com/developers/api/ | +| databento | Databento | https://docs.databento.com/getting-started | | degiro | DeGiro | https://www.degiro.com/ | | eodhd | EODHD | https://eodhistoricaldata.com/r/?ref=869U7F4J | | ethplorer | Ethplorer | https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API | @@ -245,9 +246,11 @@ Enter that value in the OpenBB Terminal by typing: [Databento](https://docs.databento.com/getting-started) -![Databento](databento.png) +![Databento](https://user-images.githubusercontent.com/85772166/221943074-7a5e55c1-6193-42d8-a04c-431603a69a05.png) -Click on, [Sign up](databento2.png), and after creating an account, the API key is found in the [account portal](https://databento.com/portal/keys). Enter this into the terminal with: +Click on, [Sign up](https://databento.com/signup), and after creating an account, the API key is found in the [account portal](https://databento.com/portal/keys). Enter this into the terminal with: + +![Databento](https://user-images.githubusercontent.com/85772166/221943270-e0ada7bf-c7fb-46f2-bd7a-49afb3bc7bd8.png) ```console /keys/databento REPLACE_WITH_KEY From e45eb3402bba71a8d70a9854249830276c96bf4f Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Tue, 28 Feb 2023 10:19:40 -0800 Subject: [PATCH 25/30] adds images for Databento --- website/content/sdk/quickstart/api-keys.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/website/content/sdk/quickstart/api-keys.md b/website/content/sdk/quickstart/api-keys.md index 029357d82a4..628c35be473 100644 --- a/website/content/sdk/quickstart/api-keys.md +++ b/website/content/sdk/quickstart/api-keys.md @@ -81,6 +81,7 @@ openbb.keys.mykeys(show = True) | coinbase | Coinbase | https://help.coinbase.com/en/exchange/managing-my-account/how-to-create-an-api-key | | coinglass | Coinglass | https://coinglass.github.io/API-Reference/#api-key | | cpanic | Crypto Panic | https://cryptopanic.com/developers/api/ | +| databento | Databento | https://docs.databento.com/getting-started | | degiro | DeGiro | https://www.degiro.com/ | | eodhd | EODHD | https://eodhistoricaldata.com/r/?ref=869U7F4J | | ethplorer | Ethplorer | https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API | @@ -272,9 +273,13 @@ openbb.keys.cpanic(key = 'REPLACE_WITH_KEY', persist = True) [Databento](https://docs.databento.com/getting-started) -![Databento](databento.png) +![Databento](https://user-images.githubusercontent.com/85772166/221944000-394e7123-5bb3-4218-b949-f0958b6353da.png) -Click on, [Sign up](databento2.png), and after creating an account, the API key is found in the [account portal](https://databento.com/portal/keys). Enter this into the terminal with: +Click on, [Sign up](https://databento.com/signup), and after creating an account, the API key is found in the [account portal](https://databento.com/portal/keys). + +![Databento](https://user-images.githubusercontent.com/85772166/221944057-c2314909-7b7d-4f65-8e9e-287a957f54f8.png) + +Enter this into the terminal with: ```console openbb.keys.databento(key = 'REPLACE_WITH_KEY') From 1aa3bf4bdad93e26ff795366634da5588cc78c60 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Tue, 28 Feb 2023 10:21:48 -0800 Subject: [PATCH 26/30] swap order in databento --- website/content/terminal/quickstart/api-keys.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/website/content/terminal/quickstart/api-keys.md b/website/content/terminal/quickstart/api-keys.md index 2944fe83ed9..6b8e89d06b4 100644 --- a/website/content/terminal/quickstart/api-keys.md +++ b/website/content/terminal/quickstart/api-keys.md @@ -248,9 +248,11 @@ Enter that value in the OpenBB Terminal by typing: ![Databento](https://user-images.githubusercontent.com/85772166/221943074-7a5e55c1-6193-42d8-a04c-431603a69a05.png) -Click on, [Sign up](https://databento.com/signup), and after creating an account, the API key is found in the [account portal](https://databento.com/portal/keys). Enter this into the terminal with: - +Click on, [Sign up](https://databento.com/signup), and after creating an account, the API key is found in the [account portal](https://databento.com/portal/keys). + ![Databento](https://user-images.githubusercontent.com/85772166/221943270-e0ada7bf-c7fb-46f2-bd7a-49afb3bc7bd8.png) + +Enter this into the terminal with: ```console /keys/databento REPLACE_WITH_KEY From e75309f95f30056a41277f74322e304131d84f14 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Tue, 28 Feb 2023 10:50:48 -0800 Subject: [PATCH 27/30] makes requested changes --- .../intros/stocks/fundamental-analysis.md | 2 +- website/content/sdk/quickstart/api-keys.md | 6 ++--- .../content/terminal/guides/advanced/data.md | 22 ++++++++++++++----- .../guides/advanced/scripts-and-routines.md | 2 +- .../terminal/guides/intros/common/ba.md | 2 +- .../terminal/guides/intros/fixedincome.md | 2 +- .../terminal/guides/intros/stocks/index.md | 2 +- .../content/terminal/quickstart/api-keys.md | 2 +- .../terminal/quickstart/installation.md | 1 - 9 files changed, 25 insertions(+), 16 deletions(-) diff --git a/website/content/sdk/guides/intros/stocks/fundamental-analysis.md b/website/content/sdk/guides/intros/stocks/fundamental-analysis.md index df5d206e115..4bc61b64506 100644 --- a/website/content/sdk/guides/intros/stocks/fundamental-analysis.md +++ b/website/content/sdk/guides/intros/stocks/fundamental-analysis.md @@ -11,7 +11,7 @@ The FA module provides programmatic access to the commands from within the OpenB - Financial Modeling Prep - Polygon -View [this page](https://docs.openbb.co/terminal/guides/advanced/api-keys) for a list of all API sources used across the platform. +View [this page](https://docs.openbb.co/terminal/quickstart/api-keys) for a list of all API sources used across the platform. ## How to Use diff --git a/website/content/sdk/quickstart/api-keys.md b/website/content/sdk/quickstart/api-keys.md index 628c35be473..e9623d12af7 100644 --- a/website/content/sdk/quickstart/api-keys.md +++ b/website/content/sdk/quickstart/api-keys.md @@ -1,6 +1,6 @@ --- -title: Obtain and Set API Keys for Data Providers -sidebar_position: 4 +title: Setting API Keys +sidebar_position: 3 description: API (Application Programming Interface) keys are access credentials for accessing data from a particular source. They are a string of random characters assigned, by the data provider, to an individual account. Most vendors offer a free tier requiring only a valid email address. Each key is entered into the OpenBB SDk from the `openbb.keys` module, using the syntax described below. The docstrings for each source will also display the expected inputs. keywords: [api, keys, api keys, data provider, data, free, alpha vantage, fred, iex, twitter, degiro, binance, coinglass, polygon, intrinio, sdk] --- @@ -275,7 +275,7 @@ openbb.keys.cpanic(key = 'REPLACE_WITH_KEY', persist = True) ![Databento](https://user-images.githubusercontent.com/85772166/221944000-394e7123-5bb3-4218-b949-f0958b6353da.png) -Click on, [Sign up](https://databento.com/signup), and after creating an account, the API key is found in the [account portal](https://databento.com/portal/keys). +Click on, [Sign up](https://databento.com/signup), and after creating an account, the API key is found in the [account portal](https://databento.com/portal/keys). ![Databento](https://user-images.githubusercontent.com/85772166/221944057-c2314909-7b7d-4f65-8e9e-287a957f54f8.png) diff --git a/website/content/terminal/guides/advanced/data.md b/website/content/terminal/guides/advanced/data.md index 9e16b083c47..de944be9170 100644 --- a/website/content/terminal/guides/advanced/data.md +++ b/website/content/terminal/guides/advanced/data.md @@ -27,23 +27,33 @@ The folder's location is at the root of user account for the operating system. Most Terminal functions have the ability to export results as a file to the `OpenBBUserData` folder. This can be confirmed by engaging the help dialogue. ```console -/economy/ycrv --help +/economy/fred --help ``` ```console -usage: ycrv [-d DATE] [-h] [--export EXPORT] [--sheet-name SHEET_NAME [SHEET_NAME ...]] [--raw] +usage: fred [-p PARAMETER] [-s START_DATE] [-e END_DATE] [-q QUERY [QUERY ...]] [-h] [--export EXPORT] [--sheet-name SHEET_NAME [SHEET_NAME ...]] [--raw] [-l LIMIT] -Generate country yield curve. The yield curve shows the bond rates at different maturities. +Query the FRED database and plot data based on the Series ID. [Source: FRED] options: - -d DATE, --date DATE Date to get data from FRED. If not supplied, the most recent entry will be used. (default: None) + -p PARAMETER, --parameter PARAMETER + Series ID of the Macro Economic data from FRED (default: ) + -s START_DATE, --start START_DATE + Starting date (YYYY-MM-DD) of data (default: None) + -e END_DATE, --end END_DATE + Ending date (YYYY-MM-DD) of data (default: None) + -q QUERY [QUERY ...], --query QUERY [QUERY ...] + Query the FRED database to obtain Series IDs given the query search term. (default: None) -h, --help show this help message (default: False) - --export EXPORT Export raw data into csv, json, xlsx (default: ) + --export EXPORT Export raw data into csv, json, xlsx and figure into png, jpg, pdf, svg (default: ) --sheet-name SHEET_NAME [SHEET_NAME ...] Name of excel sheet to save data to. Only valid for .xlsx files. (default: None) --raw Flag to display raw data (default: False) + -l LIMIT, --limit LIMIT + Number of entries to show in data. (default: 100) + +For more information and examples, use 'about fred' to access the related guide. -For more information and examples, use 'about ycrv' to access the related guide. ``` diff --git a/website/content/terminal/guides/advanced/scripts-and-routines.md b/website/content/terminal/guides/advanced/scripts-and-routines.md index b01b3714051..539c1d398b2 100644 --- a/website/content/terminal/guides/advanced/scripts-and-routines.md +++ b/website/content/terminal/guides/advanced/scripts-and-routines.md @@ -37,7 +37,7 @@ record/stocks/load qqq/forecast/expo QQQ/autoselect QQQ/stop The routine has been successfully captured, and the next time the Terminal is opened, this routine will be visible when calling the `exe` function. -![Routines](https://user-images.githubusercontent.com/85772166/219550745-06d9a8d5-a85d-45c9-aa58-b5adaad16a08.png) +![Routines](routines6.png) ## Editing & Inserting Arguments diff --git a/website/content/terminal/guides/intros/common/ba.md b/website/content/terminal/guides/intros/common/ba.md index 45b291c0c8c..77a8e784bca 100644 --- a/website/content/terminal/guides/intros/common/ba.md +++ b/website/content/terminal/guides/intros/common/ba.md @@ -10,7 +10,7 @@ The Behavioural Analysis menu offers the user tools for gauging the overall publ ### How to use -Some data sources will require a valid API key, which can be obtained for free and then set using the [Keys menu](https://docs.openbb.co/terminal/guides/advanced/api-keys). As with every command, using the `-h` argument displays the help dialogue. Running the headlines command returns the following: +Some data sources will require a valid API key, which can be obtained for free and then set using the [Keys menu](https://docs.openbb.co/terminal/quickstart/api-keys). As with every command, using the `-h` argument displays the help dialogue. Running the headlines command returns the following: ``` (🦋) /stocks/ba/ $ headlines diff --git a/website/content/terminal/guides/intros/fixedincome.md b/website/content/terminal/guides/intros/fixedincome.md index e5cbaa78128..605d21cc332 100644 --- a/website/content/terminal/guides/intros/fixedincome.md +++ b/website/content/terminal/guides/intros/fixedincome.md @@ -8,7 +8,7 @@ The Fixed Income menu is the high-level menu for the Fixed Income asset class. I ## How to Use -The Fixed Income menu can be accessed directly from the `home` screen by typing `fixedincome`. This opens the menu as shown below. The menu heavily relies on FRED to obtain the data as seen below, please refer to the [API keys guide](https://docs.openbb.co/terminal/guides/advanced/api-keys) for information on how to obtain and set a key for FRED. +The Fixed Income menu can be accessed directly from the `home` screen by typing `fixedincome`. This opens the menu as shown below. The menu heavily relies on FRED to obtain the data as seen below, please refer to the [API keys guide](https://docs.openbb.co/terminal/quickstart/api-keys) for information on how to obtain and set a key for FRED. ![Fixed Income Menu](https://user-images.githubusercontent.com/46355364/220970904-d32a63b5-aa14-47b4-bfe6-b5efc1cf2cd4.png) diff --git a/website/content/terminal/guides/intros/stocks/index.md b/website/content/terminal/guides/intros/stocks/index.md index 30d85a95c16..7be9e60c89f 100644 --- a/website/content/terminal/guides/intros/stocks/index.md +++ b/website/content/terminal/guides/intros/stocks/index.md @@ -61,7 +61,7 @@ optional arguments: For more information and examples, use 'about news' to access the related guide. ``` -The first step in many workflows will be to load a stock symbol with historical data. The amount, granularity, and market coverage will vary by source. Users can elect to subscribe to any of the data sources accordingly. While no API keys are required to get started using the Terminal, acquiring these credentials at the free level will enhance the user experience with additional functionality. Refer to the [API keys guide](https://docs.openbb.co/terminal/guides/advanced/api-keys) for links to obtain each. +The first step in many workflows will be to load a stock symbol with historical data. The amount, granularity, and market coverage will vary by source. Users can elect to subscribe to any of the data sources accordingly. While no API keys are required to get started using the Terminal, acquiring these credentials at the free level will enhance the user experience with additional functionality. Refer to the [API keys guide](https://docs.openbb.co/terminal/quickstart/api-keys) for links to obtain each. image diff --git a/website/content/terminal/quickstart/api-keys.md b/website/content/terminal/quickstart/api-keys.md index 6b8e89d06b4..6bab5b3bd09 100644 --- a/website/content/terminal/quickstart/api-keys.md +++ b/website/content/terminal/quickstart/api-keys.md @@ -1,5 +1,5 @@ --- -title: Obtain and Set API Keys for Data Providers +title: Settings API Keys sidebar_position: 3 description: API (Application Programming Interface) keys are access credentials for accessing data from a particular source. They are a string of random characters assigned, by the data provider, to an individual account. Most vendors offer a free tier requiring only a valid email address. Each key is entered into the Terminal from the `/keys` menu, using the syntax described below. The `--help` dialogue for each source will also display the expected inputs. keywords: [api, keys, api keys, data provider, data, free, alpha vantage, fred, iex, twitter, degiro, binance, coinglass, polygon, intrinio, openbb terminal] diff --git a/website/content/terminal/quickstart/installation.md b/website/content/terminal/quickstart/installation.md index 090c56ba0cf..6fa690be94d 100644 --- a/website/content/terminal/quickstart/installation.md +++ b/website/content/terminal/quickstart/installation.md @@ -19,7 +19,6 @@ keywords: openbb terminal, ] --- - import InstallerButton from "@site/src/components/General/InstallerButton"; The OpenBB Terminal can be directly installed on a Mac or Windows machine via the installer packages below. While not available for Linux is currently available, it can be installed from the command line in a virtual Python environment. Having trouble? Reach us on [Discord](https://openbb.co/discord) or visit our [contact page](https://openbb.co/contact). From df28850d1d36aea8d2a130689f69bee5d557a97d Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Tue, 28 Feb 2023 10:52:15 -0800 Subject: [PATCH 28/30] replaces screenshot. --- .../content/terminal/guides/advanced/scripts-and-routines.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/terminal/guides/advanced/scripts-and-routines.md b/website/content/terminal/guides/advanced/scripts-and-routines.md index 539c1d398b2..05ba04dcfcd 100644 --- a/website/content/terminal/guides/advanced/scripts-and-routines.md +++ b/website/content/terminal/guides/advanced/scripts-and-routines.md @@ -37,7 +37,7 @@ record/stocks/load qqq/forecast/expo QQQ/autoselect QQQ/stop The routine has been successfully captured, and the next time the Terminal is opened, this routine will be visible when calling the `exe` function. -![Routines](routines6.png) +![Routines](https://user-images.githubusercontent.com/85772166/221951059-3ccf7235-5b0e-48ba-9f6c-3d0aaadd20cf.png) ## Editing & Inserting Arguments From 2e5cdd489da53d299d902617958420564a6e4d82 Mon Sep 17 00:00:00 2001 From: Danglewood <85772166+deeleeramone@users.noreply.github.com> Date: Tue, 28 Feb 2023 10:53:30 -0800 Subject: [PATCH 29/30] Removed because it shouldn't have been in this PR. --- build/conda/conda-3-10-env-full.yaml | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 build/conda/conda-3-10-env-full.yaml diff --git a/build/conda/conda-3-10-env-full.yaml b/build/conda/conda-3-10-env-full.yaml deleted file mode 100644 index 8fba2f7e92e..00000000000 --- a/build/conda/conda-3-10-env-full.yaml +++ /dev/null @@ -1,13 +0,0 @@ -channels: - - conda-forge -dependencies: - - python=3.10.8 - - pip - - pybind11 - - cmake - - git - - cvxpy - - lightgbm - - poetry - - pip: - - qdldl==0.1.5.post3 From 6cc8e8e5d326c1e022327641fb8838f19259fae4 Mon Sep 17 00:00:00 2001 From: jeroen Date: Tue, 28 Feb 2023 20:03:25 +0100 Subject: [PATCH 30/30] Minor edit, move installation to position 2 instead of last --- website/content/terminal/quickstart/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/terminal/quickstart/installation.md b/website/content/terminal/quickstart/installation.md index 6fa690be94d..a7cf8dd177d 100644 --- a/website/content/terminal/quickstart/installation.md +++ b/website/content/terminal/quickstart/installation.md @@ -1,6 +1,6 @@ --- -Sidebar_position: 2 title: Installation +sidebar_position: 2 description: The OpenBB Terminal can be directly installed on a Mac or Windows machine via the installer packages below. While not available for Linux is currently available, it can be installed from the command line in a virtual Python environment. keywords: [