This commit is contained in:
James Maslek
2023-08-22 10:39:51 -04:00
21 changed files with 5 additions and 788 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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,
)

View File

@@ -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,
1 trail model view
119 crypto.onchain.info crypto_onchain_ethplorer_model.get_token_info crypto_onchain_ethplorer_view.display_token_info
120 crypto.onchain.lt crypto_onchain_bitquery_model.get_dex_trades_by_exchange crypto_onchain_bitquery_view.display_dex_trades
121 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
122 crypto.onchain.query_graph crypto_onchain_bitquery_model.query_graph
123 crypto.onchain.th crypto_onchain_ethplorer_model.get_token_history crypto_onchain_ethplorer_view.display_token_history
124 crypto.onchain.token_decimals crypto_onchain_ethplorer_model.get_token_decimals
306 keys.rh keys_model.set_rh_key
307 keys.santiment keys_model.set_santiment_key
308 keys.set_keys keys_model.set_keys
keys.shroom keys_model.set_shroom_key
309 keys.smartstake keys_model.set_smartstake_key
310 keys.stocksera keys_model.set_stocksera_key
311 keys.tokenterminal keys_model.set_tokenterminal_key

View File

@@ -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"""

View File

@@ -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()

View File

@@ -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)

View File

@@ -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"""

View File

@@ -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:

View File

@@ -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
1 file command
37 website/content/sdk/usage/guides/api-keys.md keys.polygon
38 website/content/sdk/usage/guides/api-keys.md keys.cpanic
39 website/content/sdk/usage/guides/api-keys.md keys.santiment
website/content/sdk/usage/guides/api-keys.md keys.shroom
40 website/content/sdk/usage/guides/api-keys.md keys.stocksera
41 website/content/sdk/usage/guides/api-keys.md keys.tokenterminal
42 website/content/sdk/usage/guides/api-keys.md keys.tradier

View File

@@ -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": "",

View File

@@ -402,7 +402,6 @@
"ueat": ["BitQuery"],
"ttcp": ["BitQuery"],
"baas": ["BitQuery"],
"query": ["Shroom"],
"address": ["Ethplorer"],
"top": ["Ethplorer"],
"balance": ["Ethplorer"],

View File

@@ -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

View File

@@ -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:

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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.<br/>If True, api key change will be global, i.e. it will affect terminal environment variables.<br/>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")
```
---

View File

@@ -729,33 +729,6 @@ openbb.keys.santiment(key = 'REPLACE_WITH_KEY', persist = True)
</details>
### ShroomDK
> ShroomDK (SDK), by Flipside Crypto gives you programmatic query access to the most comprehensive blockchain data sets in Web3, for free.
<details>
<summary>Instructions</summary>
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)
```
</details>
### 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.

View File

@@ -551,7 +551,7 @@ Upon completion of the account setup, enter the credentials into the OpenBB Term
```
</details>
### 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:
```
</details>
### Polygon
@@ -717,33 +717,6 @@ Add it to the OpenBB Terminal by entering:
</details>
### ShroomDK
> ShroomDK (SDK), by Flipside Crypto gives you programmatic query access to the most comprehensive blockchain data sets in Web3, for free.
<details>
<summary>Instructions</summary>
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
```
</details>
### 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.