From 01dce2a5e0fcad4b8167da235f375c4e0ba151c3 Mon Sep 17 00:00:00 2001 From: pablorevilla-meshtastic Date: Mon, 9 Feb 2026 21:29:53 -0800 Subject: [PATCH] Update to check for new requirements --- meshview/deps.py | 13 +++++++++++++ meshview/web.py | 2 ++ startdb.py | 2 ++ 3 files changed, 17 insertions(+) create mode 100644 meshview/deps.py diff --git a/meshview/deps.py b/meshview/deps.py new file mode 100644 index 0000000..6621bd4 --- /dev/null +++ b/meshview/deps.py @@ -0,0 +1,13 @@ +import logging +from importlib.util import find_spec + +logger = logging.getLogger(__name__) + + +def check_optional_deps() -> None: + if find_spec("pyitm") is None: + logger.warning( + "Optional dependency missing: pyitm. " + "Coverage prediction is disabled. " + "Run: ./env/bin/pip install -r requirements.txt" + ) diff --git a/meshview/web.py b/meshview/web.py index b723e64..41efc28 100644 --- a/meshview/web.py +++ b/meshview/web.py @@ -21,6 +21,7 @@ from meshview import config, database, decode_payload, migrations, models, store from meshview.__version__ import ( __version_string__, ) +from meshview.deps import check_optional_deps from meshview.web_api import api logging.basicConfig( @@ -38,6 +39,7 @@ env = Environment(loader=PackageLoader("meshview"), autoescape=select_autoescape # Start Database database.init_database(CONFIG["database"]["connection_string"]) +check_optional_deps() BASE_DIR = os.path.dirname(__file__) LANG_DIR = os.path.join(BASE_DIR, "lang") diff --git a/startdb.py b/startdb.py index 57ea461..f0dbec6 100644 --- a/startdb.py +++ b/startdb.py @@ -11,6 +11,7 @@ from sqlalchemy.engine.url import make_url from meshview import migrations, models, mqtt_database, mqtt_reader, mqtt_store from meshview.config import CONFIG +from meshview.deps import check_optional_deps # ------------------------- # Basic logging configuration @@ -237,6 +238,7 @@ async def load_database_from_mqtt( # Main function # ------------------------- async def main(): + check_optional_deps() logger = logging.getLogger(__name__) # Initialize database