def create_project(self, owner_id, **kwargs):
        """Create a new project

        :param owner_id: Username of the creator of a
            project.
        :type owner_id: str
        :param title: Project title (will be used to generate project id on
            creation)
        :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: Newly created project key
        :rtype: str
        :raises RestApiException: If a server error occurs

        Examples
        --------
        >>> import datadotworld as dw
        >>> api_client = dw.api_client()
        >>> api_client.create_project(
        ...     'username', title='project testing',
        ...     visibility='PRIVATE',
        ...     linked_datasets=[{'owner': 'someuser',
        ...                       'id': 'somedataset'}])  # doctest: +SKIP
        """
        request = self.__build_project_obj(
            lambda: _swagger.ProjectCreateRequest(
                title=kwargs.get('title'),
                visibility=kwargs.get('visibility')
            ),
            lambda name, url, description, labels:
            _swagger.FileCreateRequest(
                name=name,
                source=_swagger.FileSourceCreateRequest(url=url),
                description=description,
                labels=labels), kwargs)
        try:
            (_, _, headers) = self._projects_api.create_project_with_http_info(
                owner_id, body=request, _return_http_data_only=False)
            if 'Location' in headers:
                return headers['Location']
        except _swagger.rest.ApiException as e:
            raise RestApiError(cause=e)
Create a new project

        :param owner_id: Username of the creator of a
            project.
        :type owner_id: str
        :param title: Project title (will be used to generate project id on
            creation)
        :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: Newly created project key
        :rtype: str
        :raises RestApiException: If a server error occurs

        Examples
        --------
        >>> import datadotworld as dw
        >>> api_client = dw.api_client()
        >>> api_client.create_project(
        ...     'username', title='project testing',
        ...     visibility='PRIVATE',
        ...     linked_datasets=[{'owner': 'someuser',
        ...                       'id': 'somedataset'}])  # doctest: +SKIP