from threading import Thread import gradio as gr import speedtest import platform import psutil import os def starter(): os.system("python3 Kmain.py") thread = Thread(target=starter) thread.start() def get_system_usage(): # Get CPU usage as a percentage cpu_usage = psutil.cpu_percent(interval=1) # Get memory usage memory = psutil.virtual_memory() total_memory = memory.total available_memory = memory.available memory_usage = total_memory - available_memory # Get disk usage disk = psutil.disk_usage('/') total_disk = disk.total used_disk = disk.used disk_usage = used_disk # Prepare the system usage information as a string system_usage = f"CPU Usage: {cpu_usage}%\n" system_usage += f"Memory Usage: {memory_usage} bytes\n" system_usage += f"Disk Usage: {disk_usage} bytes" return system_usage def get_internet_speed(): st = speedtest.Speedtest() st.get_best_server() download_speed = st.download() / 1_000_000 / 8 # Convert to MBps upload_speed = st.upload() / 1_000_000 / 8 # Convert to MBps return download_speed, upload_speed def get_system_information(): system = platform.system() release = platform.release() version = platform.version() machine = platform.machine() processor = platform.processor() memory = psutil.virtual_memory() memory_total = memory.total memory_used = memory.used memory_percent = memory.percent disk = psutil.disk_usage('/') disk_total = disk.total disk_used = disk.used disk_percent = disk.percent cpu_percent = psutil.cpu_percent() download_speed, upload_speed = get_internet_speed() information = (f"System Information:\n" f"- System: {system}\n" f"- Release: {release}\n" f"- Version: {version}\n" f"- Machine: {machine}\n" f"- Processor: {processor}\n" f"\n" f"Memory Usage:\n" f"- Memory Total: {memory_total} bytes\n" f"- Memory Used: {memory_used} bytes\n" f"- Memory Percent: {memory_percent}%\n" f"\n" f"Disk Usage:\n" f"- Disk Total: {disk_total} bytes\n" f"- Disk Used: {disk_used} bytes\n" f"- Disk Percent: {disk_percent}%\n" f"\n" f"CPU Usage:\n" f"- CPU Percent: {cpu_percent}%\n" f"\n" f"- Internet Usage:\n" f"Download Speed: {download_speed:.2f} MBps\n" f"Upload Speed: {upload_speed:.2f} MBps" ) return information iface = gr.Interface(fn=get_system_information, inputs=None, outputs="text") iface.launch(server_name="0.0.0.0", server_port=7860)