From eefece4b23690d115780a69e65975f3193eccb4c Mon Sep 17 00:00:00 2001 From: Julien Barbot Date: Thu, 13 Aug 2026 11:04:00 +0000 Subject: [PATCH 1/2] Add mas-ctl as a script This allows to have it installed when installed via 'uv tool install ./lab' --- lab/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/lab/pyproject.toml b/lab/pyproject.toml index 47280fd9..f4ca0140 100644 --- a/lab/pyproject.toml +++ b/lab/pyproject.toml @@ -45,6 +45,7 @@ Issues = "https://github.com/outshift-open/mas-lab/issues" [project.scripts] mas-lab = "mas.lab.cli:app" +mas-ctl = "mas.ctl.cli.main:main" [tool.hatch.build.targets.wheel] packages = ["src/mas"] From 67e1c661947679b0baee0cc979eb7a4bde6c33a5 Mon Sep 17 00:00:00 2001 From: Julien Barbot Date: Thu, 13 Aug 2026 13:20:28 +0200 Subject: [PATCH 2/2] Add missing stdlib dep for mas-ctl --- ctl/pyproject.toml | 2 ++ uv.lock | 40 +++++++++++++++++++++------------------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/ctl/pyproject.toml b/ctl/pyproject.toml index 295099e1..0d7702fa 100644 --- a/ctl/pyproject.toml +++ b/ctl/pyproject.toml @@ -13,6 +13,7 @@ requires-python = ">=3.11" license = { text = "Apache-2.0" } dependencies = [ "mas-runtime", + "mas-library-standard", "click>=8.0", "pyyaml>=6.0", "python-dotenv>=1.0", @@ -46,3 +47,4 @@ exclude = ["src/mas/ctl/testing/**"] [tool.uv.sources] mas-runtime = { workspace = true } +mas-library-standard = { workspace = true } diff --git a/uv.lock b/uv.lock index 5558df96..acee5e9a 100644 --- a/uv.lock +++ b/uv.lock @@ -3614,6 +3614,7 @@ dependencies = [ { name = "click" }, { name = "httpx" }, { name = "jsonschema" }, + { name = "mas-library-standard" }, { name = "mas-runtime" }, { name = "python-dotenv" }, { name = "pyyaml" }, @@ -3635,6 +3636,7 @@ requires-dist = [ { name = "httpx", specifier = ">=0.27" }, { name = "import-linter", marker = "extra == 'dev'", specifier = ">=2.0" }, { name = "jsonschema", specifier = ">=4.0" }, + { name = "mas-library-standard", editable = "library-standard" }, { name = "mas-runtime", editable = "runtime" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=8.0" }, { name = "python-dotenv", specifier = ">=1.0" }, @@ -5012,7 +5014,7 @@ name = "pexpect" version = "4.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "ptyprocess", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "ptyprocess" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } wheels = [ @@ -6438,7 +6440,7 @@ resolution-markers = [ "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", ] dependencies = [ - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz", hash = "sha256:95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0", size = 30573822, upload-time = "2026-02-23T00:26:24.851Z" } wheels = [ @@ -6523,7 +6525,7 @@ resolution-markers = [ "python_full_version == '3.12.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", ] dependencies = [ - { name = "numpy", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "numpy", version = "2.5.0", source = { registry = "https://pypi.org/simple" } }, ] sdist = { url = "https://files.pythonhosted.org/packages/a7/25/c2700dfaf6442b4effaa91af24ebce5dc9d31bb4a69706313aae70d72cd0/scipy-1.18.0.tar.gz", hash = "sha256:67b2ad2ad54c72ca6d04975a9b2df8c3638c34ddd5b28738e94fc2b57929d378", size = 30774447, upload-time = "2026-06-19T15:01:43.456Z" } wheels = [ @@ -6574,8 +6576,8 @@ name = "secretstorage" version = "3.5.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cryptography", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, - { name = "jeepney", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "cryptography" }, + { name = "jeepney" }, ] sdist = { url = "https://files.pythonhosted.org/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz", hash = "sha256:f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be", size = 19884, upload-time = "2025-11-23T19:02:53.191Z" } wheels = [ @@ -6806,13 +6808,13 @@ resolution-markers = [ "python_full_version < '3.12' and sys_platform == 'emscripten'", ] dependencies = [ - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12' and sys_platform == 'emscripten'" }, - { name = "numpy", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12' and sys_platform == 'emscripten'" }, - { name = "packaging", marker = "sys_platform == 'emscripten'" }, - { name = "pandas", marker = "sys_platform == 'emscripten'" }, - { name = "patsy", marker = "sys_platform == 'emscripten'" }, - { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12' and sys_platform == 'emscripten'" }, - { name = "scipy", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12' and sys_platform == 'emscripten'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "packaging" }, + { name = "pandas" }, + { name = "patsy" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/1f/3b/963a015dd8ea17e10c7b0e2f14d7c4daec903baf60a017e756b57953a4bf/statsmodels-0.14.4.tar.gz", hash = "sha256:5d69e0f39060dc72c067f9bb6e8033b6dccdb0bae101d76a7ef0bcc94e898b67", size = 20354802, upload-time = "2024-10-03T16:15:36.273Z" } @@ -6833,13 +6835,13 @@ resolution-markers = [ "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", ] dependencies = [ - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12' and sys_platform != 'emscripten'" }, - { name = "numpy", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12' and sys_platform != 'emscripten'" }, - { name = "packaging", marker = "sys_platform != 'emscripten'" }, - { name = "pandas", marker = "sys_platform != 'emscripten'" }, - { name = "patsy", marker = "sys_platform != 'emscripten'" }, - { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12' and sys_platform != 'emscripten'" }, - { name = "scipy", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12' and sys_platform != 'emscripten'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "packaging" }, + { name = "pandas" }, + { name = "patsy" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/0d/81/e8d74b34f85285f7335d30c5e3c2d7c0346997af9f3debf9a0a9a63de184/statsmodels-0.14.6.tar.gz", hash = "sha256:4d17873d3e607d398b85126cd4ed7aad89e4e9d89fc744cdab1af3189a996c2a", size = 20689085, upload-time = "2025-12-05T23:08:39.522Z" } wheels = [