messari package
Subpackages
- messari.blockexplorers package
- Subpackages
- messari.blockexplorers.arbiscan package
- messari.blockexplorers.bscscan package
- messari.blockexplorers.etherscan package
- messari.blockexplorers.ftmscan package
- messari.blockexplorers.optimisticetherscan package
- messari.blockexplorers.polygonscan package
- messari.blockexplorers.snowtrace package
- messari.blockexplorers.solscan package
- Submodules
- messari.blockexplorers.helpers module
- messari.blockexplorers.scanner module
- Module contents
- Subpackages
- messari.deepdao package
- messari.defillama package
- messari.eventmonitor package
- messari.messari package
- messari.nfts package
- messari.tokenterminal package
Submodules
messari.dataloader module
This module is meant to contain the DataLoader class
- class messari.dataloader.DataLoader(api_dict: Dict, taxonomy_dict: Dict)
Bases:
object
This class is meant to represent a base wrapper around a variety of different API’s used as data sources
Methods
get_response
(endpoint_url[, params, headers])Gets response from endpoint and checks for HTTP errors when requesting data.
set_api_dict
(api_dict)Sets a new dictionary to be used as an API key pair
set_taxonomy_dict
(taxonomy_dict)Sets a new dictionary to be used for taxonomy translations
translate
(input_slugs)Wrapper around messari.utils.validate_input, validate input & check if it's supported by DeFi Llama
- get_response(endpoint_url: str, params: Optional[Dict] = None, headers: Optional[Dict] = None) Dict
Gets response from endpoint and checks for HTTP errors when requesting data.
- Parameters
endpoint_url – str URL API string.
params – dict Dictionary of query parameters.
headers – str: Dictionary of headers
- Returns
JSON with requested data
:raises SystemError if HTTP error occurs
- set_api_dict(api_dict: Dict) None
Sets a new dictionary to be used as an API key pair
- Parameters
api_dict – Dict New API dictionary
- set_taxonomy_dict(taxonomy_dict: Dict) None
Sets a new dictionary to be used for taxonomy translations
- Parameters
taxonomy_dict – Dict New taxonomy dictionary
- translate(input_slugs: Union[str, List]) Optional[List]
Wrapper around messari.utils.validate_input, validate input & check if it’s supported by DeFi Llama
- Parameters
- input_slugs: str, list
Single input slug string or list of input slugs (i.e. bitcoin)
- Returns
- List
list of validated & translated slugs
messari.utils module
This module is dedicated to utilites used by multiple classes
- messari.utils.convert_flatten(response_json: Union[Dict, collections.abc.MutableMapping], parent_key: str = '', sep: str = '_') Dict
Collapse JSON response to one single dictionary.
- Parameters
response_json – dict, MutableMapping JSON response from API call.
parent_key – str Key from original JSON
sep – str Delimiter for new keys
:return Collapsed JSON.ass
- messari.utils.find_and_update_asset_field(asset_fields: List, field: str, updated_field: str) List
Find a updates fields list to concatenate drill metric or profile drill down in url.
- Parameters
asset_fields – list List of asset fields.
field – str String of asset field to replace.
updated_field – str String to update asset field.
:return Updated asset field list.
- messari.utils.get_taxonomy_dict(filename: str) Dict
- messari.utils.time_filter_df(df_in: pandas.core.frame.DataFrame, start_date: Optional[Union[str, datetime.datetime]] = None, end_date: Optional[Union[str, datetime.datetime]] = None) pandas.core.frame.DataFrame
Convert filter timeseries indexed DataFrame
- Parameters
df_in – pd.DataFrame Dataframe to filter
start_date – str Optional starting date for filter
end_date – str Optional end date for filter
- Returns
pandas DataFrame
- messari.utils.unpack_list_of_dicts(list_of_dicts: List) Dict
Unpack list of dictionaries to dictionary of dictionaries.
The keys of the object are assets and the value is the associated asset data.
- Parameters
list_of_dicts – list List of python dictionaries
:return Dictionary of dictionaries
- messari.utils.validate_asset_fields_list_order(asset_fields: List, field: str) List
Validates fields list order is arranged correctly when constructing url.
- Parameters
asset_fields – list List of asset fields
field – str String of asset field
:return Arranged list of metrics
- messari.utils.validate_datetime(datetime_input: Union[str, datetime.datetime]) Optional[datetime.date]
Checks if input is datetime.datetime.
- Parameters
datetime_input – str, datetime.datetime Single string “YYYY-MM-DD” or datetime.datetime
:return datetime.datetime. :raises ValueError if input is neither a string (formatted correctly) or datetime.datetime
- messari.utils.validate_input(asset_input: Union[str, List]) List[str]
Checks if input is list.
- Parameters
asset_input – str, list Single asset slug string or list of asset slugs (i.e. BTC).
:return List of asset slugs. :raises ValueError if input is neither a string or list
- messari.utils.validate_int(int_input: Union[int, List]) List[int]
Checks if input is list.
- Parameters
asset_input – int, list Single int or list of ints
:return List of ints. :raises ValueError if input is neither a int or list