code: def download_url(self, project, file_name, run=None, entity=None):
          
          query = gql('''
          query Model($name: String!, $fileName: String!, $entity: String!, $run: String!)  {
              model(name: $name, entityName: $entity) {
                  bucket(name: $run) {
                      files(names: [$fileName]) {
                          edges {
                              node {
                                  name
                                  url
                                  md5
                                  updatedAt
                              }
                          }
                      }
                  }
              }
          }
          ''')
          query_result = self.gql(query, variable_values={
              'name': project, 'run': run or self.settings('run'), 'fileName': file_name,
              'entity': entity or self.settings('entity')})
          files = self._flatten_edges(query_result['model']['bucket']['files'])
          return files[0] if len(files) > 0 and files[0].get('updatedAt') else None
docs: Generate download urls
  
          Args:
              project (str): The project to download
              file_name (str): The name of the file to download
              run (str, optional): The run to upload to
              entity (str, optional): The entity to scope this project to.  Defaults to wandb models
  
          Returns:
              A dict of extensions and urls
  
                  { "url": "https://weights.url", "updatedAt": '2013-04-26T22:22:23.832Z', 'md5': 'mZFLkyvTelC5g8XnyQrpOw==' }