<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def request_data(cls, time, site_id, **kwargs):
 """Retrieve upper air observations from Iowa State's archive for a single station. Parameters time : datetime The date and time of the desired observation. site_id : str The three letter ICAO identifier of the station for which data should be downloaded. kwargs Arbitrary keyword arguments to use to initialize source Returns ------- :class:`pandas.DataFrame` containing the data """

        endpoint = cls()
        df = endpoint._get_data(time, site_id, None, **kwargs)
        return df