def create_dataset(self, owner_id, **kwargs): """Create a new dataset :param owner_id: Username of the owner of the new dataset :type owner_id: str :param title: Dataset title (will be used to generate dataset id on creation) :type title: str :param description: Dataset description :type description: str, optional :param summary: Dataset summary markdown :type summary: str, optional :param tags: Dataset tags :type tags: list, optional :param license: {'CC-BY-SA', 'ODC-ODbL', 'CC BY-NC', 'CC BY-NC-SA', 'Other'} Dataset license :type license: {'Public Domain', 'PDDL', 'CC-0', 'CC-BY', 'ODC-BY'} :param visibility: Dataset visibility :type visibility: {'OPEN', 'PRIVATE'} :param files: File names and source URLs :type files: dict, optional :param visibility: Dataset visibility. {'OPEN', 'PRIVATE'}. :type visibility: dict :param files: File name as dict, source URLs, description and labels() as properties :type files: dict, optional *Description and labels are optional* :param **kwargs: :returns: Newly created dataset key :rtype: str :raises RestApiException: If a server error occurs Examples -------- >>> import datadotworld as dw >>> api_client = dw.api_client() >>> url = 'http://www.acme.inc/example.csv' >>> api_client.create_dataset( ... 'username', title='Test dataset', visibility='PRIVATE', ... license='Public Domain', ... files={'dataset.csv':{'url': url}}) # doctest: +SKIP """ request = self.__build_dataset_obj( lambda: _swagger.DatasetCreateRequest(), lambda name, url, expand_archive, description, labels: _swagger. FileCreateRequest(name=name, source=_swagger.FileSourceCreateRequest( url=url, expand_archive=expand_archive), description=description, labels=labels), kwargs) try: (_, _, headers) = self._datasets_api.create_dataset_with_http_info( owner_id, request, _return_http_data_only=False) if 'Location' in headers: return headers['Location'] except _swagger.rest.ApiException as e: raise RestApiError(cause=e)
def create_dataset(self, owner_id, **kwargs): """Create a new dataset Parameters ---------- owner_id : str Username of the owner of the new dataset title : str Dataset title (will be used to generate dataset id on creation) description : str, optional Dataset description summary : str, optional Dataset summary markdown tags : list, optional Dataset tags license : {'Public Domain', 'PDDL', 'CC-0', 'CC-BY', 'ODC-BY', 'CC-BY-SA', 'ODC-ODbL', 'CC BY-NC', 'CC BY-NC-SA', 'Other'} Dataset license visibility : {'OPEN', 'PRIVATE'} Dataset visibility files : dict, optional File names and source URLs Returns ------- str Newly created dataset key Raises ------ RestApiException If a server error occurs Examples -------- >>> import datadotworld as dw >>> api_client = dw.api_client() >>> api_client.create_dataset( ... 'username', title='Test dataset', visibility='PRIVATE', ... license='Public Domain') # doctest: +SKIP """ request = self.__build_dataset_obj( lambda: _swagger.DatasetCreateRequest(), lambda name, url: _swagger.FileCreateRequest( name=name, source=_swagger.FileSourceCreateRequest(url=url)), kwargs) try: (_, _, headers) = self._datasets_api.create_dataset_with_http_info( owner_id, request, _return_http_data_only=False) if 'Location' in headers: return headers['Location'] except _swagger.rest.ApiException as e: raise RestApiError(cause=e)
def replace_dataset(self, dataset_key, **kwargs): """Replace an existing dataset *This method will completely overwrite an existing dataset.* :param description: Dataset description :type description: str, optional :param summary: Dataset summary markdown :type summary: str, optional :param tags: Dataset tags :type tags: list, optional :param license: {'CC-BY-SA', 'ODC-ODbL', 'CC BY-NC', 'CC BY-NC-SA', 'Other'} Dataset license :type license: {'Public Domain', 'PDDL', 'CC-0', 'CC-BY', 'ODC-BY'} :param visibility: Dataset visibility :type visibility: {'OPEN', 'PRIVATE'} :param files: File names and source URLs to add or update :type files: dict, optional :param dataset_key: Dataset identifier, in the form of owner/id :type dataset_key: str :param **kwargs: :raises RestApiException: If a server error occurs Examples -------- >>> import datadotworld as dw >>> api_client = dw.api_client() >>> api_client.replace_dataset( ... 'username/test-dataset', ... visibility='PRIVATE', license='Public Domain', ... description='A better description') # doctest: +SKIP """ request = self.__build_dataset_obj( lambda: _swagger.DatasetPutRequest(), lambda name, url, expand_archive, description, labels: _swagger. FileCreateRequest(name=name, source=_swagger.FileSourceCreateRequest( url=url, expand_archive=expand_archive), description=description, labels=labels), kwargs) owner_id, dataset_id = parse_dataset_key(dataset_key) try: self._datasets_api.replace_dataset(owner_id, dataset_id, request) except _swagger.rest.ApiException as e: raise RestApiError(cause=e)
def replace_dataset(self, dataset_key, **kwargs): """Replace an existing dataset *This method will completely overwrite an existing dataset.* Parameters ---------- description : str, optional Dataset description summary : str, optional Dataset summary markdown tags : list, optional Dataset tags license : {'Public Domain', 'PDDL', 'CC-0', 'CC-BY', 'ODC-BY', 'CC-BY-SA', 'ODC-ODbL', 'CC BY-NC', 'CC BY-NC-SA', 'Other'} Dataset license visibility : {'OPEN', 'PRIVATE'} Dataset visibility files : dict, optional File names and source URLs to add or update Raises ------ RestApiException If a server error occurs Examples -------- >>> import datadotworld as dw >>> api_client = dw.api_client() >>> api_client.replace_dataset( ... 'username/test-dataset', ... visibility='PRIVATE', license='Public Domain', ... description='A better description') # doctest: +SKIP """ request = self.__build_dataset_obj( lambda: _swagger.DatasetPutRequest(), lambda name, url: _swagger.FileCreateRequest( name=name, source=_swagger.FileSourceCreateRequest(url=url)), kwargs) owner_id, dataset_id = parse_dataset_key(dataset_key) try: self._datasets_api.replace_dataset(owner_id, dataset_id, request) except _swagger.rest.ApiException as e: raise RestApiError(cause=e)