From 3147577fc907e5a7b57214353e0c70fc1322c015 Mon Sep 17 00:00:00 2001 From: Colin Delahunty <72827203+colin99d@users.noreply.github.com> Date: Mon, 21 Aug 2023 14:26:03 -0700 Subject: [PATCH] bye bye shroom (#5351) * bye bye shroom * missed one --------- Co-authored-by: James Maslek --- .../sdk/controllers/crypto_sdk_controller.py | 1 - .../core/sdk/models/crypto_sdk_model.py | 3 - .../core/sdk/models/keys_sdk_model.py | 2 - openbb_terminal/core/sdk/sdk_init.py | 2 - openbb_terminal/core/sdk/trail_map.csv | 2 - .../onchain/onchain_controller.py | 40 --- .../cryptocurrency/onchain/shroom_model.py | 259 ------------------ .../cryptocurrency/onchain/shroom_view.py | 230 ---------------- openbb_terminal/keys_controller.py | 30 -- openbb_terminal/keys_model.py | 77 ------ .../documentation_commands_sdk.csv | 1 - .../miscellaneous/models/hub_credentials.json | 1 - .../miscellaneous/sources/openbb_default.json | 1 - openbb_terminal/sdk.py | 1 - .../test_print_help.txt | 1 - tests/openbb_terminal/test_keys_controller.py | 7 - tests/openbb_terminal/test_keys_model.py | 26 -- website/content/sdk/reference/keys/index.md | 1 - website/content/sdk/reference/keys/shroom.md | 44 --- website/content/sdk/usage/guides/api-keys.md | 27 -- .../content/terminal/usage/guides/api-keys.md | 37 +-- 21 files changed, 5 insertions(+), 788 deletions(-) delete mode 100644 openbb_terminal/cryptocurrency/onchain/shroom_model.py delete mode 100644 openbb_terminal/cryptocurrency/onchain/shroom_view.py delete mode 100644 website/content/sdk/reference/keys/shroom.md diff --git a/openbb_terminal/core/sdk/controllers/crypto_sdk_controller.py b/openbb_terminal/core/sdk/controllers/crypto_sdk_controller.py index 69f4f075c82..ac880083a5b 100644 --- a/openbb_terminal/core/sdk/controllers/crypto_sdk_controller.py +++ b/openbb_terminal/core/sdk/controllers/crypto_sdk_controller.py @@ -251,7 +251,6 @@ class CryptoController(model.CryptoRoot): `prices`: Get token historical prices with volume and market cap, and average price. [Source: Ethplorer]\n `prices_chart`: Display token historical prices with volume and market cap, and average price.\n `query`: Get query data\n - `query_chart`: Display query results from shroom\n `query_graph`: Helper methods for querying graphql api. [Source: https://bitquery.io/]\n `th`: Get info about token historical transactions. [Source: Ethplorer]\n `th_chart`: Display info about token history. [Source: Ethplorer]\n diff --git a/openbb_terminal/core/sdk/models/crypto_sdk_model.py b/openbb_terminal/core/sdk/models/crypto_sdk_model.py index 2db93f2f659..e8f8e1c95e9 100644 --- a/openbb_terminal/core/sdk/models/crypto_sdk_model.py +++ b/openbb_terminal/core/sdk/models/crypto_sdk_model.py @@ -446,7 +446,6 @@ class CryptoOnChain(Category): `prices`: Get token historical prices with volume and market cap, and average price. [Source: Ethplorer]\n `prices_chart`: Display token historical prices with volume and market cap, and average price.\n `query`: Get query data\n - `query_chart`: Display query results from shroom\n `query_graph`: Helper methods for querying graphql api. [Source: https://bitquery.io/]\n `th`: Get info about token historical transactions. [Source: Ethplorer]\n `th_chart`: Display info about token history. [Source: Ethplorer]\n @@ -517,8 +516,6 @@ class CryptoOnChain(Category): self.prices_chart = ( lib.crypto_onchain_ethplorer_view.display_token_historical_prices ) - self.query = lib.crypto_onchain_shroom_model.get_query_data - self.query_chart = lib.crypto_onchain_shroom_view.display_query self.query_graph = lib.crypto_onchain_bitquery_model.query_graph self.th = lib.crypto_onchain_ethplorer_model.get_token_history self.th_chart = lib.crypto_onchain_ethplorer_view.display_token_history diff --git a/openbb_terminal/core/sdk/models/keys_sdk_model.py b/openbb_terminal/core/sdk/models/keys_sdk_model.py index 0ccee257bd4..de564944c9c 100644 --- a/openbb_terminal/core/sdk/models/keys_sdk_model.py +++ b/openbb_terminal/core/sdk/models/keys_sdk_model.py @@ -37,7 +37,6 @@ class KeysRoot(Category): `rh`: Set Robinhood key\n `santiment`: Set Santiment key.\n `set_keys`: Set API keys in bundle.\n - `shroom`: Set Shroom key\n `smartstake`: Set Smartstake key.\n `stocksera`: Set Stocksera key.\n `tokenterminal`: Set Token Terminal key.\n @@ -78,7 +77,6 @@ class KeysRoot(Category): self.rh = lib.keys_model.set_rh_key self.santiment = lib.keys_model.set_santiment_key self.set_keys = lib.keys_model.set_keys - self.shroom = lib.keys_model.set_shroom_key self.smartstake = lib.keys_model.set_smartstake_key self.stocksera = lib.keys_model.set_stocksera_key self.tokenterminal = lib.keys_model.set_tokenterminal_key diff --git a/openbb_terminal/core/sdk/sdk_init.py b/openbb_terminal/core/sdk/sdk_init.py index 66050033423..db26d87614d 100644 --- a/openbb_terminal/core/sdk/sdk_init.py +++ b/openbb_terminal/core/sdk/sdk_init.py @@ -252,8 +252,6 @@ from openbb_terminal.cryptocurrency.onchain import ( ethplorer_view as crypto_onchain_ethplorer_view, whale_alert_model as crypto_onchain_whale_alert_model, whale_alert_view as crypto_onchain_whale_alert_view, - shroom_model as crypto_onchain_shroom_model, - shroom_view as crypto_onchain_shroom_view, topledger_model as crypto_onchain_topledger_model, topledger_view as crypto_onchain_topledger_view, ) diff --git a/openbb_terminal/core/sdk/trail_map.csv b/openbb_terminal/core/sdk/trail_map.csv index 1f62a953e00..ebb70a1affa 100644 --- a/openbb_terminal/core/sdk/trail_map.csv +++ b/openbb_terminal/core/sdk/trail_map.csv @@ -119,7 +119,6 @@ crypto.onchain.hr,crypto_dd_glassnode_model.get_hashrate,crypto_dd_glassnode_vie crypto.onchain.info,crypto_onchain_ethplorer_model.get_token_info,crypto_onchain_ethplorer_view.display_token_info crypto.onchain.lt,crypto_onchain_bitquery_model.get_dex_trades_by_exchange,crypto_onchain_bitquery_view.display_dex_trades crypto.onchain.prices,crypto_onchain_ethplorer_model.get_token_historical_price,crypto_onchain_ethplorer_view.display_token_historical_prices -crypto.onchain.query,crypto_onchain_shroom_model.get_query_data,crypto_onchain_shroom_view.display_query crypto.onchain.query_graph,crypto_onchain_bitquery_model.query_graph, crypto.onchain.th,crypto_onchain_ethplorer_model.get_token_history,crypto_onchain_ethplorer_view.display_token_history crypto.onchain.token_decimals,crypto_onchain_ethplorer_model.get_token_decimals, @@ -307,7 +306,6 @@ keys.reddit,keys_model.set_reddit_key, keys.rh,keys_model.set_rh_key, keys.santiment,keys_model.set_santiment_key, keys.set_keys,keys_model.set_keys, -keys.shroom,keys_model.set_shroom_key, keys.smartstake,keys_model.set_smartstake_key, keys.stocksera,keys_model.set_stocksera_key, keys.tokenterminal,keys_model.set_tokenterminal_key, diff --git a/openbb_terminal/cryptocurrency/onchain/onchain_controller.py b/openbb_terminal/cryptocurrency/onchain/onchain_controller.py index 8f3be128519..083fed888d7 100644 --- a/openbb_terminal/cryptocurrency/onchain/onchain_controller.py +++ b/openbb_terminal/cryptocurrency/onchain/onchain_controller.py @@ -22,7 +22,6 @@ from openbb_terminal.cryptocurrency.onchain import ( ethgasstation_view, ethplorer_model, ethplorer_view, - shroom_view, topledger_model, topledger_view, whale_alert_model, @@ -83,7 +82,6 @@ class OnchainController(BaseController): "btccp", "btcct", "btcblockdata", - "query", "topledger", ] @@ -120,7 +118,6 @@ class OnchainController(BaseController): mt.add_cmd("ueat") mt.add_cmd("ttcp") mt.add_cmd("baas") - mt.add_cmd("query") mt.add_raw("\n") mt.add_param("_address", self.address or "") mt.add_param("_type", self.address_type or "") @@ -137,43 +134,6 @@ class OnchainController(BaseController): mt.add_cmd("tx", self.address_type == "tx") console.print(text=mt.menu_text, menu="Cryptocurrency - Onchain") - @log_start_end(log=logger) - def call_query(self, other_args: List[str]): - """Process query command""" - parser = argparse.ArgumentParser( - add_help=False, - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - prog="query", - description=""" - Make any flipsidecrypto query - [Source:https://docs.flipsidecrypto.com/] - """, - ) - - parser.add_argument( - "-q", - "--query", - dest="query", - type=str, - nargs="+", - required=not any(["-h" in other_args, "--help" in other_args]), - help="Query to make", - ) - - if other_args and other_args[0][0] != "-": - other_args.insert(0, "-q") - - ns_parser = self.parse_known_args_and_warn( - parser, other_args, EXPORT_BOTH_RAW_DATA_AND_FIGURES, limit=10 - ) - - if ns_parser: - shroom_view.display_query( - query=" ".join(ns_parser.query), - export=ns_parser.export, - limit=ns_parser.limit, - ) - @log_start_end(log=logger) def call_btcct(self, other_args: List[str]): """Process btcct command""" diff --git a/openbb_terminal/cryptocurrency/onchain/shroom_model.py b/openbb_terminal/cryptocurrency/onchain/shroom_model.py deleted file mode 100644 index 5de9d366aa1..00000000000 --- a/openbb_terminal/cryptocurrency/onchain/shroom_model.py +++ /dev/null @@ -1,259 +0,0 @@ -"""Shroom model""" -import json -import logging -import time -from typing import List - -import pandas as pd - -from openbb_terminal.core.session.current_user import get_current_user -from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.helper_funcs import request -from openbb_terminal.rich_config import console - -logger = logging.getLogger(__name__) - - -TTL_MINUTES = 15 - -# return up to 100,000 results per GET request on the query id -PAGE_SIZE = 100000 - -# return results of page 1 -PAGE_NUMBER = 1 - - -def create_query(query: str): - r = request( - "https://node-api.flipsidecrypto.com/queries", - method="POST", - data=json.dumps({"sql": query, "ttlMinutes": TTL_MINUTES}), - headers={ - "Accept": "application/json", - "Content-Type": "application/json", - "x-api-key": get_current_user().credentials.API_SHROOM_KEY, - }, - ) - if r.status_code != 200: - console.print( - f"[red]Error creating query, got response: {r.text} with status code: {str(r.status_code)}[/red]" - ) - return "" - - return json.loads(r.text) - - -def get_query_results(token): - r = request( - f"https://node-api.flipsidecrypto.com/queries/{token}?pageNumber={PAGE_NUMBER}&pageSize={PAGE_SIZE}", - headers={ - "Accept": "application/json", - "Content-Type": "application/json", - "x-api-key": get_current_user().credentials.API_SHROOM_KEY, - }, - ) - if r.status_code != 200: - console.print( - f"[red]Error creating query, got response: {r.text} with status code: {str(r.status_code)}[/red]" - ) - return "" - - data = json.loads(r.text) - if data["status"] == "running": - time.sleep(10) - return get_query_results(token) - - return data - - -DAPP_STATS_PLATFORM_CHOICES = ["uniswap-v3", "uniswap-v2", "sushiswap", "curve"] - - -def get_shroom_data(sql: str): - """Get shroom data""" - query = create_query(sql) - token = query["token"] - data = get_query_results(token) - return data - - -@log_start_end(log=logger) -@check_api_key(["API_SHROOM_KEY"]) -def get_query_data(sql: str) -> pd.DataFrame: - """Get query data - - Parameters - ---------- - sql : str - SQL query - - Returns - ------- - pd.DataFrame - DataFrame with query data - """ - data = get_shroom_data(sql) - - if data and data["results"] and data["columnLabels"]: - df = pd.DataFrame(data["results"], columns=data["columnLabels"]) - return df - - return pd.DataFrame() - - -@log_start_end(log=logger) -@check_api_key(["API_SHROOM_KEY"]) -def get_dapp_stats( - platform: str = "curve", -) -> pd.DataFrame: - """Get dapp stats - - Parameters - ---------- - platform: str - platform to get stats for - - Returns - ------- - pd.DataFrame - dapp stats - """ - sql = f"""select - date_trunc('week', s.block_timestamp) as date, - sum(t.fee_usd) as fee, - count(distinct(s.from_address)) as n_users, - count(distinct(s.amount_usd)) as volume - from ethereum.core.ez_dex_swaps s - join ethereum.core.fact_transactions t - on s.tx_id = t.tx_id - where platform = '{platform}' - group by date - order by date asc - """ - data = get_shroom_data(sql) - - if data: - df = pd.DataFrame( - data["results"], columns=["timeframe", "fees", "n_users", "volume"] - ) - - df["timeframe"] = pd.to_datetime(df["timeframe"]) - df = df.set_index("timeframe") - - return df - - return pd.DataFrame() - - -@log_start_end(log=logger) -@check_api_key(["API_SHROOM_KEY"]) -def get_daily_transactions(symbols: List[str]) -> pd.DataFrame: - """Get daily transactions for certain symbols in ethereum blockchain - [Source: https://sdk.flipsidecrypto.xyz/shroomdk] - - Parameters - ---------- - symbols : List[str] - List of symbols to get transactions for - - Returns - ------- - pd.DataFrame - DataFrame with transactions for each symbol - """ - extra_sql = "" - for symbol in symbols: - extra_sql += ( - f"sum(case when symbol = '{symbol}' then amount_usd end) as {symbol}," - ) - extra_sql = extra_sql[:-1] - sql = f""" - select - date_trunc('day', block_timestamp) as timeframe, - {extra_sql} - from ethereum.core.udm_events - where - block_timestamp >= '2020-06-01' - -- and amount0_usd > '0' - group by 1 - order by timeframe desc - """ - - data = get_shroom_data(sql) - - if data: - df = pd.DataFrame(data["results"], columns=["timeframe"] + symbols) - df["timeframe"] = pd.to_datetime(df["timeframe"]) - df.set_index("timeframe", inplace=True) - - return df - - return pd.DataFrame() - - -@log_start_end(log=logger) -@check_api_key(["API_SHROOM_KEY"]) -def get_total_value_locked( - user_address: str, - address_name: str, - symbol: str = "USDC", - interval: int = 1, -) -> pd.DataFrame: - """ - Get total value locked for a user/name address and symbol - TVL measures the total amount of a token that is locked in a contract. - [Source: https://sdk.flipsidecrypto.xyz/shroomdk] - - Parameters - ---------- - user_address : str - User address - address_name : str - Name of the address - symbol : str - Symbol of the token - interval : int - Interval in months - - Returns - ------- - pd.DataFrame - DataFrame with total value locked - """ - - if not (user_address or address_name): - console.print("[red]No user address or address name provided.[/red]") - return pd.DataFrame() - extra_sql = ( - f"user_address = '{user_address}' and" - if user_address - else f"address_name = '{address_name}' and" - ) - - sql = f""" - SELECT - date_trunc('day', balance_date) as metric_date, - symbol, - amount_usd/1000000 as amount_usd - FROM - ethereum.core.erc20_balances - WHERE - {extra_sql} - symbol = '{symbol}' AND - balance_date >= getdate() - interval '{interval} month' - ORDER BY - metric_date asc - """ - - data = get_shroom_data(sql) - - if data: - df = pd.DataFrame( - data["results"], columns=["metric_date", "symbol", "amount_usd"] - ) - df["metric_date"] = pd.to_datetime(df["metric_date"]) - df.set_index("metric_date", inplace=True) - - return df - - return pd.DataFrame() diff --git a/openbb_terminal/cryptocurrency/onchain/shroom_view.py b/openbb_terminal/cryptocurrency/onchain/shroom_view.py deleted file mode 100644 index 4e4a7a4b5df..00000000000 --- a/openbb_terminal/cryptocurrency/onchain/shroom_view.py +++ /dev/null @@ -1,230 +0,0 @@ -"""Shroom view""" -__docformat__ = "numpy" - -import logging -import os -from typing import Optional, Union - -from openbb_terminal import OpenBBFigure, theme -from openbb_terminal.cryptocurrency.onchain.shroom_model import ( - get_daily_transactions, - get_dapp_stats, - get_query_data, - get_total_value_locked, -) -from openbb_terminal.decorators import check_api_key, log_start_end -from openbb_terminal.helper_funcs import export_data, print_rich_table -from openbb_terminal.rich_config import console - -logger = logging.getLogger(__name__) - - -@log_start_end(log=logger) -@check_api_key(["API_SHROOM_KEY"]) -def display_query( - query: str, - sheet_name: Optional[str] = None, - limit: int = 10, - export: str = "", -): - """Display query results from shroom - [Source: https://sdk.flipsidecrypto.xyz/shroomdk] - - Parameters - ---------- - query : str - Query string - raw : bool - Show raw data - limit : int - Limit of rows - export : str - Export dataframe data to csv,json,xlsx file - """ - df = get_query_data(query) - if df.empty: - console.print("[red]No data found.[/red]") - elif not df.empty: - print_rich_table(df, limit=limit) - - export_data( - export, os.path.dirname(os.path.abspath(__file__)), "query", df, sheet_name - ) - - -@log_start_end(log=logger) -@check_api_key(["API_SHROOM_KEY"]) -def display_daily_transactions( - export: str = "", - sheet_name: Optional[str] = None, - external_axes: bool = False, -) -> Union[OpenBBFigure, None]: - """Get daily transactions for certain symbols in ethereum blockchain - [Source: https://sdk.flipsidecrypto.xyz/shroomdk] - - Parameters - ---------- - - export : str - Export dataframe data to csv,json,xlsx file - """ - symbols = ["DAI", "USDT", "BUSD", "USDC"] - df = get_daily_transactions(symbols) - if df.empty: - return console.print("[red]No data found.[/red]") - - fig = OpenBBFigure(yaxis_title="Transactions", xaxis_title="Date") - fig.set_title("Daily Transactions in Ethereum") - - for name in symbols: - fig.add_scatter(x=df.index, y=df[name], name=name) - - export_data( - export, - os.path.dirname(os.path.abspath(__file__)), - "dt", - df, - sheet_name, - fig, - ) - - return fig.show(external=external_axes) - - -@log_start_end(log=logger) -@check_api_key(["API_SHROOM_KEY"]) -def display_dapp_stats( - platform: str, - raw: bool = False, - limit: int = 10, - export: str = "", - sheet_name: Optional[str] = None, - external_axes: bool = False, -) -> Union[OpenBBFigure, None]: - """Get daily transactions for certain symbols in ethereum blockchain - [Source: https://sdk.flipsidecrypto.xyz/shroomdk] - - Parameters - ---------- - platform : str - Platform name (e.g., uniswap-v3) - raw : bool - Show raw data - limit : int - Limit of rows - export : str - Export dataframe data to csv,json,xlsx file - external_axes : bool, optional - Whether to return the figure object or not, by default False - """ - df = get_dapp_stats(platform=platform) - if df.empty: - return console.print("[red]No data found.[/red]") - - if raw: - print_rich_table( - df, - headers=list(df.columns), - show_index=True, - export=bool(export), - limit=limit, - ) - - fig = OpenBBFigure.create_subplots(specs=[[{"secondary_y": True}]]) - fig.set_title(f"{platform} stats") - - fig.add_bar( - x=df.index, - y=df["n_users"], - name="Number of Users", - marker_color=theme.down_color, - secondary_y=False, - ) - - fig.add_scatter( - x=df.index, - y=df["fees"], - name="Platform Fees", - marker_color=theme.up_color, - secondary_y=True, - ) - fig.update_yaxes(title_text="Number of Users", secondary_y=False, side="left") - fig.update_yaxes(title_text="Platform Fees [USD]", secondary_y=True) - - export_data( - export, - os.path.dirname(os.path.abspath(__file__)), - "ds", - df, - sheet_name, - fig, - ) - - return fig.show(external=raw or external_axes) - - -@log_start_end(log=logger) -@check_api_key(["API_SHROOM_KEY"]) -def display_total_value_locked( - user_address: str, - address_name: str, - symbol: str = "USDC", - interval: int = 1, - export: str = "", - sheet_name: Optional[str] = None, - external_axes: bool = False, -) -> Union[OpenBBFigure, None]: - """ - Get total value locked for a certain address - TVL measures the total amount of a token that is locked in a contract. - [Source: https://sdk.flipsidecrypto.xyz/shroomdk] - - Parameters - ---------- - user_address : str - Address of the user (e.g., 0xa5407eae9ba41422680e2e00537571bcc53efbfd) - address_name : str - Name of the address (e.g., makerdao gem join usdc) - symbol : str - Symbol of the token - interval : int - Interval of months - export : str - Export dataframe data to csv,json,xlsx file - external_axes : bool, optional - Whether to return the figure object or not, by default False - """ - - # example user_address : - # example addres_name : - - df = get_total_value_locked( - user_address=user_address, - address_name=address_name, - symbol=symbol, - interval=interval, - ) - - if df.empty: - return console.print("[red]No data found.[/red]") - - fig = OpenBBFigure(yaxis_title="Amount [USD M]", xaxis_title="Date") - fig.set_title("Total value locked Ethereum ERC20") - - fig.add_bar( - x=df.index, - y=df["amount_usd"], - name="amount_usd", - marker_color=theme.down_color, - ) - - export_data( - export, - os.path.dirname(os.path.abspath(__file__)), - "tvl", - df, - sheet_name, - fig, - ) - - return fig.show(external=external_axes) diff --git a/openbb_terminal/keys_controller.py b/openbb_terminal/keys_controller.py index 976475b934a..9814a1d4d87 100644 --- a/openbb_terminal/keys_controller.py +++ b/openbb_terminal/keys_controller.py @@ -1109,36 +1109,6 @@ class KeysController(BaseController): # pylint: disable=too-many-public-methods key=ns_parser.key, persist=True, show_output=True ) - @log_start_end(log=logger) - def call_shroom(self, other_args: List[str]): - """Process shroom command""" - parser = argparse.ArgumentParser( - add_help=False, - formatter_class=argparse.ArgumentDefaultsHelpFormatter, - prog="shroom", - description="Set Shroom API key.", - ) - parser.add_argument( - "-k", - "--key", - type=str, - dest="key", - help="key", - ) - if not other_args: - console.print( - "For your API Key, visit: https://sdk.flipsidecrypto.xyz/shroomdk" - ) - return - - if other_args and "-" not in other_args[0][0]: - other_args.insert(0, "-k") - ns_parser = self.parse_simple_args(parser, other_args) - if ns_parser: - self.status_dict["shroom"] = keys_model.set_shroom_key( - key=ns_parser.key, persist=True, show_output=True - ) - @log_start_end(log=logger) def call_tokenterminal(self, other_args: List[str]): """Process tokenterminal command""" diff --git a/openbb_terminal/keys_model.py b/openbb_terminal/keys_model.py index 5582e0aea3a..a015028680d 100644 --- a/openbb_terminal/keys_model.py +++ b/openbb_terminal/keys_model.py @@ -17,7 +17,6 @@ import openai import pandas as pd import praw import quandl -import requests import stocksera from alpha_vantage.timeseries import TimeSeries from coinmarketcapapi import CoinMarketCapAPI @@ -81,7 +80,6 @@ API_DICT: Dict = { "eodhd": "EODHD", "santiment": "SANTIMENT", "tokenterminal": "TOKEN_TERMINAL", - "shroom": "SHROOM", "stocksera": "STOCKSERA", "dappradar": "DAPPRADAR", "openai": "OPENAI", @@ -2338,81 +2336,6 @@ def check_santiment_key(show_output: bool = False) -> str: return str(status) -def set_shroom_key(key: str, persist: bool = False, show_output: bool = False) -> str: - """Set Shroom key - - Parameters - ---------- - key: str - API key - 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 - Display status string or not. By default, False. - - Returns - ------- - str - Status of key set - - Examples - -------- - >>> from openbb_terminal.sdk import openbb - >>> openbb.keys.shroom(key="example_key") - """ - - handle_credential("API_SHROOM_KEY", key, persist) - return check_shroom_key(show_output) - - -def check_shroom_key(show_output: bool = False) -> str: - """Check Shroom key - - Parameters - ---------- - show_output: bool, optional - Display status string or not. By default, False. - - Returns - ------- - str - Status of key set - """ - - if show_output: - console.print("Checking status...") - - current_user = get_current_user() - - if current_user.credentials.API_SHROOM_KEY == "REPLACE_ME": - status = KeyStatus.NOT_DEFINED - else: - try: - response = request( - "https://node-api.flipsidecrypto.com/queries", - method="POST", - headers={"x-api-key": current_user.credentials.API_SHROOM_KEY}, - ) - if response.status_code == 400: - # this is expected because shroom returns 400 when query is not passed - status = KeyStatus.DEFINED_TEST_PASSED - elif response.status_code == 401: - logger.warning("Shroom key defined, test failed") - status = KeyStatus.DEFINED_TEST_FAILED - else: - logger.warning("Shroom key defined, test failed") - status = KeyStatus.DEFINED_TEST_FAILED - except requests.exceptions.RequestException: - logger.warning("Shroom key defined, test failed") - status = KeyStatus.DEFINED_TEST_FAILED - if show_output: - console.print(status.colorize()) - - return str(status) - - def set_tokenterminal_key( key: str, persist: bool = False, show_output: bool = False ) -> str: diff --git a/openbb_terminal/miscellaneous/documentation_scripts/documentation_commands_sdk.csv b/openbb_terminal/miscellaneous/documentation_scripts/documentation_commands_sdk.csv index 7cfa2b86b95..0f02f571c70 100644 --- a/openbb_terminal/miscellaneous/documentation_scripts/documentation_commands_sdk.csv +++ b/openbb_terminal/miscellaneous/documentation_scripts/documentation_commands_sdk.csv @@ -37,7 +37,6 @@ website/content/sdk/usage/guides/api-keys.md,keys.oanda website/content/sdk/usage/guides/api-keys.md,keys.polygon website/content/sdk/usage/guides/api-keys.md,keys.cpanic website/content/sdk/usage/guides/api-keys.md,keys.santiment -website/content/sdk/usage/guides/api-keys.md,keys.shroom website/content/sdk/usage/guides/api-keys.md,keys.stocksera website/content/sdk/usage/guides/api-keys.md,keys.tokenterminal website/content/sdk/usage/guides/api-keys.md,keys.tradier diff --git a/openbb_terminal/miscellaneous/models/hub_credentials.json b/openbb_terminal/miscellaneous/models/hub_credentials.json index 2370ee7b71d..62309f23eb6 100644 --- a/openbb_terminal/miscellaneous/models/hub_credentials.json +++ b/openbb_terminal/miscellaneous/models/hub_credentials.json @@ -20,7 +20,6 @@ "API_SMARTSTAKE_KEY": "", "API_SMARTSTAKE_TOKEN": "", "API_MESSARI_KEY": "", - "API_SHROOM_KEY": "", "API_SANTIMENT_KEY": "", "API_EODHD_KEY": "", "API_TOKEN_TERMINAL_KEY": "", diff --git a/openbb_terminal/miscellaneous/sources/openbb_default.json b/openbb_terminal/miscellaneous/sources/openbb_default.json index df84e6a192c..0a440cfd03c 100644 --- a/openbb_terminal/miscellaneous/sources/openbb_default.json +++ b/openbb_terminal/miscellaneous/sources/openbb_default.json @@ -402,7 +402,6 @@ "ueat": ["BitQuery"], "ttcp": ["BitQuery"], "baas": ["BitQuery"], - "query": ["Shroom"], "address": ["Ethplorer"], "top": ["Ethplorer"], "balance": ["Ethplorer"], diff --git a/openbb_terminal/sdk.py b/openbb_terminal/sdk.py index 1990c434c1e..6fb8c4260b5 100644 --- a/openbb_terminal/sdk.py +++ b/openbb_terminal/sdk.py @@ -433,7 +433,6 @@ class OpenBBSDK: `rh`: Set Robinhood key\n `santiment`: Set Santiment key.\n `set_keys`: Set API keys in bundle.\n - `shroom`: Set Shroom key\n `smartstake`: Set Smartstake key.\n `stocksera`: Set Stocksera key.\n `tokenterminal`: Set Token Terminal key.\n diff --git a/tests/openbb_terminal/cryptocurrency/onchain/txt/test_onchain_controller/test_print_help.txt b/tests/openbb_terminal/cryptocurrency/onchain/txt/test_onchain_controller/test_print_help.txt index c7dccba9995..035c5c00393 100644 --- a/tests/openbb_terminal/cryptocurrency/onchain/txt/test_onchain_controller/test_print_help.txt +++ b/tests/openbb_terminal/cryptocurrency/onchain/txt/test_onchain_controller/test_print_help.txt @@ -11,7 +11,6 @@ ueat unique ethereum addresses which made a transaction [BitQuery] ttcp top traded crypto pairs on given decentralized exchange [BitQuery] baas bid, ask prices, average spread for given crypto pair [BitQuery] - query flipsidecrypto query [Shroom] Ethereum address: Address type: diff --git a/tests/openbb_terminal/test_keys_controller.py b/tests/openbb_terminal/test_keys_controller.py index 8af59ae4f4d..c12d981cafa 100644 --- a/tests/openbb_terminal/test_keys_controller.py +++ b/tests/openbb_terminal/test_keys_controller.py @@ -77,7 +77,6 @@ class MockCFG: self.API_MESSARI_KEY = kwargs.get("MESSARI", None) self.API_SANTIMENT_KEY = kwargs.get("SANTIMENT", None) self.API_TOKENTERMINAL_KEY = kwargs.get("TOKENTERMINAL", None) - self.API_SHROOM_KEY = kwargs.get("SHROOM", None) @pytest.mark.skip @@ -242,9 +241,3 @@ def test_call_messari(other): @pytest.mark.parametrize("other", [[], ["-k", "1234", "-t", "456"]]) def test_call_tokenterminal(other): controller.call_tokenterminal(other) - - -@pytest.mark.vcr -@pytest.mark.parametrize("other", [[], ["-k", "1234", "-t", "456"]]) -def test_call_shroom(other): - controller.call_shroom(other) diff --git a/tests/openbb_terminal/test_keys_model.py b/tests/openbb_terminal/test_keys_model.py index f5b2883e3dd..d8fdc3a751f 100644 --- a/tests/openbb_terminal/test_keys_model.py +++ b/tests/openbb_terminal/test_keys_model.py @@ -792,29 +792,3 @@ def test_set_tokenterminal_key( show_output=show_output, ) mock_check.assert_called_once_with(show_output) - - -@pytest.mark.vcr -@pytest.mark.parametrize( - "args, persist, show_output", - [ - ( - ["test_key"], - False, - True, - ), - ( - ["test_key"], - False, - False, - ), - ], -) -def test_set_shroom_key(args: List[str], persist: bool, show_output: bool, mocker): - mock_check = mocker.patch("openbb_terminal.keys_model.check_shroom_key") - keys_model.set_shroom_key( - key=args[0], - persist=persist, - show_output=show_output, - ) - mock_check.assert_called_once_with(show_output) diff --git a/website/content/sdk/reference/keys/index.md b/website/content/sdk/reference/keys/index.md index 772abe855f7..0ccad6fbe8a 100644 --- a/website/content/sdk/reference/keys/index.md +++ b/website/content/sdk/reference/keys/index.md @@ -27,7 +27,6 @@ - [rh](/sdk/reference/keys/rh) - [santiment](/sdk/reference/keys/santiment) - [set_keys](/sdk/reference/keys/set_keys) -- [shroom](/sdk/reference/keys/shroom) - [si](/sdk/reference/keys/si) - [smartstake](/sdk/reference/keys/smartstake) - [stocksera](/sdk/reference/keys/stocksera) diff --git a/website/content/sdk/reference/keys/shroom.md b/website/content/sdk/reference/keys/shroom.md deleted file mode 100644 index c76b0588ba7..00000000000 --- a/website/content/sdk/reference/keys/shroom.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: shroom -description: OpenBB SDK Function ---- - -# shroom - -Set Shroom key - -Source Code: [[link](https://github.com/OpenBB-finance/OpenBBTerminal/tree/main/openbb_terminal/keys_model.py#L2412)] - -```python -openbb.keys.shroom(key: str, persist: bool = False, show_output: bool = False) -``` - ---- - -## Parameters - -| Name | Type | Description | Default | Optional | -| ---- | ---- | ----------- | ------- | -------- | -| key | str | API key | None | False | -| persist | bool | 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. | False | True | -| show_output | bool | Display status string or not. By default, False. | False | True | - - ---- - -## Returns - -| Type | Description | -| ---- | ----------- | -| str | Status of key set | ---- - -## Examples - -```python -from openbb_terminal.sdk import openbb -openbb.keys.shroom(key="example_key") -``` - ---- - diff --git a/website/content/sdk/usage/guides/api-keys.md b/website/content/sdk/usage/guides/api-keys.md index 3fbc992d37f..3d751db4843 100644 --- a/website/content/sdk/usage/guides/api-keys.md +++ b/website/content/sdk/usage/guides/api-keys.md @@ -729,33 +729,6 @@ openbb.keys.santiment(key = 'REPLACE_WITH_KEY', persist = True) -### ShroomDK - -> ShroomDK (SDK), by Flipside Crypto gives you programmatic query access to the most comprehensive blockchain data sets in Web3, for free. - -
-Instructions - -Go to: 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 > Empowering investors to take advantage of alternative data. We track trending tickers on social media and provide alternative data for easy due-diligence & analysis. diff --git a/website/content/terminal/usage/guides/api-keys.md b/website/content/terminal/usage/guides/api-keys.md index 30f712e3cb8..75ff8caac82 100644 --- a/website/content/terminal/usage/guides/api-keys.md +++ b/website/content/terminal/usage/guides/api-keys.md @@ -551,7 +551,7 @@ Upon completion of the account setup, enter the credentials into the OpenBB Term ``` - + ### OpenAI @@ -574,7 +574,7 @@ Click the top right "Personal" button to find the following drop down: Click `View API Keys`. This will take you to the api Keys menu. Then click `Create new secret key`: ![OpenAI](https://github.com/OpenBB-finance/OpenBBTerminal/assets/105685594/210fa55b-8a33-4647-bdd4-28a478b02ba8) - + Then enter the Secret key credentials into the OpenBB Terminal using the syntax: ```console @@ -582,9 +582,9 @@ Then enter the Secret key credentials into the OpenBB Terminal using the syntax: ``` - - - + + + ### Polygon @@ -717,33 +717,6 @@ Add it to the OpenBB Terminal by entering: -### ShroomDK - -> ShroomDK (SDK), by Flipside Crypto gives you programmatic query access to the most comprehensive blockchain data sets in Web3, for free. - -
-Instructions - -Go to: 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 > Empowering investors to take advantage of alternative data. We track trending tickers on social media and provide alternative data for easy due-diligence & analysis.