| import requests |
| import gradio as gr |
|
|
| SPACES = { |
| "Space One": "https://test.hf.space", |
| "Space Two": "https://hub.hf.space", |
| "Space Three": "https://Blogger-Toolkit.hf.space", |
| "Space Four": "https://blogger-source-downloader", |
| "Space Five": "https://Heavy-Tools", |
| "Space Six": "https://test.hf.space", |
| "Space Seven": "https://test.hf.space", |
| } |
|
|
| def fetch(): |
| rows = [] |
| for name, url in SPACES.items(): |
| try: |
| r = requests.get(url, timeout=3) |
| j = r.json() |
| rows.append([ |
| name, |
| "π’ RUNNING", |
| int(j.get("cpu", 0)), |
| int(j.get("ram", 0)) |
| ]) |
| except: |
| rows.append([ |
| name, |
| "β« SLEEPING", |
| 0, |
| 0 |
| ]) |
| return rows |
|
|
| with gr.Blocks() as demo: |
| gr.Markdown("## π Hugging Face Spaces Monitor") |
|
|
| table = gr.Dataframe( |
| headers=["Space", "Status", "CPU %", "RAM %"], |
| datatype=["str", "str", "number", "number"], |
| interactive=False |
| ) |
|
|
| timer = gr.Timer(value=30) |
| timer.tick(fetch, outputs=table) |
|
|
| demo.launch() |
|
|