cryptodatapy.extract.params.vendors.coinmetrics_param_converter

Attributes

logger

Classes

CoinMetricsParamConverter

Converts a standard DataRequest object into the specific set of parameters

Module Contents

cryptodatapy.extract.params.vendors.coinmetrics_param_converter.logger
class cryptodatapy.extract.params.vendors.coinmetrics_param_converter.CoinMetricsParamConverter(data_req: cryptodatapy.core.data_request.DataRequest)

Bases: cryptodatapy.extract.params.base_param_converter.BaseParamConverter

Converts a standard DataRequest object into the specific set of parameters required by CoinMetrics API.

ENDPOINT_MAP
base_params
_convert_tickers() List[str]

Converts the standard ticker to CoinMetrics-specific asset ID(s).

Returns:

List of CoinMetrics asset IDs (lowercase).

Return type:

List[str]

_convert_freq() str

Converts the standard frequency to CoinMetrics-specific frequency string. Corrected some imprecise mappings to better reflect CoinMetrics granularity.

Returns:

CoinMetrics frequency string.

Return type:

str

_convert_exchange() str

Converts the standard exchange to CoinMetrics-specific exchange ID.

Returns:

CoinMetrics exchange ID.

Return type:

str

_convert_markets() List[str]

Converts the standard market types to CoinMetrics-specific market IDs. Note: The complex logic for perpetual futures is retained but simplified slightly.

Returns:

List of CoinMetrics market IDs.

Return type:

List[str]

_convert_dates() Tuple[str | None, str | None]

Converts start and end dates to CoinMetrics-specific date strings.

Returns:

(source_start_date, source_end_date) in ‘YYYY-MM-DD’ format or None.

Return type:

Tuple[Optional[str], Optional[str]]

_get_base_params() Dict[str, Any]

Returns common parameters for all CoinMetrics requests.

Returns:

A dictionary containing common vendor-specific parameters.

Return type:

Dict[str, Any]

_convert_index(index_tickers: List[str], index_fields: List[str]) Dict[str, Any]

Converts the standard index request to CoinMetrics-specific parameters.

Parameters:
  • index_tickers (List[str]) – List of valid index tickers for CoinMetrics.

  • index_fields (List[str]) – List of valid index fields for CoinMetrics.

Returns:

A dictionary containing vendor-specific parameters for index data.

Return type:

Dict[str, Any]

_convert_ohlcv(market_tickers: List[str], market_fields: List[str]) Dict[str, Any]

Converts the standard OHLCV request to CoinMetrics-specific parameters.

Parameters:
  • market_tickers (List[str]) – List of valid market tickers for CoinMetrics.

  • market_fields (List[str]) – List of valid market fields for CoinMetrics.

Returns:

A dictionary containing vendor-specific parameters for OHLCV data.

Return type:

Dict[str, Any]

_convert_onchain(asset_tickers: List[str], asset_fields: List[str]) Dict[str, Any]

Converts the standard on-chain data request to CoinMetrics-specific parameters.

Parameters:
  • asset_tickers (List[str]) – List of valid asset tickers for CoinMetrics.

  • asset_fields (List[str]) – List of valid asset fields for CoinMetrics.

Returns:

A dictionary containing vendor-specific parameters for on-chain data.

Return type:

Dict[str, Any]

_convert_open_interest(market_tickers: List[str], oi_fields: List[str] = ['contract_count']) Dict[str, Any]

Converts the standard open interest data request to CoinMetrics-specific parameters.

Returns:

A dictionary containing vendor-specific parameters for open interest data.

Return type:

Dict[str, Any]

_convert_funding_rates(market_tickers: List[str], rate_fields: List[str] = ['rate']) Dict[str, Any]

Converts the standard funding rates data request to CoinMetrics-specific parameters.

Parameters:
  • market_tickers (List[str]) – List of valid market tickers for CoinMetrics.

  • rate_fields (List[str]) – List of valid funding rate fields for CoinMetrics.

Returns:

A dictionary containing vendor-specific parameters for funding rates data.

Return type:

Dict[str, Any]

_convert_trades(market_tickers: List[str], trade_fields: List[str] = ['amount', 'price', 'side']) Dict[str, Any]

Converts the standard trades data request to CoinMetrics-specific parameters.

Parameters:
  • market_tickers (List[str]) – List of valid market tickers for CoinMetrics.

  • trade_fields (List[str]) – List of valid trade fields for CoinMetrics.

Returns:

A dictionary containing vendor-specific parameters for trades data.

Return type:

Dict[str, Any]

_convert_quotes(market_tickers: List[str], quote_fields: List[str] = ['bid_price', 'ask_price', 'bid_size', 'ask_size']) Dict[str, Any]

Converts the standard quotes data request to CoinMetrics-specific parameters.

Parameters:
  • market_tickers (List[str]) – List of valid market tickers for CoinMetrics.

  • quote_fields (List[str]) – List of valid quote fields for CoinMetrics.

Returns:

A dictionary containing vendor-specific parameters for quotes data.

Return type:

Dict[str, Any]

convert(index_tickers: List[str] | None = None, index_fields: List[str] | None = None, market_tickers: List[str] | None = None, market_fields: List[str] | None = None, asset_tickers: List[str] | None = None, asset_fields: List[str] | None = None, oi_fields: List[str] | None = None, rate_fields: List[str] | None = None, trade_fields: List[str] | None = None, quote_fields: List[str] | None = None) Dict[str, Any]

Converts the DataRequest object into a dictionary of CoinMetrics parameters. This method dispatches to the correct specific conversion method based on ticker and field availability.

Returns:

A dictionary containing vendor-specific parameters.

Return type:

Dict[str, Any]