sofhiaazzhr Claude Opus 4.8 commited on
Commit
4d76bd0
·
1 Parent(s): 522e582

build(deps): add statsmodels + explicit scikit-learn pin

Browse files

scikit-learn pinned at 1.8.0 (already resolved transitively — no downgrade); statsmodels==0.14.4 added (pulls patsy). Needed by the §2 ML tools (forecast/anomaly/cluster/significance).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Files changed (2) hide show
  1. pyproject.toml +8 -0
  2. uv.lock +38 -0
pyproject.toml CHANGED
@@ -80,6 +80,14 @@ dependencies = [
80
  "matplotlib==3.9.3",
81
  "plotly==5.24.1",
82
  "kaleido==0.2.1",
 
 
 
 
 
 
 
 
83
  # --- MCP ---
84
  "mcp==1.2.0",
85
  # --- Advanced RAG ---
 
80
  "matplotlib==3.9.3",
81
  "plotly==5.24.1",
82
  "kaleido==0.2.1",
83
+ # --- ML / Stats (analytical tools round: forecast/importance/anomaly/cluster/
84
+ # significance). scikit-learn: IsolationForest, KMeans, permutation
85
+ # importance. statsmodels: ETS/SARIMAX forecast, ANOVA. Both pull scipy.
86
+ # After editing this block run `uv lock` (regenerates uv.lock) then
87
+ # `uv sync` — a bare edit does NOT install them. ⚠️ pins are proposals;
88
+ # `uv lock` may adjust to satisfy the existing numpy/pandas==2.2.3 stack. ---
89
+ "scikit-learn==1.8.0",
90
+ "statsmodels==0.14.4",
91
  # --- MCP ---
92
  "mcp==1.2.0",
93
  # --- Advanced RAG ---
uv.lock CHANGED
@@ -65,6 +65,7 @@ dependencies = [
65
  { name = "rank-bm25" },
66
  { name = "rapidfuzz" },
67
  { name = "redis" },
 
68
  { name = "sentence-transformers" },
69
  { name = "slowapi" },
70
  { name = "snowflake-sqlalchemy" },
@@ -74,6 +75,7 @@ dependencies = [
74
  { name = "sqlglot" },
75
  { name = "sse-starlette" },
76
  { name = "starlette" },
 
77
  { name = "structlog" },
78
  { name = "tenacity" },
79
  { name = "tiktoken" },
@@ -161,6 +163,7 @@ requires-dist = [
161
  { name = "rapidfuzz", specifier = ">=3.14.5" },
162
  { name = "redis", specifier = "==5.2.1" },
163
  { name = "ruff", marker = "extra == 'dev'", specifier = "==0.8.4" },
 
164
  { name = "sentence-transformers", specifier = "==3.3.1" },
165
  { name = "slowapi", specifier = "==0.1.9" },
166
  { name = "snowflake-sqlalchemy", specifier = ">=1.7.0" },
@@ -170,6 +173,7 @@ requires-dist = [
170
  { name = "sqlglot", specifier = ">=25.0.0" },
171
  { name = "sse-starlette", specifier = "==2.1.3" },
172
  { name = "starlette", specifier = "==0.41.3" },
 
173
  { name = "structlog", specifier = "==24.4.0" },
174
  { name = "tenacity", specifier = "==9.0.0" },
175
  { name = "tiktoken", specifier = "==0.8.0" },
@@ -2054,6 +2058,19 @@ bcrypt = [
2054
  { name = "bcrypt" },
2055
  ]
2056
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2057
  [[package]]
2058
  name = "pdf2image"
2059
  version = "1.17.0"
@@ -3232,6 +3249,27 @@ wheels = [
3232
  { url = "https://files.pythonhosted.org/packages/96/00/2b325970b3060c7cecebab6d295afe763365822b1306a12eeab198f74323/starlette-0.41.3-py3-none-any.whl", hash = "sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7", size = 73225, upload-time = "2024-11-18T19:45:02.027Z" },
3233
  ]
3234
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3235
  [[package]]
3236
  name = "structlog"
3237
  version = "24.4.0"
 
65
  { name = "rank-bm25" },
66
  { name = "rapidfuzz" },
67
  { name = "redis" },
68
+ { name = "scikit-learn" },
69
  { name = "sentence-transformers" },
70
  { name = "slowapi" },
71
  { name = "snowflake-sqlalchemy" },
 
75
  { name = "sqlglot" },
76
  { name = "sse-starlette" },
77
  { name = "starlette" },
78
+ { name = "statsmodels" },
79
  { name = "structlog" },
80
  { name = "tenacity" },
81
  { name = "tiktoken" },
 
163
  { name = "rapidfuzz", specifier = ">=3.14.5" },
164
  { name = "redis", specifier = "==5.2.1" },
165
  { name = "ruff", marker = "extra == 'dev'", specifier = "==0.8.4" },
166
+ { name = "scikit-learn", specifier = "==1.8.0" },
167
  { name = "sentence-transformers", specifier = "==3.3.1" },
168
  { name = "slowapi", specifier = "==0.1.9" },
169
  { name = "snowflake-sqlalchemy", specifier = ">=1.7.0" },
 
173
  { name = "sqlglot", specifier = ">=25.0.0" },
174
  { name = "sse-starlette", specifier = "==2.1.3" },
175
  { name = "starlette", specifier = "==0.41.3" },
176
+ { name = "statsmodels", specifier = "==0.14.4" },
177
  { name = "structlog", specifier = "==24.4.0" },
178
  { name = "tenacity", specifier = "==9.0.0" },
179
  { name = "tiktoken", specifier = "==0.8.0" },
 
2058
  { name = "bcrypt" },
2059
  ]
2060
 
2061
+ [[package]]
2062
+ name = "patsy"
2063
+ version = "1.0.3"
2064
+ source = { registry = "https://pypi.org/simple" }
2065
+ dependencies = [
2066
+ { name = "numpy" },
2067
+ { name = "packaging" },
2068
+ ]
2069
+ sdist = { url = "https://files.pythonhosted.org/packages/08/e3/950e513affdfe1c1864397b4f40d6ed06ec1b54f608e462c27f151dd72df/patsy-1.0.3.tar.gz", hash = "sha256:79ebf4c93ff4d296e58a9d5be2b2ee31bd49d737cf11d70ffbd8a44b2de42e65", size = 399992, upload-time = "2026-08-29T21:35:32.258Z" }
2070
+ wheels = [
2071
+ { url = "https://files.pythonhosted.org/packages/20/70/cd3cf5cff538323076a879edef02cce6f13f7d75e03d12f211b0a0dbd178/patsy-1.0.3-py2.py3-none-any.whl", hash = "sha256:d3dbebe8fd5f46e29912d030b63c6268647b59bf788a99e2af28a30234cf357c", size = 233318, upload-time = "2026-08-29T21:35:30.913Z" },
2072
+ ]
2073
+
2074
  [[package]]
2075
  name = "pdf2image"
2076
  version = "1.17.0"
 
3249
  { url = "https://files.pythonhosted.org/packages/96/00/2b325970b3060c7cecebab6d295afe763365822b1306a12eeab198f74323/starlette-0.41.3-py3-none-any.whl", hash = "sha256:44cedb2b7c77a9de33a8b74b2b90e9f50d11fcf25d8270ea525ad71a25374ff7", size = 73225, upload-time = "2024-11-18T19:45:02.027Z" },
3250
  ]
3251
 
3252
+ [[package]]
3253
+ name = "statsmodels"
3254
+ version = "0.14.4"
3255
+ source = { registry = "https://pypi.org/simple" }
3256
+ dependencies = [
3257
+ { name = "numpy" },
3258
+ { name = "packaging" },
3259
+ { name = "pandas" },
3260
+ { name = "patsy" },
3261
+ { name = "scipy" },
3262
+ ]
3263
+ 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" }
3264
+ wheels = [
3265
+ { url = "https://files.pythonhosted.org/packages/f5/99/654fd41a9024643ee70b239e5ebc987bf98ce9fc2693bd550bee58136564/statsmodels-0.14.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5221dba7424cf4f2561b22e9081de85f5bb871228581124a0d1b572708545199", size = 10220508, upload-time = "2024-10-03T17:10:31.183Z" },
3266
+ { url = "https://files.pythonhosted.org/packages/67/d8/ac30cf4cf97adaa48548be57e7cf02e894f31b45fd55bf9213358d9781c9/statsmodels-0.14.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:17672b30c6b98afe2b095591e32d1d66d4372f2651428e433f16a3667f19eabb", size = 9912317, upload-time = "2024-10-03T16:22:29.504Z" },
3267
+ { url = "https://files.pythonhosted.org/packages/e0/77/2440d551eaf27f9c1d3650e13b3821a35ad5b21d3a19f62fb302af9203e8/statsmodels-0.14.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ab5e6312213b8cfb9dca93dd46a0f4dccb856541f91d3306227c3d92f7659245", size = 10301662, upload-time = "2024-10-03T17:13:04.537Z" },
3268
+ { url = "https://files.pythonhosted.org/packages/fa/e1/60a652f18996a40a7410aeb7eb476c18da8a39792c7effe67f06883e9852/statsmodels-0.14.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4bbb150620b53133d6cd1c5d14c28a4f85701e6c781d9b689b53681effaa655f", size = 10741763, upload-time = "2024-10-03T17:13:17.594Z" },
3269
+ { url = "https://files.pythonhosted.org/packages/81/0c/2453eec3ac25e300847d9ed97f41156de145e507391ecb5ac989e111e525/statsmodels-0.14.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb695c2025d122a101c2aca66d2b78813c321b60d3a7c86bb8ec4467bb53b0f9", size = 10879534, upload-time = "2024-10-03T17:13:31.19Z" },
3270
+ { url = "https://files.pythonhosted.org/packages/59/9a/e466a1b887a1441141e52dbcc98152f013d85076576da6eed2357f2016ae/statsmodels-0.14.4-cp312-cp312-win_amd64.whl", hash = "sha256:7f7917a51766b4e074da283c507a25048ad29a18e527207883d73535e0dc6184", size = 9823866, upload-time = "2024-10-03T16:14:23.828Z" },
3271
+ ]
3272
+
3273
  [[package]]
3274
  name = "structlog"
3275
  version = "24.4.0"