<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def recent(self, username, project, limit=1, offset=0, branch=None, status_filter=""):
 """Return status of recent builds for given project. Retrieves build statuses for given project and branch. If branch is None it retrieves most recent build. Args: username (str):
 Name of the user. project (str):
 Name of the project. limit (int):
 Number of builds to return, default=1, max=100. offset (int):
 Returns builds starting from given offset. branch (str):
 Optional branch name as string. If specified only builds from given branch are returned. status_filter (str):
 Restricts which builds are returned. Set to "completed", "successful", "failed", "running", or defaults to no filter. Returns: A list of dictionaries with information about each build. """

        method = 'GET'
        if branch is not None:
            url = ('/project/{username}/{project}/tree/{branch}?'
                   'circle-token={token}&limit={limit}&offset={offset}&filter={status_filter}'.format(
                       username=username, project=project, branch=branch,
                       token=self.client.api_token, limit=limit,
                       offset=offset, status_filter=status_filter))
        else:
            url = ('/project/{username}/{project}?'
                   'circle-token={token}&limit={limit}&offset={offset}&filter={status_filter}'.format(
                       username=username, project=project,
                       token=self.client.api_token, limit=limit,
                       offset=offset, status_filter=status_filter))
        json_data = self.client.request(method, url)
        return json_data