from functools import cached_property import aiohttp import orjson import threading from typing import Dict from PySide6.QtCore import QObject, Signal, Slot from pytelem.skylab import SkylabFile # connect to websocket - create thread that handles JSON events class TelemetryServer(QObject): """Connection to upstream database""" conn_url: str "Something like http://:8082" def __init__(self, url: str, parent=None): super().__init__(parent) self.conn_url = url NewPacket = Signal(object) """Signal that is emitted when a new packet is received in realtime. Contains the packet itself""" @cached_property def schema(self) -> SkylabFile: """Gets the Packet Schema from the server""" pass @Slot() def connect(self): """Attempt to connect to server""" def query(self, queryparams): """Query the historical data and store the result in the datastore"""