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/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 new file mode 100644 index 00000000000..e9623d12af7 --- /dev/null +++ b/website/content/sdk/quickstart/api-keys.md @@ -0,0 +1,846 @@ +--- +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] +--- +## 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/ | +| 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 | +| 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://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://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://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://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 displayed 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://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://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://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) +``` + +
+ +### Databento + +
+Go to: https://docs.databento.com/getting-started + +[Databento](https://docs.databento.com/getting-started) + +![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). + +![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') +``` + +
+ +### 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: + +```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://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://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://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://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://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://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://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](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: + +```console +openbb.keys.intrinio(key = 'REPLACE_WITH_KEY', persist = True) +``` + +
+ +### Messari + +
+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. + +![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://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://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://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://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://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://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://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://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. + +![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://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://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://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://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/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 75e01058973..754e187df1c 100644 --- a/website/content/sdk/quickstart/installation.md +++ b/website/content/sdk/quickstart/installation.md @@ -1,101 +1,211 @@ --- 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] +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,] --- - -# 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/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/sdk/quickstart/troubleshooting.md b/website/content/sdk/quickstart/troubleshooting.md new file mode 100644 index 00000000000..1f1a48fe950 --- /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, +``` + +
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 eb863faec6b..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/eodhd 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://sdk.flipsidecrypto.xyz/shroomdk 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/guides/advanced/data.md b/website/content/terminal/guides/advanced/data.md index 0e6c06d2cda..de944be9170 100644 --- a/website/content/terminal/guides/advanced/data.md +++ b/website/content/terminal/guides/advanced/data.md @@ -1,100 +1,132 @@ --- 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/fred --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: fred [-p PARAMETER] [-s START_DATE] [-e END_DATE] [-q QUERY [QUERY ...]] [-h] [--export EXPORT] [--sheet-name SHEET_NAME [SHEET_NAME ...]] [--raw] [-l LIMIT] + +Query the FRED database and plot data based on the Series ID. [Source: FRED] + +options: + -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 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. + + ``` -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 +``` + +```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](https://user-images.githubusercontent.com/85772166/221929090-5477a635-fccc-42a1-9ee3-7e7485988452.png) -![image](https://user-images.githubusercontent.com/46355364/214819518-cec40468-9019-440c-8bfe-7bcabc207578.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 ` +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`. -![Importing Data](https://user-images.githubusercontent.com/85772166/204921760-38742f6c-ec78-4009-9c23-54dcb0504524.png) +![Loading data in the Econometrics menu](https://user-images.githubusercontent.com/85772166/221930794-d754e63f-262f-410b-b698-e03823c5d30b.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. +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. -## Alternative Folder +## 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: +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 +userdata --folder "/complete_path_to/OpenBBUserData" ``` - -![The Settings Menu](https://user-images.githubusercontent.com/85772166/195736718-a1b821da-5977-437a-bd18-b44add2a29a2.png) diff --git a/website/content/terminal/guides/advanced/scripts-and-routines.md b/website/content/terminal/guides/advanced/scripts-and-routines.md index fffb575a010..05ba04dcfcd 100644 --- a/website/content/terminal/guides/advanced/scripts-and-routines.md +++ b/website/content/terminal/guides/advanced/scripts-and-routines.md @@ -1,113 +1,119 @@ --- 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](https://user-images.githubusercontent.com/85772166/219550644-26ecaf27-cbf9-4314-8f3b-d9f20e8fcb88.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](https://user-images.githubusercontent.com/85772166/221951059-3ccf7235-5b0e-48ba-9f6c-3d0aaadd20cf.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](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: + +```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](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 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. +# 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 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). 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 new file mode 100644 index 00000000000..6bab5b3bd09 --- /dev/null +++ b/website/content/terminal/quickstart/api-keys.md @@ -0,0 +1,798 @@ +--- +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] +--- +## 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/ | +| 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 | +| 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://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://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://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://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 displayed 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://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://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://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 +``` + +
+ +### Databento + +
+Go to: https://docs.databento.com/getting-started + +[Databento](https://docs.databento.com/getting-started) + +![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). + +![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 +``` + +
+ +### 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: + +```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://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://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://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://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://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://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://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](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: + +```console +/keys/intrinio REPLACE_WITH_KEY +``` + +
+ +### Messari + +
+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. + +![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://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://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://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://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://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://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://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. + +![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://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://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://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://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 +``` + +
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 86b5a0368f7..a7cf8dd177d 100644 --- a/website/content/terminal/quickstart/installation.md +++ b/website/content/terminal/quickstart/installation.md @@ -1,7 +1,7 @@ --- -sidebar_position: 1 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. +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: [ installation, @@ -19,118 +19,264 @@ 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). +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). -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. +Follow along with the instructions for the preferred installation method: -:::info Installation Instructions +## Installer Packages - - -
-

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

+### A. Windows Installer -

Download the installer from the button below:

+Install the OpenBB Terminal on Windows (10 or greater): + +#### 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:

+#### 2. Run Installer - +**Step 2:** Open the downloaded file by double-clicking on it -
+#### 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 -
+#### 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

+### 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: -
-
+```console +softwareupdate --install-rosetta +``` - - -For Mac there are two installers available, one for Intel and one for Apple Silicon (M1). Please download the correct one for your machine. - -
-
If you are using Mac Intel: - -
-
-
-If you are using Mac Apple Silicon (M1): - -
-
- -

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

- - - -
- -
-

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

- -
- -
-

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

- -
- -
-
- -

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:

+#### 1. Download - +**Step 1:** Download the DMG file from the links above. -## 1. Windows +#### 2. Mount DMG -### 1.1. Install Docker Desktop +**Step 2:** Mount the downloaded DMG file by double-clicking on it. + +#### 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. + +![MacOS Installation](https://user-images.githubusercontent.com/11668535/173027899-9b25ae4f-1eef-462c-9dc9-86086e9cf197.png) + +#### 4. Unmount DMG + +**Step 4:** Unmount the installer, by "Ejecting OpenBB Terminal" from, locations, in Finder. + +#### 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". + +![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 + +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 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 +``` + +### 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. + +**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 + +#### 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: -```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. @@ -139,7 +285,7 @@ Is the docker daemon running? Start Docker, this is how the right output looks like: -```bash +```console docker info Client: Context: default @@ -152,7 +298,7 @@ Server: Stopped: 10 ``` -### 1.3. Install VcXsrv +#### 1.3. Install VcXsrv To display charts with your container, you need : VcXsrv. @@ -160,11 +306,11 @@ 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: -```bash +```console curl -o docker-compose.yaml https://raw.githubusercontent.com/OpenBB-finance/OpenBBTerminal/main/build/docker/docker-compose.yaml docker compose run openbb @@ -174,13 +320,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 +342,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,11 +350,11 @@ 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: -```bash +```console curl -o docker-compose.yaml https://raw.githubusercontent.com/OpenBB-finance/OpenBBTerminal/main/build/docker/docker-compose.yaml xhost +$IP @@ -221,17 +367,17 @@ 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: -```bash +```console curl -o docker-compose.yaml https://raw.githubusercontent.com/OpenBB-finance/OpenBBTerminal/main/build/docker/docker-compose.yaml xhost +local: @@ -240,192 +386,33 @@ 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: -```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 ``` -
- -

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:

- - - -**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. - -### Installing the terminal - -These steps are common in all operating systems (Windows with or without WSL, MacOS or Linux). - -This project supports Python 3.8 and 3.9. By default, the newly created virtual environment will use Python 3.9.13 - -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. - -**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. - -- 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: - - - 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). - - **ONLY REQUIRED ON WINDOWS IF NOT USING WSL**, Install/update Microsoft C++ Build Tools from here: - - **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. - -- 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` - -#### 2. Install CMake - -CMake is required by several python modules. - -**On Linux or Raspberry Pi:** - -```bash -sudo apt update -sudo apt install -y gcc cmake -``` - -**On macOS:** - -Check if you have homebrew installed by running `brew --version` - -If you don't have homebrew installed run: - -```bash -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" -brew install cmake -``` - -If you have homebrew installed run: - -```bash -brew install cmake -``` - -**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 - -```bash -conda install -c anaconda git -``` - -#### 4. Clone the Project - -- Via HTTPS: `git clone https://github.com/OpenBB-finance/OpenBBTerminal.git` -- via SSH: `git clone git@github.com:OpenBB-finance/OpenBBTerminal.git` - -#### 5. Navigate into the project's folder - -```bash -cd OpenBBTerminal/ -``` - -#### 6. Create Environment - -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. - -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. - -```bash -conda env create -n obb --file build/conda/conda-3-9-env.yaml -``` - -Or, to include machine learning type: - -```bash -conda env create -n obb --file build/conda/conda-3-9-env-full.yaml -``` - -Note: Using python 3.10+ can lead to undesirable functionality for certain commands. - -#### 7. Activate the virtual environment - -```bash -conda activate obb -``` - -Note: At the end, you can deactivate it with: `conda deactivate`. - -#### 8. Install dependencies with poetry - -Install the main dependencies with - -```bash -poetry install -``` - -You are good to go with the core of the OpenBB Terminal. To install additional toolkits proceed with the following commands: - -To install the Portfolio Optimization Toolkit run: - -```bash -poetry install -E optimization -``` - -To install the Machine Learning Toolkit run: - -```bash -poetry install -E forecast -``` - -To install both the Portfolio Optimization and the Machine Learning Toolkit run: - -```bash -poetry install -E all -``` - -#### 9. You're ready to use the 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. - -**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 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 @@ -434,27 +421,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. - -### 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. -
-
- -::: diff --git a/website/content/terminal/quickstart/requirements.md b/website/content/terminal/quickstart/requirements.md index b3e90883f0f..2f40ba3e576 100644 --- a/website/content/terminal/quickstart/requirements.md +++ b/website/content/terminal/quickstart/requirements.md @@ -1,17 +1,20 @@ --- 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'; 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 new file mode 100644 index 00000000000..0651dc0bc83 --- /dev/null +++ b/website/content/terminal/quickstart/troubleshooting.md @@ -0,0 +1,450 @@ +--- +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 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 +``` + +
+ +
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. + +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="
” +``` + +
+ +
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. + +**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, +``` + +