2 else "",
+ subset=["styled_col"],
+ )
+
+ TableOutputHandler().process(styler, test_result)
+
+ rows = test_result.tables[0].serialize()["data"]
+ self.assertEqual(rows[0], {"styled_col": 1.2346, "untouched_col": 10.1111})
+ self.assertEqual(rows[1]["untouched_col"], 20.2222)
+ self.assertEqual(rows[1]["styled_col"], {"value": 2.3457, "bgcolor": "red"})
+ html = test_result.to_html()
+ self.assertIn(">1.2346<", html)
+ self.assertIn("background-color: red", html)
+
def test_test_result_add_figure(self):
"""Test adding figures to TestResult"""
test_result = TestResult(result_id="test_1")
@@ -326,7 +409,9 @@ def test_text_generation_result_logs_markdown_source(
)
@patch("validmind.vm_models.result.result.api_client.alog_text")
- async def test_text_generation_result_log_async_with_section_id(self, mock_log_text):
+ async def test_text_generation_result_log_async_with_section_id(
+ self, mock_log_text
+ ):
"""Test async logging of TextGenerationResult forwards section_id"""
text_result = TextGenerationResult(
result_id="text_1",
@@ -387,7 +472,9 @@ async def test_text_generation_result_log_async_uses_ai_revision_name(
section_id=None,
)
- async def test_text_generation_result_log_async_requires_section_id_for_new_block(self):
+ async def test_text_generation_result_log_async_requires_section_id_for_new_block(
+ self,
+ ):
"""Test new generated text requires a section_id for placement"""
text_result = TextGenerationResult(
result_id="text_1",
@@ -579,26 +666,44 @@ def test_figure_interactive_toggle_plotly(self):
try:
html = figure.to_html()
self.assertIsInstance(html, str)
- self.assertIn("vm-plotly-data", html, "Default should include plotly data")
+ self.assertIn(
+ "vm-plotly-data", html, "Default should include plotly data"
+ )
self.assertIn("vm-plotly-test_key", html)
finally:
if env_backup is not None:
os.environ["VALIDMIND_INTERACTIVE_FIGURES"] = env_backup
else:
- with patch.dict(os.environ, {"VALIDMIND_INTERACTIVE_FIGURES": value}, clear=False):
+ with patch.dict(
+ os.environ, {"VALIDMIND_INTERACTIVE_FIGURES": value}, clear=False
+ ):
html = figure.to_html()
self.assertIsInstance(html, str)
- self.assertIn("vm-plotly-data", html, f"Should include plotly data for value: {value}")
+ self.assertIn(
+ "vm-plotly-data",
+ html,
+ f"Should include plotly data for value: {value}",
+ )
self.assertIn("vm-plotly-test_key", html)
# Test disabled values
disabled_values = ["false", "False", "FALSE", "0", "no", "No", "NO"]
for value in disabled_values:
- with patch.dict(os.environ, {"VALIDMIND_INTERACTIVE_FIGURES": value}, clear=False):
+ with patch.dict(
+ os.environ, {"VALIDMIND_INTERACTIVE_FIGURES": value}, clear=False
+ ):
html = figure.to_html()
self.assertIsInstance(html, str)
- self.assertNotIn("vm-plotly-data", html, f"Should exclude plotly data for value: {value}")
- self.assertNotIn("vm-plotly-test_key", html, f"Should exclude plotly container for value: {value}")
+ self.assertNotIn(
+ "vm-plotly-data",
+ html,
+ f"Should exclude plotly data for value: {value}",
+ )
+ self.assertNotIn(
+ "vm-plotly-test_key",
+ html,
+ f"Should exclude plotly container for value: {value}",
+ )
# Should still contain the static image
self.assertIn("data:image/png;base64", html)
self.assertIn("vm-img-test_key", html)
@@ -611,7 +716,9 @@ def test_figure_interactive_toggle_matplotlib_unaffected(self):
# Test that matplotlib figures never include plotly data regardless of setting
# Only need to test once since behavior is identical for all values
- with patch.dict(os.environ, {"VALIDMIND_INTERACTIVE_FIGURES": "true"}, clear=False):
+ with patch.dict(
+ os.environ, {"VALIDMIND_INTERACTIVE_FIGURES": "true"}, clear=False
+ ):
html = figure.to_html()
self.assertIsInstance(html, str)
self.assertNotIn("vm-plotly-data", html)
@@ -627,9 +734,7 @@ def test_figure_title_serializes_as_caption(self):
plotly_fig = go.Figure(data=go.Scatter(x=[1, 2, 3], y=[4, 5, 6]))
# With a title -> metadata.caption is set
- titled = Figure(
- key="k", figure=plotly_fig, ref_id="r1", title="My Cool Chart"
- )
+ titled = Figure(key="k", figure=plotly_fig, ref_id="r1", title="My Cool Chart")
payload = titled.serialize()
meta = _json.loads(payload["metadata"])
self.assertEqual(meta["_ref_id"], "r1")
diff --git a/uv.lock b/uv.lock
index 8429e5498..a0b16a3ac 100644
--- a/uv.lock
+++ b/uv.lock
@@ -26,7 +26,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "pycares", version = "4.11.0", source = { registry = "https://pypi.org/simple" } },
+ { name = "pycares", version = "4.11.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/85/2f/9d1ee4f937addda60220f47925dac6c6b3782f6851fd578987284a8d2491/aiodns-3.6.1.tar.gz", hash = "sha256:b0e9ce98718a5b8f7ca8cd16fc393163374bc2412236b91f6c851d066e3324b6", size = 15143, upload-time = "2025-12-11T12:53:07.785Z" }
wheels = [
@@ -49,7 +49,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "pycares", version = "5.0.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "pycares", version = "5.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/10/da/97235e953109936bfeda62c1f9f1a7c5652d4dc49f2b5911f9ae1043afa9/aiodns-4.0.0.tar.gz", hash = "sha256:17be26a936ba788c849ba5fd20e0ba69d8c46e6273e846eb5430eae2630ce5b1", size = 26204, upload-time = "2026-01-10T22:33:27.211Z" }
wheels = [
@@ -270,9 +270,9 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "exceptiongroup" },
- { name = "idna" },
- { name = "typing-extensions" },
+ { name = "exceptiongroup", marker = "python_full_version < '3.10'" },
+ { name = "idna", marker = "python_full_version < '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685, upload-time = "2026-01-06T11:45:21.246Z" }
wheels = [
@@ -295,9 +295,9 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
- { name = "idna" },
- { name = "typing-extensions", marker = "python_full_version < '3.13'" },
+ { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" },
+ { name = "idna", marker = "python_full_version >= '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.13'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", hash = "sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc", size = 231622, upload-time = "2026-03-24T12:59:09.671Z" }
wheels = [
@@ -312,9 +312,9 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "ipywidgets" },
- { name = "psygnal", version = "0.14.2", source = { registry = "https://pypi.org/simple" } },
- { name = "typing-extensions" },
+ { name = "ipywidgets", marker = "python_full_version < '3.10'" },
+ { name = "psygnal", version = "0.14.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/be/5e/cbea445bf062b81e4d366ca29dae4f0aedc7a64f384afc24670e07bec560/anywidget-0.9.21.tar.gz", hash = "sha256:b8d0172029ac426573053c416c6a587838661612208bb390fa0607862e594b27", size = 390517, upload-time = "2025-11-12T17:06:03.035Z" }
wheels = [
@@ -337,9 +337,9 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "ipywidgets" },
- { name = "psygnal", version = "0.15.1", source = { registry = "https://pypi.org/simple" } },
- { name = "typing-extensions" },
+ { name = "ipywidgets", marker = "python_full_version >= '3.10'" },
+ { name = "psygnal", version = "0.15.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/79/31/0491d707c674b34267f55d96d6a7148e55e7b6718a271686232cf295fbe2/anywidget-0.11.0.tar.gz", hash = "sha256:6695fbef9449cf8c27f421b96c5837aa37f909ec1f60cfa33add333e1b70b169", size = 426999, upload-time = "2026-04-27T23:42:09.576Z" }
wheels = [
@@ -372,10 +372,10 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
- { name = "pandas" },
- { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" } },
- { name = "statsmodels" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "pandas", marker = "python_full_version < '3.10'" },
+ { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "statsmodels", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/a5/25/6d334de3338153d65a0f4939349a89c597f5e9c31dbbc4e3206e18f5295d/arch-7.2.0.tar.gz", hash = "sha256:2c6128174e0e3ab4c2cad527e78eb3fbce4a4f8ba53580bdf0d02566eb2e953d", size = 1240750, upload-time = "2024-11-04T19:09:25.207Z" }
wheels = [
@@ -426,13 +426,13 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.14'" },
{ name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
- { name = "packaging" },
- { name = "pandas" },
- { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "packaging", marker = "python_full_version >= '3.10'" },
+ { name = "pandas", marker = "python_full_version >= '3.10'" },
+ { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
{ name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
- { name = "statsmodels" },
+ { name = "statsmodels", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/61/50/f8be4b21db5eb0490aef82b592d105baac957f601805ee7fe5b9182405b2/arch-8.0.0.tar.gz", hash = "sha256:5e9895c2354b9475aff50797ff2191dc64dc5f79602baf0c9321310fb864b637", size = 872623, upload-time = "2025-10-21T08:55:52.667Z" }
wheels = [
@@ -680,7 +680,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "webencodings" },
+ { name = "webencodings", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" }
wheels = [
@@ -689,7 +689,7 @@ wheels = [
[package.optional-dependencies]
css = [
- { name = "tinycss2" },
+ { name = "tinycss2", marker = "python_full_version < '3.10'" },
]
[[package]]
@@ -708,7 +708,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "webencodings" },
+ { name = "webencodings", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/07/18/3c8523962314be6bf4c8989c79ad9531c825210dd13a8669f6b84336e8bd/bleach-6.3.0.tar.gz", hash = "sha256:6f3b91b1c0a02bb9a78b5a454c92506aa0fdf197e1d5e114d2e00c6f64306d22", size = 203533, upload-time = "2025-10-27T17:57:39.211Z" }
wheels = [
@@ -717,7 +717,7 @@ wheels = [
[package.optional-dependencies]
css = [
- { name = "tinycss2" },
+ { name = "tinycss2", marker = "python_full_version >= '3.10'" },
]
[[package]]
@@ -1149,7 +1149,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" }
wheels = [
@@ -1172,7 +1172,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "colorama", marker = "sys_platform == 'win32'" },
+ { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" }
wheels = [
@@ -1226,8 +1226,8 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "pydantic" },
- { name = "srsly" },
+ { name = "pydantic", marker = "python_full_version < '3.10'" },
+ { name = "srsly", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/51/d3/57c6631159a1b48d273b40865c315cf51f89df7a9d1101094ef12e3a37c2/confection-0.1.5.tar.gz", hash = "sha256:8e72dd3ca6bd4f48913cd220f10b8275978e740411654b6e8ca6d7008c590f0e", size = 38924, upload-time = "2024-05-31T16:17:01.559Z" }
wheels = [
@@ -1250,7 +1250,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
+ { name = "typing-extensions", marker = "python_full_version == '3.10.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/ca/65/efd0fe8a936fc8ca2978cb7b82581fb20d901c6039e746a808f746b7647b/confection-1.3.3.tar.gz", hash = "sha256:f0f6810d567ff73993fe74d218ca5e1ffb6a44fb03f391257fc5d033546cbfaa", size = 54895, upload-time = "2026-03-24T18:45:24.331Z" }
wheels = [
@@ -1265,7 +1265,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/f5/f6/31a8f28b4a2a4fa0e01085e542f3081ab0588eff8e589d39d775172c9792/contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4", size = 13464370, upload-time = "2024-08-27T21:00:03.328Z" }
wheels = [
@@ -1343,7 +1343,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" }
wheels = [
@@ -1420,7 +1420,7 @@ resolution-markers = [
"(python_full_version == '3.11.*' and platform_machine != 'x86_64') or (python_full_version == '3.11.*' and sys_platform != 'darwin')",
]
dependencies = [
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' and python_full_version < '3.14'" },
{ name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" }
@@ -1506,7 +1506,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
+ { name = "cffi", marker = "python_full_version < '3.10' and platform_python_implementation != 'PyPy'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/53/d6/1411ab4d6108ab167d06254c5be517681f1e331f90edf1379895bcb87020/cryptography-44.0.3.tar.gz", hash = "sha256:fe19d8bc5536a91a24a8133328880a41831b6c5df54599a8417b62fe015d3053", size = 711096, upload-time = "2025-05-02T19:36:04.667Z" }
wheels = [
@@ -1564,8 +1564,8 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
+ { name = "cffi", marker = "python_full_version >= '3.10' and platform_python_implementation != 'PyPy'" },
+ { name = "typing-extensions", marker = "python_full_version == '3.10.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/9f/a9/db8f313fdcd85d767d4973515e1db101f9c71f95fced83233de224673757/cryptography-48.0.0.tar.gz", hash = "sha256:5c3932f4436d1cccb036cb0eaef46e6e2db91035166f1ad6505c3c9d5a635920", size = 832984, upload-time = "2026-05-04T22:59:38.133Z" }
wheels = [
@@ -1624,7 +1624,7 @@ name = "cuda-bindings"
version = "13.2.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "cuda-pathfinder" },
+ { name = "cuda-pathfinder", marker = "(python_full_version >= '3.10' and platform_machine != 'x86_64') or (python_full_version == '3.10.*' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.10' and sys_platform != 'darwin')" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/1a/fe/7351d7e586a8b4c9f89731bfe4cf0148223e8f9903ff09571f78b3fb0682/cuda_bindings-13.2.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08b395f79cb89ce0cd8effff07c4a1e20101b873c256a1aeb286e8fd7bd0f556", size = 5744254, upload-time = "2026-03-11T00:12:29.798Z" },
@@ -1659,37 +1659,37 @@ wheels = [
[package.optional-dependencies]
cublas = [
- { name = "nvidia-cublas" },
+ { name = "nvidia-cublas", marker = "(python_full_version >= '3.10' and sys_platform == 'linux') or (python_full_version >= '3.10' and sys_platform == 'win32')" },
]
cudart = [
- { name = "nvidia-cuda-runtime" },
+ { name = "nvidia-cuda-runtime", marker = "(python_full_version >= '3.10' and sys_platform == 'linux') or (python_full_version >= '3.10' and sys_platform == 'win32')" },
]
cufft = [
- { name = "nvidia-cufft" },
+ { name = "nvidia-cufft", marker = "(python_full_version >= '3.10' and sys_platform == 'linux') or (python_full_version >= '3.10' and sys_platform == 'win32')" },
]
cufile = [
- { name = "nvidia-cufile" },
+ { name = "nvidia-cufile", marker = "python_full_version >= '3.10' and sys_platform == 'linux'" },
]
cupti = [
- { name = "nvidia-cuda-cupti" },
+ { name = "nvidia-cuda-cupti", marker = "(python_full_version >= '3.10' and sys_platform == 'linux') or (python_full_version >= '3.10' and sys_platform == 'win32')" },
]
curand = [
- { name = "nvidia-curand" },
+ { name = "nvidia-curand", marker = "(python_full_version >= '3.10' and sys_platform == 'linux') or (python_full_version >= '3.10' and sys_platform == 'win32')" },
]
cusolver = [
- { name = "nvidia-cusolver" },
+ { name = "nvidia-cusolver", marker = "(python_full_version >= '3.10' and sys_platform == 'linux') or (python_full_version >= '3.10' and sys_platform == 'win32')" },
]
cusparse = [
- { name = "nvidia-cusparse" },
+ { name = "nvidia-cusparse", marker = "(python_full_version >= '3.10' and sys_platform == 'linux') or (python_full_version >= '3.10' and sys_platform == 'win32')" },
]
nvjitlink = [
- { name = "nvidia-nvjitlink" },
+ { name = "nvidia-nvjitlink", marker = "(python_full_version >= '3.10' and sys_platform == 'linux') or (python_full_version >= '3.10' and sys_platform == 'win32')" },
]
nvrtc = [
- { name = "nvidia-cuda-nvrtc" },
+ { name = "nvidia-cuda-nvrtc", marker = "(python_full_version >= '3.10' and sys_platform == 'linux') or (python_full_version >= '3.10' and sys_platform == 'win32')" },
]
nvtx = [
- { name = "nvidia-nvtx" },
+ { name = "nvidia-nvtx", marker = "(python_full_version >= '3.10' and sys_platform == 'linux') or (python_full_version >= '3.10' and sys_platform == 'win32')" },
]
[[package]]
@@ -1826,22 +1826,22 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "aiohttp" },
- { name = "dill", version = "0.3.8", source = { registry = "https://pypi.org/simple" } },
- { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or python_full_version >= '3.14'" },
+ { name = "aiohttp", marker = "python_full_version < '3.14'" },
+ { name = "dill", version = "0.3.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
{ name = "filelock", version = "3.29.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.14'" },
- { name = "fsspec", version = "2024.6.1", source = { registry = "https://pypi.org/simple" }, extra = ["http"] },
- { name = "huggingface-hub" },
- { name = "multiprocess", version = "0.70.16", source = { registry = "https://pypi.org/simple" } },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
- { name = "packaging" },
- { name = "pandas" },
- { name = "pyarrow", version = "15.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version != '3.13.*'" },
+ { name = "fsspec", version = "2024.6.1", source = { registry = "https://pypi.org/simple" }, extra = ["http"], marker = "python_full_version < '3.14'" },
+ { name = "huggingface-hub", marker = "python_full_version < '3.14'" },
+ { name = "multiprocess", version = "0.70.16", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "packaging", marker = "python_full_version < '3.14'" },
+ { name = "pandas", marker = "python_full_version < '3.14'" },
+ { name = "pyarrow", version = "15.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" },
{ name = "pyarrow", version = "20.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.13.*'" },
- { name = "pyyaml" },
- { name = "requests" },
- { name = "tqdm" },
- { name = "xxhash" },
+ { name = "pyyaml", marker = "python_full_version < '3.14'" },
+ { name = "requests", marker = "python_full_version < '3.14'" },
+ { name = "tqdm", marker = "python_full_version < '3.14'" },
+ { name = "xxhash", marker = "python_full_version < '3.14'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/e5/a5/38719e5cff7aa0537a6be37d21cc1fdd7096e9565e8fce2d46a822e10b5b/datasets-2.21.0.tar.gz", hash = "sha256:998f85a8460f1bd982e5bd058f8a0808eef424249e3df1e8cdd594ccd0dc8ba2", size = 2215317, upload-time = "2024-08-14T06:40:44.314Z" }
wheels = [
@@ -1857,20 +1857,20 @@ resolution-markers = [
"(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')",
]
dependencies = [
- { name = "dill", version = "0.4.1", source = { registry = "https://pypi.org/simple" } },
- { name = "filelock", version = "3.29.0", source = { registry = "https://pypi.org/simple" } },
- { name = "fsspec", version = "2026.2.0", source = { registry = "https://pypi.org/simple" }, extra = ["http"] },
- { name = "httpx" },
- { name = "huggingface-hub" },
- { name = "multiprocess", version = "0.70.19", source = { registry = "https://pypi.org/simple" } },
- { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" } },
- { name = "packaging" },
- { name = "pandas" },
- { name = "pyarrow", version = "22.0.0", source = { registry = "https://pypi.org/simple" } },
- { name = "pyyaml" },
- { name = "requests" },
- { name = "tqdm" },
- { name = "xxhash" },
+ { name = "dill", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
+ { name = "filelock", version = "3.29.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
+ { name = "fsspec", version = "2026.2.0", source = { registry = "https://pypi.org/simple" }, extra = ["http"], marker = "python_full_version >= '3.14'" },
+ { name = "httpx", marker = "python_full_version >= '3.14'" },
+ { name = "huggingface-hub", marker = "python_full_version >= '3.14'" },
+ { name = "multiprocess", version = "0.70.19", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
+ { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
+ { name = "packaging", marker = "python_full_version >= '3.14'" },
+ { name = "pandas", marker = "python_full_version >= '3.14'" },
+ { name = "pyarrow", version = "22.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
+ { name = "pyyaml", marker = "python_full_version >= '3.14'" },
+ { name = "requests", marker = "python_full_version >= '3.14'" },
+ { name = "tqdm", marker = "python_full_version >= '3.14'" },
+ { name = "xxhash", marker = "python_full_version >= '3.14'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/66/34/14cd8e76f907f7d4dca2334cfeec9f81d30fd15c25a015f99aaea694eaed/datasets-4.8.5.tar.gz", hash = "sha256:0f0c1c3d56ffff2c93b2f4c63c95bac94f3d7e8621aea2a2a576275233bba772", size = 605649, upload-time = "2026-04-27T15:43:57.384Z" }
wheels = [
@@ -2083,7 +2083,7 @@ name = "exceptiongroup"
version = "1.3.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "typing-extensions" },
+ { name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
wheels = [
@@ -2475,7 +2475,7 @@ wheels = [
[package.optional-dependencies]
http = [
- { name = "aiohttp" },
+ { name = "aiohttp", marker = "python_full_version < '3.14'" },
]
[[package]]
@@ -2493,7 +2493,7 @@ wheels = [
[package.optional-dependencies]
http = [
- { name = "aiohttp" },
+ { name = "aiohttp", marker = "python_full_version >= '3.14'" },
]
[[package]]
@@ -2546,8 +2546,8 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "cryptography", version = "44.0.3", source = { registry = "https://pypi.org/simple" } },
- { name = "pyasn1-modules" },
+ { name = "cryptography", version = "44.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "pyasn1-modules", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/5f/18/238d7021d151bdab868f23433817b027dd759135202f4dfce0670d1230ca/google_auth-2.50.0.tar.gz", hash = "sha256:f35eafb191195328e8ce10a7883970877e7aeb49c2bfaa54aa0e394316d353d0", size = 336523, upload-time = "2026-04-30T21:19:29.659Z" }
wheels = [
@@ -2570,8 +2570,8 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "cryptography", version = "48.0.0", source = { registry = "https://pypi.org/simple" } },
- { name = "pyasn1-modules" },
+ { name = "cryptography", version = "48.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "pyasn1-modules", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/d4/f8/80d2493cbedece1c623dc3e3cb1883300871af0dcdae254409522985ac23/google_auth-2.52.0.tar.gz", hash = "sha256:01f30e1a9e3638698d89464f5e603ce29d18e1c0e63ec31ac570aba4e164aaf5", size = 335027, upload-time = "2026-05-07T19:45:24.033Z" }
wheels = [
@@ -2580,7 +2580,7 @@ wheels = [
[package.optional-dependencies]
requests = [
- { name = "requests" },
+ { name = "requests", marker = "python_full_version >= '3.10'" },
]
[[package]]
@@ -2591,14 +2591,14 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "anyio", version = "4.12.1", source = { registry = "https://pypi.org/simple" } },
- { name = "google-auth", version = "2.50.0", source = { registry = "https://pypi.org/simple" } },
- { name = "httpx" },
- { name = "pydantic" },
- { name = "requests" },
- { name = "tenacity", version = "9.1.2", source = { registry = "https://pypi.org/simple" } },
- { name = "typing-extensions" },
- { name = "websockets", version = "15.0.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "anyio", version = "4.12.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "google-auth", version = "2.50.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "httpx", marker = "python_full_version < '3.10'" },
+ { name = "pydantic", marker = "python_full_version < '3.10'" },
+ { name = "requests", marker = "python_full_version < '3.10'" },
+ { name = "tenacity", version = "9.1.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version < '3.10'" },
+ { name = "websockets", version = "15.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/9f/97/784fba9bc6c41263ff90cb9063eadfdd755dde79cfa5a8d0e397b067dcf9/google_genai-1.47.0.tar.gz", hash = "sha256:ecece00d0a04e6739ea76cc8dad82ec9593d9380aaabef078990e60574e5bf59", size = 241471, upload-time = "2025-10-29T22:01:02.88Z" }
wheels = [
@@ -2621,16 +2621,16 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "anyio", version = "4.13.0", source = { registry = "https://pypi.org/simple" } },
- { name = "distro" },
- { name = "google-auth", version = "2.52.0", source = { registry = "https://pypi.org/simple" }, extra = ["requests"] },
- { name = "httpx" },
- { name = "pydantic" },
- { name = "requests" },
- { name = "sniffio" },
- { name = "tenacity", version = "9.1.4", source = { registry = "https://pypi.org/simple" } },
- { name = "typing-extensions" },
- { name = "websockets", version = "16.0", source = { registry = "https://pypi.org/simple" } },
+ { name = "anyio", version = "4.13.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "distro", marker = "python_full_version >= '3.10'" },
+ { name = "google-auth", version = "2.52.0", source = { registry = "https://pypi.org/simple" }, extra = ["requests"], marker = "python_full_version >= '3.10'" },
+ { name = "httpx", marker = "python_full_version >= '3.10'" },
+ { name = "pydantic", marker = "python_full_version >= '3.10'" },
+ { name = "requests", marker = "python_full_version >= '3.10'" },
+ { name = "sniffio", marker = "python_full_version >= '3.10'" },
+ { name = "tenacity", version = "9.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version >= '3.10'" },
+ { name = "websockets", version = "16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/44/ae/8504f6fa44aae887909c3fda1d49c6ffe129225b68f6f63b8904c49e7e90/google_genai-2.0.1.tar.gz", hash = "sha256:32cec7c07157c0e65e4dfc740e3288ff8e8bfc2d506cde49f884d79ed8377867", size = 537456, upload-time = "2026-05-09T01:37:12.693Z" }
wheels = [
@@ -2773,7 +2773,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "colorama" },
+ { name = "colorama", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/ec/d7/6c09dd7ce4c7837e4cdb11dce980cb45ae3cd87677298dc3b781b6bce7d3/griffe-1.14.0.tar.gz", hash = "sha256:9d2a15c1eca966d68e00517de5d69dd1bc5c9f2335ef6c1775362ba5b8651a13", size = 424684, upload-time = "2025-09-05T15:02:29.167Z" }
wheels = [
@@ -2796,8 +2796,8 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "griffecli" },
- { name = "griffelib" },
+ { name = "griffecli", marker = "python_full_version >= '3.10'" },
+ { name = "griffelib", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/4a/49/eb6d2935e27883af92c930ed40cc4c69bcd32c402be43b8ca4ab20510f67/griffe-2.0.2.tar.gz", hash = "sha256:c5d56326d159f274492e9bf93a9895cec101155d944caa66d0fc4e0c13751b92", size = 293757, upload-time = "2026-03-27T11:34:52.205Z" }
wheels = [
@@ -2809,8 +2809,8 @@ name = "griffecli"
version = "2.0.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "colorama" },
- { name = "griffelib" },
+ { name = "colorama", marker = "python_full_version >= '3.10'" },
+ { name = "griffelib", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/79/e0/6a7d661d71bb043656a109b91d84a42b5342752542074ec83b16a6eb97f0/griffecli-2.0.2.tar.gz", hash = "sha256:40a1ad4181fc39685d025e119ae2c5b669acdc1f19b705fb9bf971f4e6f6dffb", size = 56281, upload-time = "2026-03-27T11:34:50.087Z" }
wheels = [
@@ -3110,7 +3110,7 @@ name = "importlib-resources"
version = "6.5.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "zipp" },
+ { name = "zipp", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload-time = "2025-01-03T18:51:56.698Z" }
wheels = [
@@ -3185,17 +3185,17 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "colorama", marker = "sys_platform == 'win32'" },
- { name = "decorator" },
- { name = "exceptiongroup" },
- { name = "jedi", version = "0.19.2", source = { registry = "https://pypi.org/simple" } },
- { name = "matplotlib-inline" },
- { name = "pexpect", marker = "sys_platform != 'win32'" },
- { name = "prompt-toolkit" },
- { name = "pygments" },
- { name = "stack-data" },
- { name = "traitlets" },
- { name = "typing-extensions" },
+ { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" },
+ { name = "decorator", marker = "python_full_version < '3.10'" },
+ { name = "exceptiongroup", marker = "python_full_version < '3.10'" },
+ { name = "jedi", version = "0.19.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "matplotlib-inline", marker = "python_full_version < '3.10'" },
+ { name = "pexpect", marker = "python_full_version < '3.10' and sys_platform != 'win32'" },
+ { name = "prompt-toolkit", marker = "python_full_version < '3.10'" },
+ { name = "pygments", marker = "python_full_version < '3.10'" },
+ { name = "stack-data", marker = "python_full_version < '3.10'" },
+ { name = "traitlets", marker = "python_full_version < '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330, upload-time = "2023-11-27T09:58:34.596Z" }
wheels = [
@@ -3210,17 +3210,17 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "colorama", marker = "sys_platform == 'win32'" },
- { name = "decorator" },
- { name = "exceptiongroup" },
- { name = "jedi", version = "0.20.0", source = { registry = "https://pypi.org/simple" } },
- { name = "matplotlib-inline" },
- { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
- { name = "prompt-toolkit" },
- { name = "pygments" },
- { name = "stack-data" },
- { name = "traitlets" },
- { name = "typing-extensions" },
+ { name = "colorama", marker = "python_full_version == '3.10.*' and sys_platform == 'win32'" },
+ { name = "decorator", marker = "python_full_version == '3.10.*'" },
+ { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" },
+ { name = "jedi", version = "0.20.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
+ { name = "matplotlib-inline", marker = "python_full_version == '3.10.*'" },
+ { name = "pexpect", marker = "python_full_version == '3.10.*' and sys_platform != 'emscripten' and sys_platform != 'win32'" },
+ { name = "prompt-toolkit", marker = "python_full_version == '3.10.*'" },
+ { name = "pygments", marker = "python_full_version == '3.10.*'" },
+ { name = "stack-data", marker = "python_full_version == '3.10.*'" },
+ { name = "traitlets", marker = "python_full_version == '3.10.*'" },
+ { name = "typing-extensions", marker = "python_full_version == '3.10.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", hash = "sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624", size = 5513971, upload-time = "2026-03-27T10:02:13.94Z" }
wheels = [
@@ -3242,18 +3242,18 @@ resolution-markers = [
"(python_full_version == '3.11.*' and platform_machine != 'x86_64') or (python_full_version == '3.11.*' and sys_platform != 'darwin')",
]
dependencies = [
- { name = "colorama", marker = "sys_platform == 'win32'" },
- { name = "decorator" },
- { name = "ipython-pygments-lexers" },
- { name = "jedi", version = "0.20.0", source = { registry = "https://pypi.org/simple" } },
- { name = "matplotlib-inline" },
- { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" },
- { name = "prompt-toolkit" },
- { name = "psutil" },
- { name = "pygments" },
- { name = "stack-data" },
- { name = "traitlets" },
- { name = "typing-extensions", marker = "python_full_version < '3.12'" },
+ { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" },
+ { name = "decorator", marker = "python_full_version >= '3.11'" },
+ { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" },
+ { name = "jedi", version = "0.20.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" },
+ { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" },
+ { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" },
+ { name = "psutil", marker = "python_full_version >= '3.11'" },
+ { name = "pygments", marker = "python_full_version >= '3.11'" },
+ { name = "stack-data", marker = "python_full_version >= '3.11'" },
+ { name = "traitlets", marker = "python_full_version >= '3.11'" },
+ { name = "typing-extensions", marker = "python_full_version == '3.11.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/cd/c4/87cda5842cf5c31837c06ddb588e11c3c35d8ece89b7a0108c06b8c9b00a/ipython-9.13.0.tar.gz", hash = "sha256:7e834b6afc99f020e3f05966ced34792f40267d64cb1ea9043886dab0dde5967", size = 4430549, upload-time = "2026-04-24T12:24:55.221Z" }
wheels = [
@@ -3341,7 +3341,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "backports-tarfile" },
+ { name = "backports-tarfile", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/27/7b/c3081ff1af947915503121c649f26a778e1a2101fd525f74aef997d75b7e/jaraco_context-6.1.1.tar.gz", hash = "sha256:bc046b2dc94f1e5532bd02402684414575cc11f565d929b6563125deb0a6e581", size = 15832, upload-time = "2026-03-07T15:46:04.63Z" }
wheels = [
@@ -3364,7 +3364,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "backports-tarfile", marker = "python_full_version < '3.12'" },
+ { name = "backports-tarfile", marker = "python_full_version >= '3.10' and python_full_version < '3.12'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/af/50/4763cd07e722bb6285316d390a164bc7e479db9d90daa769f22578f698b4/jaraco_context-6.1.2.tar.gz", hash = "sha256:f1a6c9d391e661cc5b8d39861ff077a7dc24dc23833ccee564b234b81c82dfe3", size = 16801, upload-time = "2026-03-20T22:13:33.922Z" }
wheels = [
@@ -3392,7 +3392,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "parso" },
+ { name = "parso", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" }
wheels = [
@@ -3415,7 +3415,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "parso" },
+ { name = "parso", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/46/b7/a3635f6a2d7cf5b5dd98064fc1d5fbbafcb25477bcea204a3a92145d158b/jedi-0.20.0.tar.gz", hash = "sha256:c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011", size = 3119416, upload-time = "2026-05-01T23:38:47.814Z" }
wheels = [
@@ -3621,10 +3621,10 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "attrs" },
- { name = "jsonschema-specifications" },
- { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" } },
- { name = "rpds-py", version = "0.27.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "attrs", marker = "python_full_version < '3.10'" },
+ { name = "jsonschema-specifications", marker = "python_full_version < '3.10'" },
+ { name = "referencing", version = "0.36.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "rpds-py", version = "0.27.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" }
wheels = [
@@ -3633,15 +3633,15 @@ wheels = [
[package.optional-dependencies]
format-nongpl = [
- { name = "fqdn" },
- { name = "idna" },
- { name = "isoduration" },
- { name = "jsonpointer", version = "3.0.0", source = { registry = "https://pypi.org/simple" } },
- { name = "rfc3339-validator" },
- { name = "rfc3986-validator" },
- { name = "rfc3987-syntax" },
- { name = "uri-template" },
- { name = "webcolors", version = "24.11.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "fqdn", marker = "python_full_version < '3.10'" },
+ { name = "idna", marker = "python_full_version < '3.10'" },
+ { name = "isoduration", marker = "python_full_version < '3.10'" },
+ { name = "jsonpointer", version = "3.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "rfc3339-validator", marker = "python_full_version < '3.10'" },
+ { name = "rfc3986-validator", marker = "python_full_version < '3.10'" },
+ { name = "rfc3987-syntax", marker = "python_full_version < '3.10'" },
+ { name = "uri-template", marker = "python_full_version < '3.10'" },
+ { name = "webcolors", version = "24.11.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
[[package]]
@@ -3660,10 +3660,10 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "attrs" },
- { name = "jsonschema-specifications" },
- { name = "referencing", version = "0.37.0", source = { registry = "https://pypi.org/simple" } },
- { name = "rpds-py", version = "0.30.0", source = { registry = "https://pypi.org/simple" } },
+ { name = "attrs", marker = "python_full_version >= '3.10'" },
+ { name = "jsonschema-specifications", marker = "python_full_version >= '3.10'" },
+ { name = "referencing", version = "0.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "rpds-py", version = "0.30.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", size = 366583, upload-time = "2026-01-07T13:41:07.246Z" }
wheels = [
@@ -3672,15 +3672,15 @@ wheels = [
[package.optional-dependencies]
format-nongpl = [
- { name = "fqdn" },
- { name = "idna" },
- { name = "isoduration" },
- { name = "jsonpointer", version = "3.1.1", source = { registry = "https://pypi.org/simple" } },
- { name = "rfc3339-validator" },
- { name = "rfc3986-validator" },
- { name = "rfc3987-syntax" },
- { name = "uri-template" },
- { name = "webcolors", version = "25.10.0", source = { registry = "https://pypi.org/simple" } },
+ { name = "fqdn", marker = "python_full_version >= '3.10'" },
+ { name = "idna", marker = "python_full_version >= '3.10'" },
+ { name = "isoduration", marker = "python_full_version >= '3.10'" },
+ { name = "jsonpointer", version = "3.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "rfc3339-validator", marker = "python_full_version >= '3.10'" },
+ { name = "rfc3986-validator", marker = "python_full_version >= '3.10'" },
+ { name = "rfc3987-syntax", marker = "python_full_version >= '3.10'" },
+ { name = "uri-template", marker = "python_full_version >= '3.10'" },
+ { name = "webcolors", version = "25.10.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
]
[[package]]
@@ -3721,12 +3721,12 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "importlib-metadata" },
- { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" } },
- { name = "python-dateutil" },
- { name = "pyzmq" },
- { name = "tornado" },
- { name = "traitlets" },
+ { name = "importlib-metadata", marker = "python_full_version < '3.10'" },
+ { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "python-dateutil", marker = "python_full_version < '3.10'" },
+ { name = "pyzmq", marker = "python_full_version < '3.10'" },
+ { name = "tornado", marker = "python_full_version < '3.10'" },
+ { name = "traitlets", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" }
wheels = [
@@ -3749,11 +3749,11 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" } },
- { name = "python-dateutil" },
- { name = "pyzmq" },
- { name = "tornado" },
- { name = "traitlets" },
+ { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "python-dateutil", marker = "python_full_version >= '3.10'" },
+ { name = "pyzmq", marker = "python_full_version >= '3.10'" },
+ { name = "tornado", marker = "python_full_version >= '3.10'" },
+ { name = "traitlets", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/05/e4/ba649102a3bc3fbca54e7239fb924fd434c766f855693d86de0b1f2bec81/jupyter_client-8.8.0.tar.gz", hash = "sha256:d556811419a4f2d96c869af34e854e3f059b7cc2d6d01a9cd9c85c267691be3e", size = 348020, upload-time = "2026-01-08T13:55:47.938Z" }
wheels = [
@@ -3791,9 +3791,9 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" } },
- { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" },
- { name = "traitlets" },
+ { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "pywin32", marker = "python_full_version < '3.10' and platform_python_implementation != 'PyPy' and sys_platform == 'win32'" },
+ { name = "traitlets", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/99/1b/72906d554acfeb588332eaaa6f61577705e9ec752ddb486f302dafa292d9/jupyter_core-5.8.1.tar.gz", hash = "sha256:0a5f9706f70e64786b75acba995988915ebd4601c8a52e534a40b51c95f59941", size = 88923, upload-time = "2025-05-27T07:38:16.655Z" }
wheels = [
@@ -3816,8 +3816,8 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "platformdirs", version = "4.9.6", source = { registry = "https://pypi.org/simple" } },
- { name = "traitlets" },
+ { name = "platformdirs", version = "4.9.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "traitlets", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" }
wheels = [
@@ -4212,18 +4212,18 @@ resolution-markers = [
"(python_full_version == '3.13.*' and platform_machine != 'x86_64') or (python_full_version == '3.13.*' and sys_platform != 'darwin')",
]
dependencies = [
- { name = "aiohttp" },
- { name = "dataclasses-json" },
- { name = "httpx-sse" },
- { name = "langchain" },
- { name = "langchain-core" },
- { name = "langsmith", version = "0.3.45", source = { registry = "https://pypi.org/simple" } },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
- { name = "pydantic-settings" },
- { name = "pyyaml" },
- { name = "requests" },
- { name = "sqlalchemy" },
- { name = "tenacity", version = "9.1.4", source = { registry = "https://pypi.org/simple" } },
+ { name = "aiohttp", marker = "python_full_version == '3.13.*'" },
+ { name = "dataclasses-json", marker = "python_full_version == '3.13.*'" },
+ { name = "httpx-sse", marker = "python_full_version == '3.13.*'" },
+ { name = "langchain", marker = "python_full_version == '3.13.*'" },
+ { name = "langchain-core", marker = "python_full_version == '3.13.*'" },
+ { name = "langsmith", version = "0.3.45", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.13.*'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.13.*'" },
+ { name = "pydantic-settings", marker = "python_full_version == '3.13.*'" },
+ { name = "pyyaml", marker = "python_full_version == '3.13.*'" },
+ { name = "requests", marker = "python_full_version == '3.13.*'" },
+ { name = "sqlalchemy", marker = "python_full_version == '3.13.*'" },
+ { name = "tenacity", version = "9.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.13.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/d8/be/5288a737069570741d46390028b4e8518354329345294ca89fcb2d44a9c1/langchain_community-0.3.21.tar.gz", hash = "sha256:b87b9992cbeea7553ed93e3d39faf9893a8690318485f7dc861751c7878729f7", size = 33226597, upload-time = "2025-04-04T14:19:42.545Z" }
wheels = [
@@ -4245,19 +4245,19 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "aiohttp" },
- { name = "dataclasses-json" },
- { name = "httpx-sse" },
- { name = "langchain" },
- { name = "langchain-core" },
- { name = "langsmith", version = "0.4.37", source = { registry = "https://pypi.org/simple" } },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "aiohttp", marker = "python_full_version != '3.13.*'" },
+ { name = "dataclasses-json", marker = "python_full_version != '3.13.*'" },
+ { name = "httpx-sse", marker = "python_full_version != '3.13.*'" },
+ { name = "langchain", marker = "python_full_version != '3.13.*'" },
+ { name = "langchain-core", marker = "python_full_version != '3.13.*'" },
+ { name = "langsmith", version = "0.4.37", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version != '3.13.*'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" },
{ name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
- { name = "pydantic-settings" },
- { name = "pyyaml" },
- { name = "requests" },
- { name = "sqlalchemy" },
- { name = "tenacity", version = "9.1.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' or python_full_version == '3.13.*'" },
+ { name = "pydantic-settings", marker = "python_full_version != '3.13.*'" },
+ { name = "pyyaml", marker = "python_full_version != '3.13.*'" },
+ { name = "requests", marker = "python_full_version != '3.13.*'" },
+ { name = "sqlalchemy", marker = "python_full_version != '3.13.*'" },
+ { name = "tenacity", version = "9.1.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
{ name = "tenacity", version = "9.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' or (python_full_version >= '3.10' and python_full_version < '3.13')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/83/49/2ff5354273809e9811392bc24bcffda545a196070666aef27bc6aacf1c21/langchain_community-0.3.31.tar.gz", hash = "sha256:250e4c1041539130f6d6ac6f9386cb018354eafccd917b01a4cff1950b80fd81", size = 33241237, upload-time = "2025-10-07T20:17:57.857Z" }
@@ -4354,13 +4354,13 @@ resolution-markers = [
"(python_full_version == '3.13.*' and platform_machine != 'x86_64') or (python_full_version == '3.13.*' and sys_platform != 'darwin')",
]
dependencies = [
- { name = "httpx" },
- { name = "orjson", marker = "platform_python_implementation != 'PyPy'" },
- { name = "packaging" },
- { name = "pydantic" },
- { name = "requests" },
- { name = "requests-toolbelt" },
- { name = "zstandard", version = "0.23.0", source = { registry = "https://pypi.org/simple" } },
+ { name = "httpx", marker = "python_full_version == '3.13.*'" },
+ { name = "orjson", marker = "python_full_version == '3.13.*' and platform_python_implementation != 'PyPy'" },
+ { name = "packaging", marker = "python_full_version == '3.13.*'" },
+ { name = "pydantic", marker = "python_full_version == '3.13.*'" },
+ { name = "requests", marker = "python_full_version == '3.13.*'" },
+ { name = "requests-toolbelt", marker = "python_full_version == '3.13.*'" },
+ { name = "zstandard", version = "0.23.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.13.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/be/86/b941012013260f95af2e90a3d9415af4a76a003a28412033fc4b09f35731/langsmith-0.3.45.tar.gz", hash = "sha256:1df3c6820c73ed210b2c7bc5cdb7bfa19ddc9126cd03fdf0da54e2e171e6094d", size = 348201, upload-time = "2025-06-05T05:10:28.948Z" }
wheels = [
@@ -4382,13 +4382,13 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "httpx" },
- { name = "orjson", marker = "platform_python_implementation != 'PyPy'" },
- { name = "packaging" },
- { name = "pydantic" },
- { name = "requests" },
- { name = "requests-toolbelt" },
- { name = "zstandard", version = "0.25.0", source = { registry = "https://pypi.org/simple" } },
+ { name = "httpx", marker = "python_full_version != '3.13.*'" },
+ { name = "orjson", marker = "python_full_version != '3.13.*' and platform_python_implementation != 'PyPy'" },
+ { name = "packaging", marker = "python_full_version != '3.13.*'" },
+ { name = "pydantic", marker = "python_full_version != '3.13.*'" },
+ { name = "requests", marker = "python_full_version != '3.13.*'" },
+ { name = "requests-toolbelt", marker = "python_full_version != '3.13.*'" },
+ { name = "zstandard", version = "0.25.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version != '3.13.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/09/51/58d561dd40ec564509724f0a6a7148aa8090143208ef5d06b73b7fc90d31/langsmith-0.4.37.tar.gz", hash = "sha256:d9a0eb6dd93f89843ac982c9f92be93cf2bcabbe19957f362c547766c7366c71", size = 959089, upload-time = "2025-10-15T22:33:59.465Z" }
wheels = [
@@ -4615,16 +4615,16 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.org/simple" } },
- { name = "cycler" },
- { name = "fonttools", version = "4.60.2", source = { registry = "https://pypi.org/simple" } },
- { name = "importlib-resources" },
- { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" } },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
- { name = "packaging" },
- { name = "pillow", version = "11.3.0", source = { registry = "https://pypi.org/simple" } },
- { name = "pyparsing" },
- { name = "python-dateutil" },
+ { name = "contourpy", version = "1.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "cycler", marker = "python_full_version < '3.10'" },
+ { name = "fonttools", version = "4.60.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "importlib-resources", marker = "python_full_version < '3.10'" },
+ { name = "kiwisolver", version = "1.4.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "packaging", marker = "python_full_version < '3.10'" },
+ { name = "pillow", version = "11.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "pyparsing", marker = "python_full_version < '3.10'" },
+ { name = "python-dateutil", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/df/17/1747b4154034befd0ed33b52538f5eb7752d05bb51c5e2a31470c3bc7d52/matplotlib-3.9.4.tar.gz", hash = "sha256:1e00e8be7393cbdc6fedfa8a6fba02cf3e83814b285db1c60b906a023ba41bc3", size = 36106529, upload-time = "2024-12-13T05:56:34.184Z" }
wheels = [
@@ -4686,17 +4686,17 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
{ name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
- { name = "cycler" },
- { name = "fonttools", version = "4.62.1", source = { registry = "https://pypi.org/simple" } },
- { name = "kiwisolver", version = "1.5.0", source = { registry = "https://pypi.org/simple" } },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "cycler", marker = "python_full_version >= '3.10'" },
+ { name = "fonttools", version = "4.62.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "kiwisolver", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.14'" },
{ name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
- { name = "packaging" },
- { name = "pillow", version = "12.2.0", source = { registry = "https://pypi.org/simple" } },
- { name = "pyparsing" },
- { name = "python-dateutil" },
+ { name = "packaging", marker = "python_full_version >= '3.10'" },
+ { name = "pillow", version = "12.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "pyparsing", marker = "python_full_version >= '3.10'" },
+ { name = "python-dateutil", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/63/1b/4be5be87d43d327a0cf4de1a56e86f7f84c89312452406cf122efe2839e6/matplotlib-3.10.9.tar.gz", hash = "sha256:fd66508e8c6877d98e586654b608a0456db8d7e8a546eb1e2600efd957302358", size = 34811233, upload-time = "2026-04-24T00:14:13.539Z" }
wheels = [
@@ -4785,9 +4785,9 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "importlib-metadata" },
- { name = "markdown-it-py" },
- { name = "tomli" },
+ { name = "importlib-metadata", marker = "python_full_version < '3.10'" },
+ { name = "markdown-it-py", marker = "python_full_version < '3.10'" },
+ { name = "tomli", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/fc/eb/b5cbf2484411af039a3d4aeb53a5160fae25dd8c84af6a4243bc2f3fedb3/mdformat-0.7.22.tar.gz", hash = "sha256:eef84fa8f233d3162734683c2a8a6222227a229b9206872e6139658d99acb1ea", size = 34610, upload-time = "2025-01-30T18:00:51.418Z" }
wheels = [
@@ -4810,8 +4810,8 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "markdown-it-py" },
- { name = "tomli", marker = "python_full_version < '3.11'" },
+ { name = "markdown-it-py", marker = "python_full_version >= '3.10'" },
+ { name = "tomli", marker = "python_full_version == '3.10.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/3f/05/32b5e14b192b0a8a309f32232c580aefedd9d06017cb8fe8fce34bec654c/mdformat-1.0.0.tar.gz", hash = "sha256:4954045fcae797c29f86d4ad879e43bb151fa55dbaf74ac6eaeacf1d45bb3928", size = 56953, upload-time = "2025-10-16T12:05:03.695Z" }
wheels = [
@@ -5051,7 +5051,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "dill", version = "0.3.8", source = { registry = "https://pypi.org/simple" } },
+ { name = "dill", version = "0.3.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/b5/ae/04f39c5d0d0def03247c2893d6f2b83c136bf3320a2154d7b8858f2ba72d/multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1", size = 1772603, upload-time = "2024-01-28T18:52:34.85Z" }
wheels = [
@@ -5075,7 +5075,7 @@ resolution-markers = [
"(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')",
]
dependencies = [
- { name = "dill", version = "0.4.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "dill", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/a2/f2/e783ac7f2aeeed14e9e12801f22529cc7e6b7ab80928d6dcce4e9f00922d/multiprocess-0.70.19.tar.gz", hash = "sha256:952021e0e6c55a4a9fe4cd787895b86e239a40e76802a789d6305398d3975897", size = 2079989, upload-time = "2026-01-19T06:47:39.744Z" }
wheels = [
@@ -5209,10 +5209,10 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "jupyter-client", version = "8.6.3", source = { registry = "https://pypi.org/simple" } },
- { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" } },
- { name = "nbformat" },
- { name = "traitlets" },
+ { name = "jupyter-client", version = "8.6.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "jupyter-core", version = "5.8.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "nbformat", marker = "python_full_version < '3.10'" },
+ { name = "traitlets", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload-time = "2024-12-19T10:32:27.164Z" }
wheels = [
@@ -5235,10 +5235,10 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "jupyter-client", version = "8.8.0", source = { registry = "https://pypi.org/simple" } },
- { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" } },
- { name = "nbformat" },
- { name = "traitlets" },
+ { name = "jupyter-client", version = "8.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "jupyter-core", version = "5.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "nbformat", marker = "python_full_version >= '3.10'" },
+ { name = "traitlets", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/56/91/1c1d5a4b9a9ebba2b4e32b8c852c2975c872aec1fe42ab5e516b2cecd193/nbclient-0.10.4.tar.gz", hash = "sha256:1e54091b16e6da39e297b0ece3e10f6f29f4ac4e8ee515d29f8a7099bd6553c9", size = 62554, upload-time = "2025-12-23T07:45:46.369Z" }
wheels = [
@@ -5385,10 +5385,10 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" } },
- { name = "joblib" },
- { name = "regex" },
- { name = "tqdm" },
+ { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "joblib", marker = "python_full_version < '3.10'" },
+ { name = "regex", marker = "python_full_version < '3.10'" },
+ { name = "tqdm", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/f9/76/3a5e4312c19a028770f86fd7c058cf9f4ec4321c6cf7526bab998a5b683c/nltk-3.9.2.tar.gz", hash = "sha256:0f409e9b069ca4177c1903c3e843eef90c7e92992fa4931ae607da6de49e1419", size = 2887629, upload-time = "2025-10-01T07:19:23.764Z" }
wheels = [
@@ -5411,10 +5411,10 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" } },
- { name = "joblib" },
- { name = "regex" },
- { name = "tqdm" },
+ { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "joblib", marker = "python_full_version >= '3.10'" },
+ { name = "regex", marker = "python_full_version >= '3.10'" },
+ { name = "tqdm", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/74/a1/b3b4adf15585a5bc4c357adde150c01ebeeb642173ded4d871e89468767c/nltk-3.9.4.tar.gz", hash = "sha256:ed03bc098a40481310320808b2db712d95d13ca65b27372f8a403949c8b523d0", size = 2946864, upload-time = "2026-03-24T06:13:40.641Z" }
wheels = [
@@ -5479,8 +5479,8 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "llvmlite", version = "0.43.0", source = { registry = "https://pypi.org/simple" } },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
+ { name = "llvmlite", version = "0.43.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/3c/93/2849300a9184775ba274aba6f82f303343669b0592b7bb0849ea713dabb0/numba-0.60.0.tar.gz", hash = "sha256:5df6158e5584eece5fc83294b949fd30b9f1125df7708862205217e068aabf16", size = 2702171, upload-time = "2024-06-13T18:11:19.869Z" }
wheels = [
@@ -5522,8 +5522,8 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "llvmlite", version = "0.47.0", source = { registry = "https://pypi.org/simple" } },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "llvmlite", version = "0.47.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.14'" },
{ name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/f6/c5/db2ac3685833d626c0dcae6bd2330cd68433e1fd248d15f70998160d3ad7/numba-0.65.1.tar.gz", hash = "sha256:19357146c32fe9ed25059ab915e8465fb13951cf6b0aace3826b76886373ab23", size = 2765600, upload-time = "2026-04-24T02:02:56.551Z" }
@@ -5763,7 +5763,7 @@ name = "nvidia-cudnn-cu12"
version = "9.10.2.21"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "nvidia-cublas-cu12" },
+ { name = "nvidia-cublas-cu12", marker = "python_full_version < '3.10'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/ba/51/e123d997aa098c61d029f76663dedbfb9bc8dcf8c60cbd6adbe42f76d049/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:949452be657fa16687d0930933f032835951ef0892b37d2d53824d1a84dc97a8", size = 706758467, upload-time = "2025-06-06T21:54:08.597Z" },
@@ -5774,7 +5774,7 @@ name = "nvidia-cudnn-cu13"
version = "9.19.0.56"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "nvidia-cublas" },
+ { name = "nvidia-cublas", marker = "(python_full_version >= '3.10' and platform_machine != 'x86_64') or (python_full_version == '3.10.*' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.10' and sys_platform != 'darwin')" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/f1/84/26025437c1e6b61a707442184fa0c03d083b661adf3a3eecfd6d21677740/nvidia_cudnn_cu13-9.19.0.56-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:6ed29ffaee1176c612daf442e4dd6cfeb6a0caa43ddcbeb59da94953030b1be4", size = 433781201, upload-time = "2026-02-03T20:40:53.805Z" },
@@ -5786,7 +5786,7 @@ name = "nvidia-cufft"
version = "12.0.0.61"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "nvidia-nvjitlink" },
+ { name = "nvidia-nvjitlink", marker = "(python_full_version >= '3.10' and platform_machine != 'x86_64') or (python_full_version == '3.10.*' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.10' and sys_platform != 'darwin')" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/8b/ae/f417a75c0259e85c1d2f83ca4e960289a5f814ed0cea74d18c353d3e989d/nvidia_cufft-12.0.0.61-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2708c852ef8cd89d1d2068bdbece0aa188813a0c934db3779b9b1faa8442e5f5", size = 214053554, upload-time = "2025-09-04T08:31:38.196Z" },
@@ -5798,7 +5798,7 @@ name = "nvidia-cufft-cu12"
version = "11.3.3.83"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "nvidia-nvjitlink-cu12" },
+ { name = "nvidia-nvjitlink-cu12", marker = "python_full_version < '3.10'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/1f/13/ee4e00f30e676b66ae65b4f08cb5bcbb8392c03f54f2d5413ea99a5d1c80/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d2dd21ec0b88cf61b62e6b43564355e5222e4a3fb394cac0db101f2dd0d4f74", size = 193118695, upload-time = "2025-03-07T01:45:27.821Z" },
@@ -5843,9 +5843,9 @@ name = "nvidia-cusolver"
version = "12.0.4.66"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "nvidia-cublas" },
- { name = "nvidia-cusparse" },
- { name = "nvidia-nvjitlink" },
+ { name = "nvidia-cublas", marker = "(python_full_version >= '3.10' and platform_machine != 'x86_64') or (python_full_version == '3.10.*' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.10' and sys_platform != 'darwin')" },
+ { name = "nvidia-cusparse", marker = "(python_full_version >= '3.10' and platform_machine != 'x86_64') or (python_full_version == '3.10.*' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.10' and sys_platform != 'darwin')" },
+ { name = "nvidia-nvjitlink", marker = "(python_full_version >= '3.10' and platform_machine != 'x86_64') or (python_full_version == '3.10.*' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.10' and sys_platform != 'darwin')" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/c8/c3/b30c9e935fc01e3da443ec0116ed1b2a009bb867f5324d3f2d7e533e776b/nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:02c2457eaa9e39de20f880f4bd8820e6a1cfb9f9a34f820eb12a155aa5bc92d2", size = 223467760, upload-time = "2025-09-04T08:33:04.222Z" },
@@ -5857,9 +5857,9 @@ name = "nvidia-cusolver-cu12"
version = "11.7.3.90"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "nvidia-cublas-cu12" },
- { name = "nvidia-cusparse-cu12" },
- { name = "nvidia-nvjitlink-cu12" },
+ { name = "nvidia-cublas-cu12", marker = "python_full_version < '3.10'" },
+ { name = "nvidia-cusparse-cu12", marker = "python_full_version < '3.10'" },
+ { name = "nvidia-nvjitlink-cu12", marker = "python_full_version < '3.10'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/85/48/9a13d2975803e8cf2777d5ed57b87a0b6ca2cc795f9a4f59796a910bfb80/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4376c11ad263152bd50ea295c05370360776f8c3427b30991df774f9fb26c450", size = 267506905, upload-time = "2025-03-07T01:47:16.273Z" },
@@ -5870,7 +5870,7 @@ name = "nvidia-cusparse"
version = "12.6.3.3"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "nvidia-nvjitlink" },
+ { name = "nvidia-nvjitlink", marker = "(python_full_version >= '3.10' and platform_machine != 'x86_64') or (python_full_version == '3.10.*' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.10' and sys_platform != 'darwin')" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/f8/94/5c26f33738ae35276672f12615a64bd008ed5be6d1ebcb23579285d960a9/nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:80bcc4662f23f1054ee334a15c72b8940402975e0eab63178fc7e670aa59472c", size = 162155568, upload-time = "2025-09-04T08:33:42.864Z" },
@@ -5882,7 +5882,7 @@ name = "nvidia-cusparse-cu12"
version = "12.5.8.93"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "nvidia-nvjitlink-cu12" },
+ { name = "nvidia-nvjitlink-cu12", marker = "python_full_version < '3.10'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/c2/f5/e1854cb2f2bcd4280c44736c93550cc300ff4b8c95ebe370d0aa7d2b473d/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ec05d76bbbd8b61b06a80e1eaf8cf4959c3d4ce8e711b65ebd0443bb0ebb13b", size = 288216466, upload-time = "2025-03-07T01:48:13.779Z" },
@@ -6266,15 +6266,15 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "ansicolors" },
- { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" } },
- { name = "entrypoints" },
- { name = "nbclient", version = "0.10.2", source = { registry = "https://pypi.org/simple" } },
- { name = "nbformat" },
- { name = "pyyaml" },
- { name = "requests" },
- { name = "tenacity", version = "9.1.2", source = { registry = "https://pypi.org/simple" } },
- { name = "tqdm" },
+ { name = "ansicolors", marker = "python_full_version < '3.10'" },
+ { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "entrypoints", marker = "python_full_version < '3.10'" },
+ { name = "nbclient", version = "0.10.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "nbformat", marker = "python_full_version < '3.10'" },
+ { name = "pyyaml", marker = "python_full_version < '3.10'" },
+ { name = "requests", marker = "python_full_version < '3.10'" },
+ { name = "tenacity", version = "9.1.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "tqdm", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/99/8d/d843b1739b966d47dae02eb9b705713d810e5b283ea7ad24bf9b3b6bf99e/papermill-2.6.0.tar.gz", hash = "sha256:9fe2a91912fd578f391b4cc8d6d105e73124dcd0cde2a43c3c4a1c77ac88ea24", size = 78342, upload-time = "2024-04-26T21:48:18.788Z" }
wheels = [
@@ -6298,14 +6298,14 @@ resolution-markers = [
]
dependencies = [
{ name = "aiohttp", marker = "python_full_version == '3.12.*'" },
- { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" } },
- { name = "entrypoints" },
- { name = "nbclient", version = "0.10.4", source = { registry = "https://pypi.org/simple" } },
- { name = "nbformat" },
- { name = "pyyaml" },
- { name = "requests" },
- { name = "tenacity", version = "9.1.4", source = { registry = "https://pypi.org/simple" } },
- { name = "tqdm" },
+ { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "entrypoints", marker = "python_full_version >= '3.10'" },
+ { name = "nbclient", version = "0.10.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "nbformat", marker = "python_full_version >= '3.10'" },
+ { name = "pyyaml", marker = "python_full_version >= '3.10'" },
+ { name = "requests", marker = "python_full_version >= '3.10'" },
+ { name = "tenacity", version = "9.1.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "tqdm", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/f8/b6/92d770c5ced66ed0134256f8de781e98c824d3a0662af1643a91fcc36663/papermill-2.7.0.tar.gz", hash = "sha256:ec10b37594a060662f57269e1ebd108c209d204450f00fdfeb70a1c7cfb7fbc8", size = 77961, upload-time = "2026-02-27T19:07:30.548Z" }
wheels = [
@@ -6674,7 +6674,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "polars-runtime-32", version = "1.36.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "polars-runtime-32", version = "1.36.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/9f/dc/56f2a90c79a2cb13f9e956eab6385effe54216ae7a2068b3a6406bae4345/polars-1.36.1.tar.gz", hash = "sha256:12c7616a2305559144711ab73eaa18814f7aa898c522e7645014b68f1432d54c", size = 711993, upload-time = "2025-12-10T01:14:53.033Z" }
wheels = [
@@ -6697,7 +6697,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "polars-runtime-32", version = "1.40.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "polars-runtime-32", version = "1.40.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/b3/8c/bc9bc948058348ed43117cecc3007cd608f395915dae8a00974579a5dab1/polars-1.40.1.tar.gz", hash = "sha256:ab2694134b137596b5a59bfd7b4c54ebbc9b59f9403127f18e32d363777552e8", size = 733574, upload-time = "2026-04-22T19:15:55.507Z" }
wheels = [
@@ -6887,7 +6887,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "cryptography", version = "44.0.3", source = { registry = "https://pypi.org/simple" } },
+ { name = "cryptography", version = "44.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/f0/79/d8438168402057092a36ba8f7aee099f107a7960a38eee505f1948f9e0c9/presidio_anonymizer-2.2.360-py3-none-any.whl", hash = "sha256:5f46f36bf3a0b8817b91f09ed3e51093cc331192e148311f1cd69ae0bf3f4a6c", size = 35864, upload-time = "2025-09-09T09:24:12.176Z" },
@@ -6909,7 +6909,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "cryptography", version = "48.0.0", source = { registry = "https://pypi.org/simple" } },
+ { name = "cryptography", version = "48.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/17/01/1c3404e8da63a979ae951b8822576bc0e52ca3a46a624ac9439786990c6d/presidio_anonymizer-2.2.362-py3-none-any.whl", hash = "sha256:b2d81542cb797360d18506a1aa73ea0dfacc44abca15248c81dd062f582e6b2b", size = 36603, upload-time = "2026-03-15T12:40:38.651Z" },
@@ -7088,7 +7088,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "protobuf" },
+ { name = "protobuf", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/81/0d/94dfe80193e79d55258345901acd2917523d56e8381bc4dee7fd38e3868a/proto_plus-1.27.2.tar.gz", hash = "sha256:b2adde53adadf75737c44d3dcb0104fde65250dfc83ad59168b4aa3e574b6a24", size = 57204, upload-time = "2026-03-26T22:18:57.174Z" }
wheels = [
@@ -7111,7 +7111,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "protobuf" },
+ { name = "protobuf", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/c9/56/e647b0c675392d2da368da7b6f158f7368b18542fd6f7d7400a2f39de000/proto_plus-1.28.0.tar.gz", hash = "sha256:38e5696342835b08fc116f30a25665b29531cda9d5d5643e9b81fc312385abd9", size = 57221, upload-time = "2026-05-07T08:04:50.811Z" }
wheels = [
@@ -7276,7 +7276,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.13'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/35/a1/b7c9bacfd17a9d1d8d025db2fc39112e0b1a629ea401880e4e97632dbc4c/pyarrow-15.0.2.tar.gz", hash = "sha256:9c9bc803cb3b7bfacc1e96ffbfd923601065d9d3f911179d81e72d99fd74a3d9", size = 1064226, upload-time = "2024-03-18T16:58:06.866Z" }
wheels = [
@@ -7466,7 +7466,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "cffi" },
+ { name = "cffi", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/8d/ad/9d1e96486d2eb5a2672c4d9a2dd372d015b8d7a332c6ac2722c4c8e6bbbf/pycares-4.11.0.tar.gz", hash = "sha256:c863d9003ca0ce7df26429007859afd2a621d3276ed9fef154a9123db9252557", size = 654473, upload-time = "2025-09-09T15:18:21.849Z" }
wheels = [
@@ -7579,7 +7579,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "cffi" },
+ { name = "cffi", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/df/a0/9c823651872e6a0face3f0311de2a40c8bbcb9c8dcb15680bd019ac56ac7/pycares-5.0.1.tar.gz", hash = "sha256:5a3c249c830432631439815f9a818463416f2a8cbdb1e988e78757de9ae75081", size = 652222, upload-time = "2026-01-01T12:37:00.604Z" }
wheels = [
@@ -8000,13 +8000,13 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "colorama", marker = "sys_platform == 'win32'" },
- { name = "exceptiongroup" },
- { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" } },
- { name = "packaging" },
- { name = "pluggy" },
- { name = "pygments" },
- { name = "tomli" },
+ { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" },
+ { name = "exceptiongroup", marker = "python_full_version < '3.10'" },
+ { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "packaging", marker = "python_full_version < '3.10'" },
+ { name = "pluggy", marker = "python_full_version < '3.10'" },
+ { name = "pygments", marker = "python_full_version < '3.10'" },
+ { name = "tomli", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" }
wheels = [
@@ -8029,13 +8029,13 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "colorama", marker = "sys_platform == 'win32'" },
- { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
- { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" } },
- { name = "packaging" },
- { name = "pluggy" },
- { name = "pygments" },
- { name = "tomli", marker = "python_full_version < '3.11'" },
+ { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" },
+ { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" },
+ { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "packaging", marker = "python_full_version >= '3.10'" },
+ { name = "pluggy", marker = "python_full_version >= '3.10'" },
+ { name = "pygments", marker = "python_full_version >= '3.10'" },
+ { name = "tomli", marker = "python_full_version == '3.10.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/7d/0d/549bd94f1a0a402dc8cf64563a117c0f3765662e2e668477624baeec44d5/pytest-9.0.3.tar.gz", hash = "sha256:b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c", size = 1572165, upload-time = "2026-04-07T17:16:18.027Z" }
wheels = [
@@ -8050,9 +8050,9 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "backports-asyncio-runner" },
- { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" } },
- { name = "typing-extensions" },
+ { name = "backports-asyncio-runner", marker = "python_full_version < '3.10'" },
+ { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/42/86/9e3c5f48f7b7b638b216e4b9e645f54d199d7abbbab7a64a13b4e12ba10f/pytest_asyncio-1.2.0.tar.gz", hash = "sha256:c609a64a2a8768462d0c99811ddb8bd2583c33fd33cf7f21af1c142e824ffb57", size = 50119, upload-time = "2025-09-12T07:33:53.816Z" }
wheels = [
@@ -8075,9 +8075,9 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "backports-asyncio-runner", marker = "python_full_version < '3.11'" },
- { name = "pytest", version = "9.0.3", source = { registry = "https://pypi.org/simple" } },
- { name = "typing-extensions", marker = "python_full_version < '3.13'" },
+ { name = "backports-asyncio-runner", marker = "python_full_version == '3.10.*'" },
+ { name = "pytest", version = "9.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.13'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/90/2c/8af215c0f776415f3590cac4f9086ccefd6fd463befeae41cd4d3f193e5a/pytest_asyncio-1.3.0.tar.gz", hash = "sha256:d7f52f36d231b80ee124cd216ffb19369aa168fc10095013c6b014a34d3ee9e5", size = 50087, upload-time = "2025-11-10T16:07:47.256Z" }
wheels = [
@@ -8192,7 +8192,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "typing-extensions" },
+ { name = "typing-extensions", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/29/bf/eca6a3d43db1dae7070f70e160ab20b807627ba953663ba07928cdd3dc58/python_json_logger-4.0.0.tar.gz", hash = "sha256:f58e68eb46e1faed27e0f574a55a0455eecd7b8a5b88b85a784519ba3cff047f", size = 17683, upload-time = "2025-10-06T04:15:18.984Z" }
wheels = [
@@ -8571,9 +8571,9 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "attrs" },
- { name = "rpds-py", version = "0.27.1", source = { registry = "https://pypi.org/simple" } },
- { name = "typing-extensions" },
+ { name = "attrs", marker = "python_full_version < '3.10'" },
+ { name = "rpds-py", version = "0.27.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" }
wheels = [
@@ -8596,9 +8596,9 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "attrs" },
- { name = "rpds-py", version = "0.30.0", source = { registry = "https://pypi.org/simple" } },
- { name = "typing-extensions", marker = "python_full_version < '3.13'" },
+ { name = "attrs", marker = "python_full_version >= '3.10'" },
+ { name = "rpds-py", version = "0.30.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.13'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" }
wheels = [
@@ -9185,10 +9185,10 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "joblib" },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
- { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" } },
- { name = "threadpoolctl" },
+ { name = "joblib", marker = "python_full_version < '3.10'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "threadpoolctl", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/9e/a5/4ae3b3a0755f7b35a280ac90b28817d1f380318973cff14075ab41ef50d9/scikit_learn-1.6.1.tar.gz", hash = "sha256:b4fc2525eca2c69a59260f583c56a7557c6ccdf8deafdba6e060f94c1c59738e", size = 7068312, upload-time = "2025-01-10T08:07:55.348Z" }
wheels = [
@@ -9239,12 +9239,12 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "joblib" },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "joblib", marker = "python_full_version >= '3.10'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.14'" },
{ name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
- { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
{ name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
- { name = "threadpoolctl" },
+ { name = "threadpoolctl", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/98/c2/a7855e41c9d285dfe86dc50b250978105dce513d6e459ea66a6aeb0e1e0c/scikit_learn-1.7.2.tar.gz", hash = "sha256:20e9e49ecd130598f1ca38a1d85090e1a600147b9c02fa6f15d69cb53d968fda", size = 7193136, upload-time = "2025-09-09T08:21:29.075Z" }
wheels = [
@@ -9288,7 +9288,7 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/ae/00/48c2f661e2816ccf2ecd77982f6605b2950afe60f60a52b4cbbc2504aa8f/scipy-1.13.1.tar.gz", hash = "sha256:095a87a0312b08dfd6a6155cbbd310a8c51800fc931b8c0b84003014b874ed3c", size = 57210720, upload-time = "2024-05-23T03:29:26.079Z" }
wheels = [
@@ -9326,7 +9326,7 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" }
wheels = [
@@ -9392,7 +9392,7 @@ resolution-markers = [
"(python_full_version == '3.11.*' and platform_machine != 'x86_64') or (python_full_version == '3.11.*' and sys_platform != 'darwin')",
]
dependencies = [
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' and python_full_version < '3.14'" },
{ name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
]
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" }
@@ -9500,8 +9500,8 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "cryptography", version = "44.0.3", source = { registry = "https://pypi.org/simple" } },
- { name = "jeepney" },
+ { name = "cryptography", version = "44.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "jeepney", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/53/a4/f48c9d79cb507ed1373477dbceaba7401fd8a23af63b837fa61f1dcd3691/SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77", size = 19739, upload-time = "2022-08-13T16:22:46.976Z" }
wheels = [
@@ -9520,8 +9520,8 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "cryptography", version = "48.0.0", source = { registry = "https://pypi.org/simple" } },
- { name = "jeepney" },
+ { name = "cryptography", version = "48.0.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.10' and platform_machine != 'x86_64') or (python_full_version == '3.10.*' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.10' and sys_platform != 'darwin')" },
+ { name = "jeepney", marker = "(python_full_version >= '3.10' and platform_machine != 'x86_64') or (python_full_version == '3.10.*' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.10' and sys_platform != 'darwin')" },
]
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 = [
@@ -9659,21 +9659,21 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "cloudpickle" },
+ { name = "cloudpickle", marker = "(python_full_version < '3.14' and platform_machine != 'x86_64') or (python_full_version < '3.14' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" },
{ name = "numba", version = "0.60.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
{ name = "numba", version = "0.65.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.10' and python_full_version < '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.10' and python_full_version < '3.14' and sys_platform != 'darwin') or (python_full_version >= '3.10' and platform_machine == 'x86_64' and sys_platform == 'darwin')" },
{ name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
{ name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'darwin'" },
- { name = "packaging" },
- { name = "pandas" },
+ { name = "packaging", marker = "(python_full_version < '3.14' and platform_machine != 'x86_64') or (python_full_version < '3.14' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" },
+ { name = "pandas", marker = "(python_full_version < '3.14' and platform_machine != 'x86_64') or (python_full_version < '3.14' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" },
{ name = "scikit-learn", version = "1.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
{ name = "scikit-learn", version = "1.7.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.10' and python_full_version < '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.10' and python_full_version < '3.14' and sys_platform != 'darwin') or (python_full_version >= '3.10' and platform_machine == 'x86_64' and sys_platform == 'darwin')" },
{ name = "scipy", version = "1.13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
{ name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
{ name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and python_full_version < '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.11' and python_full_version < '3.14' and sys_platform != 'darwin') or (python_full_version >= '3.11' and platform_machine == 'x86_64' and sys_platform == 'darwin')" },
- { name = "slicer" },
- { name = "tqdm" },
- { name = "typing-extensions" },
+ { name = "slicer", marker = "(python_full_version < '3.14' and platform_machine != 'x86_64') or (python_full_version < '3.14' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" },
+ { name = "tqdm", marker = "(python_full_version < '3.14' and platform_machine != 'x86_64') or (python_full_version < '3.14' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" },
+ { name = "typing-extensions", marker = "(python_full_version < '3.14' and platform_machine != 'x86_64') or (python_full_version < '3.14' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/dc/c6/9823a7f483aa9f3179fc359c10d22da9e418b1a7a3fc99a42b705d05e82a/shap-0.49.1.tar.gz", hash = "sha256:1114ecd804fff29f50d522ce6031082fcf42fe4a32fb1b5da233b2415d784c8c", size = 4084725, upload-time = "2025-10-14T10:04:49.75Z" }
wheels = [
@@ -9717,17 +9717,17 @@ resolution-markers = [
"(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')",
]
dependencies = [
- { name = "cloudpickle" },
- { name = "llvmlite", version = "0.47.0", source = { registry = "https://pypi.org/simple" } },
- { name = "numba", version = "0.65.1", source = { registry = "https://pypi.org/simple" } },
- { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" } },
- { name = "packaging" },
- { name = "pandas" },
- { name = "scikit-learn", version = "1.7.2", source = { registry = "https://pypi.org/simple" } },
- { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" } },
- { name = "slicer" },
- { name = "tqdm" },
- { name = "typing-extensions" },
+ { name = "cloudpickle", marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
+ { name = "llvmlite", version = "0.47.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
+ { name = "numba", version = "0.65.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
+ { name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
+ { name = "packaging", marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
+ { name = "pandas", marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
+ { name = "scikit-learn", version = "1.7.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
+ { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
+ { name = "slicer", marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
+ { name = "tqdm", marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
+ { name = "typing-extensions", marker = "(python_full_version >= '3.14' and platform_machine != 'x86_64') or (python_full_version >= '3.14' and sys_platform != 'darwin')" },
]
sdist = { url = "https://files.pythonhosted.org/packages/a4/0a/4a3ee4b1a3654f2a9ae038a64bb3e91a42af3da07577d69b65241f010970/shap-0.51.0.tar.gz", hash = "sha256:cfa17ff213657c9d50285aa923d79b0037a62e2ee1a31bc3eec7e196b00bdb59", size = 4108336, upload-time = "2026-03-04T09:18:19.985Z" }
wheels = [
@@ -9924,25 +9924,25 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "catalogue" },
- { name = "cymem" },
- { name = "jinja2" },
- { name = "langcodes" },
- { name = "murmurhash" },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
- { name = "packaging" },
- { name = "preshed" },
- { name = "pydantic" },
- { name = "requests" },
- { name = "setuptools" },
- { name = "spacy-legacy" },
- { name = "spacy-loggers" },
- { name = "srsly" },
- { name = "thinc", version = "8.3.9", source = { registry = "https://pypi.org/simple" } },
- { name = "tqdm" },
- { name = "typer", version = "0.23.2", source = { registry = "https://pypi.org/simple" } },
- { name = "wasabi" },
- { name = "weasel", version = "0.4.3", source = { registry = "https://pypi.org/simple" } },
+ { name = "catalogue", marker = "python_full_version < '3.10'" },
+ { name = "cymem", marker = "python_full_version < '3.10'" },
+ { name = "jinja2", marker = "python_full_version < '3.10'" },
+ { name = "langcodes", marker = "python_full_version < '3.10'" },
+ { name = "murmurhash", marker = "python_full_version < '3.10'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "packaging", marker = "python_full_version < '3.10'" },
+ { name = "preshed", marker = "python_full_version < '3.10'" },
+ { name = "pydantic", marker = "python_full_version < '3.10'" },
+ { name = "requests", marker = "python_full_version < '3.10'" },
+ { name = "setuptools", marker = "python_full_version < '3.10'" },
+ { name = "spacy-legacy", marker = "python_full_version < '3.10'" },
+ { name = "spacy-loggers", marker = "python_full_version < '3.10'" },
+ { name = "srsly", marker = "python_full_version < '3.10'" },
+ { name = "thinc", version = "8.3.9", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "tqdm", marker = "python_full_version < '3.10'" },
+ { name = "typer", version = "0.23.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "wasabi", marker = "python_full_version < '3.10'" },
+ { name = "weasel", version = "0.4.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/97/48/4f87b2551768c9725510c9629d34acca9b6e84d897207c8ac35b69df2484/spacy-3.8.3.tar.gz", hash = "sha256:81a967dc3d6a5a0a9ab250559483fe2092306582a9192f98be7a63bdce2797f7", size = 1288834, upload-time = "2024-12-11T13:13:56.793Z" }
wheels = [
@@ -9984,26 +9984,26 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "catalogue" },
- { name = "confection", version = "1.3.3", source = { registry = "https://pypi.org/simple" } },
- { name = "cymem" },
- { name = "jinja2" },
- { name = "murmurhash" },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "catalogue", marker = "python_full_version >= '3.10'" },
+ { name = "confection", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "cymem", marker = "python_full_version >= '3.10'" },
+ { name = "jinja2", marker = "python_full_version >= '3.10'" },
+ { name = "murmurhash", marker = "python_full_version >= '3.10'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.14'" },
{ name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
- { name = "packaging" },
- { name = "preshed" },
- { name = "pydantic" },
- { name = "requests" },
- { name = "setuptools" },
- { name = "spacy-legacy" },
- { name = "spacy-loggers" },
- { name = "srsly" },
- { name = "thinc", version = "8.3.13", source = { registry = "https://pypi.org/simple" } },
- { name = "tqdm" },
- { name = "typer", version = "0.25.1", source = { registry = "https://pypi.org/simple" } },
- { name = "wasabi" },
- { name = "weasel", version = "1.0.0", source = { registry = "https://pypi.org/simple" } },
+ { name = "packaging", marker = "python_full_version >= '3.10'" },
+ { name = "preshed", marker = "python_full_version >= '3.10'" },
+ { name = "pydantic", marker = "python_full_version >= '3.10'" },
+ { name = "requests", marker = "python_full_version >= '3.10'" },
+ { name = "setuptools", marker = "python_full_version >= '3.10'" },
+ { name = "spacy-legacy", marker = "python_full_version >= '3.10'" },
+ { name = "spacy-loggers", marker = "python_full_version >= '3.10'" },
+ { name = "srsly", marker = "python_full_version >= '3.10'" },
+ { name = "thinc", version = "8.3.13", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "tqdm", marker = "python_full_version >= '3.10'" },
+ { name = "typer", version = "0.25.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "wasabi", marker = "python_full_version >= '3.10'" },
+ { name = "weasel", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/4e/d5/9860449c9fbed97634fb974bbf7a128ae269f5e69f3d792a9679d2354141/spacy-3.8.14-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4a06e5cc029910eaa4a3c5a0a997f07fed6a41aba46b05da9f58643bc06fe8b9", size = 6625650, upload-time = "2026-03-29T10:40:07.13Z" },
@@ -10471,18 +10471,18 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "blis" },
- { name = "catalogue" },
- { name = "confection", version = "0.1.5", source = { registry = "https://pypi.org/simple" } },
- { name = "cymem" },
- { name = "murmurhash" },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" } },
- { name = "packaging" },
- { name = "preshed" },
- { name = "pydantic" },
- { name = "setuptools" },
- { name = "srsly" },
- { name = "wasabi" },
+ { name = "blis", marker = "python_full_version < '3.10'" },
+ { name = "catalogue", marker = "python_full_version < '3.10'" },
+ { name = "confection", version = "0.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "cymem", marker = "python_full_version < '3.10'" },
+ { name = "murmurhash", marker = "python_full_version < '3.10'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "packaging", marker = "python_full_version < '3.10'" },
+ { name = "preshed", marker = "python_full_version < '3.10'" },
+ { name = "pydantic", marker = "python_full_version < '3.10'" },
+ { name = "setuptools", marker = "python_full_version < '3.10'" },
+ { name = "srsly", marker = "python_full_version < '3.10'" },
+ { name = "wasabi", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/ce/92/a5e01b140d5570d5662ee579398ec21c577fc3e33479f6ef5aa8bb571107/thinc-8.3.9.tar.gz", hash = "sha256:cd111fe51cd393b2bee2eceabbbcffdd25e7602bc982f75cb9f437015dffa0bb", size = 194176, upload-time = "2025-11-13T20:59:59.467Z" }
wheels = [
@@ -10539,19 +10539,19 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "blis" },
- { name = "catalogue" },
- { name = "confection", version = "1.3.3", source = { registry = "https://pypi.org/simple" } },
- { name = "cymem" },
- { name = "murmurhash" },
- { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "blis", marker = "python_full_version >= '3.10'" },
+ { name = "catalogue", marker = "python_full_version >= '3.10'" },
+ { name = "confection", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "cymem", marker = "python_full_version >= '3.10'" },
+ { name = "murmurhash", marker = "python_full_version >= '3.10'" },
+ { name = "numpy", version = "1.26.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.14'" },
{ name = "numpy", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
- { name = "packaging" },
- { name = "preshed" },
- { name = "pydantic" },
- { name = "setuptools" },
- { name = "srsly" },
- { name = "wasabi" },
+ { name = "packaging", marker = "python_full_version >= '3.10'" },
+ { name = "preshed", marker = "python_full_version >= '3.10'" },
+ { name = "pydantic", marker = "python_full_version >= '3.10'" },
+ { name = "setuptools", marker = "python_full_version >= '3.10'" },
+ { name = "srsly", marker = "python_full_version >= '3.10'" },
+ { name = "wasabi", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/13/46/76df95f2c327f9a9cef30c1523bf285627897097163584dcf5f77b2ebce2/thinc-8.3.13.tar.gz", hash = "sha256:68e658549fc1eb3ff92aed5147fcbb9c15d6e9cc0e623b4d0998d16522ffb4f9", size = 194640, upload-time = "2026-03-23T07:22:36.41Z" }
wheels = [
@@ -10693,10 +10693,10 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" } },
- { name = "idna" },
- { name = "requests" },
- { name = "requests-file" },
+ { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "idna", marker = "python_full_version < '3.10'" },
+ { name = "requests", marker = "python_full_version < '3.10'" },
+ { name = "requests-file", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/97/78/182641ea38e3cfd56e9c7b3c0d48a53d432eea755003aa544af96403d4ac/tldextract-5.3.0.tar.gz", hash = "sha256:b3d2b70a1594a0ecfa6967d57251527d58e00bb5a91a74387baa0d87a0678609", size = 128502, upload-time = "2025-04-22T06:19:37.491Z" }
wheels = [
@@ -10719,10 +10719,10 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "filelock", version = "3.29.0", source = { registry = "https://pypi.org/simple" } },
- { name = "idna" },
- { name = "requests" },
- { name = "requests-file" },
+ { name = "filelock", version = "3.29.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "idna", marker = "python_full_version >= '3.10'" },
+ { name = "requests", marker = "python_full_version >= '3.10'" },
+ { name = "requests-file", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/65/7b/644fbbb49564a6cb124a8582013315a41148dba2f72209bba14a84242bf0/tldextract-5.3.1.tar.gz", hash = "sha256:a72756ca170b2510315076383ea2993478f7da6f897eef1f4a5400735d5057fb", size = 126105, upload-time = "2025-12-28T23:58:05.532Z" }
wheels = [
@@ -10825,27 +10825,27 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" } },
- { name = "fsspec", version = "2024.6.1", source = { registry = "https://pypi.org/simple" } },
- { name = "jinja2" },
- { name = "networkx", version = "3.2.1", source = { registry = "https://pypi.org/simple" } },
- { name = "nvidia-cublas-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-cuda-cupti-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-cuda-nvrtc-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-cuda-runtime-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-cudnn-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-cufft-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-cufile-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-curand-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-cusolver-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-cusparse-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-cusparselt-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-nccl-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-nvjitlink-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "nvidia-nvtx-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "sympy" },
- { name = "triton", version = "3.4.0", source = { registry = "https://pypi.org/simple" }, marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
- { name = "typing-extensions" },
+ { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "fsspec", version = "2024.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "jinja2", marker = "python_full_version < '3.10'" },
+ { name = "networkx", version = "3.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "nvidia-cublas-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cuda-cupti-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cuda-nvrtc-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cuda-runtime-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cudnn-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cufft-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cufile-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-curand-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cusolver-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cusparse-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-cusparselt-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-nccl-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-nvjitlink-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "nvidia-nvtx-cu12", marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "sympy", marker = "python_full_version < '3.10'" },
+ { name = "triton", version = "3.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10' and platform_machine == 'x86_64' and sys_platform == 'linux'" },
+ { name = "typing-extensions", marker = "python_full_version < '3.10'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/63/28/110f7274254f1b8476c561dada127173f994afa2b1ffc044efb773c15650/torch-2.8.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:0be92c08b44009d4131d1ff7a8060d10bafdb7ddcb7359ef8d8c5169007ea905", size = 102052793, upload-time = "2025-08-06T14:53:15.852Z" },
@@ -10890,22 +10890,22 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "cuda-bindings", marker = "sys_platform == 'linux'" },
- { name = "cuda-toolkit", extra = ["cublas", "cudart", "cufft", "cufile", "cupti", "curand", "cusolver", "cusparse", "nvjitlink", "nvrtc", "nvtx"], marker = "sys_platform == 'linux'" },
- { name = "filelock", version = "3.29.0", source = { registry = "https://pypi.org/simple" } },
- { name = "fsspec", version = "2024.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" },
+ { name = "cuda-bindings", marker = "python_full_version >= '3.10' and sys_platform == 'linux'" },
+ { name = "cuda-toolkit", extra = ["cublas", "cudart", "cufft", "cufile", "cupti", "curand", "cusolver", "cusparse", "nvjitlink", "nvrtc", "nvtx"], marker = "python_full_version >= '3.10' and sys_platform == 'linux'" },
+ { name = "filelock", version = "3.29.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "fsspec", version = "2024.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and python_full_version < '3.14'" },
{ name = "fsspec", version = "2026.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.14'" },
- { name = "jinja2" },
- { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "jinja2", marker = "python_full_version >= '3.10'" },
+ { name = "networkx", version = "3.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
{ name = "networkx", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
- { name = "nvidia-cudnn-cu13", marker = "sys_platform == 'linux'" },
- { name = "nvidia-cusparselt-cu13", marker = "sys_platform == 'linux'" },
- { name = "nvidia-nccl-cu13", marker = "sys_platform == 'linux'" },
- { name = "nvidia-nvshmem-cu13", marker = "sys_platform == 'linux'" },
- { name = "setuptools" },
- { name = "sympy" },
- { name = "triton", version = "3.6.0", source = { registry = "https://pypi.org/simple" }, marker = "sys_platform == 'linux'" },
- { name = "typing-extensions" },
+ { name = "nvidia-cudnn-cu13", marker = "python_full_version >= '3.10' and sys_platform == 'linux'" },
+ { name = "nvidia-cusparselt-cu13", marker = "python_full_version >= '3.10' and sys_platform == 'linux'" },
+ { name = "nvidia-nccl-cu13", marker = "python_full_version >= '3.10' and sys_platform == 'linux'" },
+ { name = "nvidia-nvshmem-cu13", marker = "python_full_version >= '3.10' and sys_platform == 'linux'" },
+ { name = "setuptools", marker = "python_full_version >= '3.10'" },
+ { name = "sympy", marker = "python_full_version >= '3.10'" },
+ { name = "triton", version = "3.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10' and sys_platform == 'linux'" },
+ { name = "typing-extensions", marker = "python_full_version >= '3.10'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/ac/f2/c1690994afe461aae2d0cac62251e6802a703dec0a6c549c02ecd0de92a9/torch-2.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2c0d7fcfbc0c4e8bb5ebc3907cbc0c6a0da1b8f82b1fc6e14e914fa0b9baf74e", size = 80526521, upload-time = "2026-03-23T18:12:06.86Z" },
@@ -11007,8 +11007,8 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "importlib-metadata" },
- { name = "setuptools" },
+ { name = "importlib-metadata", marker = "python_full_version < '3.10'" },
+ { name = "setuptools", marker = "python_full_version < '3.10'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/62/ee/0ee5f64a87eeda19bbad9bc54ae5ca5b98186ed00055281fd40fb4beb10e/triton-3.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ff2785de9bc02f500e085420273bb5cc9c9bb767584a4aa28d6e360cec70128", size = 155430069, upload-time = "2025-07-30T19:58:21.715Z" },
@@ -11075,10 +11075,10 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "annotated-doc" },
- { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" } },
- { name = "rich" },
- { name = "shellingham" },
+ { name = "annotated-doc", marker = "python_full_version < '3.10'" },
+ { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "rich", marker = "python_full_version < '3.10'" },
+ { name = "shellingham", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/d3/ae/93d16574e66dfe4c2284ffdaca4b0320ade32858cb2cc586c8dd79f127c5/typer-0.23.2.tar.gz", hash = "sha256:a99706a08e54f1aef8bb6a8611503808188a4092808e86addff1828a208af0de", size = 120162, upload-time = "2026-02-16T18:52:40.354Z" }
wheels = [
@@ -11101,10 +11101,10 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "annotated-doc" },
- { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" } },
- { name = "rich" },
- { name = "shellingham" },
+ { name = "annotated-doc", marker = "python_full_version >= '3.10'" },
+ { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "rich", marker = "python_full_version >= '3.10'" },
+ { name = "shellingham", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/e4/51/9aed62104cea109b820bbd6c14245af756112017d309da813ef107d42e7e/typer-0.25.1.tar.gz", hash = "sha256:9616eb8853a09ffeabab1698952f33c6f29ffdbceb4eaeecf571880e8d7664cc", size = 122276, upload-time = "2026-04-30T19:32:16.964Z" }
wheels = [
@@ -11116,7 +11116,7 @@ name = "typer-slim"
version = "0.23.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "typer", version = "0.23.2", source = { registry = "https://pypi.org/simple" } },
+ { name = "typer", version = "0.23.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/cd/f3/d32ffe06e6d737ff0c23086b3170dbd5bad0ce046a9fa728db43d63989fe/typer_slim-0.23.2.tar.gz", hash = "sha256:19714179f4717a891650d8d5d062e990a0a1ed23e8d6e0f502f5a800802b3cdf", size = 4757, upload-time = "2026-02-16T18:52:21.661Z" }
wheels = [
@@ -11230,7 +11230,7 @@ wheels = [
[[package]]
name = "validmind"
-version = "2.13.14"
+version = "2.14.0"
source = { editable = "." }
dependencies = [
{ name = "aiohttp", extra = ["speedups"] },
@@ -11584,15 +11584,15 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "cloudpathlib" },
- { name = "confection", version = "0.1.5", source = { registry = "https://pypi.org/simple" } },
- { name = "packaging" },
- { name = "pydantic" },
- { name = "requests" },
- { name = "smart-open" },
- { name = "srsly" },
- { name = "typer-slim" },
- { name = "wasabi" },
+ { name = "cloudpathlib", marker = "python_full_version < '3.10'" },
+ { name = "confection", version = "0.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+ { name = "packaging", marker = "python_full_version < '3.10'" },
+ { name = "pydantic", marker = "python_full_version < '3.10'" },
+ { name = "requests", marker = "python_full_version < '3.10'" },
+ { name = "smart-open", marker = "python_full_version < '3.10'" },
+ { name = "srsly", marker = "python_full_version < '3.10'" },
+ { name = "typer-slim", marker = "python_full_version < '3.10'" },
+ { name = "wasabi", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/09/d7/edd9c24e60cf8e5de130aa2e8af3b01521f4d0216c371d01212f580d0d8e/weasel-0.4.3.tar.gz", hash = "sha256:f293d6174398e8f478c78481e00c503ee4b82ea7a3e6d0d6a01e46a6b1396845", size = 38733, upload-time = "2025-11-13T23:52:28.193Z" }
wheels = [
@@ -11615,15 +11615,15 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "cloudpathlib" },
- { name = "confection", version = "1.3.3", source = { registry = "https://pypi.org/simple" } },
- { name = "httpx" },
- { name = "packaging" },
- { name = "pydantic" },
- { name = "smart-open" },
- { name = "srsly" },
- { name = "typer", version = "0.25.1", source = { registry = "https://pypi.org/simple" } },
- { name = "wasabi" },
+ { name = "cloudpathlib", marker = "python_full_version >= '3.10'" },
+ { name = "confection", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "httpx", marker = "python_full_version >= '3.10'" },
+ { name = "packaging", marker = "python_full_version >= '3.10'" },
+ { name = "pydantic", marker = "python_full_version >= '3.10'" },
+ { name = "smart-open", marker = "python_full_version >= '3.10'" },
+ { name = "srsly", marker = "python_full_version >= '3.10'" },
+ { name = "typer", version = "0.25.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+ { name = "wasabi", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/ce/e5/e272bb9a045105a1fdf4b798d8086f5932a178f4d738f17a74f5c9e0ae9a/weasel-1.0.0.tar.gz", hash = "sha256:7b129b44c90cc543b760532974ca1e4eb30dad2aa2026f57bdce66354ae610fc", size = 38682, upload-time = "2026-03-20T08:10:25.266Z" }
wheels = [
@@ -12177,9 +12177,9 @@ resolution-markers = [
"python_full_version < '3.10'",
]
dependencies = [
- { name = "idna" },
- { name = "multidict" },
- { name = "propcache" },
+ { name = "idna", marker = "python_full_version < '3.10'" },
+ { name = "multidict", marker = "python_full_version < '3.10'" },
+ { name = "propcache", marker = "python_full_version < '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169, upload-time = "2025-10-06T14:12:55.963Z" }
wheels = [
@@ -12330,9 +12330,9 @@ resolution-markers = [
"python_full_version == '3.10.*'",
]
dependencies = [
- { name = "idna" },
- { name = "multidict" },
- { name = "propcache" },
+ { name = "idna", marker = "python_full_version >= '3.10'" },
+ { name = "multidict", marker = "python_full_version >= '3.10'" },
+ { name = "propcache", marker = "python_full_version >= '3.10'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/23/6e/beb1beec874a72f23815c1434518bfc4ed2175065173fb138c3705f658d4/yarl-1.23.0.tar.gz", hash = "sha256:53b1ea6ca88ebd4420379c330aea57e258408dd0df9af0992e5de2078dc9f5d5", size = 194676, upload-time = "2026-03-01T22:07:53.373Z" }
wheels = [
@@ -12483,7 +12483,7 @@ resolution-markers = [
"(python_full_version == '3.13.*' and platform_machine != 'x86_64') or (python_full_version == '3.13.*' and sys_platform != 'darwin')",
]
dependencies = [
- { name = "cffi", marker = "platform_python_implementation == 'PyPy'" },
+ { name = "cffi", marker = "python_full_version == '3.13.*' and platform_python_implementation == 'PyPy'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/ed/f6/2ac0287b442160a89d726b17a9184a4c615bb5237db763791a7fd16d9df1/zstandard-0.23.0.tar.gz", hash = "sha256:b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09", size = 681701, upload-time = "2024-07-15T00:18:06.141Z" }
wheels = [
diff --git a/validmind/__version__.py b/validmind/__version__.py
index 33c1e1e85..d0979fd03 100644
--- a/validmind/__version__.py
+++ b/validmind/__version__.py
@@ -1 +1 @@
-__version__ = "2.13.14"
+__version__ = "2.14.0"
diff --git a/validmind/tests/decorator.py b/validmind/tests/decorator.py
index c8db0b021..c9fc69ce1 100644
--- a/validmind/tests/decorator.py
+++ b/validmind/tests/decorator.py
@@ -103,7 +103,9 @@ def test(func_or_id: Union[Callable[..., Any], str, None]) -> Callable[[F], F]:
The function should return one of the following types:
- - Table: Either a list of dictionaries or a pandas DataFrame
+ - Table: A list of dictionaries, a pandas DataFrame, or a pandas Styler
+ (see `validmind.vm_models.result.ResultTable` for how cell styles are
+ preserved)
- Plot: Either a matplotlib figure or a plotly figure
- Scalar: A single number (int or float)
- Boolean: A single boolean value indicating whether the test passed or failed
@@ -206,7 +208,9 @@ def scorer(func_or_id: Union[Callable[..., Any], str, None] = None) -> Callable[
The function should return one of the following types:
- - Table: Either a list of dictionaries or a pandas DataFrame
+ - Table: A list of dictionaries, a pandas DataFrame, or a pandas Styler
+ (see `validmind.vm_models.result.ResultTable` for how cell styles are
+ preserved)
- Plot: Either a matplotlib figure or a plotly figure
- Scalar: A single number (int or float)
- Boolean: A single boolean value indicating whether the test passed or failed
diff --git a/validmind/tests/load.py b/validmind/tests/load.py
index 9a9f13c53..f316ab99e 100644
--- a/validmind/tests/load.py
+++ b/validmind/tests/load.py
@@ -21,6 +21,7 @@
from uuid import uuid4
import pandas as pd
+from pandas.io.formats.style import Styler
from ..errors import LoadTestError, MissingDependencyError
from ..html_templates.content_blocks import test_content_block_html
@@ -49,7 +50,7 @@
FIGURE_TYPES = tuple(
item for item in (Figure, MatplotlibFigure, PlotlyFigure) if inspect.isclass(item)
)
-TABLE_TYPES = (pd.DataFrame, ResultTable)
+TABLE_TYPES = (pd.DataFrame, Styler, ResultTable)
GENERIC_TABLE_TYPES = (list, dict)
@@ -450,7 +451,7 @@ def describe_test(
html = test_content_block_html.format(
test_id=test_id,
uuid=str(uuid4()),
- title=f'{details["Name"]}',
+ title=f"{details['Name']}",
description=md_to_html(details["Description"].strip()),
required_inputs=", ".join(details["Required Inputs"] or ["None"]),
params_table="\n".join(
diff --git a/validmind/tests/output.py b/validmind/tests/output.py
index 59c793904..f45cf0905 100644
--- a/validmind/tests/output.py
+++ b/validmind/tests/output.py
@@ -8,6 +8,7 @@
import numpy as np
import pandas as pd
+from pandas.io.formats.style import Styler
from validmind.utils import is_html, md_to_html
from validmind.vm_models.figure import (
@@ -102,7 +103,48 @@ def process(self, item: Any, result: TestResult) -> None:
class TableOutputHandler(OutputHandler):
def can_handle(self, item: Any) -> bool:
- return isinstance(item, (list, pd.DataFrame, dict, ResultTable, tuple))
+ return isinstance(item, (list, pd.DataFrame, Styler, dict, ResultTable, tuple))
+
+ def _convert_styler(self, styler: Styler) -> pd.DataFrame:
+ """Convert a pandas Styler to a DataFrame with portable cell styles."""
+ styler._compute()
+
+ # Round while still numeric: ResultTable's .round(4) is a no-op on the
+ # object dtype we need below, so it would otherwise silently skip the
+ # whole table. Formatters still see the original, unrounded value.
+ source = styler.data
+ df = source.round(4).astype(object)
+ display_funcs = getattr(styler, "_display_funcs", {})
+
+ style_key_map = {
+ "background": "bgcolor",
+ "background-color": "bgcolor",
+ "color": "color",
+ "font-weight": "fontWeight",
+ "text-align": "textAlign",
+ }
+
+ for (row_idx, col_idx), styles in styler.ctx.items():
+ cell_styles = {}
+
+ for css_property, css_value in styles:
+ style_key = style_key_map.get(css_property.lower())
+ if style_key and css_value:
+ cell_styles[style_key] = css_value
+
+ if not cell_styles:
+ continue
+
+ formatter = display_funcs.get((row_idx, col_idx))
+ value = (
+ formatter(source.iat[row_idx, col_idx])
+ if formatter
+ else df.iat[row_idx, col_idx]
+ )
+
+ df.iat[row_idx, col_idx] = {"value": value, **cell_styles}
+
+ return df
def _convert_simple_type(self, data: Any) -> pd.DataFrame:
"""Convert a simple data type to a DataFrame."""
@@ -135,6 +177,8 @@ def _convert_to_dataframe(self, table_data: Any) -> pd.DataFrame:
# Handle special cases by type
if isinstance(table_data, pd.DataFrame):
return table_data
+ elif isinstance(table_data, Styler):
+ return self._convert_styler(table_data)
elif isinstance(table_data, (dict, str, type(None))):
return self._convert_simple_type(table_data)
elif isinstance(table_data, tuple):
@@ -150,7 +194,13 @@ def _convert_to_dataframe(self, table_data: Any) -> pd.DataFrame:
def process(
self,
item: Union[
- List[Dict[str, Any]], pd.DataFrame, Dict[str, Any], ResultTable, str, tuple
+ List[Dict[str, Any]],
+ pd.DataFrame,
+ Styler,
+ Dict[str, Any],
+ ResultTable,
+ str,
+ tuple,
],
result: TestResult,
) -> None:
diff --git a/validmind/vm_models/html_renderer.py b/validmind/vm_models/html_renderer.py
index 8157c865d..325787402 100644
--- a/validmind/vm_models/html_renderer.py
+++ b/validmind/vm_models/html_renderer.py
@@ -6,6 +6,7 @@
HTML renderer for ValidMind components that preserves state in saved notebooks.
"""
+import html
import json
import uuid
from typing import Any, Dict, List, Optional, Union
@@ -19,6 +20,41 @@ class StatefulHTMLRenderer:
# Plotly.js CDN URL - using a stable version
PLOTLY_CDN_URL = "https://cdn.plot.ly/plotly-2.27.0.min.js"
+ @staticmethod
+ def _render_table_cell(value: Any) -> Any:
+ """Render structured table cells as HTML for notebook display."""
+ if not isinstance(value, dict) or "value" not in value:
+ # pandas requires formatters to return strings. A column that holds
+ # a styled cell is object dtype, so there is no column-wide float
+ # padding to match; plain cells here render with str() on purpose.
+ return str(value)
+
+ css_properties = {
+ "bgcolor": "background-color",
+ "backgroundColor": "background-color",
+ "color": "color",
+ "fontWeight": "font-weight",
+ "textAlign": "text-align",
+ }
+ styles = []
+
+ for key, css_property in css_properties.items():
+ css_value = value.get(key)
+ if css_value is not None:
+ styles.append(f"{css_property}: {html.escape(str(css_value))}")
+
+ styles.extend(
+ [
+ "display: block",
+ "margin: -8px",
+ "padding: 8px",
+ "min-height: 22px",
+ ]
+ )
+
+ cell_value = html.escape(str(value["value"]))
+ return f'
{cell_value}
'
+
@staticmethod
def _get_progress_css() -> str:
"""Get the CSS styles required for progress bars."""
@@ -150,11 +186,20 @@ def render_table(
title_html = f"
{title}
" if title else ""
+ # Only columns holding a styled cell get the formatter, so plain
+ # columns keep pandas' default rendering exactly as before.
+ formatters = {
+ column: StatefulHTMLRenderer._render_table_cell
+ for position, column in enumerate(data.columns)
+ if any(isinstance(cell, dict) for cell in data.iloc[:, position])
+ }
+
# Convert DataFrame to HTML with styling
table_html = data.to_html(
classes="vm-table table table-striped table-hover",
table_id=table_id,
escape=False,
+ formatters=formatters,
index=False,
)
@@ -206,7 +251,7 @@ def render_accordion(
return f"""
- {''.join(accordion_items)}
+ {"".join(accordion_items)}