cryptodatapy.extract.data_vendors.coinmetrics_api
Attributes
Classes
Retrieves data from Coin Metrics Python client API v4. |
Module Contents
- cryptodatapy.extract.data_vendors.coinmetrics_api.data_cred
- cryptodatapy.extract.data_vendors.coinmetrics_api.client
- class cryptodatapy.extract.data_vendors.coinmetrics_api.CoinMetrics(categories: str | 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', 'perpetual_future', 'future', 'option'], fields: List[str] | None = None, frequencies: List[str] = ['tick', 'block', '1s', '1min', '5min', '10min', '15min', '30min', '1h', '2h', '4h', '8h', 'd', 'w', 'm', 'q'], base_url: str | None = data_cred.coinmetrics_base_url, api_endpoints: Dict[str, str] | None = None, api_key: str | None = data_cred.coinmetrics_api_key, max_obs_per_call: int | None = None, rate_limit: Any | None = None)
Bases:
cryptodatapy.extract.data_vendors.datavendor.DataVendorRetrieves data from Coin Metrics Python client API v4.
- data_req = None
- data_resp = None
- data
- req_meta(data_type: str) Dict[str, Any]
Request metadata.
- Parameters:
data_type (str, {'catalog_exchanges', 'catalog_indexes', 'catalog_assets', 'catalog_institutions',) – ‘catalog_markets’, ‘catalog_metrics’ } Type of data to request metadata for.
- Returns:
meta – Object with metadata.
- Return type:
Any
- get_exchanges_info(as_list: bool = False) List[str] | pandas.DataFrame
Get exchanges info.
- Parameters:
as_list (bool, default False) – Returns exchanges info as list.
- Returns:
exch – List or dataframe with info on supported exchanges.
- 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 a 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] | pandas.DataFrame
Get markets info.
- Parameters:
as_list (bool, default False) – Returns markets info as dict with exchange-markets key-values pair.
- Returns:
mkts – List or dataframe with info on available markets, by exchange.
- Return type:
list or pd.DataFrame
- get_onchain_fields_info(as_list: bool = False) List[str] | pandas.DataFrame
Get on-chain fields info.
- Parameters:
as_list (bool, default False) – Returns on-chain fields as list.
- Returns:
onchain_fields – List or dataframe of on-chain info.
- Return type:
list or pd.DataFrame
- get_fields_info(data_type: str | None = None, as_list: bool = False) List[str] | pandas.DataFrame
Get fields info. Can be filtered by data type.
- Parameters:
data_type (str, optional, {'market', 'on-chain', 'off-chain'}, default None) – Type of data.
as_list (bool, default False) – Returns available fields as list.
- Returns:
fields – List or dataframe with info on available fields.
- Return type:
list or pd.DataFrame
- get_onchain_tickers_list(data_req: cryptodatapy.extract.datarequest.DataRequest) List[str]
Get list of available assets for fields in data request.
- Parameters:
data_req (DataRequest) – Data request object with ‘fields’ parameter.
- Returns:
asset_list – List of available assets for selected fields.
- Return type:
list
- get_rate_limit_info() None
Get rate limit info.
- get_metadata() None
Get CoinMetrics metadata.
- req_data(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, params: Dict[str, str | int]) pandas.DataFrame
Sends data request to Python client.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'/timeseries/index-levels', '/timeseries/institution-metrics',) – ‘/timeseries/market-candles’, ‘/timeseries/asset-metrics’, ‘/timeseries/market-open-interest’, ‘/timeseries/market-funding-rates’, ‘/timeseries/market-trades’, ‘/timeseries/market-quotes’} Data type to retrieve.
params (dict) – Dictionary containing parameter values for get request.
- Returns:
df – Dataframe with datetime, ticker/identifier, and field/col values.
- Return type:
pd.DataFrame
- wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: pd.DataFrame())
Wrangle data response.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_resp (pd.DataFrame) – Data response from API.
- Returns:
df – Wrangled dataframe with DatetimeIndex (level 0), ticker or institution (level 1), and market, on-chain or off-chain values for selected fields (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex
- get_tidy_data(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str, params: dict) pandas.DataFrame
Gets data and wrangles it into tidy data format.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'get_index_levels', 'get_institution_metrics', 'get_market_candles', 'get_asset_metrics',) –
- ‘get_market_open_interest’, ‘get_market_funding_rates’, ‘get_market_trades’,
’get_market_quotes’}
Data type to retrieve.
params (dict) – Dictionary containing parameter values for get request.
- Returns:
df – Dataframe with DatetimeIndex (level 0), ticker (level 1) and values for fields/col, in tidy data format.
- Return type:
pd.DataFrame - MultiIndex
- check_tickers(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str) cryptodatapy.extract.datarequest.DataRequest
Checks tickers for data availability.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'institutions', market_candles', 'asset_metrics', 'open_interest', 'funding_rates',) – ‘trades’, quotes’} Data type to retrieve.
- Returns:
tickers – List of available tickers.
- Return type:
list
- check_fields(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str) cryptodatapy.extract.datarequest.DataRequest
Checks fields for data availability.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'institutions', 'market_candles', 'asset_metrics', 'open_interest',) – ‘funding_rates’, ‘trades’, quotes’} Data type to retrieve.
- Returns:
fields – List of avaialble fields.
- Return type:
list
- check_params(data_req: cryptodatapy.extract.datarequest.DataRequest, data_type: str) None
Checks data request parameters.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
data_type (str, {'indexes', 'institutions', 'market_candles', 'asset_metrics', 'open_interest', 'funding_rates',) – ‘trades’, quotes’} Data type to retrieve.
- get_indexes(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get indexes data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), tickers (level 1) and index values (cols).
- Return type:
pd.DataFrame
- get_ohlcv(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get OHLCV (candles) 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).
- Return type:
pd.DataFrame - MultiIndex
- get_onchain(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get 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 on-chain values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_open_interest(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get open interest data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and open interest values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_funding_rates(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get funding rates data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and funding rates values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_trades(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get trades (transactions) data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and bid/ask price and size values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_quotes(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get quotes (order book) data.
- Parameters:
data_req (DataRequest) – Parameters of data request in CryptoDataPy format.
- Returns:
df – DataFrame with DatetimeIndex (level 0), ticker (level 1), and bid/ask price and size values (cols).
- Return type:
pd.DataFrame - MultiIndex
- get_data(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame
Get market, on-chain and/or off-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 market, on-chain and/or off-chain fields (cols), in tidy format.
- Return type:
pd.DataFrame - MultiIndex