langgraph-runtime-inmem 0.22.0__tar.gz → 0.22.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/.gitignore +4 -1
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/PKG-INFO +1 -1
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/__init__.py +1 -1
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/checkpoint.py +68 -5
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/ops.py +84 -39
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/uv.lock +76 -76
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/Makefile +0 -0
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/README.md +0 -0
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/database.py +0 -0
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/inmem_stream.py +0 -0
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/lifespan.py +0 -0
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/metrics.py +0 -0
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/queue.py +0 -0
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/retry.py +0 -0
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/routes.py +0 -0
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/store.py +0 -0
- {langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/pyproject.toml +0 -0
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import functools
|
|
3
4
|
import logging
|
|
4
5
|
import os
|
|
6
|
+
import threading
|
|
5
7
|
import typing
|
|
6
8
|
import uuid
|
|
7
|
-
|
|
9
|
+
import weakref
|
|
10
|
+
from collections.abc import AsyncIterator, Callable
|
|
8
11
|
from typing import Any
|
|
9
12
|
|
|
10
|
-
from langgraph.checkpoint.memory import
|
|
13
|
+
from langgraph.checkpoint.memory import (
|
|
14
|
+
InMemorySaver as InMemorySaverBase,
|
|
15
|
+
)
|
|
16
|
+
from langgraph.checkpoint.memory import (
|
|
17
|
+
PersistentDict,
|
|
18
|
+
)
|
|
11
19
|
|
|
12
20
|
if typing.TYPE_CHECKING:
|
|
13
21
|
from langchain_core.runnables import RunnableConfig
|
|
@@ -37,11 +45,12 @@ DISABLE_FILE_PERSISTENCE = (
|
|
|
37
45
|
)
|
|
38
46
|
|
|
39
47
|
|
|
40
|
-
class InMemorySaver(
|
|
48
|
+
class InMemorySaver(InMemorySaverBase):
|
|
41
49
|
def __init__(
|
|
42
50
|
self,
|
|
43
51
|
*,
|
|
44
52
|
serde: SerializerProtocol | None = None,
|
|
53
|
+
__persistence_hook__: Callable[[PersistentDict], None] | None = None,
|
|
45
54
|
) -> None:
|
|
46
55
|
self.filename = os.path.join(".langgraph_api", ".langgraph_checkpoint.")
|
|
47
56
|
i = 0
|
|
@@ -54,6 +63,8 @@ class InMemorySaver(MemorySaver):
|
|
|
54
63
|
os.mkdir(".langgraph_api")
|
|
55
64
|
thisfname = self.filename + str(i) + ".pckl"
|
|
56
65
|
d = PersistentDict(*args, filename=thisfname)
|
|
66
|
+
if __persistence_hook__:
|
|
67
|
+
__persistence_hook__(d)
|
|
57
68
|
|
|
58
69
|
try:
|
|
59
70
|
d.load()
|
|
@@ -199,6 +210,15 @@ class InMemorySaver(MemorySaver):
|
|
|
199
210
|
pending_writes=tuple_.pending_writes,
|
|
200
211
|
)
|
|
201
212
|
|
|
213
|
+
async def __aexit__(self, exc_type, exc_val, exc_tb):
|
|
214
|
+
global _ingestion_thread
|
|
215
|
+
if _ingestion_thread is not None:
|
|
216
|
+
logger.info("Stopping dev checkpoint ingestion loop")
|
|
217
|
+
_ingestion_thread[0].set()
|
|
218
|
+
_ingestion_thread[1].join()
|
|
219
|
+
_ingestion_thread = None
|
|
220
|
+
await super().__aexit__(exc_type, exc_val, exc_tb)
|
|
221
|
+
|
|
202
222
|
|
|
203
223
|
MEMORY = None
|
|
204
224
|
|
|
@@ -206,12 +226,16 @@ MEMORY = None
|
|
|
206
226
|
def Checkpointer(*args, unpack_hook=None, **kwargs):
|
|
207
227
|
global MEMORY
|
|
208
228
|
if MEMORY is None:
|
|
209
|
-
MEMORY = InMemorySaver(
|
|
229
|
+
MEMORY = InMemorySaver(
|
|
230
|
+
__persistence_hook__=_hook,
|
|
231
|
+
)
|
|
210
232
|
if unpack_hook is not None:
|
|
211
233
|
from langgraph_api.serde import Serializer
|
|
212
234
|
|
|
213
235
|
saver = InMemorySaver(
|
|
214
|
-
serde=Serializer(__unpack_ext_hook__=unpack_hook),
|
|
236
|
+
serde=Serializer(__unpack_ext_hook__=unpack_hook),
|
|
237
|
+
__persistence_hook__=_hook,
|
|
238
|
+
**kwargs,
|
|
215
239
|
)
|
|
216
240
|
saver.writes = MEMORY.writes
|
|
217
241
|
saver.blobs = MEMORY.blobs
|
|
@@ -220,4 +244,43 @@ def Checkpointer(*args, unpack_hook=None, **kwargs):
|
|
|
220
244
|
return MEMORY
|
|
221
245
|
|
|
222
246
|
|
|
247
|
+
_stores: dict[str, weakref.ref[PersistentDict]] = {}
|
|
248
|
+
_ingestion_thread: tuple[threading.Event, threading.Thread] | None = None
|
|
249
|
+
_ingestion_delay: int = 10
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
def _hook(d: PersistentDict):
|
|
253
|
+
global _ingestion_thread
|
|
254
|
+
_stores[d.filename] = weakref.ref(d)
|
|
255
|
+
if _ingestion_thread is None:
|
|
256
|
+
logger.info("Starting dev checkpoint ingestion loop")
|
|
257
|
+
stop_event = threading.Event()
|
|
258
|
+
_ingestion_thread = (
|
|
259
|
+
stop_event,
|
|
260
|
+
threading.Thread(
|
|
261
|
+
target=functools.partial(_ingestion_loop, stop_event), daemon=True
|
|
262
|
+
),
|
|
263
|
+
)
|
|
264
|
+
_ingestion_thread[1].start()
|
|
265
|
+
pass
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
def _ingestion_loop(stop_event: threading.Event):
|
|
269
|
+
drop = set()
|
|
270
|
+
while not stop_event.wait(timeout=_ingestion_delay):
|
|
271
|
+
keys = list(_stores.keys())
|
|
272
|
+
for store_key in keys:
|
|
273
|
+
if store := _stores[store_key]():
|
|
274
|
+
store.sync()
|
|
275
|
+
continue
|
|
276
|
+
else:
|
|
277
|
+
drop.add(store_key)
|
|
278
|
+
if drop:
|
|
279
|
+
for store_key in drop:
|
|
280
|
+
del _stores[store_key]
|
|
281
|
+
drop.clear()
|
|
282
|
+
# Note: the checkpoints are flushed one last time upon exit.
|
|
283
|
+
logger.info("dev checkpoint ingestion loop exiting")
|
|
284
|
+
|
|
285
|
+
|
|
223
286
|
__all__ = ["Checkpointer"]
|
{langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/ops.py
RENAMED
|
@@ -10,7 +10,7 @@ import typing
|
|
|
10
10
|
import uuid
|
|
11
11
|
from collections import defaultdict
|
|
12
12
|
from collections.abc import AsyncIterator, Sequence
|
|
13
|
-
from contextlib import asynccontextmanager
|
|
13
|
+
from contextlib import AsyncExitStack, asynccontextmanager
|
|
14
14
|
from datetime import UTC, datetime, timedelta
|
|
15
15
|
from typing import Any, Literal, cast
|
|
16
16
|
from uuid import UUID, uuid4
|
|
@@ -150,6 +150,8 @@ class Assistants(Authenticated):
|
|
|
150
150
|
select: list[AssistantSelectField] | None = None,
|
|
151
151
|
ctx: Auth.types.BaseAuthContext | None = None,
|
|
152
152
|
) -> tuple[AsyncIterator[Assistant], int]:
|
|
153
|
+
from langgraph_api.graph import GRAPHS
|
|
154
|
+
|
|
153
155
|
metadata = metadata if metadata is not None else {}
|
|
154
156
|
filters = await Assistants.handle_event(
|
|
155
157
|
ctx,
|
|
@@ -159,6 +161,9 @@ class Assistants(Authenticated):
|
|
|
159
161
|
),
|
|
160
162
|
)
|
|
161
163
|
|
|
164
|
+
if graph_id is not None and graph_id not in GRAPHS:
|
|
165
|
+
raise HTTPException(status_code=404, detail=f"Graph {graph_id} not found")
|
|
166
|
+
|
|
162
167
|
# Get all assistants and filter them
|
|
163
168
|
assistants = conn.store["assistants"]
|
|
164
169
|
filtered_assistants = [
|
|
@@ -365,6 +370,8 @@ class Assistants(Authenticated):
|
|
|
365
370
|
Returns:
|
|
366
371
|
return the updated assistant model.
|
|
367
372
|
"""
|
|
373
|
+
from langgraph_api.graph import GRAPHS
|
|
374
|
+
|
|
368
375
|
assistant_id = _ensure_uuid(assistant_id)
|
|
369
376
|
metadata = metadata if metadata is not None else {}
|
|
370
377
|
config = config if config is not None else {}
|
|
@@ -387,6 +394,9 @@ class Assistants(Authenticated):
|
|
|
387
394
|
detail="Cannot specify both configurable and context. Prefer setting context alone. Context was introduced in LangGraph 0.6.0 and is the long term planned replacement for configurable.",
|
|
388
395
|
)
|
|
389
396
|
|
|
397
|
+
if graph_id is not None and graph_id not in GRAPHS:
|
|
398
|
+
raise HTTPException(status_code=404, detail=f"Graph {graph_id} not found")
|
|
399
|
+
|
|
390
400
|
# Keep config and context up to date with one another
|
|
391
401
|
if config.get("configurable"):
|
|
392
402
|
context = config["configurable"]
|
|
@@ -462,55 +472,85 @@ class Assistants(Authenticated):
|
|
|
462
472
|
|
|
463
473
|
@staticmethod
|
|
464
474
|
async def delete(
|
|
465
|
-
conn: InMemConnectionProto,
|
|
475
|
+
conn: InMemConnectionProto | None,
|
|
466
476
|
assistant_id: UUID,
|
|
467
477
|
ctx: Auth.types.BaseAuthContext | None = None,
|
|
478
|
+
*,
|
|
479
|
+
delete_threads: bool = False,
|
|
468
480
|
) -> AsyncIterator[UUID]:
|
|
469
481
|
"""Delete an assistant by ID."""
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
"delete",
|
|
474
|
-
Auth.types.AssistantsDelete(
|
|
475
|
-
assistant_id=assistant_id,
|
|
476
|
-
),
|
|
477
|
-
)
|
|
478
|
-
assistant = next(
|
|
479
|
-
(a for a in conn.store["assistants"] if a["assistant_id"] == assistant_id),
|
|
480
|
-
None,
|
|
481
|
-
)
|
|
482
|
+
async with AsyncExitStack() as stack:
|
|
483
|
+
if conn is None:
|
|
484
|
+
conn = await stack.enter_async_context(connect())
|
|
482
485
|
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
+
assistant_id = _ensure_uuid(assistant_id)
|
|
487
|
+
filters = await Assistants.handle_event(
|
|
488
|
+
ctx,
|
|
489
|
+
"delete",
|
|
490
|
+
Auth.types.AssistantsDelete(
|
|
491
|
+
assistant_id=assistant_id,
|
|
492
|
+
),
|
|
486
493
|
)
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
494
|
+
assistant = next(
|
|
495
|
+
(
|
|
496
|
+
a
|
|
497
|
+
for a in conn.store["assistants"]
|
|
498
|
+
if a["assistant_id"] == assistant_id
|
|
499
|
+
),
|
|
500
|
+
None,
|
|
490
501
|
)
|
|
491
502
|
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
503
|
+
if not assistant:
|
|
504
|
+
raise HTTPException(
|
|
505
|
+
status_code=404,
|
|
506
|
+
detail=f"Assistant with ID {assistant_id} not found",
|
|
507
|
+
)
|
|
508
|
+
elif filters and not _check_filter_match(assistant["metadata"], filters):
|
|
509
|
+
raise HTTPException(
|
|
510
|
+
status_code=404,
|
|
511
|
+
detail=f"Assistant with ID {assistant_id} not found",
|
|
512
|
+
)
|
|
499
513
|
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
514
|
+
if delete_threads:
|
|
515
|
+
threads_to_delete = [
|
|
516
|
+
t["thread_id"]
|
|
517
|
+
for t in conn.store["threads"]
|
|
518
|
+
if t.get("metadata", {}).get("assistant_id") == str(assistant_id)
|
|
519
|
+
]
|
|
520
|
+
for thread_id in threads_to_delete:
|
|
521
|
+
try:
|
|
522
|
+
async for _ in await Threads.delete(conn, thread_id, ctx=ctx):
|
|
523
|
+
pass
|
|
524
|
+
except HTTPException:
|
|
525
|
+
await logger.awarning(
|
|
526
|
+
"Skipping thread deletion during cascade delete (user lacks permission)",
|
|
527
|
+
thread_id=thread_id,
|
|
528
|
+
assistant_id=assistant_id,
|
|
529
|
+
)
|
|
509
530
|
|
|
510
|
-
|
|
511
|
-
|
|
531
|
+
# 3. Cancel in-flight runs AFTER auth validation
|
|
532
|
+
await Runs.cancel(
|
|
533
|
+
conn,
|
|
534
|
+
assistant_id=assistant_id,
|
|
535
|
+
action="interrupt",
|
|
536
|
+
ctx=ctx,
|
|
537
|
+
)
|
|
512
538
|
|
|
513
|
-
|
|
539
|
+
# 4. Delete assistant
|
|
540
|
+
conn.store["assistants"] = [
|
|
541
|
+
a for a in conn.store["assistants"] if a["assistant_id"] != assistant_id
|
|
542
|
+
]
|
|
543
|
+
# Cascade delete assistant versions
|
|
544
|
+
conn.store["assistant_versions"] = [
|
|
545
|
+
v
|
|
546
|
+
for v in conn.store["assistant_versions"]
|
|
547
|
+
if v["assistant_id"] != assistant_id
|
|
548
|
+
]
|
|
549
|
+
|
|
550
|
+
async def _yield_deleted():
|
|
551
|
+
yield assistant_id
|
|
552
|
+
|
|
553
|
+
return _yield_deleted()
|
|
514
554
|
|
|
515
555
|
@staticmethod
|
|
516
556
|
async def set_latest(
|
|
@@ -632,6 +672,8 @@ class Assistants(Authenticated):
|
|
|
632
672
|
ctx: Auth.types.BaseAuthContext | None = None,
|
|
633
673
|
) -> int:
|
|
634
674
|
"""Get count of assistants."""
|
|
675
|
+
from langgraph_api.graph import GRAPHS
|
|
676
|
+
|
|
635
677
|
metadata = metadata if metadata is not None else {}
|
|
636
678
|
filters = await Assistants.handle_event(
|
|
637
679
|
ctx,
|
|
@@ -641,6 +683,9 @@ class Assistants(Authenticated):
|
|
|
641
683
|
),
|
|
642
684
|
)
|
|
643
685
|
|
|
686
|
+
if graph_id is not None and graph_id not in GRAPHS:
|
|
687
|
+
raise HTTPException(status_code=404, detail=f"Graph {graph_id} not found")
|
|
688
|
+
|
|
644
689
|
count = 0
|
|
645
690
|
for assistant in conn.store["assistants"]:
|
|
646
691
|
if (
|
|
@@ -13,15 +13,15 @@ wheels = [
|
|
|
13
13
|
|
|
14
14
|
[[package]]
|
|
15
15
|
name = "anyio"
|
|
16
|
-
version = "4.12.
|
|
16
|
+
version = "4.12.1"
|
|
17
17
|
source = { registry = "https://pypi.org/simple" }
|
|
18
18
|
dependencies = [
|
|
19
19
|
{ name = "idna" },
|
|
20
20
|
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
|
|
21
21
|
]
|
|
22
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
22
|
+
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" }
|
|
23
23
|
wheels = [
|
|
24
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
24
|
+
{ url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592, upload-time = "2026-01-06T11:45:19.497Z" },
|
|
25
25
|
]
|
|
26
26
|
|
|
27
27
|
[[package]]
|
|
@@ -223,7 +223,7 @@ wheels = [
|
|
|
223
223
|
|
|
224
224
|
[[package]]
|
|
225
225
|
name = "langchain-core"
|
|
226
|
-
version = "1.2.
|
|
226
|
+
version = "1.2.7"
|
|
227
227
|
source = { registry = "https://pypi.org/simple" }
|
|
228
228
|
dependencies = [
|
|
229
229
|
{ name = "jsonpatch" },
|
|
@@ -235,14 +235,14 @@ dependencies = [
|
|
|
235
235
|
{ name = "typing-extensions" },
|
|
236
236
|
{ name = "uuid-utils" },
|
|
237
237
|
]
|
|
238
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
238
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a2/0e/664d8d81b3493e09cbab72448d2f9d693d1fa5aa2bcc488602203a9b6da0/langchain_core-1.2.7.tar.gz", hash = "sha256:e1460639f96c352b4a41c375f25aeb8d16ffc1769499fb1c20503aad59305ced", size = 837039, upload-time = "2026-01-09T17:44:25.505Z" }
|
|
239
239
|
wheels = [
|
|
240
|
-
{ url = "https://files.pythonhosted.org/packages/6f/
|
|
240
|
+
{ url = "https://files.pythonhosted.org/packages/6e/6f/34a9fba14d191a67f7e2ee3dbce3e9b86d2fa7310e2c7f2c713583481bd2/langchain_core-1.2.7-py3-none-any.whl", hash = "sha256:452f4fef7a3d883357b22600788d37e3d8854ef29da345b7ac7099f33c31828b", size = 490232, upload-time = "2026-01-09T17:44:24.236Z" },
|
|
241
241
|
]
|
|
242
242
|
|
|
243
243
|
[[package]]
|
|
244
244
|
name = "langgraph"
|
|
245
|
-
version = "1.0.
|
|
245
|
+
version = "1.0.6"
|
|
246
246
|
source = { registry = "https://pypi.org/simple" }
|
|
247
247
|
dependencies = [
|
|
248
248
|
{ name = "langchain-core" },
|
|
@@ -252,22 +252,22 @@ dependencies = [
|
|
|
252
252
|
{ name = "pydantic" },
|
|
253
253
|
{ name = "xxhash" },
|
|
254
254
|
]
|
|
255
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
255
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c2/9c/dac99ab1732e9fb2d3b673482ac28f02bee222c0319a3b8f8f73d90727e6/langgraph-1.0.6.tar.gz", hash = "sha256:dd8e754c76d34a07485308d7117221acf63990e7de8f46ddf5fe256b0a22e6c5", size = 495092, upload-time = "2026-01-12T20:33:30.778Z" }
|
|
256
256
|
wheels = [
|
|
257
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
257
|
+
{ url = "https://files.pythonhosted.org/packages/10/45/9960747781416bed4e531ed0c6b2f2c739bc7b5397d8e92155463735a40e/langgraph-1.0.6-py3-none-any.whl", hash = "sha256:bcfce190974519c72e29f6e5b17f0023914fd6f936bfab8894083215b271eb89", size = 157356, upload-time = "2026-01-12T20:33:29.191Z" },
|
|
258
258
|
]
|
|
259
259
|
|
|
260
260
|
[[package]]
|
|
261
261
|
name = "langgraph-checkpoint"
|
|
262
|
-
version = "
|
|
262
|
+
version = "4.0.0"
|
|
263
263
|
source = { registry = "https://pypi.org/simple" }
|
|
264
264
|
dependencies = [
|
|
265
265
|
{ name = "langchain-core" },
|
|
266
266
|
{ name = "ormsgpack" },
|
|
267
267
|
]
|
|
268
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
268
|
+
sdist = { url = "https://files.pythonhosted.org/packages/98/76/55a18c59dedf39688d72c4b06af73a5e3ea0d1a01bc867b88fbf0659f203/langgraph_checkpoint-4.0.0.tar.gz", hash = "sha256:814d1bd050fac029476558d8e68d87bce9009a0262d04a2c14b918255954a624", size = 137320, upload-time = "2026-01-12T20:30:26.38Z" }
|
|
269
269
|
wheels = [
|
|
270
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
270
|
+
{ url = "https://files.pythonhosted.org/packages/4a/de/ddd53b7032e623f3c7bcdab2b44e8bf635e468f62e10e5ff1946f62c9356/langgraph_checkpoint-4.0.0-py3-none-any.whl", hash = "sha256:3fa9b2635a7c5ac28b338f631abf6a030c3b508b7b9ce17c22611513b589c784", size = 46329, upload-time = "2026-01-12T20:30:25.2Z" },
|
|
271
271
|
]
|
|
272
272
|
|
|
273
273
|
[[package]]
|
|
@@ -285,15 +285,15 @@ wheels = [
|
|
|
285
285
|
|
|
286
286
|
[[package]]
|
|
287
287
|
name = "langgraph-prebuilt"
|
|
288
|
-
version = "1.0.
|
|
288
|
+
version = "1.0.6"
|
|
289
289
|
source = { registry = "https://pypi.org/simple" }
|
|
290
290
|
dependencies = [
|
|
291
291
|
{ name = "langchain-core" },
|
|
292
292
|
{ name = "langgraph-checkpoint" },
|
|
293
293
|
]
|
|
294
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
294
|
+
sdist = { url = "https://files.pythonhosted.org/packages/3c/f5/8c75dace0d729561dce2966e630c5e312193df7e5df41a7e10cd7378c3a7/langgraph_prebuilt-1.0.6.tar.gz", hash = "sha256:c5f6cf0f5a0ac47643d2e26ae6faa38cb28885ecde67911190df9e30c4f72361", size = 162623, upload-time = "2026-01-12T20:31:28.425Z" }
|
|
295
295
|
wheels = [
|
|
296
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
296
|
+
{ url = "https://files.pythonhosted.org/packages/26/6c/4045822b0630cfc0f8624c4499ceaf90644142143c063a8dc385a7424fc3/langgraph_prebuilt-1.0.6-py3-none-any.whl", hash = "sha256:9fdc35048ff4ac985a55bd2a019a86d45b8184551504aff6780d096c678b39ae", size = 35322, upload-time = "2026-01-12T20:31:27.161Z" },
|
|
297
297
|
]
|
|
298
298
|
|
|
299
299
|
[[package]]
|
|
@@ -342,20 +342,20 @@ dev = [
|
|
|
342
342
|
|
|
343
343
|
[[package]]
|
|
344
344
|
name = "langgraph-sdk"
|
|
345
|
-
version = "0.3.
|
|
345
|
+
version = "0.3.3"
|
|
346
346
|
source = { registry = "https://pypi.org/simple" }
|
|
347
347
|
dependencies = [
|
|
348
348
|
{ name = "httpx" },
|
|
349
349
|
{ name = "orjson" },
|
|
350
350
|
]
|
|
351
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
351
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c3/0f/ed0634c222eed48a31ba48eab6881f94ad690d65e44fe7ca838240a260c1/langgraph_sdk-0.3.3.tar.gz", hash = "sha256:c34c3dce3b6848755eb61f0c94369d1ba04aceeb1b76015db1ea7362c544fb26", size = 130589, upload-time = "2026-01-13T00:30:43.894Z" }
|
|
352
352
|
wheels = [
|
|
353
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
353
|
+
{ url = "https://files.pythonhosted.org/packages/6e/be/4ad511bacfdd854afb12974f407cb30010dceb982dc20c55491867b34526/langgraph_sdk-0.3.3-py3-none-any.whl", hash = "sha256:a52ebaf09d91143e55378bb2d0b033ed98f57f48c9ad35c8f81493b88705fc7b", size = 67021, upload-time = "2026-01-13T00:30:42.264Z" },
|
|
354
354
|
]
|
|
355
355
|
|
|
356
356
|
[[package]]
|
|
357
357
|
name = "langsmith"
|
|
358
|
-
version = "0.6.
|
|
358
|
+
version = "0.6.3"
|
|
359
359
|
source = { registry = "https://pypi.org/simple" }
|
|
360
360
|
dependencies = [
|
|
361
361
|
{ name = "httpx" },
|
|
@@ -367,9 +367,9 @@ dependencies = [
|
|
|
367
367
|
{ name = "uuid-utils" },
|
|
368
368
|
{ name = "zstandard" },
|
|
369
369
|
]
|
|
370
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
370
|
+
sdist = { url = "https://files.pythonhosted.org/packages/da/02/ac91c812238cd232ff3270c253eea31b28253fdeb28df61571932cb26e88/langsmith-0.6.3.tar.gz", hash = "sha256:33246769c0bb24e2c17e0c34bb21931084437613cd37faf83bd0978a297b826f", size = 1739709, upload-time = "2026-01-14T19:26:23.529Z" }
|
|
371
371
|
wheels = [
|
|
372
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
372
|
+
{ url = "https://files.pythonhosted.org/packages/ff/11/22a56b615f1ca84f65fda68b1a53b6e2765f2bdb1c6d885793430a664bfe/langsmith-0.6.3-py3-none-any.whl", hash = "sha256:44fdf8084165513e6bede9dda715e7b460b1b3f57ac69f2ca3f03afa911233ec", size = 282991, upload-time = "2026-01-14T19:26:21.882Z" },
|
|
373
373
|
]
|
|
374
374
|
|
|
375
375
|
[[package]]
|
|
@@ -754,14 +754,14 @@ wheels = [
|
|
|
754
754
|
|
|
755
755
|
[[package]]
|
|
756
756
|
name = "pytest-watcher"
|
|
757
|
-
version = "0.6.
|
|
757
|
+
version = "0.6.3"
|
|
758
758
|
source = { registry = "https://pypi.org/simple" }
|
|
759
759
|
dependencies = [
|
|
760
760
|
{ name = "watchdog" },
|
|
761
761
|
]
|
|
762
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
762
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e6/d2/80606077b7fa8784417687f494ff801d7ab817d9a17fc94305811d5919bb/pytest_watcher-0.6.3.tar.gz", hash = "sha256:842dc904264df0ad2d5264153a66bb452fccfa46598cd6e0a5ef1d19afed9b13", size = 601878, upload-time = "2026-01-10T23:28:18.805Z" }
|
|
763
763
|
wheels = [
|
|
764
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
764
|
+
{ url = "https://files.pythonhosted.org/packages/fc/3f/172d73600ad2771774cda108efb813fc724fc345e5240a81a1085f1ade5d/pytest_watcher-0.6.3-py3-none-any.whl", hash = "sha256:83e7748c933087e8276edb6078663e6afa9926434b4fd8b85cf6b32b1d5bec89", size = 12431, upload-time = "2026-01-10T23:28:17.64Z" },
|
|
765
765
|
]
|
|
766
766
|
|
|
767
767
|
[[package]]
|
|
@@ -848,28 +848,28 @@ wheels = [
|
|
|
848
848
|
|
|
849
849
|
[[package]]
|
|
850
850
|
name = "ruff"
|
|
851
|
-
version = "0.14.
|
|
851
|
+
version = "0.14.11"
|
|
852
852
|
source = { registry = "https://pypi.org/simple" }
|
|
853
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
853
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d4/77/9a7fe084d268f8855d493e5031ea03fa0af8cc05887f638bf1c4e3363eb8/ruff-0.14.11.tar.gz", hash = "sha256:f6dc463bfa5c07a59b1ff2c3b9767373e541346ea105503b4c0369c520a66958", size = 5993417, upload-time = "2026-01-08T19:11:58.322Z" }
|
|
854
854
|
wheels = [
|
|
855
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
856
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
857
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
858
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
859
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
860
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
861
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
862
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
863
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
864
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
865
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
866
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
867
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
868
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
869
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
870
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
871
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
872
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
855
|
+
{ url = "https://files.pythonhosted.org/packages/f0/a6/a4c40a5aaa7e331f245d2dc1ac8ece306681f52b636b40ef87c88b9f7afd/ruff-0.14.11-py3-none-linux_armv6l.whl", hash = "sha256:f6ff2d95cbd335841a7217bdfd9c1d2e44eac2c584197ab1385579d55ff8830e", size = 12951208, upload-time = "2026-01-08T19:12:09.218Z" },
|
|
856
|
+
{ url = "https://files.pythonhosted.org/packages/5c/5c/360a35cb7204b328b685d3129c08aca24765ff92b5a7efedbdd6c150d555/ruff-0.14.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6f6eb5c1c8033680f4172ea9c8d3706c156223010b8b97b05e82c59bdc774ee6", size = 13330075, upload-time = "2026-01-08T19:12:02.549Z" },
|
|
857
|
+
{ url = "https://files.pythonhosted.org/packages/1b/9e/0cc2f1be7a7d33cae541824cf3f95b4ff40d03557b575912b5b70273c9ec/ruff-0.14.11-py3-none-macosx_11_0_arm64.whl", hash = "sha256:f2fc34cc896f90080fca01259f96c566f74069a04b25b6205d55379d12a6855e", size = 12257809, upload-time = "2026-01-08T19:12:00.366Z" },
|
|
858
|
+
{ url = "https://files.pythonhosted.org/packages/a7/e5/5faab97c15bb75228d9f74637e775d26ac703cc2b4898564c01ab3637c02/ruff-0.14.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53386375001773ae812b43205d6064dae49ff0968774e6befe16a994fc233caa", size = 12678447, upload-time = "2026-01-08T19:12:13.899Z" },
|
|
859
|
+
{ url = "https://files.pythonhosted.org/packages/1b/33/e9767f60a2bef779fb5855cab0af76c488e0ce90f7bb7b8a45c8a2ba4178/ruff-0.14.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a697737dce1ca97a0a55b5ff0434ee7205943d4874d638fe3ae66166ff46edbe", size = 12758560, upload-time = "2026-01-08T19:11:42.55Z" },
|
|
860
|
+
{ url = "https://files.pythonhosted.org/packages/eb/84/4c6cf627a21462bb5102f7be2a320b084228ff26e105510cd2255ea868e5/ruff-0.14.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6845ca1da8ab81ab1dce755a32ad13f1db72e7fba27c486d5d90d65e04d17b8f", size = 13599296, upload-time = "2026-01-08T19:11:30.371Z" },
|
|
861
|
+
{ url = "https://files.pythonhosted.org/packages/88/e1/92b5ed7ea66d849f6157e695dc23d5d6d982bd6aa8d077895652c38a7cae/ruff-0.14.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:e36ce2fd31b54065ec6f76cb08d60159e1b32bdf08507862e32f47e6dde8bcbf", size = 15048981, upload-time = "2026-01-08T19:12:04.742Z" },
|
|
862
|
+
{ url = "https://files.pythonhosted.org/packages/61/df/c1bd30992615ac17c2fb64b8a7376ca22c04a70555b5d05b8f717163cf9f/ruff-0.14.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:590bcc0e2097ecf74e62a5c10a6b71f008ad82eb97b0a0079e85defe19fe74d9", size = 14633183, upload-time = "2026-01-08T19:11:40.069Z" },
|
|
863
|
+
{ url = "https://files.pythonhosted.org/packages/04/e9/fe552902f25013dd28a5428a42347d9ad20c4b534834a325a28305747d64/ruff-0.14.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:53fe71125fc158210d57fe4da26e622c9c294022988d08d9347ec1cf782adafe", size = 14050453, upload-time = "2026-01-08T19:11:37.555Z" },
|
|
864
|
+
{ url = "https://files.pythonhosted.org/packages/ae/93/f36d89fa021543187f98991609ce6e47e24f35f008dfe1af01379d248a41/ruff-0.14.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a35c9da08562f1598ded8470fcfef2afb5cf881996e6c0a502ceb61f4bc9c8a3", size = 13757889, upload-time = "2026-01-08T19:12:07.094Z" },
|
|
865
|
+
{ url = "https://files.pythonhosted.org/packages/b7/9f/c7fb6ecf554f28709a6a1f2a7f74750d400979e8cd47ed29feeaa1bd4db8/ruff-0.14.11-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:0f3727189a52179393ecf92ec7057c2210203e6af2676f08d92140d3e1ee72c1", size = 13955832, upload-time = "2026-01-08T19:11:55.064Z" },
|
|
866
|
+
{ url = "https://files.pythonhosted.org/packages/db/a0/153315310f250f76900a98278cf878c64dfb6d044e184491dd3289796734/ruff-0.14.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:eb09f849bd37147a789b85995ff734a6c4a095bed5fd1608c4f56afc3634cde2", size = 12586522, upload-time = "2026-01-08T19:11:35.356Z" },
|
|
867
|
+
{ url = "https://files.pythonhosted.org/packages/2f/2b/a73a2b6e6d2df1d74bf2b78098be1572191e54bec0e59e29382d13c3adc5/ruff-0.14.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:c61782543c1231bf71041461c1f28c64b961d457d0f238ac388e2ab173d7ecb7", size = 12724637, upload-time = "2026-01-08T19:11:47.796Z" },
|
|
868
|
+
{ url = "https://files.pythonhosted.org/packages/f0/41/09100590320394401cd3c48fc718a8ba71c7ddb1ffd07e0ad6576b3a3df2/ruff-0.14.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:82ff352ea68fb6766140381748e1f67f83c39860b6446966cff48a315c3e2491", size = 13145837, upload-time = "2026-01-08T19:11:32.87Z" },
|
|
869
|
+
{ url = "https://files.pythonhosted.org/packages/3b/d8/e035db859d1d3edf909381eb8ff3e89a672d6572e9454093538fe6f164b0/ruff-0.14.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:728e56879df4ca5b62a9dde2dd0eb0edda2a55160c0ea28c4025f18c03f86984", size = 13850469, upload-time = "2026-01-08T19:12:11.694Z" },
|
|
870
|
+
{ url = "https://files.pythonhosted.org/packages/4e/02/bb3ff8b6e6d02ce9e3740f4c17dfbbfb55f34c789c139e9cd91985f356c7/ruff-0.14.11-py3-none-win32.whl", hash = "sha256:337c5dd11f16ee52ae217757d9b82a26400be7efac883e9e852646f1557ed841", size = 12851094, upload-time = "2026-01-08T19:11:45.163Z" },
|
|
871
|
+
{ url = "https://files.pythonhosted.org/packages/58/f1/90ddc533918d3a2ad628bc3044cdfc094949e6d4b929220c3f0eb8a1c998/ruff-0.14.11-py3-none-win_amd64.whl", hash = "sha256:f981cea63d08456b2c070e64b79cb62f951aa1305282974d4d5216e6e0178ae6", size = 14001379, upload-time = "2026-01-08T19:11:52.591Z" },
|
|
872
|
+
{ url = "https://files.pythonhosted.org/packages/c4/1c/1dbe51782c0e1e9cfce1d1004752672d2d4629ea46945d19d731ad772b3b/ruff-0.14.11-py3-none-win_arm64.whl", hash = "sha256:649fb6c9edd7f751db276ef42df1f3df41c38d67d199570ae2a7bd6cbc3590f0", size = 12938644, upload-time = "2026-01-08T19:11:50.027Z" },
|
|
873
873
|
]
|
|
874
874
|
|
|
875
875
|
[[package]]
|
|
@@ -887,15 +887,15 @@ wheels = [
|
|
|
887
887
|
|
|
888
888
|
[[package]]
|
|
889
889
|
name = "starlette"
|
|
890
|
-
version = "0.
|
|
890
|
+
version = "0.51.0"
|
|
891
891
|
source = { registry = "https://pypi.org/simple" }
|
|
892
892
|
dependencies = [
|
|
893
893
|
{ name = "anyio" },
|
|
894
894
|
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
|
|
895
895
|
]
|
|
896
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
896
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e7/65/5a1fadcc40c5fdc7df421a7506b79633af8f5d5e3a95c3e72acacec644b9/starlette-0.51.0.tar.gz", hash = "sha256:4c4fda9b1bc67f84037d3d14a5112e523509c369d9d47b111b2f984b0cc5ba6c", size = 2647658, upload-time = "2026-01-10T20:23:15.043Z" }
|
|
897
897
|
wheels = [
|
|
898
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
898
|
+
{ url = "https://files.pythonhosted.org/packages/18/c4/09985a03dba389d4fe16a9014147a7b02fa76ef3519bf5846462a485876d/starlette-0.51.0-py3-none-any.whl", hash = "sha256:fb460a3d6fd3c958d729fdd96aee297f89a51b0181f16401fe8fd4cb6129165d", size = 74133, upload-time = "2026-01-10T20:23:13.445Z" },
|
|
899
899
|
]
|
|
900
900
|
|
|
901
901
|
[[package]]
|
|
@@ -939,40 +939,40 @@ wheels = [
|
|
|
939
939
|
|
|
940
940
|
[[package]]
|
|
941
941
|
name = "urllib3"
|
|
942
|
-
version = "2.6.
|
|
942
|
+
version = "2.6.3"
|
|
943
943
|
source = { registry = "https://pypi.org/simple" }
|
|
944
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
944
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" }
|
|
945
945
|
wheels = [
|
|
946
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
946
|
+
{ url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" },
|
|
947
947
|
]
|
|
948
948
|
|
|
949
949
|
[[package]]
|
|
950
950
|
name = "uuid-utils"
|
|
951
|
-
version = "0.
|
|
951
|
+
version = "0.13.0"
|
|
952
952
|
source = { registry = "https://pypi.org/simple" }
|
|
953
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
953
|
+
sdist = { url = "https://files.pythonhosted.org/packages/fe/8a/17b11768dcb473d3a255c02ffdd94fbd1b345c906efea0a39124dcbaed52/uuid_utils-0.13.0.tar.gz", hash = "sha256:4c17df6427a9e23a4cd7fb9ee1efb53b8abb078660b9bdb2524ca8595022dfe1", size = 21921, upload-time = "2026-01-08T15:48:10.841Z" }
|
|
954
954
|
wheels = [
|
|
955
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
956
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
957
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
958
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
959
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
960
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
961
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
962
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
963
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
964
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
965
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
966
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
967
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
968
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
969
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
970
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
971
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
972
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
973
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
974
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
975
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
955
|
+
{ url = "https://files.pythonhosted.org/packages/85/b8/d40848ca22781f206c60a1885fc737d2640392bd6b5792d455525accd89c/uuid_utils-0.13.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:83628283e977fb212e756bc055df8fdd2f9f589a2e539ba1abe755b8ce8df7a4", size = 602130, upload-time = "2026-01-08T15:47:34.877Z" },
|
|
956
|
+
{ url = "https://files.pythonhosted.org/packages/40/b9/00a944b8096632ea12638181f8e294abcde3e3b8b5e29b777f809896f6ae/uuid_utils-0.13.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c47638ed6334ab19d80f73664f153b04bbb04ab8ce4298d10da6a292d4d21c47", size = 304213, upload-time = "2026-01-08T15:47:36.807Z" },
|
|
957
|
+
{ url = "https://files.pythonhosted.org/packages/da/d7/07b36c33aef683b81c9afff3ec178d5eb39d325447a68c3c68a62e4abb32/uuid_utils-0.13.0-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:b276b538c57733ed406948584912da422a604313c71479654848b84b9e19c9b0", size = 340624, upload-time = "2026-01-08T15:47:38.821Z" },
|
|
958
|
+
{ url = "https://files.pythonhosted.org/packages/7d/55/fcff2fff02a27866cb1a6614c9df2b3ace721f0a0aab2b7b8f5a7d4e4221/uuid_utils-0.13.0-cp39-abi3-manylinux_2_24_armv7l.whl", hash = "sha256:bdaf2b77e34b199cf04cde28399495fd1ed951de214a4ece1f3919b2f945bb06", size = 346705, upload-time = "2026-01-08T15:47:40.397Z" },
|
|
959
|
+
{ url = "https://files.pythonhosted.org/packages/41/48/67438506c2bb8bee1b4b00d7c0b3ff866401b4790849bf591d654d4ea0bc/uuid_utils-0.13.0-cp39-abi3-manylinux_2_24_i686.whl", hash = "sha256:eb2f0baf81e82f9769a7684022dca8f3bf801ca1574a3e94df1876e9d6f9271e", size = 366023, upload-time = "2026-01-08T15:47:42.662Z" },
|
|
960
|
+
{ url = "https://files.pythonhosted.org/packages/8b/d7/2d91ce17f62fd764d593430de296b70843cc25229c772453f7261de9e6a8/uuid_utils-0.13.0-cp39-abi3-manylinux_2_24_ppc64le.whl", hash = "sha256:6be6c4d11275f5cc402a4fdba6c2b1ce45fd3d99bb78716cd1cc2cbf6802b2ce", size = 471149, upload-time = "2026-01-08T15:47:44.963Z" },
|
|
961
|
+
{ url = "https://files.pythonhosted.org/packages/2e/9a/aa0756186073ba84daf5704c150d41ede10eb3185d510e02532e2071550e/uuid_utils-0.13.0-cp39-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:77621cf6ceca7f42173a642a01c01c216f9eaec3b7b65d093d2d6a433ca0a83d", size = 342130, upload-time = "2026-01-08T15:47:46.331Z" },
|
|
962
|
+
{ url = "https://files.pythonhosted.org/packages/74/b4/3191789f4dc3bed59d79cec90559821756297a25d7dc34d1bf7781577a75/uuid_utils-0.13.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9a5a9eb06c2bb86dd876cd7b2fe927fc8543d14c90d971581db6ffda4a02526f", size = 524128, upload-time = "2026-01-08T15:47:47.628Z" },
|
|
963
|
+
{ url = "https://files.pythonhosted.org/packages/b2/30/29839210a8fff9fc219bfa7c8d8cd115324e92618cba0cda090d54d3d321/uuid_utils-0.13.0-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:775347c6110fb71360df17aac74132d8d47c1dbe71233ac98197fc872a791fd2", size = 615872, upload-time = "2026-01-08T15:47:50.61Z" },
|
|
964
|
+
{ url = "https://files.pythonhosted.org/packages/99/ed/15000c96a8bd8f5fd8efd622109bf52549ea0b366f8ce71c45580fa55878/uuid_utils-0.13.0-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf95f6370ad1a0910ee7b5ad5228fd19c4ae32fe3627389006adaf519408c41e", size = 581023, upload-time = "2026-01-08T15:47:52.776Z" },
|
|
965
|
+
{ url = "https://files.pythonhosted.org/packages/67/c8/3f809fa2dc2ca4bd331c792a3c7d3e45ae2b709d85847a12b8b27d1d5f19/uuid_utils-0.13.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5a88e23e0b2f4203fefe2ccbca5736ee06fcad10e61b5e7e39c8d7904bc13300", size = 546715, upload-time = "2026-01-08T15:47:54.415Z" },
|
|
966
|
+
{ url = "https://files.pythonhosted.org/packages/f5/80/4f7c7efd734d1494397c781bd3d421688e9c187ae836e3174625b1ddf8b0/uuid_utils-0.13.0-cp39-abi3-win32.whl", hash = "sha256:3e4f2cc54e6a99c0551158100ead528479ad2596847478cbad624977064ffce3", size = 177650, upload-time = "2026-01-08T15:47:55.679Z" },
|
|
967
|
+
{ url = "https://files.pythonhosted.org/packages/6c/94/d05ab68622e66ad787a241dfe5ccc649b3af09f30eae977b9ee8f7046aaa/uuid_utils-0.13.0-cp39-abi3-win_amd64.whl", hash = "sha256:046cb2756e1597b3de22d24851b769913e192135830486a0a70bf41327f0360c", size = 183211, upload-time = "2026-01-08T15:47:57.604Z" },
|
|
968
|
+
{ url = "https://files.pythonhosted.org/packages/69/37/674b3ce25cd715b831ea8ebbd828b74c40159f04c95d1bb963b2c876fe79/uuid_utils-0.13.0-cp39-abi3-win_arm64.whl", hash = "sha256:5447a680df6ef8a5a353976aaf4c97cc3a3a22b1ee13671c44227b921e3ae2a9", size = 183518, upload-time = "2026-01-08T15:47:59.148Z" },
|
|
969
|
+
{ url = "https://files.pythonhosted.org/packages/99/fa/1d92de9538463859228e68db679b766fd300770c9a2db849dcba0c0c5a57/uuid_utils-0.13.0-pp311-pypy311_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:e5182e2d95f38e65f2e5bce90648ef56987443da13e145afcd747e584f9bc69c", size = 587641, upload-time = "2026-01-08T15:48:00.433Z" },
|
|
970
|
+
{ url = "https://files.pythonhosted.org/packages/ca/07/6bd9e6f5367e38c2ee7178ad882d2bd1b0d17c5393974b09ab027a215eba/uuid_utils-0.13.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e3909a8a1fbd79d7c8bdc874eeb83e23ccb7a7cb0aa821a49596cc96c0cce84b", size = 298273, upload-time = "2026-01-08T15:48:02.063Z" },
|
|
971
|
+
{ url = "https://files.pythonhosted.org/packages/dc/14/7061b868a8a6799c8df83768a23f313d4e22075069f01ee3c28fa82aa2c6/uuid_utils-0.13.0-pp311-pypy311_pp73-manylinux_2_24_aarch64.whl", hash = "sha256:5dc4c9f749bd2511b8dcbf0891e658d7d86880022963db050722ad7b502b5e22", size = 333618, upload-time = "2026-01-08T15:48:03.503Z" },
|
|
972
|
+
{ url = "https://files.pythonhosted.org/packages/bc/f1/f48c3c9c343c9071ade5f355403e344d817412d9cf379a2d04b181282e74/uuid_utils-0.13.0-pp311-pypy311_pp73-manylinux_2_24_armv7l.whl", hash = "sha256:516adf07f5b2cdb88d50f489c702b5f1a75ae8b2639bfd254f4192d5f7ee261f", size = 339104, upload-time = "2026-01-08T15:48:05.02Z" },
|
|
973
|
+
{ url = "https://files.pythonhosted.org/packages/47/22/8e3142b4baffee77ce533fe956446d3699ec42f1d5252911208cbef4501e/uuid_utils-0.13.0-pp311-pypy311_pp73-manylinux_2_24_i686.whl", hash = "sha256:aeee3bd89e8de6184a3ab778ce19f5ce9ad32849d1be549516e0ddb257562d8d", size = 359503, upload-time = "2026-01-08T15:48:06.347Z" },
|
|
974
|
+
{ url = "https://files.pythonhosted.org/packages/bd/1a/756f1f9e31b15019c87cd2becb1c596351c50967cd143443da38df8818d1/uuid_utils-0.13.0-pp311-pypy311_pp73-manylinux_2_24_ppc64le.whl", hash = "sha256:97985256c2e59b7caa51f5c8515f64d777328562a9c900ec65e9d627baf72737", size = 467480, upload-time = "2026-01-08T15:48:07.681Z" },
|
|
975
|
+
{ url = "https://files.pythonhosted.org/packages/0a/20/a6929e98d9a461ca49e96194a82a1cc3fd5420f3a2f53cbb34fca438549e/uuid_utils-0.13.0-pp311-pypy311_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:b7ccaa20e24c5f60f41a69ef571ed820737f9b0ade4cbeef56aaa8f80f5aa475", size = 333610, upload-time = "2026-01-08T15:48:09.375Z" },
|
|
976
976
|
]
|
|
977
977
|
|
|
978
978
|
[[package]]
|
|
@@ -1004,14 +1004,14 @@ wheels = [
|
|
|
1004
1004
|
|
|
1005
1005
|
[[package]]
|
|
1006
1006
|
name = "werkzeug"
|
|
1007
|
-
version = "3.1.
|
|
1007
|
+
version = "3.1.5"
|
|
1008
1008
|
source = { registry = "https://pypi.org/simple" }
|
|
1009
1009
|
dependencies = [
|
|
1010
1010
|
{ name = "markupsafe" },
|
|
1011
1011
|
]
|
|
1012
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1012
|
+
sdist = { url = "https://files.pythonhosted.org/packages/5a/70/1469ef1d3542ae7c2c7b72bd5e3a4e6ee69d7978fa8a3af05a38eca5becf/werkzeug-3.1.5.tar.gz", hash = "sha256:6a548b0e88955dd07ccb25539d7d0cc97417ee9e179677d22c7041c8f078ce67", size = 864754, upload-time = "2026-01-08T17:49:23.247Z" }
|
|
1013
1013
|
wheels = [
|
|
1014
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1014
|
+
{ url = "https://files.pythonhosted.org/packages/ad/e4/8d97cca767bcc1be76d16fb76951608305561c6e056811587f36cb1316a8/werkzeug-3.1.5-py3-none-any.whl", hash = "sha256:5111e36e91086ece91f93268bb39b4a35c1e6f1feac762c9c822ded0a4e322dc", size = 225025, upload-time = "2026-01-08T17:49:21.859Z" },
|
|
1015
1015
|
]
|
|
1016
1016
|
|
|
1017
1017
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/metrics.py
RENAMED
|
File without changes
|
{langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/queue.py
RENAMED
|
File without changes
|
{langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/retry.py
RENAMED
|
File without changes
|
{langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/routes.py
RENAMED
|
File without changes
|
{langgraph_runtime_inmem-0.22.0 → langgraph_runtime_inmem-0.22.1}/langgraph_runtime_inmem/store.py
RENAMED
|
File without changes
|
|
File without changes
|