def __init__( self,comparison_attr = "size" , acceptable_deviation = .6, *args,**kwargs):
        '''
        :comparison_attr        - the attribute of the objects we are lookig at that will be used for determiniing truth
        :acceptable_deviation   - the extent to which we can deviate from absolute truth while still being consider true. The meaning of this will varry depending on what methods we are using for testing truth. it has no meaning in the Truth class, but it does in LooseTextTruth and LooseNumericTruth
        '''
        #Truth related stuff
        self.cases = {}

        self.comparison_attr = comparison_attr
        self.acceptable_deviation = acceptable_deviation

        # make sure the hooks are lists, not just methods
        kwargs.setdefault('hooks',{})

        for key in ['pre_request','response']:
            kwargs['hooks'].setdefault(key,[])

            if hasattr(kwargs['hooks'][key],'__call__'):
                kwargs['hooks'][key] = [kwargs['hooks'][key]]

        kwargs['hooks']['pre_request'].append(requests_pre_hook)

        kwargs['hooks']['response'].append(requests_response_hook)

        #
        # moving things to a session for performance (reduce dns lookups)
        #

        self.request_kwargs = {}

        #pull out any other Query objects
        self.query_objects = {}
        for elt in [q for q in kwargs if isinstance(kwargs[q],Query)]:
            self.request_kwargs[elt] = kwargs[elt]
            del(kwargs[elt])

        # pull out the url, method and data
        if 'method' in kwargs:
            self.request_kwargs['method'] = kwargs['method']
            del(kwargs['method'])
        if 'url' in kwargs:
            self.request_kwargs['url'] = kwargs['url']
            del(kwargs['url'])
        if 'data' in kwargs:
            self.request_kwargs['data'] = kwargs['data']
            del(kwargs['data'])

        # all the same prep stuff that grequests.patched does
        # self.request_kwargs['return_response'] = False
        self.request_kwargs['prefetch'] = True

        config = kwargs.get('config', {})
        config.update(safe_mode=True)

        kwargs['config'] = config

        self.session = requests.session(*args,**kwargs)
dataset/ETHPy150Open Neohapsis/bbqsql/bbqsql/lib/requester.py/Requester.__init__/original