from abc import (ABCMeta, abstractmethod, ) import datetime class AbstractConnectionClient(metaclass=ABCMeta): """ Clients for connections in this application will be based on this class """ @abstractmethod def __init__(self, credentials): """ Make a connection to the network and returns a client for accessing data. Arguments: credentials {json} -- credentials needed by the client to connect """ self.credentials = credentials @abstractmethod def get_transactions(self, start_datetime, end_datetime): """Pulls a list of all transactions available between start and end times. Arguments: start_datetime {datetime} -- datetime representing start time end_datetime {datetime} -- datetime representing end time """