Commit ·
4d76bd0
1
Parent(s): 522e582
build(deps): add statsmodels + explicit scikit-learn pin
Browse filesscikit-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>
- pyproject.toml +8 -0
- 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"
|