Source code for avni.api.cmt

''' global cmt api class '''
# python 3 compatibility
from __future__ import absolute_import, division, print_function
import sys
if (sys.version_info[:2] < (3, 0)):
    from builtins import *

# imports for client:
import json,requests
import pandas as pd

[docs]class CMT(object): def __init__(self,client): self.r3dc=client self.endpoint='/globalcmt' return
[docs] def fetchCMTevents(self,cmt_filters={}): ''' fetches events from CMT, returns pandas dataframe. Inputs: cmt_filters = dictionary for filtering: keys can be: 'date_start','date_end','depth_min_km', 'depth_max_km','mag_min' or 'mag_max' date keys are strings: 'YYYY-MM-DD' or 'YYYY-MM-DD HH:MM:SS' other keys are integer or float values. API defaults mag_min to 5, no other defaults. ''' cmt_filters['key']=self.r3dc.key ds_json=self.r3dc.call(self.endpoint,cmt_filters,60) # returns column-oriented json string events=json.loads(ds_json) # load json as python dict if 'call_incomplete' not in events.keys(): events=pd.DataFrame.from_dict(events).reset_index() # convert to dataframe return events