cryptodatapy.extract.data_vendors.glassnode_api

Attributes

data_cred

urls

Classes

Glassnode

Retrieves data from Glassnode API.

Module Contents

cryptodatapy.extract.data_vendors.glassnode_api.data_cred
cryptodatapy.extract.data_vendors.glassnode_api.urls
class cryptodatapy.extract.data_vendors.glassnode_api.Glassnode(categories=None, exchanges: list[str] | None = None, indexes: list[str] | None = None, assets: list[str] | None = None, markets: list[str] | None = None, market_types=None, fields: list[str] | None = None, frequencies=None, base_url: str = data_cred.glassnode_base_url, api_key: str = data_cred.glassnode_api_key, max_obs_per_call: int | None = None, rate_limit: Any | None = None)

Bases: cryptodatapy.extract.data_vendors.datavendor.DataVendor

Retrieves data from Glassnode API.

get_exchanges_info() None

Gets exchanges info.

get_indexes_info() None

Gets indexes info.

req_assets() Dict[str, Any]

Get request for assets info.

Returns:

dict – Data response with asset info in json format.

Return type:

dictionary

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

Get markets info.

req_fields() Dict[str, Any]

Get request for fields info.

Returns:

dict – Data response with fields info in json format.

Return type:

dictionary

get_fields_info(data_type: str | None = None, as_list: bool = False) list[str] | pandas.DataFrame

Get fields info.

Parameters:
  • data_type (str, {'market', 'on-chain', 'off-chain'}, default None) – Type of data.

  • as_list (bool, default False) – Returns available fields info as list.

Returns:

fields – List or dataframe with info on available fields.

Return type:

list or pd.DataFrame

get_rate_limit_info() None

Get rate limit info.

req_data(data_req: cryptodatapy.extract.datarequest.DataRequest, ticker: str, field: str) Dict[str, Any]

Submits data request to API.

Parameters:
  • data_req (DataRequest) – Data request parameters in CryptoDataPy format.

  • ticker (str) – Requested ticker symbol.

  • field (str) – Requested field.

Returns:

data_resp – Data response in json format.

Return type:

dict

static wrangle_data_resp(data_req: cryptodatapy.extract.datarequest.DataRequest, data_resp: Dict[str, Any], field: str) pandas.DataFrame

Wrangle data response into tidy data format.

Parameters:
  • data_req (DataRequest) – Data request parameters in CryptoDataPy format.

  • data_resp (dictionary) – Data response in JSON format.

  • field (str) – Requested field.

Returns:

df – Wrangled dataframe with DatetimeIndex and selected field values (cols), in tidy format.

Return type:

pd.DataFrame

get_tidy_data(data_req: cryptodatapy.extract.datarequest.DataRequest, ticker: str, field: str) pandas.DataFrame

Submits data request and wrangles the data response into tidy data format.

Parameters:
  • data_req (DataRequest) – Data request parameters in CryptoDataPy format.

  • ticker (str) – Requested ticker symbol.

  • field (str) – Requested field.

Returns:

df – Dataframe with DatetimeIndex and field values (col) wrangled into tidy data format.

Return type:

pd.DataFrame

get_all_fields(data_req: cryptodatapy.extract.datarequest.DataRequest, ticker: str) pandas.DataFrame

Loops list of tickers, retrieves data in tidy format for each ticker and stores it in a dataframe.

Parameters:
  • data_req (DataRequest) – Data request parameters in CryptoDataPy format.

  • ticker (str) – Requested ticker symbol.

Returns:

df – Dataframe with DatetimeIndex and values for fields (cols), in tidy data format.

Return type:

pd.DataFrame

check_params(data_req: cryptodatapy.extract.datarequest.DataRequest) None

Check data request parameters before calling API to improve efficiency.

Parameters:

data_req (DataRequest) – Data request parameters in CryptoDataPy format.

get_data(data_req: cryptodatapy.extract.datarequest.DataRequest) pandas.DataFrame

Get market, on-chain or off-chain data.

Parameters:

data_req (DataRequest) – Data request parameters 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 data format.

Return type:

pd.DataFrame - MultiIndex