File size: 2,024 Bytes
08f582d
eaff765
 
08f582d
 
 
0273525
 
eaff765
08f582d
 
 
 
eaff765
 
 
 
 
 
 
 
 
 
 
792c24f
fc3f0c6
eaff765
 
08f582d
eaff765
 
 
 
 
 
08f582d
 
 
 
 
eaff765
 
 
 
 
 
 
08f582d
 
eaff765
08f582d
 
 
eaff765
 
08f582d
eaff765
 
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
import gradio as gr
import pandas as pd
import requests
from huggingface_hub.hf_api import SpaceInfo

path = f"https://huggingface.co/api/spaces"


def get_platzi_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] == "platzi"
            and hasattr(spaces[i], "likes")
            and spaces[i].id != "platzi/platzi-leaderboard"
            and spaces[i].id != "platzi/README"
            and spaces[i].id != "platzi/platzi-curso-streamlit-segmentacion-imagenes"
            and spaces[i].id != "platzi/platzi-curso-gradio-asr"
            and spaces[i].id != "platzi/platzi-curso-gradio-blocks"
            and spaces[i].id != "platzi/platzi-curso-gradio-tf-clasificacion-imagenes"
            and spaces[i].id != "platzi/platzi-curso-gradio-clasificacion-imagenes"
           # and spaces[i].id != "platzi/platzi-curso-streamlit-butterfly-gan"

        ):
            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 de los Spaces (demos) más populares creados por estudiantes del curso de **creación de demos de Platzi**."""
    )
    gr.Markdown(
        """Aprende más sobre el curso aquí y comparte para obtener más corazones 🤗.</a>"""
    )

    with gr.Tabs():
        with gr.TabItem("Leaderboard de los Spaces con más corazones"):
            with gr.Row():
                data = gr.outputs.Dataframe(type="pandas")
            with gr.Row():
                data_run = gr.Button("Refrescar")
                data_run.click(get_platzi_spaces, inputs=None, outputs=data)

    block.load(get_platzi_spaces, inputs=None, outputs=data)
block.launch()