Spaces:
				
			
			
	
			
			
		Runtime error
		
	
	
	
			
			
	
	
	
	
		
		
		Runtime error
		
	| import gradio as gr | |
| import requests | |
| import pandas as pd | |
| from huggingface_hub.hf_api import SpaceInfo | |
| class BlocksSpace: | |
| def __init__(self, url, name): | |
| self.url = url | |
| self.name = name | |
| def fetch_spaces(self): | |
| r = requests.get(self.url) | |
| 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] == self.name and hasattr(spaces[i], 'likes') and spaces[i].id != f'{self.name}/Leaderboard' and spaces[i].id != f'{self.name}/README': | |
| blocks_spaces[spaces[i].id]=spaces[i].likes | |
| return blocks_spaces | |
| def get_spaces_dataframe(self): | |
| blocks_spaces = self.fetch_spaces() | |
| 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() | |
| my_blocks_space = BlocksSpace("https://huggingface.co/api/spaces", "Gradio-Blocks") | |
| with block: | |
| gr.Markdown("""Leaderboard for the most popular Blocks Event Spaces. To learn more and join, see Blocks Party Event""") | |
| with gr.Tabs(): | |
| with gr.TabItem("Blocks Party Leaderboard"): | |
| with gr.Row(): | |
| data = gr.outputs.Dataframe(type="pandas") | |
| with gr.Row(): | |
| data_run = gr.Button("Refresh") | |
| data_run.click(my_blocks_space.get_spaces_dataframe, inputs=None, outputs=data) | |
| # running the function on page load in addition to when the button is clicked | |
| block.load(my_blocks_space.get_spaces_dataframe, inputs=None, outputs=data) | |
| block.launch() | |
