This commit is contained in:
2025-12-20 03:47:10 +01:00
parent 8428bf9c82
commit dcba044cd6
179 changed files with 10345 additions and 786 deletions

View File

@@ -10,8 +10,12 @@ from app.schemas.hardware import HardwareData
class CPUResults(BaseModel):
"""CPU benchmark results"""
events_per_sec: Optional[float] = Field(None, ge=0)
events_per_sec_single: Optional[float] = Field(None, ge=0) # Monocore
events_per_sec_multi: Optional[float] = Field(None, ge=0) # Multicore
duration_s: Optional[float] = Field(None, ge=0)
score: Optional[float] = Field(None, ge=0, le=10000)
score_single: Optional[float] = Field(None, ge=0, le=10000) # Monocore score
score_multi: Optional[float] = Field(None, ge=0, le=10000) # Multicore score
class MemoryResults(BaseModel):
@@ -82,12 +86,15 @@ class BenchmarkDetail(BaseModel):
global_score: float
cpu_score: Optional[float] = None
cpu_score_single: Optional[float] = None
cpu_score_multi: Optional[float] = None
memory_score: Optional[float] = None
disk_score: Optional[float] = None
network_score: Optional[float] = None
gpu_score: Optional[float] = None
details: dict # details_json parsed
notes: Optional[str] = None
class Config:
from_attributes = True
@@ -99,11 +106,19 @@ class BenchmarkSummary(BaseModel):
run_at: str
global_score: float
cpu_score: Optional[float] = None
cpu_score_single: Optional[float] = None
cpu_score_multi: Optional[float] = None
memory_score: Optional[float] = None
disk_score: Optional[float] = None
network_score: Optional[float] = None
gpu_score: Optional[float] = None
bench_script_version: Optional[str] = None
notes: Optional[str] = None
class Config:
from_attributes = True
class BenchmarkUpdate(BaseModel):
"""Fields allowed when updating a benchmark"""
notes: Optional[str] = None

View File

@@ -18,6 +18,9 @@ class DeviceBase(BaseModel):
location: Optional[str] = None
owner: Optional[str] = None
tags: Optional[str] = None
purchase_store: Optional[str] = None
purchase_date: Optional[str] = None
purchase_price: Optional[float] = None
class DeviceCreate(DeviceBase):
@@ -34,6 +37,9 @@ class DeviceUpdate(BaseModel):
location: Optional[str] = None
owner: Optional[str] = None
tags: Optional[str] = None
purchase_store: Optional[str] = None
purchase_date: Optional[str] = None
purchase_price: Optional[float] = None
class DeviceSummary(DeviceBase):

View File

@@ -2,7 +2,7 @@
Linux BenchTools - Hardware Schemas
"""
from pydantic import BaseModel
from pydantic import BaseModel, ConfigDict, Field
from typing import Optional, List
@@ -73,6 +73,7 @@ class Partition(BaseModel):
fs_type: Optional[str] = None
used_gb: Optional[float] = None
total_gb: Optional[float] = None
free_gb: Optional[float] = None
class StorageInfo(BaseModel):
@@ -89,6 +90,7 @@ class NetworkInterface(BaseModel):
ip: Optional[str] = None
speed_mbps: Optional[int] = None
driver: Optional[str] = None
ssid: Optional[str] = None
wake_on_lan: Optional[bool] = None
@@ -97,6 +99,18 @@ class NetworkInfo(BaseModel):
interfaces: Optional[List[NetworkInterface]] = None
class NetworkShare(BaseModel):
"""Mounted network share information"""
protocol: Optional[str] = None
source: Optional[str] = None
mount_point: Optional[str] = None
fs_type: Optional[str] = None
options: Optional[str] = None
total_gb: Optional[float] = None
used_gb: Optional[float] = None
free_gb: Optional[float] = None
class MotherboardInfo(BaseModel):
"""Motherboard information schema"""
vendor: Optional[str] = None
@@ -113,6 +127,34 @@ class OSInfo(BaseModel):
kernel_version: Optional[str] = None
architecture: Optional[str] = None
virtualization_type: Optional[str] = None
hostname: Optional[str] = None
desktop_environment: Optional[str] = None
session_type: Optional[str] = None
display_server: Optional[str] = None
screen_resolution: Optional[str] = None
last_boot_time: Optional[str] = None
uptime_seconds: Optional[int] = None
battery_percentage: Optional[float] = None
battery_status: Optional[str] = None
battery_health: Optional[str] = None
class PCIDevice(BaseModel):
"""PCI device information"""
model_config = ConfigDict(populate_by_name=True)
slot: str
class_: Optional[str] = Field(default=None, alias="class")
vendor: Optional[str] = None
device: Optional[str] = None
class USBDevice(BaseModel):
"""USB device information"""
bus: str
device: str
vendor_id: Optional[str] = None
product_id: Optional[str] = None
name: Optional[str] = None
class SensorsInfo(BaseModel):
@@ -135,10 +177,13 @@ class HardwareData(BaseModel):
gpu: Optional[GPUInfo] = None
storage: Optional[StorageInfo] = None
network: Optional[NetworkInfo] = None
network_shares: Optional[List[NetworkShare]] = None
motherboard: Optional[MotherboardInfo] = None
os: Optional[OSInfo] = None
sensors: Optional[SensorsInfo] = None
raw_info: Optional[RawInfo] = None
pci_devices: Optional[List[PCIDevice]] = None
usb_devices: Optional[List[USBDevice]] = None
class HardwareSnapshotResponse(BaseModel):
@@ -157,6 +202,9 @@ class HardwareSnapshotResponse(BaseModel):
# RAM
ram_total_mb: Optional[int] = None
ram_used_mb: Optional[int] = None
ram_free_mb: Optional[int] = None
ram_shared_mb: Optional[int] = None
ram_slots_total: Optional[int] = None
ram_slots_used: Optional[int] = None
@@ -167,18 +215,37 @@ class HardwareSnapshotResponse(BaseModel):
# Storage
storage_summary: Optional[str] = None
storage_devices_json: Optional[str] = None
partitions_json: Optional[str] = None
# Network
network_interfaces_json: Optional[str] = None
network_shares_json: Optional[str] = None
# OS / Motherboard
# OS / Motherboard / BIOS
os_name: Optional[str] = None
os_version: Optional[str] = None
kernel_version: Optional[str] = None
architecture: Optional[str] = None
virtualization_type: Optional[str] = None
hostname: Optional[str] = None
desktop_environment: Optional[str] = None
screen_resolution: Optional[str] = None
display_server: Optional[str] = None
session_type: Optional[str] = None
last_boot_time: Optional[str] = None
uptime_seconds: Optional[int] = None
battery_percentage: Optional[float] = None
battery_status: Optional[str] = None
battery_health: Optional[str] = None
motherboard_vendor: Optional[str] = None
motherboard_model: Optional[str] = None
bios_vendor: Optional[str] = None
bios_version: Optional[str] = None
bios_date: Optional[str] = None
# PCI and USB Devices
pci_devices_json: Optional[str] = None
usb_devices_json: Optional[str] = None
class Config:
from_attributes = True