code: def upload_urls(self, project, files, run=None, entity=None, description=None):
          
          query = gql('''
          query Model($name: String!, $files: [String]!, $entity: String!, $run: String!, $description: String) {
              model(name: $name, entityName: $entity) {
                  bucket(name: $run, desc: $description) {
                      id
                      files(names: $files) {
                          edges {
                              node {
                                  name
                                  url(upload: true)
                                  updatedAt
                              }
                          }
                      }
                  }
              }
          }
          ''')
          run_id = run or self.settings('run')
          entity = entity or self.settings('entity')
          query_result = self.gql(query, variable_values={
              'name': project, 'run': run_id,
              'entity': entity,
              'description': description,
              'files': [file for file in files]
          })
  
          run = query_result['model']['bucket']
          if run:
              result = {file['name']: file for file in self._flatten_edges(run['files'])}
              return run['id'], result
          else:
              raise CommError("Run does not exist {}/{}/{}.".format(entity, project, run_id))
docs: Generate temporary resumeable upload urls
  
          Args:
              project (str): The project to download
              files (list or dict): The filenames to upload
              run (str, optional): The run to upload to
              entity (str, optional): The entity to scope this project to.  Defaults to wandb models
  
          Returns:
              (bucket_id, file_info)
              bucket_id: id of bucket we uploaded to
              file_info: A dict of filenames and urls, also indicates if this revision already has uploaded files.
                  {
                      'weights.h5': { "url": "https://weights.url" },
                      'model.json': { "url": "https://model.json", "updatedAt": '2013-04-26T22:22:23.832Z', 'md5': 'mZFLkyvTelC5g8XnyQrpOw==' },
                  }