Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import pandas as pd | |
| # Load the spaces.parquet file as a dataframe | |
| df = pd.read_parquet("spaces.parquet") | |
| """ | |
| Todos: | |
| Create tabbed interface for filtering and graphs | |
| plotly graph showing the growth of spaces over time | |
| plotly graph showing the breakdown of spaces by sdk | |
| plotly graph of colors | |
| plotly graph of emojis | |
| Plotly graph of hardware | |
| Investigate README lengths | |
| bar chart of the number of spaces per author | |
| """ | |
| def filtered_df(emoji, likes): | |
| _df = df | |
| # if emoji is not none, filter the dataframe with it | |
| if emoji: | |
| _df = _df[_df["emoji"].isin(emoji)] | |
| # if likes is not none, filter the dataframe with it | |
| if likes: | |
| _df = _df[_df["likes"] >= likes] | |
| return _df | |
| with gr.Blocks() as demo: | |
| df = df[df["stage"] == "RUNNING"] | |
| emoji = gr.Dropdown( | |
| df["emoji"].unique().tolist(), label="Search by Emoji π€", multiselect=True | |
| ) # Dropdown to select the emoji | |
| likes = gr.Slider( | |
| minimum=df["likes"].min(), | |
| maximum=df["likes"].max(), | |
| step=1, | |
| label="Filter by Likes", | |
| ) # Slider to filter by likes | |
| hardware = gr.Dropdown( | |
| df["hardware"].unique().tolist(), label="Search by Hardware", multiselect=True | |
| ) | |
| devMode = gr.Checkbox(value=False, label="DevMode Enabled") | |
| clear = gr.ClearButton(components=[emoji]) | |
| df = pd.DataFrame(df[["emoji", "host", "likes", "hardware"]]) | |
| df["host"] = df["host"].apply(lambda x: f"<a href={x}>{x}</a>") | |
| gr.DataFrame(filtered_df, inputs=[emoji, likes], datatype=["str", "html"]) | |
| print(df.head()) | |
| demo.launch() | |