from huggingface_hub import get_hf_file_metadata, hf_hub_url, hf_hub_download, scan_cache_dir, whoami, list_models def get_my_model_names(token): try: author = whoami(token=token) model_infos = list_models(author=author["name"], use_auth_token=token) return [model.modelId for model in model_infos], None except Exception as e: return [], e def download_file(repo_id: str, filename: str, token: str): """Download a file from a repo on the Hugging Face Hub. Returns: file_path (:obj:`str`): The path to the downloaded file. revision (:obj:`str`): The commit hash of the file. """ md = get_hf_file_metadata(hf_hub_url(repo_id=repo_id, filename=filename), token=token) revision = md.commit_hash file_path = hf_hub_download(repo_id=repo_id, filename=filename, revision=revision, token=token) return file_path, revision def delete_file(revision: str): """Delete a file from local cache. Args: revision (:obj:`str`): The commit hash of the file. Returns: None """ scan_cache_dir().delete_revisions(revision).execute() def get_pr_url(api, repo_id, title): try: discussions = api.get_repo_discussions(repo_id=repo_id) except Exception: return None for discussion in discussions: if ( discussion.status == "open" and discussion.is_pull_request and discussion.title == title ): return f"https://huggingface.co/{repo_id}/discussions/{discussion.num}"