docstr: Lists granted access permissions for the datasource set up with a dataset.
  
  Returns a string dictionary, with each permission mapped to a boolean value,
  see the example below. An additional ``errors`` key is present if any permission
  errors have been encountered. Permission errors are stored in a dictionary where
  permission names are keys and error messages are values.
  
  >>> from lightly.api import ApiWorkflowClient
  >>> client = ApiWorkflowClient(
  ...    token="MY_LIGHTLY_TOKEN", dataset_id="MY_DATASET_ID"
  ... )
  >>> client.list_datasource_permissions()
  {
      'can_read': True,
      'can_write': True,
      'can_list': False,
      'can_overwrite': True,
      'errors': {'can_list': 'error message'}
  }
docstr_tok: ["Lists","granted","access","permissions","for","the","datasource","set","up","with","a","dataset",".","Returns","a","string","dictionary",",","with","each","permission","mapped","to","a","boolean","value",",","see","the","example","below",".","An","additional","``","errors","``","key","is","present","if","any","permission","errors","have","been","encountered",".","Permission","errors","are","stored","in","a","dictionary","where","permission","names","are","keys","and","error","messages","are","values",".",">",">",">","from","lightly.api","import","ApiWorkflowClient",">",">",">","client","=","ApiWorkflowClient","(","...","token=","''","MY_LIGHTLY_TOKEN","''",",","dataset_id=","''","MY_DATASET_ID","''","...",")",">",">",">","client.list_datasource_permissions","(",")","{","'can_read","'",":","True",",","'can_write","'",":","True",",","'can_list","'",":","False",",","'can_overwrite","'",":","True",",","'errors","'",":","{","'can_list","'",":","'error","message","'","}","}"]
code: def list_datasource_permissions(
      self,
  ) -> Dict[str, Union[bool, Dict[str, str]]]:
      """Lists granted access permissions for the datasource set up with a dataset.
  
      Returns a string dictionary, with each permission mapped to a boolean value,
      see the example below. An additional ``errors`` key is present if any permission
      errors have been encountered. Permission errors are stored in a dictionary where
      permission names are keys and error messages are values.
  
      >>> from lightly.api import ApiWorkflowClient
      >>> client = ApiWorkflowClient(
      ...    token="MY_LIGHTLY_TOKEN", dataset_id="MY_DATASET_ID"
      ... )
      >>> client.list_datasource_permissions()
      {
          'can_read': True,
          'can_write': True,
          'can_list': False,
          'can_overwrite': True,
          'errors': {'can_list': 'error message'}
      }
  
      """
      return self._datasources_api.verify_datasource_by_dataset_id(
          dataset_id=self.dataset_id,
      ).to_dict()
  
imports: import time
  import warnings
  from typing import Dict, Iterator, List, Optional, Set, Tuple, Union
  import tqdm
  from lightly.openapi_generated.swagger_client.models import DatasourceConfig, DatasourceProcessedUntilTimestampRequest, DatasourceProcessedUntilTimestampResponse, DatasourcePurpose, DatasourceRawSamplesData
  from lightly.openapi_generated.swagger_client.models.datasource_raw_samples_data_row import DatasourceRawSamplesDataRow
label_desc: Use image node_id 19 for calling the _DatasourcesMixin obj's underlying member method code with example usage: obj.list_datasource_permissions() and returns: self