Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-langchain-core for
openSUSE:Factory checked in at 2026-11-10 16:30:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-langchain-core (Old)
and /work/SRC/openSUSE:Factory/.python-langchain-core.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-langchain-core"
Tue Nov 10 16:30:01 2026 rev:27 rq:1396524 version:1.7.7
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-langchain-core/python-langchain-core.changes
2026-11-06 20:04:50.103488787 +0100
+++
/work/SRC/openSUSE:Factory/.python-langchain-core.new.3759290/python-langchain-core.changes
2026-11-10 16:30:15.862401333 +0100
@@ -1,0 +2,7 @@
+Tue Nov 10 07:29:25 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 1.7.7:
+ * Cap nesting depth in load()/loads() at 200 levels;
+ deeply nested payloads are now rejected with ValueError.
+
+-------------------------------------------------------------------
Old:
----
langchain_core-1.7.6.tar.gz
New:
----
langchain_core-1.7.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-langchain-core.spec ++++++
--- /var/tmp/diff_new_pack.uQK8GX/_old 2026-11-10 16:30:16.818441322 +0100
+++ /var/tmp/diff_new_pack.uQK8GX/_new 2026-11-10 16:30:16.820441406 +0100
@@ -17,7 +17,7 @@
Name: python-langchain-core
-Version: 1.7.6
+Version: 1.7.7
Release: 0
Summary: Building applications with LLMs through composability
License: MIT
++++++ langchain_core-1.7.6.tar.gz -> langchain_core-1.7.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_core-1.7.6/PKG-INFO
new/langchain_core-1.7.7/PKG-INFO
--- old/langchain_core-1.7.6/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_core-1.7.7/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.5
Name: langchain-core
-Version: 1.7.6
+Version: 1.7.7
Summary: Building applications with LLMs through composability
Project-URL: Homepage, https://docs.langchain.com/
Project-URL: Documentation,
https://reference.langchain.com/python/langchain_core/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_core-1.7.6/langchain_core/load/load.py
new/langchain_core-1.7.7/langchain_core/load/load.py
--- old/langchain_core-1.7.6/langchain_core/load/load.py 2020-02-02
01:00:00.000000000 +0100
+++ new/langchain_core-1.7.7/langchain_core/load/load.py 2020-02-02
01:00:00.000000000 +0100
@@ -154,6 +154,9 @@
"langchain",
]
+_MAX_DEPTH = 200
+"""Maximum nesting depth of dicts and lists that `load()` will walk."""
+
ALL_SERIALIZABLE_MAPPINGS = {
**SERIALIZABLE_MAPPING,
**OLD_CORE_NAMESPACES_MAPPING,
@@ -650,7 +653,8 @@
Revived LangChain objects.
Raises:
- ValueError: If an object's class path is not in the `allowed_objects`
allowlist.
+ ValueError: If an object's class path is not in the `allowed_objects`
allowlist,
+ or if the input is nested more than 200 levels deep.
"""
if allowed_objects is None:
warn_deprecated(
@@ -763,7 +767,8 @@
Revived LangChain objects.
Raises:
- ValueError: If an object's class path is not in the `allowed_objects`
allowlist.
+ ValueError: If an object's class path is not in the `allowed_objects`
allowlist,
+ or if the input is nested more than 200 levels deep.
Example:
```python
@@ -811,7 +816,10 @@
init_validator=init_validator,
)
- def _load(obj: Any) -> Any:
+ def _load(obj: Any, depth: int = 0) -> Any:
+ if depth > _MAX_DEPTH:
+ msg = f"Cannot load object nested more than {_MAX_DEPTH} levels
deep."
+ raise ValueError(msg)
if isinstance(obj, dict):
# Check for escaped dict FIRST (before recursing).
# Escaped dicts are user data that should NOT be processed as LC
objects.
@@ -819,10 +827,10 @@
return _unescape_value(obj)
# Not escaped - recurse into children then apply reviver
- loaded_obj = {k: _load(v) for k, v in obj.items()}
+ loaded_obj = {k: _load(v, depth + 1) for k, v in obj.items()}
return reviver(loaded_obj)
if isinstance(obj, list):
- return [_load(o) for o in obj]
+ return [_load(o, depth + 1) for o in obj]
return obj
return _load(obj)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_core-1.7.6/langchain_core/version.py
new/langchain_core-1.7.7/langchain_core/version.py
--- old/langchain_core-1.7.6/langchain_core/version.py 2020-02-02
01:00:00.000000000 +0100
+++ new/langchain_core-1.7.7/langchain_core/version.py 2020-02-02
01:00:00.000000000 +0100
@@ -1,3 +1,3 @@
"""Version information for `langchain-core`."""
-VERSION = "1.7.6"
+VERSION = "1.7.7"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_core-1.7.6/pyproject.toml
new/langchain_core-1.7.7/pyproject.toml
--- old/langchain_core-1.7.6/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
+++ new/langchain_core-1.7.7/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
@@ -21,7 +21,7 @@
"Topic :: Software Development :: Libraries :: Python Modules",
]
-version = "1.7.6"
+version = "1.7.7"
requires-python = ">=3.10.0,<4.0.0"
dependencies = [
"langsmith>=0.14.9,<1.0.0",
@@ -82,7 +82,11 @@
test_integration = []
[tool.uv]
-constraint-dependencies = ["pygments>=2.20.0"] # CVE-2026-4539
+constraint-dependencies = [
+ "pygments>=2.20.0", # CVE-2026-4539
+ # Tornado 6.6 requires Python 3.11; Python 3.10 retains the affected
fallback.
+ "tornado>=6.6; python_version >= '3.11'",
+]
[tool.uv.sources]
langchain-tests = { path = "../standard-tests" }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_core-1.7.6/tests/unit_tests/load/test_serializable.py
new/langchain_core-1.7.7/tests/unit_tests/load/test_serializable.py
--- old/langchain_core-1.7.6/tests/unit_tests/load/test_serializable.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_core-1.7.7/tests/unit_tests/load/test_serializable.py
2020-02-02 01:00:00.000000000 +0100
@@ -1268,3 +1268,26 @@
revived = load(dumpd(chain))
assert revived.invoke({"a": 1, "b": 2}) == {"a": 1}
+
+
+def _nest(depth: int, *, as_dict: bool) -> str:
+ open_, close = ('{"a": ', "}") if as_dict else ("[", "]")
+ return open_ * depth + '"leaf"' + close * depth
+
+
[email protected]("as_dict", [True, False])
+def test_load_rejects_deeply_nested_input(*, as_dict: bool) -> None:
+ text = _nest(500, as_dict=as_dict)
+
+ with pytest.raises(ValueError, match="nested more than 200 levels"):
+ load(json.loads(text), allowed_objects="messages")
+ with pytest.raises(ValueError, match="nested more than 200 levels"):
+ loads(text, allowed_objects="messages")
+
+
[email protected]("as_dict", [True, False])
+def test_load_accepts_nesting_up_to_limit(*, as_dict: bool) -> None:
+ text = _nest(200, as_dict=as_dict)
+
+ assert load(json.loads(text), allowed_objects="messages") ==
json.loads(text)
+ assert loads(text, allowed_objects="messages") == json.loads(text)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_core-1.7.6/uv.lock
new/langchain_core-1.7.7/uv.lock
--- old/langchain_core-1.7.6/uv.lock 2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_core-1.7.7/uv.lock 2020-02-02 01:00:00.000000000 +0100
@@ -17,7 +17,10 @@
]
[manifest]
-constraints = [{ name = "pygments", specifier = ">=2.20.0" }]
+constraints = [
+ { name = "pygments", specifier = ">=2.20.0" },
+ { name = "tornado", marker = "python_full_version >= '3.11'", specifier =
">=6.6" },
+]
[[package]]
name = "annotated-types"
@@ -709,7 +712,8 @@
{ name = "packaging" },
{ name = "psutil" },
{ name = "pyzmq" },
- { name = "tornado" },
+ { name = "tornado", version = "6.5.10", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "tornado", version = "6.6", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
{ name = "traitlets" },
]
sdist = { url =
"https://files.pythonhosted.org/packages/b9/a4/4948be6eb88628505b83a1f2f40d90254cab66abf2043b3c40fa07dfce0f/ipykernel-7.1.0.tar.gz",
hash =
"sha256:58a3fc88533d5930c3546dc7eac66c6d288acde4f801e2001e65edc5dc9cf0db", size
= 174579, upload-time = "2025-10-27T09:46:39.471Z" }
@@ -951,7 +955,8 @@
{ name = "jupyter-core" },
{ name = "python-dateutil" },
{ name = "pyzmq" },
- { name = "tornado" },
+ { name = "tornado", version = "6.5.10", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "tornado", version = "6.6", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
{ name = "traitlets" },
]
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" }
@@ -1025,7 +1030,7 @@
[[package]]
name = "jupyter-server"
-version = "2.20.0"
+version = "2.21.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
@@ -1044,13 +1049,14 @@
{ name = "pyzmq" },
{ name = "send2trash" },
{ name = "terminado" },
- { name = "tornado" },
+ { name = "tornado", version = "6.5.10", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "tornado", version = "6.6", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
{ name = "traitlets" },
{ name = "websocket-client" },
]
-sdist = { url =
"https://files.pythonhosted.org/packages/6b/dc/db3a582633170186f8c8b31298d7eb26ad0eb031a1f53476c258b64eed05/jupyter_server-2.20.0.tar.gz",
hash =
"sha256:b5778ba337d8015a3dc2b80803ecdd5ac18d3797fddf61a50ea5fb472b4ebe14", size
= 756523, upload-time = "2026-06-17T12:09:09.435Z" }
+sdist = { url =
"https://files.pythonhosted.org/packages/65/3d/3c9f8bce5d5448107bd285cd80185e76c9c871d076b580dfd90997e52904/jupyter_server-2.21.1.tar.gz",
hash =
"sha256:a8960aa29263f6041283e97d4756b099fb49b767baab6371891ecb1bd40a63df", size
= 761651, upload-time = "2026-09-15T16:00:07.853Z" }
wheels = [
- { url =
"https://files.pythonhosted.org/packages/f3/71/8c002223e873a870f5c41dc69b0a7c922301123e4a31d5d01ecb700aef77/jupyter_server-2.20.0-py3-none-any.whl",
hash =
"sha256:c3b67c93c471e947c18b5026f04f21614218adb706df8f48227d3ee8e0a7cdcc", size
= 393143, upload-time = "2026-06-17T12:09:07.234Z" },
+ { url =
"https://files.pythonhosted.org/packages/1d/39/91bc08650cc8e3efeb7a83c25e20ebddcc9b70d28b4eb6f51a4fb55da7a4/jupyter_server-2.21.1-py3-none-any.whl",
hash =
"sha256:2a6467606af7dbae2e7e31640030025969e15db6a649eae334af90415dc71dca", size
= 394641, upload-time = "2026-09-15T16:00:05.526Z" },
]
[[package]]
@@ -1083,7 +1089,8 @@
{ name = "notebook-shim" },
{ name = "packaging" },
{ name = "tomli", marker = "python_full_version < '3.11'" },
- { name = "tornado" },
+ { name = "tornado", version = "6.5.10", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "tornado", version = "6.6", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
{ name = "traitlets" },
{ name = "typing-extensions", marker = "python_full_version < '3.12'" },
]
@@ -1130,7 +1137,7 @@
[[package]]
name = "langchain-core"
-version = "1.7.6"
+version = "1.7.7"
source = { editable = "." }
dependencies = [
{ name = "certifi" },
@@ -1770,7 +1777,8 @@
{ name = "jupyterlab" },
{ name = "jupyterlab-server" },
{ name = "notebook-shim" },
- { name = "tornado" },
+ { name = "tornado", version = "6.5.10", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "tornado", version = "6.6", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
]
sdist = { url =
"https://files.pythonhosted.org/packages/42/ac/aedb759dc683dcd129f6c75271bab5eb23020b0f7969163c726343718e1e/notebook-7.6.3.tar.gz",
hash =
"sha256:e2c08e469c0ae20bb0b3214f0ab77e79653317a2f8e5b34c10361c66874a5b50", size
= 5501618, upload-time = "2026-09-21T18:07:24.261Z" }
wheels = [
@@ -3009,7 +3017,8 @@
dependencies = [
{ name = "ptyprocess", marker = "os_name != 'nt'" },
{ name = "pywinpty", marker = "os_name == 'nt'" },
- { name = "tornado" },
+ { name = "tornado", version = "6.5.10", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
+ { name = "tornado", version = "6.6", source = { registry =
"https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
]
sdist = { url =
"https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz",
hash =
"sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size
= 32701, upload-time = "2024-03-12T14:34:39.026Z" }
wheels = [
@@ -3079,19 +3088,85 @@
[[package]]
name = "tornado"
-version = "6.5.9"
+version = "6.5.10"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+ "python_full_version < '3.11' and platform_python_implementation ==
'PyPy'",
+ "python_full_version < '3.11' and platform_python_implementation !=
'PyPy'",
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/06/61/53d562a57b28c08eda40b258c0f975e360541943ad7c7bef897a40caafda/tornado-6.5.10.tar.gz",
hash =
"sha256:a6b1ccd08c04b4a06fb5aeb381be99de5ad1e5375c1785e31d78c880feb57687", size
= 537910, upload-time = "2026-09-15T13:47:48.73Z" }
+wheels = [
+ { url =
"https://files.pythonhosted.org/packages/cd/5b/ff5fc58fa2427c30dea74c90053f4fc5eda1e7f3833ed3ecc7147fe2b311/tornado-6.5.10-cp39-abi3-macosx_10_9_universal2.whl",
hash =
"sha256:9261783640e23258694a9ff0795df430a5a7b0a651d3dd53dd0969ad6be16da7", size
= 465883, upload-time = "2026-09-15T13:47:35.463Z" },
+ { url =
"https://files.pythonhosted.org/packages/ad/f5/cd7be26c34a3315532f3aef5f092465da8f59c334dd439d3c14aaef16461/tornado-6.5.10-cp39-abi3-macosx_10_9_x86_64.whl",
hash =
"sha256:83e6cf438b106c6b3852d70960967bb1b70c87438050dca0981e4b9aa751a4c1", size
= 464046, upload-time = "2026-09-15T13:47:37.178Z" },
+ { url =
"https://files.pythonhosted.org/packages/60/33/df6d7d04854a58619f8349a51e3edb138324130a7562b0bb21f115bb940f/tornado-6.5.10-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
hash =
"sha256:bdf942448169e5336451d0494d7e3d81cfa726d5aa312affdc4682dd62a62f6d", size
= 467096, upload-time = "2026-09-15T13:47:38.559Z" },
+ { url =
"https://files.pythonhosted.org/packages/29/17/cc35dff68272d685cffd8600ffafbd8067e7d05e7348d9f80caddffbbd5f/tornado-6.5.10-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
hash =
"sha256:69acca6501eed74582b76dbbceee2a91613f54728e3e418346000d7103101676", size
= 468067, upload-time = "2026-09-15T13:47:40.085Z" },
+ { url =
"https://files.pythonhosted.org/packages/c3/01/6e5349b4e1a53a4b4972a6716785e1fe7407f312063c3972690af8ff301b/tornado-6.5.10-cp39-abi3-musllinux_1_2_aarch64.whl",
hash =
"sha256:66aaa3f57d30c6e6becee83ff28055d5930ac724214bde99393eefda83d5e015", size
= 467901, upload-time = "2026-09-15T13:47:41.576Z" },
+ { url =
"https://files.pythonhosted.org/packages/28/5e/b4facf94370dba006819c8d304376f8b9fbec6b935b5e51bf45823a9790b/tornado-6.5.10-cp39-abi3-musllinux_1_2_x86_64.whl",
hash =
"sha256:4bd192b959f9128fb99b8898148070ba4574c9589b78bce42d1851131fe85828", size
= 467308, upload-time = "2026-09-15T13:47:43.145Z" },
+ { url =
"https://files.pythonhosted.org/packages/56/ae/047938e828cafc8eca4c908fafb6588fee944e3af39a0af9d7b602499ae5/tornado-6.5.10-cp39-abi3-win32.whl",
hash =
"sha256:302eb1e0e3e159314eb591920529fdea80acca92df5510a2cec5bbd4f099ec72", size
= 468387, upload-time = "2026-09-15T13:47:44.556Z" },
+ { url =
"https://files.pythonhosted.org/packages/d8/d4/5901517f05affd752490f6a654ba31b7474664e8dd80bd045a00c220bd88/tornado-6.5.10-cp39-abi3-win_amd64.whl",
hash =
"sha256:37ae8f150cecfdbf747fc4e12f5e9a97ecd8cf1d4cdb3f119e2de84b11196918", size
= 468828, upload-time = "2026-09-15T13:47:45.961Z" },
+ { url =
"https://files.pythonhosted.org/packages/f3/1a/fd497f3a7f7b74bb04f4b94536b5c9f80742b5d50501fd27977652ddec16/tornado-6.5.10-cp39-abi3-win_arm64.whl",
hash =
"sha256:ce045d3c298fddd30e89a2777f97039d1b641eb9518ac7b26a4721903539c694", size
= 467847, upload-time = "2026-09-15T13:47:47.283Z" },
+]
+
+[[package]]
+name = "tornado"
+version = "6.6"
source = { registry = "https://pypi.org/simple" }
-sdist = { url =
"https://files.pythonhosted.org/packages/22/15/ca7aaebb77f850493cba71ace508aeffb896d1ad8976417b48b79823dbd2/tornado-6.5.9.tar.gz",
hash =
"sha256:4d868544ebdf2fc155239a74397f65ebfea9b4d3635296c96b5dfb0701c354f5", size
= 536145, upload-time = "2026-09-14T18:08:37.434Z" }
+resolution-markers = [
+ "python_full_version >= '3.15' and platform_python_implementation ==
'PyPy'",
+ "python_full_version >= '3.15' and platform_python_implementation !=
'PyPy'",
+ "python_full_version == '3.14.*' and platform_python_implementation ==
'PyPy'",
+ "python_full_version == '3.14.*' and platform_python_implementation !=
'PyPy'",
+ "python_full_version == '3.13.*' and platform_python_implementation ==
'PyPy'",
+ "python_full_version == '3.13.*' and platform_python_implementation !=
'PyPy'",
+ "python_full_version == '3.12.*' and platform_python_implementation ==
'PyPy' and sys_platform == 'emscripten'",
+ "python_full_version == '3.12.*' and platform_python_implementation !=
'PyPy' and sys_platform == 'emscripten'",
+ "(python_full_version == '3.11.*' and platform_python_implementation ==
'PyPy') or (python_full_version == '3.12.*' and platform_python_implementation
== 'PyPy' and sys_platform != 'emscripten')",
+ "(python_full_version == '3.11.*' and platform_python_implementation !=
'PyPy') or (python_full_version == '3.12.*' and platform_python_implementation
!= 'PyPy' and sys_platform != 'emscripten')",
+]
+sdist = { url =
"https://files.pythonhosted.org/packages/d0/02/5f549b1ad5da6267ed1e1fac2eef69257b1979cc812497002499b7895ff9/tornado-6.6.tar.gz",
hash =
"sha256:34c4aa916d7f2b2d5cadee2c6850f5a4a7f3d688cbf58399ea9bd3057af4abd5", size
= 617998, upload-time = "2026-10-21T15:31:04.733Z" }
wheels = [
- { url =
"https://files.pythonhosted.org/packages/a0/4a/4d3459fd2f360dd99233f69f22b36012a42856ace526da2c6da3cb0e6df2/tornado-6.5.9-cp39-abi3-macosx_10_9_universal2.whl",
hash =
"sha256:dea3bee433b73d6312d993ce89ad5f2b8d3ed9fde56e79ba5342b9edb78d342a", size
= 464279, upload-time = "2026-09-14T18:08:20.909Z" },
- { url =
"https://files.pythonhosted.org/packages/26/4b/5af2f7dcd674e2f1cacef763456f79823404f50954789d6e1ec7a70cd58a/tornado-6.5.9-cp39-abi3-macosx_10_9_x86_64.whl",
hash =
"sha256:22bed49cdb55292d1d58f46008ba2cc3020e5b84995ef6ae749676c8b5309514", size
= 462440, upload-time = "2026-09-14T18:08:22.711Z" },
- { url =
"https://files.pythonhosted.org/packages/9e/0f/38f8d16011de3b1ce2babb4c3bcefb126d2dc47d04878ae3ad5c39a00caa/tornado-6.5.9-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
hash =
"sha256:0cc0876a58eee9143476f24901b1b8eb4d52443283ade2b6bca650dd1da04f84", size
= 465496, upload-time = "2026-09-14T18:08:24.407Z" },
- { url =
"https://files.pythonhosted.org/packages/8c/e9/3888f265d1e287fc63cd61a6696f96a650024e32f9e89c0b1817ac5c40f4/tornado-6.5.9-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
hash =
"sha256:dc0d703cc7ec92b47ebfe236c97cd765c1f2e45744a2e156e6677e54c948274d", size
= 466468, upload-time = "2026-09-14T18:08:25.928Z" },
- { url =
"https://files.pythonhosted.org/packages/d6/8b/d2bcf417981fa6f7698ab84a52394a76cf608e6704d266e2e0e29f1fd9d0/tornado-6.5.9-cp39-abi3-musllinux_1_2_aarch64.whl",
hash =
"sha256:93f9ab0226ef625b94cacb7981a5af104f1735ea02f92282abe5c389109fb31d", size
= 466303, upload-time = "2026-09-14T18:08:27.566Z" },
- { url =
"https://files.pythonhosted.org/packages/7e/a5/c5cfab11420c3f908238a6c861b8f3864fdbd2b2b87e30c9c16f36a11512/tornado-6.5.9-cp39-abi3-musllinux_1_2_x86_64.whl",
hash =
"sha256:5801bbf94dfde8d21087b6aa0b17f3a5dab6110dfe44e7e4492df5de393ac15b", size
= 465706, upload-time = "2026-09-14T18:08:29.182Z" },
- { url =
"https://files.pythonhosted.org/packages/ab/36/5a5da0aa15b7afdd46ece09c004a75af7d00f6a96b692bf696ff94bc2a55/tornado-6.5.9-cp39-abi3-win32.whl",
hash =
"sha256:dca9f377e80efe5dd4d52a2776b67492a81a39b2d931de169b6b36d0c1da444c", size
= 466750, upload-time = "2026-09-14T18:08:30.836Z" },
- { url =
"https://files.pythonhosted.org/packages/34/d7/2446cf3125372e2b4be6483b4b93f360dc50ce2493864755484b23bb50f2/tornado-6.5.9-cp39-abi3-win_amd64.whl",
hash =
"sha256:f810730ac71eadf009e6e5cb6d534d096887310f5649cff19d7e0d19c0bf4ee7", size
= 467191, upload-time = "2026-09-14T18:08:32.521Z" },
- { url =
"https://files.pythonhosted.org/packages/39/70/f1024364bf78fa921c63ef2883d36a3b3b705750c98ae174593afaab7a65/tornado-6.5.9-cp39-abi3-win_arm64.whl",
hash =
"sha256:b5f4d92798337260c6d9f9f0e400c7539dd5e55cf93479a3f8508c9aa09c2b3b", size
= 466211, upload-time = "2026-09-14T18:08:35.18Z" },
+ { url =
"https://files.pythonhosted.org/packages/df/f5/d3e6f76b945f9812842db742d0708a3b6287e850e81be3ca10e290c103c6/tornado-6.6-cp311-abi3-macosx_10_9_universal2.whl",
hash =
"sha256:01abf15429d64f04ccfafc238b191cc2c177108b7a331f4461707ad77198c8c2", size
= 528326, upload-time = "2026-10-21T15:30:05.528Z" },
+ { url =
"https://files.pythonhosted.org/packages/30/69/b20cf3a8bf641ec792a5a6050aa153e8f120604f9c23471142de535113e5/tornado-6.6-cp311-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
hash =
"sha256:11bb97c00981eb8254e55bd6a5ad960c983ae343fef8ae3ae5584cd1fb70236a", size
= 529544, upload-time = "2026-10-21T15:30:07.126Z" },
+ { url =
"https://files.pythonhosted.org/packages/0f/f4/d9d8d3ac345aa9df3a132ad03bd443160c2ab24ad4003b4e8d6d5af06371/tornado-6.6-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
hash =
"sha256:4e152a3b2d3eae113b836d979823f7bb2320f7e334a84449729964921f374a4c", size
= 530523, upload-time = "2026-10-21T15:30:08.478Z" },
+ { url =
"https://files.pythonhosted.org/packages/ad/82/1296ade1c14dee5a4906e5ca092997622ece7c4dc768c68ed9caaf895d1b/tornado-6.6-cp311-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl",
hash =
"sha256:e912d4c4babd04db6f34b25b748174a4a176debe86c8610beedf1815f9af7fdd", size
= 530739, upload-time = "2026-10-21T15:30:09.98Z" },
+ { url =
"https://files.pythonhosted.org/packages/66/30/6ac1eab66c81af46dafd93c9b24bd311f82e199d9d7b8ce2a64a91b6a200/tornado-6.6-cp311-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl",
hash =
"sha256:33aabe8a03d426cef4e0fe5669f0643cadd983b54957f1a7ac2789ec326e9644", size
= 529738, upload-time = "2026-10-21T15:30:11.498Z" },
+ { url =
"https://files.pythonhosted.org/packages/24/b4/6c1f6aa1fd148e4d0f500a10cd0c9949e7bf385e161ff497c81de5b3ae4f/tornado-6.6-cp311-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl",
hash =
"sha256:9aaf0e1c2fb9f046f30e2036b8d2060666399e8464d0a72769e43c754089567b", size
= 527908, upload-time = "2026-10-21T15:30:13.298Z" },
+ { url =
"https://files.pythonhosted.org/packages/54/5b/67d3d452b1179bc9e265cebd381a56ab4cf2d7b2a54607aedd8d6e1ebc2e/tornado-6.6-cp311-abi3-musllinux_1_2_aarch64.whl",
hash =
"sha256:61fc5513cea97720ab9bf54b04827ac0f4500c63f0b072b963d6145c798b4661", size
= 530367, upload-time = "2026-10-21T15:30:15.183Z" },
+ { url =
"https://files.pythonhosted.org/packages/74/14/4e8e9a14f77bcafb2408634b2d4c8c676ad7a43bf8dac4ee2d48370698f9/tornado-6.6-cp311-abi3-musllinux_1_2_ppc64le.whl",
hash =
"sha256:31e1a0d5cd704d2fe8a008c1cc27a0e2b67269ca263630a27985dddc160b5537", size
= 530456, upload-time = "2026-10-21T15:30:16.741Z" },
+ { url =
"https://files.pythonhosted.org/packages/56/12/e3ddef99a2089ccfc86f32bd3f39caaad87bee4868be1bacbf213a0b07a2/tornado-6.6-cp311-abi3-musllinux_1_2_riscv64.whl",
hash =
"sha256:74416e41e9bdf70fbc2fb242f6fbbc7a58ec11e59d39f15fc5a421ecb6845118", size
= 529610, upload-time = "2026-10-21T15:30:18.031Z" },
+ { url =
"https://files.pythonhosted.org/packages/35/3d/62a692343d46b37e852e5078e0f6513534d925f70a04580072e3c127b129/tornado-6.6-cp311-abi3-musllinux_1_2_s390x.whl",
hash =
"sha256:8cdd69104ae9d705b3f04d2563aa96e357043e267a455802daae9a1e633a37c8", size
= 529803, upload-time = "2026-10-21T15:30:19.326Z" },
+ { url =
"https://files.pythonhosted.org/packages/49/04/6c59a9413adfe4810f648a4dd9fdf476f13b0495f9cc25ef856b71f9ce1e/tornado-6.6-cp311-abi3-musllinux_1_2_x86_64.whl",
hash =
"sha256:fc7c8a3263501fbe97518cd699101bc3c5f499a7dd4f75fc6cbb3bd9ee1db1f1", size
= 529751, upload-time = "2026-10-21T15:30:20.826Z" },
+ { url =
"https://files.pythonhosted.org/packages/31/36/a1b3b84cd347ae43f982d3bf95628de6c6365668dba2543af47c6a1c888e/tornado-6.6-cp311-abi3-win32.whl",
hash =
"sha256:b54ca69ff93d0374efb083a12a1e9ec2dd2036e8496d197e0e8ef77b8d9135c3", size
= 530643, upload-time = "2026-10-21T15:30:22.428Z" },
+ { url =
"https://files.pythonhosted.org/packages/b7/50/dc813fe35a672e14ee8bed8b5c634eeb343a05c98eb455318a169de24567/tornado-6.6-cp311-abi3-win_amd64.whl",
hash =
"sha256:48f26ed9d7beb64e5f06adc864524e581ab6d62ba8ff46eaaa1ac2d0e6d753fd", size
= 530886, upload-time = "2026-10-21T15:30:23.975Z" },
+ { url =
"https://files.pythonhosted.org/packages/0d/71/62a9b9e980026d38874740d0a7c162f53eb0563f6a441e3aff84c48db7e8/tornado-6.6-cp311-abi3-win_arm64.whl",
hash =
"sha256:29114ffd4e4de869d390393df9e9a0f191065aae1a96f38a58d35e464c04a867", size
= 530899, upload-time = "2026-10-21T15:30:25.264Z" },
+ { url =
"https://files.pythonhosted.org/packages/ac/4c/633e3568eb574df555d6ddd2dac44b7793a5c26cd63b444e653fcfb1d6ec/tornado-6.6-cp314-cp314t-macosx_10_15_universal2.whl",
hash =
"sha256:63fc8d243b52fd8dd9ed4ad02d0df08f2024f9aea632a433a8a6c91075076d44", size
= 528432, upload-time = "2026-10-21T15:30:26.578Z" },
+ { url =
"https://files.pythonhosted.org/packages/37/eb/b525d1870ad28a56f47b664dd8fd3fab4f7ddd237c87c14e97248bf4762f/tornado-6.6-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
hash =
"sha256:8d4b85cac795bfc6a7f20ba81871abb8c2ae8fba019061b8a9ae1c2f97e29637", size
= 532586, upload-time = "2026-10-21T15:30:28.027Z" },
+ { url =
"https://files.pythonhosted.org/packages/b7/35/909a33c253352346ca081a27ca66b45c1398468adf784b767597ca773c28/tornado-6.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
hash =
"sha256:e035c065edadfa696529d05eebcbeb25154c129b5aee6dbfb697a6abf5d4f697", size
= 533641, upload-time = "2026-10-21T15:30:29.318Z" },
+ { url =
"https://files.pythonhosted.org/packages/6f/64/100202666d6e3d96288ab184827762415456c139798a15c962547f9fabf9/tornado-6.6-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl",
hash =
"sha256:5b94e589ab855090c448b5c0937b3a75f1c1a604b7b36207e8236d209f720b9c", size
= 533869, upload-time = "2026-10-21T15:30:30.882Z" },
+ { url =
"https://files.pythonhosted.org/packages/b1/e0/af3ed62bc15830d60328d5b4a1a9076b35ea0ba142cb17b1c1772cb15c59/tornado-6.6-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl",
hash =
"sha256:1a394c8c9db9137f2a2b42869d9f7b91398fcf19da120d0dde4c4546172710f7", size
= 532767, upload-time = "2026-10-21T15:30:32.273Z" },
+ { url =
"https://files.pythonhosted.org/packages/24/d7/1e2e1a6932eb62d63324b64dba2f62e6eaf79ad883dd209352c297b7848c/tornado-6.6-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl",
hash =
"sha256:0215d1df6e4b5e736ddad5adf0af4138cf7437fdd39c77c5e69768e37850a632", size
= 530956, upload-time = "2026-10-21T15:30:33.746Z" },
+ { url =
"https://files.pythonhosted.org/packages/70/65/3b9a0e53d7a4c39f2ebe95486540fa8eeb67bfb6e8c437d603c00d35b128/tornado-6.6-cp314-cp314t-musllinux_1_2_aarch64.whl",
hash =
"sha256:4d711790e0a9576ad924d942c4607e4e401d697588ea6f30f6662824008a7add", size
= 533372, upload-time = "2026-10-21T15:30:35.085Z" },
+ { url =
"https://files.pythonhosted.org/packages/44/48/90979cbfaa3ff941324a2605eb794af0f087c670cd99f18a69ab40498073/tornado-6.6-cp314-cp314t-musllinux_1_2_ppc64le.whl",
hash =
"sha256:034a66bae0f55421d007803e2385d2a59707d8829b2f026373d42f08256e9922", size
= 533425, upload-time = "2026-10-21T15:30:36.425Z" },
+ { url =
"https://files.pythonhosted.org/packages/bb/c4/ce743a86d91f85c255b77a4282eb5b2716b61e74430eb9d1df8578a539d2/tornado-6.6-cp314-cp314t-musllinux_1_2_riscv64.whl",
hash =
"sha256:5cb38483b077129056a94dd415a71d29ab4e42b46da894fee8b4657003f10b21", size
= 532545, upload-time = "2026-10-21T15:30:37.789Z" },
+ { url =
"https://files.pythonhosted.org/packages/02/5e/a82131e35778540fc19139229d02aa8cf2453a8022e202be50c88f0f8ac3/tornado-6.6-cp314-cp314t-musllinux_1_2_s390x.whl",
hash =
"sha256:46bbbd107efa37777ac4b83601866d19b4dbd5b770a7a9123582633d95959ad3", size
= 532700, upload-time = "2026-10-21T15:30:39.336Z" },
+ { url =
"https://files.pythonhosted.org/packages/3a/09/6dac8c2c677c65d60b3d7dae94176dbfe392f314e7c8e2d709623edd6a26/tornado-6.6-cp314-cp314t-musllinux_1_2_x86_64.whl",
hash =
"sha256:b85e9d0263cdbc027b95947c8b873a7bc7fd6a08d16bfb4f5047350b0808e464", size
= 532712, upload-time = "2026-10-21T15:30:40.698Z" },
+ { url =
"https://files.pythonhosted.org/packages/b2/ac/71e5776cbcdc3264e81aa6db28c69717ba50607a9eb8d5b766f11a4b020e/tornado-6.6-cp314-cp314t-win32.whl",
hash =
"sha256:4276eef0880e5fe4488e6799c2842f59af3b06637e9313ab4fb506f9c9c2d6cb", size
= 530491, upload-time = "2026-10-21T15:30:42.115Z" },
+ { url =
"https://files.pythonhosted.org/packages/d8/0f/0b6a6908a5b5aa8320009dfdb84434b1cf160b577a00456e59ab9e6ea598/tornado-6.6-cp314-cp314t-win_amd64.whl",
hash =
"sha256:10d4af98c6df09f8429b1340ccaea3a72887b86f695dfb8056bda517c8115a00", size
= 530780, upload-time = "2026-10-21T15:30:43.414Z" },
+ { url =
"https://files.pythonhosted.org/packages/3c/39/c152e1cc5371f75f5f9f0a4f44bf2dc9396be9407d384de7428446fb4651/tornado-6.6-cp314-cp314t-win_arm64.whl",
hash =
"sha256:b1f0ef20a5278854f5fdac31637bafadb055405df28b7fc945e54add12b172e3", size
= 530781, upload-time = "2026-10-21T15:30:44.741Z" },
+ { url =
"https://files.pythonhosted.org/packages/0c/c5/f96c7d7a8895745bb37dfb6e6107e1ee40ad02a4b162d7d6c143644455ab/tornado-6.6-cp315-cp315t-macosx_10_15_universal2.whl",
hash =
"sha256:8f8e382da30fe042f27f27a871e21aefc2613870e5a41648de18446c72d6ea59", size
= 528446, upload-time = "2026-10-21T15:30:46.112Z" },
+ { url =
"https://files.pythonhosted.org/packages/c0/dd/ab8f6500d274b9c55b025798eb54e92591bcff27515799bec443bd54e35a/tornado-6.6-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl",
hash =
"sha256:8c7a8a328396c2195454a2ecd9499512441bbce99505544a717e6a87d16ff6f9", size
= 532774, upload-time = "2026-10-21T15:30:47.393Z" },
+ { url =
"https://files.pythonhosted.org/packages/87/23/b78e7d1bf329160b8157284005395421ea941864c16c7f04c3e48c98bcf9/tornado-6.6-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl",
hash =
"sha256:ca025bb0da81c294aef26f27427316df1525220820315f4bf32dc1e84a4d2232", size
= 533872, upload-time = "2026-10-21T15:30:48.884Z" },
+ { url =
"https://files.pythonhosted.org/packages/e0/4f/ab66b614ad0bc9a219484be6bc2c002c8de9916a7b6c7b27fe6273838e5c/tornado-6.6-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl",
hash =
"sha256:59c22ebc905ac2a267f8d9d8a878f86afbcbbde329d75c485f1422fc45a81b83", size
= 534027, upload-time = "2026-10-21T15:30:50.157Z" },
+ { url =
"https://files.pythonhosted.org/packages/da/63/501fa15a36bace2f4b9158228cf922d606403261bf71c960c433ec3ca0a4/tornado-6.6-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl",
hash =
"sha256:f89802bc0bcd15f988d9325b4e6d2171bb04ea68d188732556335e10d3fd00bd", size
= 532936, upload-time = "2026-10-21T15:30:51.45Z" },
+ { url =
"https://files.pythonhosted.org/packages/7f/b7/82d643f635f0300bda98613ca2660b4f3134b6fb594c6fddfa4de706806c/tornado-6.6-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl",
hash =
"sha256:70043256d5958f9c655066153d23d60ea3e29bf9854f7fb75850e223c477758a", size
= 531254, upload-time = "2026-10-21T15:30:52.865Z" },
+ { url =
"https://files.pythonhosted.org/packages/d4/53/92c40891a94750bc09257310af964bf25c59e3531d6199736c318baa864f/tornado-6.6-cp315-cp315t-musllinux_1_2_aarch64.whl",
hash =
"sha256:82b49495e3849d644b841ef33b35491160055997deaa93720ff647ef019421db", size
= 533566, upload-time = "2026-10-21T15:30:54.15Z" },
+ { url =
"https://files.pythonhosted.org/packages/7e/88/b82f5c5efde731b88d839ad99cb6ace2a521f03bb6d7346d2de089c76da8/tornado-6.6-cp315-cp315t-musllinux_1_2_ppc64le.whl",
hash =
"sha256:07b2bcaa4bf447bdbfb664e4c28344226540db3f0ebccd74886528338a240765", size
= 533567, upload-time = "2026-10-21T15:30:55.451Z" },
+ { url =
"https://files.pythonhosted.org/packages/02/2c/e9a7f5d0fca0bdbcd48b2d9c7884dd0b32669c9945d98bc6d303a80ecfea/tornado-6.6-cp315-cp315t-musllinux_1_2_riscv64.whl",
hash =
"sha256:c36b921374c302e54909bae17d9f354061d80e7ae7d8c94f73abbcc217866460", size
= 532849, upload-time = "2026-10-21T15:30:56.729Z" },
+ { url =
"https://files.pythonhosted.org/packages/d0/f5/4ade737340ca6ce9c677ea0c2843591c8ad065d07f0913c28d922c7e078e/tornado-6.6-cp315-cp315t-musllinux_1_2_s390x.whl",
hash =
"sha256:7412d9e37aa9f7048e4b591f520a95f7a097278ffab15f1ddf3f5c2320cf6648", size
= 532873, upload-time = "2026-10-21T15:30:58.067Z" },
+ { url =
"https://files.pythonhosted.org/packages/8e/04/6acdc937d0bb6189ddb34ceded517d7bd1c7b3bded5d4e1b3442160e6b6f/tornado-6.6-cp315-cp315t-musllinux_1_2_x86_64.whl",
hash =
"sha256:15bc95112b2d24b0bfaee9a004e3f974da929e33b4244a7f695a22f45b08a5e5", size
= 532883, upload-time = "2026-10-21T15:30:59.395Z" },
+ { url =
"https://files.pythonhosted.org/packages/ab/27/0a766fac6b1cc629d96346329a0485287fd2857c51a887a3a154f2a69938/tornado-6.6-cp315-cp315t-win32.whl",
hash =
"sha256:f661c21117b875d612371f3eb243d0c69f56d9bdd6aee38b7c24453419dfe554", size
= 530488, upload-time = "2026-10-21T15:31:00.77Z" },
+ { url =
"https://files.pythonhosted.org/packages/5c/80/3e4142570883da27b3f60ae82c638ac96e60997eac684740613557519c96/tornado-6.6-cp315-cp315t-win_amd64.whl",
hash =
"sha256:ee8853ab35da510dc952879ebd9995c82bc10ffb7925fd87930dc0d6916f4b39", size
= 530777, upload-time = "2026-10-21T15:31:02.087Z" },
+ { url =
"https://files.pythonhosted.org/packages/17/57/4a85c617b6349962320b4afbe1386d5b05fd57218ee8ad6e82e0110ec9ee/tornado-6.6-cp315-cp315t-win_arm64.whl",
hash =
"sha256:7de62e2dfdf559fd7154d2b9aa58ff3d9cff8304ae0519341feb082618bc2a33", size
= 530780, upload-time = "2026-10-21T15:31:03.425Z" },
]
[[package]]