Nymbo commited on
Commit
0414505
·
verified ·
1 Parent(s): b4eb0b8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -9
app.py CHANGED
@@ -3,14 +3,12 @@ from huggingface_hub import list_models, list_datasets, list_spaces
3
  import pandas as pd
4
  from datetime import datetime
5
 
6
-
7
  def get_user_stats():
8
  users = {}
9
  for k, fn in zip(['model', 'dataset', 'space'], [list_models, list_datasets, list_spaces]):
10
  for repo in fn(full=True):
11
  if repo.author is None:
12
  continue
13
-
14
  if repo.author not in users:
15
  users[repo.author] = {
16
  x: 0 for x in [
@@ -30,21 +28,18 @@ def get_user_stats():
30
  for username, user_stats in users.items():
31
  users[username]['total_likes'] += sum([v for k, v in user_stats.items() if "likes" in k])
32
  users[username]['total_repos'] += sum([v for k, v in user_stats.items() if "num_" in k])
33
-
34
  for k, v in users.items():
35
  users[k] = dict(users[k])
36
-
37
  return users
38
 
39
  def make_clickable_user(user_id):
40
  link = "https://huggingface.co/" + user_id
41
- return f'<a target="_blank" href="{link}">{user_id}</a>'
42
-
43
 
44
  def get_user_stats_df(limit=1000):
45
  users = get_user_stats()
46
  df = pd.DataFrame([{'username': make_clickable_user(k), **v} for k, v in users.items()])
47
- df.sort_values(by=["total_likes"], ascending=False, inplace=True)
48
  df.insert(0, "rank", list(range(1, len(df) + 1)))
49
  df = df[
50
  [
@@ -65,11 +60,12 @@ def get_user_stats_df(limit=1000):
65
  return df
66
 
67
  df = get_user_stats_df()
 
68
  desc = f"""
69
  # 🤗 Hugging Face User Stats
70
-
71
- Here are some stats on the top 1000 users/organizations on the Hugging Face Hub. **Updated {datetime.now().strftime("%d/%m/%y")}**
72
  """
 
73
  with gr.Blocks() as demo:
74
  gr.Markdown(desc)
75
  data = gr.components.Dataframe(
@@ -77,4 +73,5 @@ with gr.Blocks() as demo:
77
  type="pandas",
78
  datatype=["number", "markdown", "number", "number", "number", "number", "number", "number", "number", "number"],
79
  )
 
80
  demo.launch()
 
3
  import pandas as pd
4
  from datetime import datetime
5
 
 
6
  def get_user_stats():
7
  users = {}
8
  for k, fn in zip(['model', 'dataset', 'space'], [list_models, list_datasets, list_spaces]):
9
  for repo in fn(full=True):
10
  if repo.author is None:
11
  continue
 
12
  if repo.author not in users:
13
  users[repo.author] = {
14
  x: 0 for x in [
 
28
  for username, user_stats in users.items():
29
  users[username]['total_likes'] += sum([v for k, v in user_stats.items() if "likes" in k])
30
  users[username]['total_repos'] += sum([v for k, v in user_stats.items() if "num_" in k])
 
31
  for k, v in users.items():
32
  users[k] = dict(users[k])
 
33
  return users
34
 
35
  def make_clickable_user(user_id):
36
  link = "https://huggingface.co/" + user_id
37
+ return f'<a target="_blank" href="{link}">{user_id}</a>'
 
38
 
39
  def get_user_stats_df(limit=1000):
40
  users = get_user_stats()
41
  df = pd.DataFrame([{'username': make_clickable_user(k), **v} for k, v in users.items()])
42
+ df.sort_values(by=["num_spaces"], ascending=False, inplace=True) # Sort by num_spaces in descending order
43
  df.insert(0, "rank", list(range(1, len(df) + 1)))
44
  df = df[
45
  [
 
60
  return df
61
 
62
  df = get_user_stats_df()
63
+
64
  desc = f"""
65
  # 🤗 Hugging Face User Stats
66
+ Here are some stats on the top 1000 users/organizations on the Hugging Face Hub, sorted by the number of Spaces. **Updated {datetime.now().strftime("%d/%m/%y")}**
 
67
  """
68
+
69
  with gr.Blocks() as demo:
70
  gr.Markdown(desc)
71
  data = gr.components.Dataframe(
 
73
  type="pandas",
74
  datatype=["number", "markdown", "number", "number", "number", "number", "number", "number", "number", "number"],
75
  )
76
+
77
  demo.launch()