ProMonitor / ui /main.py
S-Dreamer's picture
Create ui/main.py
2927208 verified
Raw
History Blame Contribute Delete
975 Bytes
# ui/main.py
import gradio as gr
import requests
import logging
from typing import Dict, Any
from pydantic import BaseModel
# Configure logging
logging.basicConfig(filename="ui.log", level=logging.INFO)
logger = logging.getLogger(__name__)
# Pydantic models (mirroring backend)
class ResourceLimits(BaseModel):
cpu_limit: Optional[int] = None
memory_limit: Optional[int] = None
gpu_power_limit: Optional[int] = None
# API client class
class APIClient:
def __init__(self, base_url: str, api_key: str = None):
self.base_url = base_url
self.api_key = api_key
# Methods for each endpoint (get_metrics, set_limits, etc.)
# UI components
def build_dashboard():
# Gradio components for metrics and health
pass
def main():
with gr.Blocks(theme=gr.themes.Default()) as app:
# Define tabs and components
pass
app.launch(server_name="0.0.0.0", server_port=7860, share=False)
if __name__ == "__main__":
main()