From e83bae64fcc1485c7077fa7cf67a7309c8711621 Mon Sep 17 00:00:00 2001 From: Reimar Bauer Date: Sun, 19 Jul 2026 10:12:11 +0200 Subject: [PATCH 1/3] moved mssautoplot to mslib/atuoplot --- mslib/autoplot/CLAUDE.md | 21 +++++++++++++++++++ .../mssautoplot.py => autoplot/__init__.py} | 4 ++-- mslib/msui/autoplot_dockwidget.py | 2 +- pyproject.toml | 2 +- tests/_test_utils/test_mssautoplot.py | 4 ++-- 5 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 mslib/autoplot/CLAUDE.md rename mslib/{utils/mssautoplot.py => autoplot/__init__.py} (99%) diff --git a/mslib/autoplot/CLAUDE.md b/mslib/autoplot/CLAUDE.md new file mode 100644 index 000000000..e0578b617 --- /dev/null +++ b/mslib/autoplot/CLAUDE.md @@ -0,0 +1,21 @@ +# mslib.autoplot — headless batch plotting + +Purpose: the `mssautoplot` CLI: renders top/side view plots from a JSON config +without showing the GUI, by driving the msui plotting stack headlessly. +Global map: ../../ARCHITECTURE.md + +## Layout + +- `__init__.py` — the whole CLI (click-based `main`, `load_from_ftml`, + TopView/SideView plotting drivers) + +## May import + +`mslib.utils` and `mslib.msui` (this package exists precisely so that the +GUI dependency does not sit inside the base layer mslib.utils). +Never `mslib.mscolab` or `mslib.mswms` (enforced in setup.cfg). + +## Verify + +`pixi run -e dev env QT_QPA_PLATFORM=offscreen pytest tests/_test_utils/test_mssautoplot.py -q` +and `mssautoplot --help` inside the dev env. diff --git a/mslib/utils/mssautoplot.py b/mslib/autoplot/__init__.py similarity index 99% rename from mslib/utils/mssautoplot.py rename to mslib/autoplot/__init__.py index e663a5707..ed99d4b68 100644 --- a/mslib/utils/mssautoplot.py +++ b/mslib/autoplot/__init__.py @@ -1,7 +1,7 @@ """ - mslib.utils.mssautoplot - ~~~~~~~~~~~~~~~~~~~~~~~ + mslib.autoplot + ~~~~~~~~~~~~~~ A CLI tool to create for instance a number of the same plots for several flights or several forecast steps diff --git a/mslib/msui/autoplot_dockwidget.py b/mslib/msui/autoplot_dockwidget.py index 430c42441..a3315fbe3 100644 --- a/mslib/msui/autoplot_dockwidget.py +++ b/mslib/msui/autoplot_dockwidget.py @@ -36,7 +36,7 @@ from PyQt5.QtWidgets import QWidget, QFileDialog, QTreeWidgetItem, QMessageBox from PyQt5 import QtCore -from mslib.utils.mssautoplot import main as cli_tool +from mslib.autoplot import main as cli_tool from mslib.msui.qt5.ui_mss_autoplot import Ui_AutoplotDockWidget from mslib.utils import constants as const diff --git a/pyproject.toml b/pyproject.toml index 51bbc2582..5b508ddd1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ Repository = "https://github.com/Open-MSS/MSS" [project.scripts] mscolab = "mslib.mscolab.mscolab:main" msidp = "mslib.msidp.idp:main" -mssautoplot = "mslib.utils.mssautoplot:main" +mssautoplot = "mslib.autoplot:main" mss = "mslib.msui.mss:main" mswms = "mslib.mswms.mswms:main" diff --git a/tests/_test_utils/test_mssautoplot.py b/tests/_test_utils/test_mssautoplot.py index 545e6373d..c8e90c0f2 100644 --- a/tests/_test_utils/test_mssautoplot.py +++ b/tests/_test_utils/test_mssautoplot.py @@ -4,7 +4,7 @@ tests._test_utils.test_mssautoplot ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - This module provides pytest functions to tests mslib.utils.mssautoplot + This module provides pytest functions to tests mslib.autoplot This file is part of MSS. @@ -28,7 +28,7 @@ import os -from mslib.utils.mssautoplot import load_from_ftml +from mslib.autoplot import load_from_ftml def test_load_from_ftml(): From 2e5a81c8c6206fa2d814ceeb5d231c1c793ab37b Mon Sep 17 00:00:00 2001 From: Reimar Bauer Date: Sun, 19 Jul 2026 11:13:12 +0200 Subject: [PATCH 2/3] cleanup ignore_imports --- setup.cfg | 6 ------ 1 file changed, 6 deletions(-) diff --git a/setup.cfg b/setup.cfg index 049caa7b3..5ff6b5931 100644 --- a/setup.cfg +++ b/setup.cfg @@ -62,12 +62,6 @@ source_modules = forbidden_modules = mslib.msui ignore_imports = - mslib.utils.mssautoplot -> mslib.msui - mslib.utils.mssautoplot -> mslib.msui.mpl_map - mslib.utils.mssautoplot -> mslib.msui.wms_control - mslib.utils.mssautoplot -> mslib.msui.viewplotter - mslib.utils.mssautoplot -> mslib.msui.mpl_pathinteractor - mslib.utils.mssautoplot -> mslib.msui.flighttrack mslib.plugins.io.csv -> mslib.msui.flighttrack mslib.plugins.io.text -> mslib.msui.flighttrack mslib.plugins.io.flitestar -> mslib.msui.flighttrack From c09a27ca950058a8b9dacc05ec8eb2b470b75b0f Mon Sep 17 00:00:00 2001 From: Reimar Bauer Date: Sun, 19 Jul 2026 11:33:40 +0200 Subject: [PATCH 3/3] further rules added --- setup.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.cfg b/setup.cfg index 5ff6b5931..8df0ca921 100644 --- a/setup.cfg +++ b/setup.cfg @@ -76,6 +76,7 @@ source_modules = mslib.plugins mslib.msidp mslib.support + mslib.autoplot forbidden_modules = mslib.mscolab ignore_imports = @@ -92,5 +93,6 @@ source_modules = mslib.plugins mslib.msidp mslib.support + mslib.autoplot forbidden_modules = mslib.mswms