diff --git a/components/appkit-assistant/pyproject.toml b/components/appkit-assistant/pyproject.toml index 6261eab..167c49c 100644 --- a/components/appkit-assistant/pyproject.toml +++ b/components/appkit-assistant/pyproject.toml @@ -5,7 +5,7 @@ dependencies = [ "appkit-mantine", "appkit-ui", "appkit-user", - "google-genai>=2.4.0", + "google-genai>=2.11.0", "mcp>=1.27.1", "openai>=2.37.0", "reflex>=0.9.5", diff --git a/components/appkit-commons/pyproject.toml b/components/appkit-commons/pyproject.toml index 90d9c0c..adadbab 100644 --- a/components/appkit-commons/pyproject.toml +++ b/components/appkit-commons/pyproject.toml @@ -35,7 +35,7 @@ apscheduler = [ "apscheduler[psycopg]>=4.0.0a6", ] pgqueuer = [ - "pgqueuer>=1.1.0", + "pgqueuer>=1.1.1", ] azure = [ "azure-identity>=1.25.3", diff --git a/components/appkit-imagecreator/pyproject.toml b/components/appkit-imagecreator/pyproject.toml index 2c7db96..9629b4e 100644 --- a/components/appkit-imagecreator/pyproject.toml +++ b/components/appkit-imagecreator/pyproject.toml @@ -23,7 +23,7 @@ classifiers = [ dependencies = [ "appkit-commons", "fastapi>=0.139.0", - "google-genai>=2.10.0", + "google-genai>=2.11.0", "httpx>=0.28.1", "openai>=2.37.0", "pillow>=12.2.0", diff --git a/components/appkit-mcp-bpmn/pyproject.toml b/components/appkit-mcp-bpmn/pyproject.toml index b66a049..b5fc7e3 100644 --- a/components/appkit-mcp-bpmn/pyproject.toml +++ b/components/appkit-mcp-bpmn/pyproject.toml @@ -3,7 +3,7 @@ dependencies = [ "appkit-commons", "appkit-mcp-commons", "lxml>=6.1.1", - "openai>=2.37.0", + "openai>=2.45.0", ] name = "appkit-mcp-bpmn" version = "1.13.3" diff --git a/components/appkit-mcp-charts/pyproject.toml b/components/appkit-mcp-charts/pyproject.toml index 61b585c..7ae1881 100644 --- a/components/appkit-mcp-charts/pyproject.toml +++ b/components/appkit-mcp-charts/pyproject.toml @@ -2,7 +2,7 @@ dependencies = [ "appkit-commons", "appkit-mcp-commons", - "plotly==6.8.0", + "plotly==6.9.0", ] name = "appkit-mcp-charts" version = "1.13.3" diff --git a/components/appkit-mcp-commons/pyproject.toml b/components/appkit-mcp-commons/pyproject.toml index 3d17264..8a2a5a3 100644 --- a/components/appkit-mcp-commons/pyproject.toml +++ b/components/appkit-mcp-commons/pyproject.toml @@ -3,7 +3,7 @@ dependencies = [ "appkit-commons", "pydantic>=2.13.4", "starlette>=1.0.0", - "fastmcp>=3.4.3", + "fastmcp>=3.4.4", ] name = "appkit-mcp-commons" version = "1.13.3" diff --git a/components/appkit-mcp-image/pyproject.toml b/components/appkit-mcp-image/pyproject.toml index 760dc87..72550bc 100644 --- a/components/appkit-mcp-image/pyproject.toml +++ b/components/appkit-mcp-image/pyproject.toml @@ -5,7 +5,7 @@ dependencies = [ "appkit-mcp-commons", "appkit-user", "fastapi>=0.139.0", - "fastmcp>=3.3.1", + "fastmcp>=3.4.4", "httpx>=0.28.1", "python-dotenv>=1.2.2", "uvicorn>=0.47.0", diff --git a/components/appkit-mcp-user/pyproject.toml b/components/appkit-mcp-user/pyproject.toml index e265535..e207bbc 100644 --- a/components/appkit-mcp-user/pyproject.toml +++ b/components/appkit-mcp-user/pyproject.toml @@ -3,7 +3,7 @@ dependencies = [ "appkit-commons", "appkit-mcp-commons", "appkit-user", - "openai>=2.44.0", + "openai>=2.45.0", "sqlalchemy>=2.0.51", ] name = "appkit-mcp-user" diff --git a/pyproject.toml b/pyproject.toml index 7930d7a..7761de7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,7 +32,7 @@ dev = [ "httpx==0.28.1", "responses==0.26.2", "faker==40.28.1", - "ruff==0.15.20", + "ruff==0.15.21", "bump-my-version==1.4.1", "detect-secrets==1.5.0", "respx>=0.23.1", diff --git a/uv.lock b/uv.lock index e0694cd..480a79e 100644 --- a/uv.lock +++ b/uv.lock @@ -172,7 +172,7 @@ dev = [ { name = "pytest-xdist", specifier = "==3.8.0" }, { name = "responses", specifier = "==0.26.2" }, { name = "respx", specifier = ">=0.23.1" }, - { name = "ruff", specifier = "==0.15.20" }, + { name = "ruff", specifier = "==0.15.21" }, ] [[package]] @@ -199,7 +199,7 @@ requires-dist = [ { name = "appkit-mantine", editable = "components/appkit-mantine" }, { name = "appkit-ui", editable = "components/appkit-ui" }, { name = "appkit-user", editable = "components/appkit-user" }, - { name = "google-genai", specifier = ">=2.4.0" }, + { name = "google-genai", specifier = ">=2.11.0" }, { name = "mcp", specifier = ">=1.27.1" }, { name = "openai", specifier = ">=2.37.0" }, { name = "python-multipart", specifier = ">=0.0.27" }, @@ -239,7 +239,7 @@ requires-dist = [ { name = "azure-keyvault-secrets", marker = "extra == 'azure'", specifier = ">=4.11.0" }, { name = "colorlog", specifier = ">=6.10.1" }, { name = "cryptography", specifier = ">=49.0.0" }, - { name = "pgqueuer", marker = "extra == 'pgqueuer'", specifier = ">=1.1.0" }, + { name = "pgqueuer", marker = "extra == 'pgqueuer'", specifier = ">=1.1.1" }, { name = "pydantic-settings", specifier = ">=2.14.2" }, { name = "pyyaml", specifier = ">=6.0.3" }, { name = "sqlalchemy", specifier = ">=2.0.51" }, @@ -267,7 +267,7 @@ dependencies = [ requires-dist = [ { name = "appkit-commons", editable = "components/appkit-commons" }, { name = "fastapi", specifier = ">=0.139.0" }, - { name = "google-genai", specifier = ">=2.10.0" }, + { name = "google-genai", specifier = ">=2.11.0" }, { name = "httpx", specifier = ">=0.28.1" }, { name = "openai", specifier = ">=2.37.0" }, { name = "pillow", specifier = ">=12.2.0" }, @@ -302,7 +302,7 @@ requires-dist = [ { name = "appkit-commons", editable = "components/appkit-commons" }, { name = "appkit-mcp-commons", editable = "components/appkit-mcp-commons" }, { name = "lxml", specifier = ">=6.1.1" }, - { name = "openai", specifier = ">=2.37.0" }, + { name = "openai", specifier = ">=2.45.0" }, ] [[package]] @@ -319,7 +319,7 @@ dependencies = [ requires-dist = [ { name = "appkit-commons", editable = "components/appkit-commons" }, { name = "appkit-mcp-commons", editable = "components/appkit-mcp-commons" }, - { name = "plotly", specifier = "==6.8.0" }, + { name = "plotly", specifier = "==6.9.0" }, ] [[package]] @@ -336,7 +336,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "appkit-commons", editable = "components/appkit-commons" }, - { name = "fastmcp", specifier = ">=3.4.3" }, + { name = "fastmcp", specifier = ">=3.4.4" }, { name = "pydantic", specifier = ">=2.13.4" }, { name = "starlette", specifier = ">=1.0.0" }, ] @@ -364,7 +364,7 @@ requires-dist = [ { name = "appkit-mcp-commons", editable = "components/appkit-mcp-commons" }, { name = "appkit-user", editable = "components/appkit-user" }, { name = "fastapi", specifier = ">=0.139.0" }, - { name = "fastmcp", specifier = ">=3.3.1" }, + { name = "fastmcp", specifier = ">=3.4.4" }, { name = "httpx", specifier = ">=0.28.1" }, { name = "python-dotenv", specifier = ">=1.2.2" }, { name = "uvicorn", specifier = ">=0.47.0" }, @@ -387,7 +387,7 @@ requires-dist = [ { name = "appkit-commons", editable = "components/appkit-commons" }, { name = "appkit-mcp-commons", editable = "components/appkit-mcp-commons" }, { name = "appkit-user", editable = "components/appkit-user" }, - { name = "openai", specifier = ">=2.44.0" }, + { name = "openai", specifier = ">=2.45.0" }, { name = "sqlalchemy", specifier = ">=2.0.51" }, ] @@ -1003,19 +1003,19 @@ wheels = [ [[package]] name = "fastmcp" -version = "3.4.3" +version = "3.4.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "fastmcp-slim", extra = ["client", "server"] }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f2/92/cf0e921675af66534eb6dfffffa1871b5062f01650bcea63b62005a12f50/fastmcp-3.4.3.tar.gz", hash = "sha256:31e212ae9ff223876c6d7af2082e73f90bc692460e7a054568dfa88719f075ff", size = 28789252, upload-time = "2026-07-05T23:27:55.153Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/f7/5188565d1b93ad611cbd80bf473e7ad669d1f3b689c4bedcd304e1ec3472/fastmcp-3.4.4.tar.gz", hash = "sha256:378202e26ec15b23819d9a1c0d1b0ebda096bc712720532010a0b82a45c2b1df", size = 28796458, upload-time = "2026-07-09T00:32:41.352Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/79/64000c2792743877baae152499a951c06a9c14b793309ac4ac06135f1ae7/fastmcp-3.4.3-py3-none-any.whl", hash = "sha256:bdf15277800586a033a6e1e95d20301cd508aaa872df3d508c956a2195de6c72", size = 8019, upload-time = "2026-07-05T23:27:53.241Z" }, + { url = "https://files.pythonhosted.org/packages/5f/67/3cef84ba38a23dca1e1e776bfda8a35ab3c7a6c94a8ca81d0715de6dd3c5/fastmcp-3.4.4-py3-none-any.whl", hash = "sha256:f86f208713212260068cf55c32936839eee856fefc7808e18a032f31eb0f718e", size = 8019, upload-time = "2026-07-09T00:32:39.411Z" }, ] [[package]] name = "fastmcp-slim" -version = "3.4.3" +version = "3.4.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "platformdirs" }, @@ -1025,9 +1025,9 @@ dependencies = [ { name = "rich" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/89/fa/500f6362016c34fba01c6412bbfd53435dc75900abd1266d88e111e2e9c2/fastmcp_slim-3.4.3.tar.gz", hash = "sha256:e3e12ac1e87c5195fa59a1c3cd2d31b487a463c269089fb4020b7571cbb57b29", size = 588086, upload-time = "2026-07-05T23:27:33.884Z" } +sdist = { url = "https://files.pythonhosted.org/packages/45/79/f35661c6a1d76dfbe17a079f912d96fffcfdd40fad5a9144bb9e7dfb1fdf/fastmcp_slim-3.4.4.tar.gz", hash = "sha256:dcaa3e0be2127d7eacdce592c2ef0039204923dc0ec396454615cb4a3275b078", size = 590203, upload-time = "2026-07-09T00:32:20.531Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/4f/66765dfe4fe65b45e134e54ca46118d93189fb10cd8ecb635cf504b68552/fastmcp_slim-3.4.3-py3-none-any.whl", hash = "sha256:21ad50465494edb141eed76b177dc788e00e705a5df09b53a31efebeb4432a95", size = 761455, upload-time = "2026-07-05T23:27:32.547Z" }, + { url = "https://files.pythonhosted.org/packages/16/91/321e0b2e9ed70d0628b17ddaec76fc7b09f3e1d5d290f70bf101a2890142/fastmcp_slim-3.4.4-py3-none-any.whl", hash = "sha256:9d3a6327b9ee835188eb7323fc3b5d4cd061631b48da8ece56794bb538972505", size = 765158, upload-time = "2026-07-09T00:32:19.11Z" }, ] [package.optional-dependencies] @@ -1084,7 +1084,7 @@ requests = [ [[package]] name = "google-genai" -version = "2.10.0" +version = "2.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -1098,9 +1098,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "websockets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cd/fe/b796087493c3c55371aa58b9f264841ace5bfdf8c668cafa7afa33c44bec/google_genai-2.10.0.tar.gz", hash = "sha256:77912cd558cd7dfd5b75c25fd1c609e78d7954dde583331104022a46ea90f9ee", size = 600039, upload-time = "2026-06-24T01:33:18.157Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a6/01/e7b5f3aac89200c78318ed7643401e7f5ed3131b0cd353c07483606b1e61/google_genai-2.11.0.tar.gz", hash = "sha256:4c5e524d24b145c96be327f9a7f8f04b0fe4efee0533877795e9848afed01749", size = 622366, upload-time = "2026-07-09T17:49:43.862Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e0/39/00bcfd94de255d24249401efff4f48d77bf6066b46447e519fa193c0c299/google_genai-2.10.0-py3-none-any.whl", hash = "sha256:d5350311567ae660c24cbc1752aee4b3d660f89c0106d2dcd2a69978c35afe1e", size = 957974, upload-time = "2026-06-24T01:33:16.296Z" }, + { url = "https://files.pythonhosted.org/packages/93/ef/d296c23390160a8b0b1dafb36dd3cb36a39ed40c81cd27e04e6233334186/google_genai-2.11.0-py3-none-any.whl", hash = "sha256:5bc8186100e1d34d691fbe0cba392b7e04e98d286ca952323a6672d054accf95", size = 984162, upload-time = "2026-07-09T17:49:42.15Z" }, ] [[package]] @@ -1752,7 +1752,7 @@ wheels = [ [[package]] name = "openai" -version = "2.44.0" +version = "2.45.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -1764,9 +1764,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/49/f5/7c7cb955305cb41f7f3c5fd7e0e38bf6bbf2658468863d4b7b868a5cb8df/openai-2.44.0.tar.gz", hash = "sha256:68a5a5ffad82b8ff7d451c437529fb64f7c3b8123aaf0c021966a882d9e3947d", size = 988753, upload-time = "2026-06-24T20:56:02.293Z" } +sdist = { url = "https://files.pythonhosted.org/packages/78/60/d4219875289b11d2c2f7da93c36283da224a2e55865ed865ab64e0ce9217/openai-2.45.0.tar.gz", hash = "sha256:10d34ca9c5643bce775852fddbfc172505cb1d4de1ccd101696c3ecff358765d", size = 1109653, upload-time = "2026-07-09T18:02:44.091Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ae/f4/561ed79fd94876160018a5e75254cfcb9b0e62d4dded9dcb20072e86d623/openai-2.44.0-py3-none-any.whl", hash = "sha256:0a2a3ab2e29aeda368700f662ff9ba0f9df17ba4c54577a64e08b8115a3cc0ad", size = 1366216, upload-time = "2026-06-24T20:55:58.882Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b0/2291689e3ec4723fbf5bbf3b54afcd7b160f9ddc98ca7aedfd0132af5677/openai-2.45.0-py3-none-any.whl", hash = "sha256:5df105f5f8c9b711fcb9d06d2d3888cebc82506db216484c14a4e53cdf651777", size = 1629470, upload-time = "2026-07-09T18:02:42.21Z" }, ] [[package]] @@ -1814,7 +1814,7 @@ wheels = [ [[package]] name = "pgqueuer" -version = "1.1.0" +version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -1825,9 +1825,9 @@ dependencies = [ { name = "typer" }, { name = "uvloop", marker = "sys_platform != 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/41/94/db31147ce12b13d4f1820cb6b6fedaa71ce844c913f2b33ab12ad661e078/pgqueuer-1.1.0.tar.gz", hash = "sha256:38a409ed8975b5e50f7b7629c1f230021ae3b262cea03ecaf503f6c95759475e", size = 367348, upload-time = "2026-07-03T06:21:13.916Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/12/c4fe711ad820c8d7740995906de7b883be9b0cc095e7aed673259bc93b9c/pgqueuer-1.1.1.tar.gz", hash = "sha256:bf4d1c905b00363efd4119206a331384ca0d1d446889c5abd17135a9173d3d37", size = 371368, upload-time = "2026-07-07T13:02:38.397Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/83/45/bb520d6e85850371a4c62612d7d3fe85e5480b678f0fc74cc8eec34e32a3/pgqueuer-1.1.0-py3-none-any.whl", hash = "sha256:3c58f21324b6a1d59d43ec21fa17aa0f7d0b25ed08d8a36148890e7dace63a67", size = 86359, upload-time = "2026-07-03T06:21:12.281Z" }, + { url = "https://files.pythonhosted.org/packages/c0/2b/4fcf9062a0208bc35ba8f44bb523cb61983c809cfedfb2295d1ebb041aa1/pgqueuer-1.1.1-py3-none-any.whl", hash = "sha256:a3cb6c3d5a606a551c99fda944d8ec817c27c3c208b961d0d3542e5083ff518d", size = 87275, upload-time = "2026-07-07T13:02:36.8Z" }, ] [[package]] @@ -1899,15 +1899,15 @@ wheels = [ [[package]] name = "plotly" -version = "6.8.0" +version = "6.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "narwhals" }, { name = "packaging" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/94/fd/d72c292d78aadb93d1a9bcd76bf3c678271040c7cf10abe5788b33040a39/plotly-6.8.0.tar.gz", hash = "sha256:e088e7ddc68d4f70e3d66659224727a45296d71d2b8284181862d3d8f1f0d88f", size = 6915161, upload-time = "2026-06-03T18:33:40.226Z" } +sdist = { url = "https://files.pythonhosted.org/packages/96/07/795c79dbce40c39bece88e69d049babbd23ffa95b5d117f248db8ea03abb/plotly-6.9.0.tar.gz", hash = "sha256:967ad33e8c704fed051800d11d985eb206a9c795c14206b30a6f463ed9c67d0d", size = 6919903, upload-time = "2026-07-09T14:55:59.982Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/14/abe5ce876ab5b66ee3c691bf537fcd43d037aea55d447aacf74630a8f31e/plotly-6.8.0-py3-none-any.whl", hash = "sha256:13c5c4a0f70b74cab1913eda0de49b826df5931708eb6f9c3010040614700ec8", size = 9902055, upload-time = "2026-06-03T18:33:34.26Z" }, + { url = "https://files.pythonhosted.org/packages/24/18/d8544811ab076f876c4892b3714f5b0dad335e1dc33aef826df431b8325d/plotly-6.9.0-py3-none-any.whl", hash = "sha256:36bebe2f1bb13884774fe61689c329071446f6ce4a8927fb1f0d6fb24f581236", size = 9909646, upload-time = "2026-07-09T14:55:55.421Z" }, ] [[package]] @@ -2789,27 +2789,27 @@ wheels = [ [[package]] name = "ruff" -version = "0.15.20" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/dc/35b341fc554ba02f217fc10da57d1a75168cfbcf75b0ef2202176d4c4f2d/ruff-0.15.20.tar.gz", hash = "sha256:1416eb04349192646b54de98f146c4f59afe37d0decfc02c3cbbf396f3a28566", size = 4755489, upload-time = "2026-06-25T17:20:37.578Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/94/d9/2d5014f0253ba541d2061d9fa7193f48e941c8b21bb88a7ff9bbe0bd0596/ruff-0.15.20-py3-none-linux_armv6l.whl", hash = "sha256:00e188c53e499c3c1637f73c91dcf2fb56d576cab76ce1be50a27c4e80e37078", size = 10839665, upload-time = "2026-06-25T17:19:44.702Z" }, - { url = "https://files.pythonhosted.org/packages/c6/d3/ac1798ba64f670698867fcfc591d50e7e421bef137db564858f619a30fcf/ruff-0.15.20-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9ebd1fd9b9c95fc0bd7b2761aebec1f030013d2e193a2901b224af68fe47251b", size = 11208649, upload-time = "2026-06-25T17:19:48.787Z" }, - { url = "https://files.pythonhosted.org/packages/47/47/d3ac899991202095dfcf3d5176be4272642be3cf981a2f1a30f72a2afb95/ruff-0.15.20-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c5b16cdd67ca108185cd36dce98c576350c03b1660a751de725fb049193a0632", size = 10622638, upload-time = "2026-06-25T17:19:51.354Z" }, - { url = "https://files.pythonhosted.org/packages/33/13/4e043fe30aa94d4ff5213a9881fc296d12960f5971b234a5263fdc225312/ruff-0.15.20-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3413bb3c3d2ca6a8208f1f4809cd2dca3c6de6d0b491c0e70847672bde6e6efd", size = 10984227, upload-time = "2026-06-25T17:19:54.044Z" }, - { url = "https://files.pythonhosted.org/packages/76/e6/92e7bf40388bc5800073b96564f56264f7e48bfd1a498f5ced6ae6d5a769/ruff-0.15.20-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd7ec42b3bb3da066488db093308a69c4ac5ee6d2af333a86ba6e2eb2e7dd44b", size = 10622882, upload-time = "2026-06-25T17:19:57.037Z" }, - { url = "https://files.pythonhosted.org/packages/13/7a/43460be3f24495a3aa46d4b16873e2c4941b3b5f0b00cf88c03b7b94b339/ruff-0.15.20-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1a36ad0eb77fba9aabfb69ede54de6f376d04ac18ebea022847046d340a8267", size = 11474808, upload-time = "2026-06-25T17:20:00.357Z" }, - { url = "https://files.pythonhosted.org/packages/27/a0/f37077884873221c6b33b4ab49eb18f9f88e54a16a25a5bca59bef46dd66/ruff-0.15.20-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b6df3b1e4610432f0386dba04d853b5f08cbbc903410c6fcc02f620f05aff53c", size = 12293094, upload-time = "2026-06-25T17:20:03.446Z" }, - { url = "https://files.pythonhosted.org/packages/a6/74/165545b60256a9704c21ac0ec4a0d07933b320812f9584836c9f4aca4292/ruff-0.15.20-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e89f198a1ea6ef0d727c1cf16088bc91a6cb0ab947dedc966715691647186eae", size = 11526176, upload-time = "2026-06-25T17:20:06.301Z" }, - { url = "https://files.pythonhosted.org/packages/86/b1/a976a136d40ade83ce743578399865f57001003a409acadc0ecbb3051082/ruff-0.15.20-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309809086c2acb67624950a3c8133e80f32d0d3e27106c0cd60ff26657c9f24b", size = 11520767, upload-time = "2026-06-25T17:20:09.191Z" }, - { url = "https://files.pythonhosted.org/packages/19/0f/f032696cb01c9b54c0263fa393474d7758f1cdc021a01b04e3cbc2500999/ruff-0.15.20-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:2d2374caa2f2c2f9e2b7da0a50802cfb8b79f55a9b5e49379f564544fbf56487", size = 11500132, upload-time = "2026-06-25T17:20:13.602Z" }, - { url = "https://files.pythonhosted.org/packages/4b/f4/51b1a14bc69e8c224b15dab9cce8e99b425e0455d462caa2b3c9be2b6a8e/ruff-0.15.20-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:a1ed17b65293e0c2f22fc387bc13198a5de94bf4429589b0ff6946b0feaf21a3", size = 10943828, upload-time = "2026-06-25T17:20:16.635Z" }, - { url = "https://files.pythonhosted.org/packages/71/4b/fe267640783cd02bf6c5cc290b1df1051be2ec294c678b5c15fe19e52343/ruff-0.15.20-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:f701305e66b38ea6c91882490eb73459796808e4c6362a1b765255e0cdcd4053", size = 10645418, upload-time = "2026-06-25T17:20:19.4Z" }, - { url = "https://files.pythonhosted.org/packages/b0/c0/a65aa4ec2f5e87a1df32dc3ec1fede434fe3dfd5cbcf3b503cafc676ab54/ruff-0.15.20-py3-none-musllinux_1_2_i686.whl", hash = "sha256:5b9c0c367ad8e5d0d5b5b8537864c469a0a0e55417aadfbeca41fa61333be9f4", size = 11211770, upload-time = "2026-06-25T17:20:22.033Z" }, - { url = "https://files.pythonhosted.org/packages/5a/a4/0caa331d954ae2723d729d351c989cb4ca8b6077d5c6c2cb6de75e98c041/ruff-0.15.20-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:01cc00dd58f0df339d0e902219dd53990ea99996a0344e5d9cc8d45d5307e460", size = 11618698, upload-time = "2026-06-25T17:20:25.259Z" }, - { url = "https://files.pythonhosted.org/packages/10/9b/5f14927848d2fd4aa891fd88d883788c5a7baba561c7874732364045708c/ruff-0.15.20-py3-none-win32.whl", hash = "sha256:ed65ef510e43a137207e0f01cfcf998aeddb1aeeda5c9d35023e910284d7cf21", size = 10857322, upload-time = "2026-06-25T17:20:28.612Z" }, - { url = "https://files.pythonhosted.org/packages/fa/f0/fe47c501f9dea92a26d788ff98bb5d92ed4cb4c88792c5c88af6b697dc8e/ruff-0.15.20-py3-none-win_amd64.whl", hash = "sha256:a525c81c70fb0380344dd1d8745d8cc1c890b7fc94a58d5a07bd8eb9557b8415", size = 11993274, upload-time = "2026-06-25T17:20:31.871Z" }, - { url = "https://files.pythonhosted.org/packages/d7/2b/9555445e1201d92b3195f45cdb153a0b68f24e0a4273f6e3d5ab46e212bb/ruff-0.15.20-py3-none-win_arm64.whl", hash = "sha256:2f5b2a6d614e8700388806a14996c40fab2c47b819ef57d790a34878858ed9ca", size = 11343498, upload-time = "2026-06-25T17:20:35.03Z" }, +version = "0.15.21" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/36/6f65aa9989acdec45d417192d8f4e7921931d8a6cf87ac74bce3eed98a8e/ruff-0.15.21.tar.gz", hash = "sha256:d0cfc841c572283c36548f82664a54ce6565567f1b0d5b4cf2caac693d8b7500", size = 4769401, upload-time = "2026-07-09T20:01:34.005Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/c6/ede15cac6839f3dbce52565c8f5164a8210e669c7bc4decb03e5bdf47d0d/ruff-0.15.21-py3-none-linux_armv6l.whl", hash = "sha256:63ea0e965e5d73c90e95b2434beeafc70820536717f561b32ab6e777cb9bdf5d", size = 10854342, upload-time = "2026-07-09T20:00:53.998Z" }, + { url = "https://files.pythonhosted.org/packages/28/9d/d825b07ee7ea9e2d61df92a860033c94e06e7300d50a1c2653aac27d24fe/ruff-0.15.21-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:0f212c5d7d54c01bbfe6dcab02b724a39300f3e34ed7acbe995ccb320a2c58bd", size = 11139539, upload-time = "2026-07-09T20:00:57.809Z" }, + { url = "https://files.pythonhosted.org/packages/f5/de/3b107712e642f063c7a9e0887c427b22cb44097de5aab36c05f2e280670c/ruff-0.15.21-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e6312e41bc96791299614995ea3a977c5857c3b5662b1ecef6755b02b87cb646", size = 10595437, upload-time = "2026-07-09T20:01:00.006Z" }, + { url = "https://files.pythonhosted.org/packages/9a/6f/b4523cc90ba239ede441447a19d0c968846a3012e5a0b0c5b62831a3d5e3/ruff-0.15.21-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01d65b4831c6b2a4ba8ee6faa84049d44d982b7a706e622c4094c509e51673be", size = 10990053, upload-time = "2026-07-09T20:01:02.187Z" }, + { url = "https://files.pythonhosted.org/packages/92/cc/c6a9872a5375f0628875481cf2f66b13d7d865bf3ca2e57f91c7e762d976/ruff-0.15.21-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2c5a913a589120ce67933d5d05fd6ddbcc2481c6a054980ee767f7414c72b4fd", size = 10666096, upload-time = "2026-07-09T20:01:04.299Z" }, + { url = "https://files.pythonhosted.org/packages/ab/97/c621f7a17e097f1790fa3af6374138823b330b2d03fc38337945daca212c/ruff-0.15.21-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef04b681d02ad4dc9620f00f83ac5c22f652d0e9a9cfe431d219b16ad5ccc41", size = 11537011, upload-time = "2026-07-09T20:01:06.771Z" }, + { url = "https://files.pythonhosted.org/packages/ea/51/d928727e476e25ccc57c6f449ffd80241a651a973ad949d39cfb2a771d28/ruff-0.15.21-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16d090c0740916594157e75b80d666eab8e78083b39b3b0e1d698f4670a17b86", size = 12347101, upload-time = "2026-07-09T20:01:08.859Z" }, + { url = "https://files.pythonhosted.org/packages/1e/88/8cd62026802b16018ad06931d87997cf795ba2a6239ab659606c87d96bf0/ruff-0.15.21-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a10e74757dd65004d779b73e2f3c5210156d9980b41224d50d2ebcf1db51e67", size = 11572001, upload-time = "2026-07-09T20:01:11.092Z" }, + { url = "https://files.pythonhosted.org/packages/b2/97/f63084cf55444fc110e8cb985ebfcc592af47f597d44453d778cb81bc156/ruff-0.15.21-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bab0905d2f29e0d9fbc3c373ed23db0095edaa3f71f1f4f519ec15134d9e85c8", size = 11549239, upload-time = "2026-07-09T20:01:13.27Z" }, + { url = "https://files.pythonhosted.org/packages/9d/77/f107da4a2874b7715914b03f09ba9c54424de3ff8a1cc5d015d3ee2ce0ac/ruff-0.15.21-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:00eca240af5789fec6fe7df74c088cc1f9644ed83027113468efba7c92b94075", size = 11535340, upload-time = "2026-07-09T20:01:15.206Z" }, + { url = "https://files.pythonhosted.org/packages/d5/e9/601deb322d3303a7bf212b0100ead6f2ee3f6a044d89c30f2f92bf83c731/ruff-0.15.21-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:262ab31557a75141325e32d3357f3597645a7f084e732b6b054dde428ecd9341", size = 10964048, upload-time = "2026-07-09T20:01:17.723Z" }, + { url = "https://files.pythonhosted.org/packages/ea/2e/0f2176d1e99c15192caea19c8c3a0a955246b4cb4de795042eeb616345cd/ruff-0.15.21-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:659c4e7a4212f83306045ec7c5e5a356d16d9a6ef4ae0c7a4d872914fc655d9d", size = 10667055, upload-time = "2026-07-09T20:01:19.73Z" }, + { url = "https://files.pythonhosted.org/packages/48/60/abd74a02e0c4214f12a68becfd30af7165cfdcb0e661ecdc60bbb949c09a/ruff-0.15.21-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9e866eab611a5f959d36df2d10e446973a3610bc42b0c15b31dc27977d59c233", size = 11242043, upload-time = "2026-07-09T20:01:21.947Z" }, + { url = "https://files.pythonhosted.org/packages/b2/c6/583075d8ccabb4b229345edcaf1545eb3d8d6be90f686a479d7e94088bbf/ruff-0.15.21-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e89bc93c0d3803ba870b55c29671bad9dc6d94bb1eb181b056b52eb05b52854f", size = 11648064, upload-time = "2026-07-09T20:01:24.023Z" }, + { url = "https://files.pythonhosted.org/packages/3a/3c/37d0ecb729a7cc2d393ea7dce316fc585680f35d93b8d62139d7d0a3700c/ruff-0.15.21-py3-none-win32.whl", hash = "sha256:01f8d5be84823c172b389e123174f781f9daf86d6c58719d603f941932195cdd", size = 10896555, upload-time = "2026-07-09T20:01:26.941Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b8/e43466b2a6067ce91e669068f6e28d6c719a920f014b070d5c8731725de3/ruff-0.15.21-py3-none-win_amd64.whl", hash = "sha256:d4b8d9a2f0f12b816b50447f6eccb9f4bb01a6b82c86b50fb3b5354b458dc6d3", size = 12038772, upload-time = "2026-07-09T20:01:29.497Z" }, + { url = "https://files.pythonhosted.org/packages/dd/75/e90ab9aeece218a9fc5a5bc3ec97d0ee6bb3c4ff95869463c1de58e29a1c/ruff-0.15.21-py3-none-win_arm64.whl", hash = "sha256:6e83115d4b9377c1cbc13abf0e051f069fab0ef815ea0504a8a008cee24dd0a8", size = 11375265, upload-time = "2026-07-09T20:01:31.772Z" }, ] [[package]]