cryptodatapy.extract.data_vendors.cryptocompare_api
Attributes
Classes
Retrieves data from CryptoCompare API. |
Module Contents
- cryptodatapy.extract.data_vendors.cryptocompare_api.data_cred
- class cryptodatapy.extract.data_vendors.cryptocompare_api.CryptoCompare(categories: List[str] = ['crypto'], exchanges: list[str] | None = None, indexes: list[str] | None = None, assets: list[str] | None = None, markets: list[str] | None = None, market_types: List[str] = ['spot'], fields: list[str] | None = None, frequencies: List[str] = ['1min', '1h', 'd'], base_url: str = data_cred.cryptocompare_base_url, api_endpoints: Dict[str, str] = data_cred.cryptomcompare_endpoints, api_key: str = data_cred.cryptocompare_api_key, max_obs_per_call: int = 2000, rate_limit: pandas.DataFrame | None = None)
Bases:
cryptodatapy.extract.data_vendors.datavendor.DataVendorRetrieves data from CryptoCompare API.
- onchain_fields = None
- social_fields = None
- data_req = None
- data_resp = None
- data
- req_meta(info_type: str) Dict[str, Any]
Request metadata.
- Parameters:
info_type (str, {'exchanges_info', 'indexes_info', 'assets_info', 'markets_info',) –
- ‘on-chain_tickers_info’, ‘on-chain_info’, ‘social_info’, ‘news’,
’news_sources’, ‘rate_limit_info’, ‘top_mkt_cap_info’, ‘indexes’}
Type of metadata to request.
- Returns:
meta – Metadata in JSON format.
- Return type:
dictionary
- get_exchanges_info(as_list: bool = False) list[str] | pandas.DataFrame
Get indexes info.
- Parameters:
as_list (bool, default False) – Returns indexes info as list.
- Returns:
indexes – List or dataframe with info on available indexes.
- Return type:
list or pd.DataFrame
- get_indexes_info(as_list: bool = False) list[str] | pandas.DataFrame
Get indexes info.
- Parameters:
as_list (bool, default False) – Returns indexes info as list.
- Returns:
indexes – List or dataframe with info on available indexes.
- Return type:
list or pd.DataFrame
- get_assets_info(as_list: bool = False) list[str] | pandas.DataFrame
Get assets info.
- Parameters:
as_list (bool, default False) – Returns assets info as list.
- Returns:
assets – List or dataframe with info on available assets.
- Return type:
list or pd.DataFrame
- get_markets_info(as_list: bool = False) list[str] | dict[str]
Get markets info.
- Parameters:
as_list (bool, default False) – Returns markets info as list.
- Returns:
mkts – Dictionary or list with info on available markets.
- Return type:
dictionary or list
- get_onchain_tickers_info(as_list: bool = False) list[str] | pandas.DataFrame
Get on-chain data info.
- Parameters:
as_list (bool, default False) – Returns available on-chain data as list.
- Returns:
tickers – list or dataframe with info on tickers with available on-chain data.
- Return type:
list or pd.DataFrame
- get_onchain_info() list[str]
Get on-chain fields info.
- Returns:
onchain_fields – List of available on-chain fields.
- Return type:
list
- get_social_info() list[str]
Get social fields info.
- Returns:
social_fields – List of available social fields.
- Return type:
list
- get_fields_info(data_type: str | None = None) list[str]
Get fields info.
- Parameters:
data_type (str, {'market', 'on-chain', 'off-chain'}, default None) – Type of data.
- Returns:
fields_list – List of available fields.
- Return type:
list
- req_rate_limit() Dict[str, Any]
Get request for rate limit info.
- get_rate_limit_info() pandas.DataFrame
Get rate limit info.
- Returns:
rate_limit – DataFrame with API calls left and made by period (hour, day, month).
- Return type:
pd.DataFrame
- get_news() pandas.DataFrame
Get news articles from various sources.
- Returns:
news – News articles from various sources with title, source, body, …
- Return type:
pd.DataFrame
- get_news_sources() pandas.DataFrame
Get news sources.
- Returns:
news_sources – News source info.
- Return type:
pd.DataFrame
- req_top_mkt_cap(n: int = 100) Dict[str, Any]
Get request for top mkt cap coins info.
- get_top_mkt_cap_info(n: int = 100) list[str]
Get list of top assets by market cap.
- Parameters:
n (int, default 100) – Number of assets to return sorted by market cap.
- Returns:
tickers – List of tickers for top n coins ranked by market cap.
- Return type:
list
- set_urls_params(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, ticker: str) Dict[str, str | Any]
Sets url and params for get request.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'ohlcv', 'on-chain', 'social'}) – Data type to retrieve.
ticker (str) – Ticker symbol.
- Returns:
dict – Dictionary with url and params values for get request.
- Return type:
dictionary
- req_data(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, ticker: str) Dict[str, Any]
Submits get request to CryptoCompare API.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'ohlcv', 'on-chain', 'social'}) – Data type to retrieve.
ticker (str) – Ticker symbol.|
- Returns:
data_resp – Data response in JSON format.
- Return type:
dict
- get_all_data_hist(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, ticker: str) pandas.DataFrame
Submits get requests to API until entire data history has been collected. Only necessary when number of observations is larger than the maximum number of observations per call.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'ohlcv', 'on-chain', 'social'}) – Data type to retrieve.
ticker (str) – Ticker symbol.
- Returns:
df – Dataframe with entire data history retrieved.
- Return type:
pd.DataFrame
- static wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: pandas.DataFrame) pandas.DataFrame
Wrangle data response.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_resp (pd.DataFrame) – Data response from GET request.
- Returns:
df – Wrangled dataframe with DatetimeIndex and values in tidy format.
- Return type:
pd.DataFrame
- get_tidy_data(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, ticker: str) pandas.DataFrame
Gets entire data history and wrangles the data response into tidy data format.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'ohlcv', 'on-chain', 'social'}) – Data type to retrieve.
ticker (str) – Ticker symbol.
- Returns:
df – Dataframe with entire data history retrieved and wrangled into tidy data format.
- Return type:
pd.DataFrame
- get_all_tickers(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str) pandas.DataFrame
Loops list of tickers, retrieves data in tidy format for each ticker and stores it in a multiindex dataframe.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'ohlcv', 'on-chain', 'social'}) – Data type to retrieve.
- Returns:
df – Dataframe with DatetimeIndex (level 0), ticker (level 1) and values for fields (cols), in tidy data format.
- Return type:
pd.DataFrame - MultiIndex
- get_indexes(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Gets indexes data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and index values (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- get_ohlcv(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Gets OHLCV data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and OHLCV values (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- get_onchain(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Gets on chain data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and values for on-chain fields (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- get_social(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Gets social media data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and values for social media fields (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- check_params(data_req: cryptodatapy.extract.datarequest.DataRequest) None
Checks the parameters of the data request before requesting data to reduce API calls and improve efficiency.
- get_data(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get either market, on-chain or social media data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and values for OHLCV, on-chain and/or social fields (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex