def __init__(self, domain, app_token, username=None, password=None,
                 access_token=None, session_adapter=None, timeout=10):
        if not domain:
            raise Exception("A domain is required.")
        self.domain = domain

        # set up the session with proper authentication crendentials
        self.session = requests.Session()
        if not app_token:
            print("Warning: requests made without an app_token will be"
                   " subject to strict throttling limits.")
        else:
            self.session.headers.update({"X-App-token": app_token})

        authentication_validation(username, password, access_token)

        # use either basic HTTP auth or OAuth2.0
        if username and password:
            self.session.auth = (username, password)
        elif access_token:
            self.session.headers.update(
                {"Authorization": "OAuth {0}".format(access_token)}
            )

        if session_adapter:
            self.session.mount(session_adapter["prefix"],
                               session_adapter["adapter"])
            self.uri_prefix = session_adapter["prefix"]
        else:
            self.uri_prefix = "https://"

        if not isinstance(timeout, (int, float)):
            raise TypeError("Timeout must be numeric.")
        self.timeout = timeout
The required arguments are:
dataset/ETHPy150Open xmunoz/sodapy/sodapy/__init__.py/Socrata.__init__