File size: 3,084 Bytes
2ed2b2c 13e2d3f 2ed2b2c 13e2d3f 2ed2b2c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
#import required modules
import os
import huggingface_hub
from huggingface_hub import create_branch, delete_branch
#set clear screen function
def clear_screen():
os.system('cls' if os.name == 'nt' else 'clear')
#clear screen before starting
clear_screen()
#get user variables
while True:
cord = input("What would you like to do? (create) (delete): ").lower()
if cord not in ['create', 'delete']:
clear_screen()
print("Please choose one of the two options.")
continue
break
clear_screen()
repo = input("Repository name (User/Repo): ")
clear_screen()
while True:
r_type = input("Repo type (model) (dataset) (space): ").lower()
if r_type not in ['model', 'dataset', 'space']:
clear_screen()
print("Please choose one of the three options.")
continue
break
clear_screen()
branch = input("Branch name (No spaces): ")
clear_screen()
#get token
if 'HF_TOKEN' in os.environ:
#if the variable is found then write it to hf_token:
hf_token = os.environ['HF_TOKEN']
tfound = "Where are my doritos?"
else:
#if the variable is not found then prompt user to provide it:
hf_token = input("HF_TOKEN Variable not detected. Enter your HuggingFace (WRITE) token: ")
tfound = "false"
#login
huggingface_hub.login(hf_token)
#create or delete the branch
if cord == 'create':
create_branch(repo, repo_type=r_type, branch=branch)
else:
delete_branch(repo, repo_type=r_type, branch=branch)
#extra information
clear_screen()
#won't work if special characters are used but should still successfully be created/deleted
if cord == 'create':
if r_type == 'model':
print(f"Branch created at https://huggingface.co/{repo}/tree/{branch}")
elif r_type == 'dataset':
print(f"Branch created at https://huggingface.co/datasets/{repo}/tree/{branch}")
elif r_type == 'space':
print(f"Branch created at https://huggingface.co/spaces/{repo}/tree/{branch}")
else:
if r_type == 'model':
print(f"Branch deleted on {r_type} https://huggingface.co/{repo}")
elif r_type == 'dataset':
print(f"Branch deleted on {r_type} https://huggingface.co/datasets/{repo}")
elif r_type == 'space':
print(f"Branch deleted on {r_type} https://huggingface.co/spaces/{repo}")
#if token wasn't found then display following text:
if tfound == 'false':
print('''
Set HF_TOKEN to a token with WRITE permissions to skip inputting token on each run.
On Unix systems, edit the file ~/.bashrc with an editor of your choise.
On a new line add: export HF_TOKEN=Your-HuggingFace-token-here
(Terminal Refresh Required)
To temporarily set a token to the active terminal use 'export HF_TOKEN=Your-HuggingFace-token-here'
On Windows use 'setx HF_TOKEN Your-HuggingFace-token-here'
(System Restart Required)
To temporarily set a token to the active terminal use 'set HF_TOKEN=Your-HuggingFace-token-here'
''')
input("Press enter to continue.")
|