defillama_wrangler
Attributes
Classes
Handles DefiLlama API specific data wrangling for both time series data |
Module Contents
- defillama_wrangler.logger
- class defillama_wrangler.DefiLlamaWrangler(data_req, data_resp)
Bases:
cryptodatapy.transform.wranglers.base_wrangler.BaseDataWranglerHandles DefiLlama API specific data wrangling for both time series data and metadata (info) responses. Inherits common data processing from BaseDataWrangler.
- wrangle_chains_info(remove_missing: list | None = None, as_list: bool = False) pandas.DataFrame | list
Wrangles DefiLlama chains info.
- Parameters:
remove_missing (Optional[list]) – List of columns to check for missing values to remove rows.
as_list (bool) – If True, returns a list of chain names instead of DataFrame.
- Returns:
Wrangled DataFrame or list of chain names.
- Return type:
Union[pd.DataFrame, list]
- wrangle_protocols_info(remove_missing: list | None = None, as_list: bool = False) pandas.DataFrame | list
Wrangles DefiLlama protocols info.
- Parameters:
remove_missing (Optional[list]) – List of columns to check for missing values to remove rows.
as_list (bool) – If True, returns a list of chain names instead of DataFrame.
- Returns:
Wrangled DataFrame or list of chain names.
- Return type:
Union[pd.DataFrame, list]
- wrangle_fees_info(remove_missing: list | None = None, as_list: bool = False) pandas.DataFrame | list
Wrangles DefiLlama fees info.
- Parameters:
remove_missing (Optional[list]) – List of columns to check for missing values to remove rows.
as_list (bool) – If True, returns a list of protocol names instead of DataFrame.
- Returns:
Wrangled DataFrame or list of protocol names.
- Return type:
Union[pd.DataFrame, list]
- wrangle_stablecoins_info(remove_missing: list | None = None, as_list: bool = False) pandas.DataFrame | list
Wrangles DefiLlama stablecoins info.
- Parameters:
remove_missing (Optional[list]) – List of columns to check for missing values to remove rows.
as_list (bool) – If True, returns a list of stablecoin names instead of DataFrame.
- Returns:
Wrangled DataFrame or list of stablecoin names.
- Return type:
Union[pd.DataFrame, list]
- wrangle_yields_info() pandas.DataFrame | list
Wrangle DefiLlama yields info.
- Returns:
Wrangled DataFrame of yields info.
- Return type:
Union[pd.DataFrame, list]
- _process_single_timeseries(raw_resp: Dict[str, Any]) pandas.DataFrame
Converts a single raw API response (dict) into a clean DataFrame with appropriate index and metadata columns.
- Parameters:
raw_resp (Dict[str, Any]) – Raw response dictionary containing ‘metadata’ and ‘data’ keys.
- Returns:
Processed DataFrame for the single time series.
- Return type:
pd.DataFrame
- wrangle_time_series() pandas.DataFrame
Processes the list of raw time series data responses and consolidates them into a single, tidy, multi-index DataFrame.
- Returns:
Consolidated DataFrame of all time series data.
- Return type:
pd.DataFrame
- wrangle() pandas.DataFrame
Orchestrates the transformation of DefiLlama time series data.
- Returns:
Wrangled dataframe into tidy data format.
- Return type:
pd.DataFrame