Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
start migrating to HF datasets and away from google sheets
Browse files
app.py
CHANGED
@@ -11,6 +11,7 @@ import os.path
|
|
11 |
import secrets
|
12 |
import gspread
|
13 |
import datetime
|
|
|
14 |
import requests
|
15 |
import threading
|
16 |
import gradio_client
|
@@ -28,6 +29,8 @@ from discord.ui import Button, View
|
|
28 |
from discord.ext import commands, tasks
|
29 |
from datetime import datetime, timedelta
|
30 |
from urllib.parse import urlparse, parse_qs
|
|
|
|
|
31 |
from apscheduler.executors.pool import ThreadPoolExecutor
|
32 |
from apscheduler.executors.asyncio import AsyncIOExecutor
|
33 |
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
@@ -67,6 +70,8 @@ community_global_df_with_id = pd.DataFrame()
|
|
67 |
community_global_df_gradio = pd.DataFrame()
|
68 |
test_merge = pd.read_csv("https://docs.google.com/spreadsheets/d/1C8aLqgCqLYcMiIFf-P_Aosaa03C_WLIB_UyqvjSdWg8/export?format=csv&gid=0")
|
69 |
|
|
|
|
|
70 |
|
71 |
class DMButton(Button):
|
72 |
def __init__(self, label, style):
|
@@ -135,6 +140,7 @@ def update_google_sheet():
|
|
135 |
print("------------------------------------------------------------------------")
|
136 |
name = "test_merge_worksheet"
|
137 |
set_with_dataframe(test_merge_worksheet, global_df)
|
|
|
138 |
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
139 |
print("------------------------------------------------------------------------")
|
140 |
print(f"Google sheet {name} {test_merge_worksheet} successfully updated at {timestamp}! \n{global_df}")
|
@@ -143,6 +149,22 @@ def update_google_sheet():
|
|
143 |
print(f"update_google_sheet Error: {e}")
|
144 |
|
145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
#@tasks.loop(minutes=1) tasks.loop leads to heartbeat blocked issues (merging calculations too much with normal discord bot functions)
|
147 |
def update_hub_stats():
|
148 |
try:
|
|
|
11 |
import secrets
|
12 |
import gspread
|
13 |
import datetime
|
14 |
+
import tempfile
|
15 |
import requests
|
16 |
import threading
|
17 |
import gradio_client
|
|
|
29 |
from discord.ext import commands, tasks
|
30 |
from datetime import datetime, timedelta
|
31 |
from urllib.parse import urlparse, parse_qs
|
32 |
+
# starting to migrate to HF datasets and away from google sheets
|
33 |
+
from huggingface_hub import HfApi, HfFolder, Repository
|
34 |
from apscheduler.executors.pool import ThreadPoolExecutor
|
35 |
from apscheduler.executors.asyncio import AsyncIOExecutor
|
36 |
from apscheduler.schedulers.asyncio import AsyncIOScheduler
|
|
|
70 |
community_global_df_gradio = pd.DataFrame()
|
71 |
test_merge = pd.read_csv("https://docs.google.com/spreadsheets/d/1C8aLqgCqLYcMiIFf-P_Aosaa03C_WLIB_UyqvjSdWg8/export?format=csv&gid=0")
|
72 |
|
73 |
+
hf_token = os.environ.get("HF_TOKEN")
|
74 |
+
|
75 |
|
76 |
class DMButton(Button):
|
77 |
def __init__(self, label, style):
|
|
|
140 |
print("------------------------------------------------------------------------")
|
141 |
name = "test_merge_worksheet"
|
142 |
set_with_dataframe(test_merge_worksheet, global_df)
|
143 |
+
update_hf_dataset(global_df) # starting to migrate away from google sheets and towards HF datasets
|
144 |
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
145 |
print("------------------------------------------------------------------------")
|
146 |
print(f"Google sheet {name} {test_merge_worksheet} successfully updated at {timestamp}! \n{global_df}")
|
|
|
149 |
print(f"update_google_sheet Error: {e}")
|
150 |
|
151 |
|
152 |
+
# starting to migrate away from google sheets and towards HF datasets
|
153 |
+
def update_hf_dataset(df, repo_id="discord-community/levelbot-data", filename="levelbot-data.csv"):
|
154 |
+
try:
|
155 |
+
with tempfile.TemporaryDirectory() as tempdir:
|
156 |
+
file_path = os.path.join(tempdir, filename)
|
157 |
+
df.to_csv(file_path, index=False)
|
158 |
+
|
159 |
+
repo = Repository(local_dir=tempdir, clone_from=repo_id, use_auth_token=hf_token)
|
160 |
+
repo.git_add()
|
161 |
+
repo.git_commit("Update leaderboard CSV")
|
162 |
+
repo.git_push()
|
163 |
+
print(f"Hugging Face dataset {repo_id}/{filename} updated successfully.")
|
164 |
+
except Exception as e:
|
165 |
+
print(f"update_hf_dataset Error: {e}")
|
166 |
+
|
167 |
+
|
168 |
#@tasks.loop(minutes=1) tasks.loop leads to heartbeat blocked issues (merging calculations too much with normal discord bot functions)
|
169 |
def update_hub_stats():
|
170 |
try:
|