code: def update_project(self, project_key, **kwargs):
          
          request = self.__build_project_obj(
              lambda: _swagger.ProjectPatchRequest(),
              lambda name, url, description, labels:
              _swagger.FileCreateOrUpdateRequest(
                  name=name,
                  source=_swagger.FileSourceCreateOrUpdateRequest(url=url),
                  description=description,
                  labels=labels),
              kwargs)
          owner_id, project_id = parse_dataset_key(project_key)
          try:
              return self._projects_api.patch_project(owner_id,
                                                      project_id,
                                                      body=request)
          except _swagger.rest.ApiException as e:
              raise RestApiError(cause=e)
docs: Update an existing project
  
          :param project_key: Username and unique identifier of the creator of a
              project in the form of owner/id.
          :type project_key: str
          :param title: Project title
          :type title: str
          :param objective: Short project objective.
          :type objective: str, optional
          :param summary: Long-form project summary.
          :type summary: str, optional
          :param tags: Project tags. Letters numbers and spaces
          :type tags: list, optional
          :param license: Project license
          :type license: {'Public Domain', 'PDDL', 'CC-0', 'CC-BY', 'ODC-BY',
              'CC-BY-SA', 'ODC-ODbL', 'CC BY-NC', 'CC BY-NC-SA', 'Other'}
          :param visibility: Project visibility
          :type visibility: {'OPEN', 'PRIVATE'}
          :param files: File name as dict, source URLs, description and labels()
          as properties
          :type files: dict, optional
              *Description and labels are optional*
          :param linked_datasets: Initial set of linked datasets.
          :type linked_datasets: list of object, optional
          :returns: message object
          :rtype: object
          :raises RestApiException: If a server error occurs
  
          Examples
          --------
          >>> import datadotworld as dw
          >>> api_client = dw.api_client()
          >>> api_client.update_project(
          ...    'username/test-project',
          ...    tags=['demo', 'datadotworld'])  # doctest: +SKIP