|
import os |
|
import requests |
|
import pandas as pd |
|
import gradio as gr |
|
from huggingface_hub.hf_api import SpaceInfo |
|
from pathlib import Path |
|
|
|
|
|
path = f"https://huggingface.co/api/spaces" |
|
os.system("git clone https://github.com/YangtaoWANG95/TokenCut.git") |
|
os.chdir("TokenCut") |
|
os.system("wget https://raw.githubusercontent.com/YangtaoWANG95/TokenCut/master/examples/VOC07_000064.jpg -O parrot.jpg") |
|
|
|
|
|
|
|
def get_blocks_party_spaces(): |
|
r = requests.get(path) |
|
d = r.json() |
|
spaces = [SpaceInfo(**x) for x in d] |
|
blocks_spaces = {} |
|
for i in range(0,len(spaces)): |
|
if spaces[i].id.split('/')[0] == 'CVPR' and hasattr(spaces[i], 'likes') and spaces[i].id != 'CVPR/Leaderboard' and spaces[i].id != 'CVPR/README': |
|
blocks_spaces[spaces[i].id]=spaces[i].likes |
|
df = pd.DataFrame( |
|
[{"Spaces_Name": Spaces, "likes": likes} for Spaces,likes in blocks_spaces.items()]) |
|
df = df.sort_values(by=['likes'],ascending=False) |
|
return df |
|
|
|
|
|
block = gr.Blocks() |
|
|
|
with block: |
|
gr.Markdown("""Leaderboard for the most popular CVPR Spaces. To learn more and join, see <a href="https://huggingface.co/CVPR" target="_blank" style="text-decoration: underline">CVPR Event</a>""") |
|
with gr.Tabs(): |
|
with gr.TabItem("CVPR Leaderboard"): |
|
with gr.Row(): |
|
data = gr.outputs.Dataframe(type="pandas") |
|
with gr.Row(): |
|
data_run = gr.Button("Refresh") |
|
data_run.click(get_blocks_party_spaces, inputs=None, outputs=data) |
|
|
|
block.load(get_blocks_party_spaces, inputs=None, outputs=data) |
|
block.launch() |
|
|