def __init__(self, session, properties=None, **kwargs):

        # __setattr__ is overridden below. So, to set self.properties as an empty
        # dict, we need to use the built-in __setattr__ method; thus, super()
        super(Entity, self).__init__(_create_session=False, **kwargs)
        super(Entity, self).__setattr__('session', session)
        if properties is None:
            super(Entity, self).__setattr__('properties', {})
            return

        for attr, val in six.iteritems(properties):
            if self._pull.get(attr) is not None:
                properties[attr] = self._pull[attr](val)
        super(Entity, self).__setattr__('properties', properties)
Passes session to underlying connection and validates properties passed in.
dataset/ETHPy150Open MediaMath/t1-python/terminalone/entity.py/Entity.__init__