hyperpocket-langgraph 0.1.8__tar.gz → 0.1.9__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {hyperpocket_langgraph-0.1.8 → hyperpocket_langgraph-0.1.9}/PKG-INFO +2 -2
- {hyperpocket_langgraph-0.1.8 → hyperpocket_langgraph-0.1.9}/hyperpocket_langgraph/pocket_langgraph.py +51 -24
- {hyperpocket_langgraph-0.1.8 → hyperpocket_langgraph-0.1.9}/pyproject.toml +9 -3
- hyperpocket_langgraph-0.1.9/tests/test_pocket_langgraph_no_profile.py +130 -0
- hyperpocket_langgraph-0.1.8/tests/test_pocket_langgraph.py → hyperpocket_langgraph-0.1.9/tests/test_pocket_langgraph_use_profile.py +10 -6
- {hyperpocket_langgraph-0.1.8 → hyperpocket_langgraph-0.1.9}/uv.lock +224 -2
- {hyperpocket_langgraph-0.1.8 → hyperpocket_langgraph-0.1.9}/.gitignore +0 -0
- {hyperpocket_langgraph-0.1.8 → hyperpocket_langgraph-0.1.9}/README.md +0 -0
- {hyperpocket_langgraph-0.1.8 → hyperpocket_langgraph-0.1.9}/__init__.py +0 -0
- {hyperpocket_langgraph-0.1.8 → hyperpocket_langgraph-0.1.9}/hyperpocket_langgraph/__init__.py +0 -0
- {hyperpocket_langgraph-0.1.8 → hyperpocket_langgraph-0.1.9}/tests/__init__.py +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: hyperpocket-langgraph
|
3
|
-
Version: 0.1.
|
4
|
-
Author-email:
|
3
|
+
Version: 0.1.9
|
4
|
+
Author-email: Hyperpocket Team <hyperpocket@vessl.ai>
|
5
5
|
Requires-Python: >=3.10
|
6
6
|
Requires-Dist: hyperpocket>=0.0.3
|
7
7
|
Requires-Dist: langgraph>=0.2.59
|
@@ -1,13 +1,11 @@
|
|
1
1
|
import copy
|
2
|
-
from typing import
|
2
|
+
from typing import Optional
|
3
3
|
|
4
4
|
from langchain_core.runnables import RunnableConfig
|
5
5
|
from langgraph.errors import NodeInterrupt
|
6
6
|
from pydantic import BaseModel
|
7
7
|
|
8
8
|
from hyperpocket.config import pocket_logger
|
9
|
-
from hyperpocket.pocket_main import ToolLike
|
10
|
-
from hyperpocket.prompts import pocket_extended_tool_description
|
11
9
|
|
12
10
|
try:
|
13
11
|
from langchain_core.messages import ToolMessage
|
@@ -24,7 +22,7 @@ except ImportError:
|
|
24
22
|
"You need to install langgraph to use pocket langgraph"
|
25
23
|
)
|
26
24
|
|
27
|
-
from hyperpocket import Pocket
|
25
|
+
from hyperpocket import Pocket
|
28
26
|
from hyperpocket.tool import Tool as PocketTool
|
29
27
|
|
30
28
|
|
@@ -33,20 +31,16 @@ class PocketLanggraphBaseState(MessagesState):
|
|
33
31
|
|
34
32
|
|
35
33
|
class PocketLanggraph(Pocket):
|
36
|
-
|
34
|
+
def get_tools(self, use_profile: Optional[bool] = None):
|
35
|
+
if use_profile is not None:
|
36
|
+
self.use_profile = use_profile
|
37
|
+
return [self._get_langgraph_tool(tool_impl) for tool_impl in
|
38
|
+
self.core.tools.values()]
|
37
39
|
|
38
|
-
def
|
39
|
-
|
40
|
-
|
41
|
-
super().__init__(tools, auth)
|
42
|
-
self.langgraph_tools = {}
|
43
|
-
for tool_name, tool_impl in self.core.tools.items():
|
44
|
-
self.langgraph_tools[tool_name] = self._get_langgraph_tool(tool_impl)
|
40
|
+
def get_tool_node(self, should_interrupt: bool = False, use_profile: Optional[bool] = None):
|
41
|
+
if use_profile is not None:
|
42
|
+
self.use_profile = use_profile
|
45
43
|
|
46
|
-
def get_tools(self):
|
47
|
-
return [v for v in self.langgraph_tools.values()]
|
48
|
-
|
49
|
-
def get_tool_node(self, should_interrupt: bool = False):
|
50
44
|
async def _tool_node(state: PocketLanggraphBaseState, config: RunnableConfig) -> dict:
|
51
45
|
thread_id = config.get("configurable", {}).get("thread_id", "default")
|
52
46
|
last_message = state['messages'][-1]
|
@@ -63,12 +57,19 @@ class PocketLanggraph(Pocket):
|
|
63
57
|
tool_call_id = _tool_call['id']
|
64
58
|
tool_name = _tool_call['name']
|
65
59
|
tool_args = _tool_call['args']
|
66
|
-
|
60
|
+
|
61
|
+
if self.use_profile:
|
62
|
+
body = tool_args.pop("body")
|
63
|
+
profile = tool_args.pop("profile", "default")
|
64
|
+
else:
|
65
|
+
body = tool_args
|
66
|
+
profile = "default"
|
67
|
+
|
67
68
|
if isinstance(body, BaseModel):
|
68
69
|
body = body.model_dump()
|
69
70
|
|
70
71
|
prepare = await self.prepare_in_subprocess(tool_name, body=body, thread_id=thread_id,
|
71
|
-
profile=
|
72
|
+
profile=profile)
|
72
73
|
need_prepare |= True if prepare else False
|
73
74
|
|
74
75
|
if prepare is None:
|
@@ -98,13 +99,19 @@ class PocketLanggraph(Pocket):
|
|
98
99
|
tool_call_id = _tool_call['id']
|
99
100
|
tool_name = _tool_call['name']
|
100
101
|
tool_args = _tool_call['args']
|
101
|
-
|
102
|
+
if self.use_profile:
|
103
|
+
body = tool_args.pop("body")
|
104
|
+
profile = tool_args.pop("profile", "default")
|
105
|
+
else:
|
106
|
+
body = tool_args
|
107
|
+
profile = "default"
|
108
|
+
|
102
109
|
if isinstance(body, BaseModel):
|
103
110
|
body = body.model_dump()
|
104
111
|
|
105
112
|
try:
|
106
113
|
auth = await self.authenticate_in_subprocess(
|
107
|
-
tool_name, body=body, thread_id=thread_id, profile=
|
114
|
+
tool_name, body=body, thread_id=thread_id, profile=profile)
|
108
115
|
except Exception as e:
|
109
116
|
pocket_logger.error(f"occur exception during authenticate. error : {e}")
|
110
117
|
tool_messages.append(
|
@@ -131,18 +138,38 @@ class PocketLanggraph(Pocket):
|
|
131
138
|
return _tool_node
|
132
139
|
|
133
140
|
def _get_langgraph_tool(self, pocket_tool: PocketTool) -> BaseTool:
|
134
|
-
def _invoke(
|
141
|
+
def _invoke(**kwargs) -> str:
|
142
|
+
if self.use_profile:
|
143
|
+
body = kwargs["body"]
|
144
|
+
thread_id = kwargs.pop("thread_id", "default")
|
145
|
+
profile = kwargs.pop("profile", "default")
|
146
|
+
else:
|
147
|
+
body = kwargs
|
148
|
+
thread_id = "default"
|
149
|
+
profile = "default"
|
150
|
+
|
135
151
|
if isinstance(body, BaseModel):
|
136
152
|
body = body.model_dump()
|
153
|
+
|
137
154
|
result, interrupted = self.invoke_with_state(pocket_tool.name, body, thread_id, profile, **kwargs)
|
138
155
|
say = result
|
139
156
|
if interrupted:
|
140
157
|
say = f'{say}\n\nThe tool execution interrupted. Please talk to me to resume.'
|
141
158
|
return say
|
142
159
|
|
143
|
-
async def _ainvoke(
|
160
|
+
async def _ainvoke(**kwargs) -> str:
|
161
|
+
if self.use_profile:
|
162
|
+
body = kwargs["body"]
|
163
|
+
thread_id = kwargs.pop("thread_id", "default")
|
164
|
+
profile = kwargs.pop("profile", "default")
|
165
|
+
else:
|
166
|
+
body = kwargs
|
167
|
+
thread_id = "default"
|
168
|
+
profile = "default"
|
169
|
+
|
144
170
|
if isinstance(body, BaseModel):
|
145
171
|
body = body.model_dump()
|
172
|
+
|
146
173
|
result, interrupted = await self.ainvoke_with_state(pocket_tool.name, body, thread_id, profile, **kwargs)
|
147
174
|
say = result
|
148
175
|
if interrupted:
|
@@ -153,6 +180,6 @@ class PocketLanggraph(Pocket):
|
|
153
180
|
func=_invoke,
|
154
181
|
coroutine=_ainvoke,
|
155
182
|
name=pocket_tool.name,
|
156
|
-
description=
|
157
|
-
args_schema=pocket_tool.schema_model(),
|
183
|
+
description=pocket_tool.get_description(use_profile=self.use_profile),
|
184
|
+
args_schema=pocket_tool.schema_model(use_profile=self.use_profile),
|
158
185
|
)
|
@@ -1,9 +1,9 @@
|
|
1
1
|
|
2
2
|
[project]
|
3
3
|
name = "hyperpocket-langgraph"
|
4
|
-
version = "0.1.
|
4
|
+
version = "0.1.9"
|
5
5
|
description = ""
|
6
|
-
authors = [{ name = "
|
6
|
+
authors = [{ name = "Hyperpocket Team", email = "hyperpocket@vessl.ai" }]
|
7
7
|
requires-python = ">=3.10"
|
8
8
|
readme = "README.md"
|
9
9
|
dependencies = ["langgraph>=0.2.59", "hyperpocket>=0.0.3"]
|
@@ -12,7 +12,13 @@ dependencies = ["langgraph>=0.2.59", "hyperpocket>=0.0.3"]
|
|
12
12
|
hyperpocket = { path = "../../hyperpocket", editable = true }
|
13
13
|
|
14
14
|
[dependency-groups]
|
15
|
-
dev = [
|
15
|
+
dev = [
|
16
|
+
"pytest>=8.3.4",
|
17
|
+
"ruff>=0.8.6",
|
18
|
+
]
|
19
|
+
test = [
|
20
|
+
"langchain-openai>=0.3.1",
|
21
|
+
]
|
16
22
|
|
17
23
|
[build-system]
|
18
24
|
requires = ["hatchling"]
|
@@ -0,0 +1,130 @@
|
|
1
|
+
import ast
|
2
|
+
from unittest.async_case import IsolatedAsyncioTestCase
|
3
|
+
|
4
|
+
from langchain_openai import ChatOpenAI
|
5
|
+
from langgraph.constants import START, END
|
6
|
+
from langgraph.graph import MessagesState, StateGraph
|
7
|
+
from langgraph.prebuilt import tools_condition
|
8
|
+
from pydantic import BaseModel
|
9
|
+
|
10
|
+
from hyperpocket.config import config, secret
|
11
|
+
from hyperpocket.tool import from_git
|
12
|
+
from hyperpocket_langgraph import PocketLanggraph
|
13
|
+
|
14
|
+
|
15
|
+
class TestPocketLanggraphNoProfile(IsolatedAsyncioTestCase):
|
16
|
+
|
17
|
+
|
18
|
+
async def asyncSetUp(self):
|
19
|
+
config.public_server_port = "https"
|
20
|
+
config.public_hostname = "localhost"
|
21
|
+
config.public_server_port = 8001
|
22
|
+
config.internal_server_port = 8000
|
23
|
+
config.enable_local_callback_proxy = True
|
24
|
+
|
25
|
+
self.pocket = PocketLanggraph(
|
26
|
+
tools=[
|
27
|
+
from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/none/simple-echo-tool"),
|
28
|
+
self.add,
|
29
|
+
self.sub_pydantic_args
|
30
|
+
],
|
31
|
+
use_profile=False
|
32
|
+
)
|
33
|
+
tools = self.pocket.get_tools()
|
34
|
+
tool_node = self.pocket.get_tool_node()
|
35
|
+
self.llm = ChatOpenAI(model="gpt-4o", api_key=secret["OPENAI_API_KEY"]).bind_tools(tools=tools)
|
36
|
+
|
37
|
+
def chatbot(state: MessagesState):
|
38
|
+
return {"messages": [self.llm.invoke(state["messages"])]}
|
39
|
+
|
40
|
+
graph_builder = StateGraph(MessagesState)
|
41
|
+
|
42
|
+
graph_builder.add_node("chat", chatbot)
|
43
|
+
graph_builder.add_node("tools", tool_node)
|
44
|
+
graph_builder.add_conditional_edges("chat", tools_condition)
|
45
|
+
|
46
|
+
graph_builder.add_edge("tools", "chat")
|
47
|
+
graph_builder.add_edge(START, "chat")
|
48
|
+
graph_builder.add_edge("chat", END)
|
49
|
+
|
50
|
+
self.graph = graph_builder.compile()
|
51
|
+
|
52
|
+
async def asyncTearDown(self):
|
53
|
+
self.pocket._teardown_server()
|
54
|
+
|
55
|
+
|
56
|
+
async def test_function_tool_no_profile(self):
|
57
|
+
# when
|
58
|
+
response = await self.graph.ainvoke({"messages": [("user", "add 1, 2")]})
|
59
|
+
|
60
|
+
tool_call = response["messages"][1]
|
61
|
+
tool_result = response["messages"][2]
|
62
|
+
|
63
|
+
# then
|
64
|
+
self.assertEqual(tool_call.tool_calls[0]["name"], "add")
|
65
|
+
self.assertEqual(tool_call.tool_calls[0]["args"], {
|
66
|
+
'a': 1,
|
67
|
+
'b': 2
|
68
|
+
})
|
69
|
+
self.assertEqual(tool_result.content, "3")
|
70
|
+
|
71
|
+
async def test_pydantic_function_tool_no_profile(self):
|
72
|
+
# when
|
73
|
+
response = await self.graph.ainvoke({"messages": [("user", "sub 1, 2")]})
|
74
|
+
|
75
|
+
tool_call = response["messages"][1]
|
76
|
+
tool_result = response["messages"][2]
|
77
|
+
|
78
|
+
# then
|
79
|
+
self.assertEqual(tool_call.tool_calls[0]["name"], "sub_pydantic_args")
|
80
|
+
self.assertEqual(tool_call.tool_calls[0]["args"], {
|
81
|
+
'a': {"first": 1},
|
82
|
+
'b': {"second": 2}
|
83
|
+
})
|
84
|
+
self.assertEqual(tool_result.content, "-1")
|
85
|
+
|
86
|
+
async def test_wasm_tool_no_profile(self):
|
87
|
+
# when
|
88
|
+
response = await self.graph.ainvoke({"messages": [("user", "echo 'hello world'")]})
|
89
|
+
|
90
|
+
tool_call = response["messages"][1]
|
91
|
+
tool_result = response["messages"][2]
|
92
|
+
|
93
|
+
output = ast.literal_eval(tool_result.content)
|
94
|
+
|
95
|
+
# then
|
96
|
+
self.assertEqual(tool_call.tool_calls[0]["name"], "simple_echo_text")
|
97
|
+
self.assertEqual(tool_call.tool_calls[0]["args"], {
|
98
|
+
'text': 'hello world'
|
99
|
+
})
|
100
|
+
self.assertTrue(output["stdout"].startswith("echo message : hello world"))
|
101
|
+
|
102
|
+
@staticmethod
|
103
|
+
def add(a: int, b: int) -> int:
|
104
|
+
"""
|
105
|
+
Add two numbers
|
106
|
+
|
107
|
+
Args:
|
108
|
+
a(int): first number
|
109
|
+
b(int): second number
|
110
|
+
|
111
|
+
"""
|
112
|
+
|
113
|
+
return a + b
|
114
|
+
|
115
|
+
class FirstNumber(BaseModel):
|
116
|
+
first: int
|
117
|
+
|
118
|
+
class SecondNumber(BaseModel):
|
119
|
+
second: int
|
120
|
+
|
121
|
+
@staticmethod
|
122
|
+
def sub_pydantic_args(a: FirstNumber, b: SecondNumber):
|
123
|
+
"""
|
124
|
+
sub two numbers
|
125
|
+
|
126
|
+
Args:
|
127
|
+
a(FirstNumber): first number
|
128
|
+
b(SecondNumber): second number
|
129
|
+
"""
|
130
|
+
return a.first - b.second
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import ast
|
1
2
|
from unittest.async_case import IsolatedAsyncioTestCase
|
2
3
|
|
3
4
|
from langchain_openai import ChatOpenAI
|
@@ -11,7 +12,7 @@ from hyperpocket.tool import from_git
|
|
11
12
|
from hyperpocket_langgraph import PocketLanggraph
|
12
13
|
|
13
14
|
|
14
|
-
class
|
15
|
+
class TestPocketLanggraphUseProfile(IsolatedAsyncioTestCase):
|
15
16
|
|
16
17
|
|
17
18
|
async def asyncSetUp(self):
|
@@ -23,10 +24,11 @@ class TestPocketLanggraph(IsolatedAsyncioTestCase):
|
|
23
24
|
|
24
25
|
self.pocket = PocketLanggraph(
|
25
26
|
tools=[
|
26
|
-
from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/simple-echo-tool"),
|
27
|
+
from_git("https://github.com/vessl-ai/hyperawesometools", "main", "managed-tools/none/simple-echo-tool"),
|
27
28
|
self.add,
|
28
29
|
self.sub_pydantic_args
|
29
30
|
],
|
31
|
+
use_profile=True
|
30
32
|
)
|
31
33
|
tools = self.pocket.get_tools()
|
32
34
|
tool_node = self.pocket.get_tool_node()
|
@@ -51,7 +53,7 @@ class TestPocketLanggraph(IsolatedAsyncioTestCase):
|
|
51
53
|
self.pocket._teardown_server()
|
52
54
|
|
53
55
|
|
54
|
-
async def
|
56
|
+
async def test_function_tool_use_profile(self):
|
55
57
|
# when
|
56
58
|
response = await self.graph.ainvoke({"messages": [("user", "add 1, 2")]})
|
57
59
|
|
@@ -66,7 +68,7 @@ class TestPocketLanggraph(IsolatedAsyncioTestCase):
|
|
66
68
|
})
|
67
69
|
self.assertEqual(tool_result.content, "3")
|
68
70
|
|
69
|
-
async def
|
71
|
+
async def test_pydantic_function_tool_use_profile(self):
|
70
72
|
# when
|
71
73
|
response = await self.graph.ainvoke({"messages": [("user", "sub 1, 2")]})
|
72
74
|
|
@@ -81,19 +83,21 @@ class TestPocketLanggraph(IsolatedAsyncioTestCase):
|
|
81
83
|
})
|
82
84
|
self.assertEqual(tool_result.content, "-1")
|
83
85
|
|
84
|
-
async def
|
86
|
+
async def test_wasm_tool_use_profile(self):
|
85
87
|
# when
|
86
88
|
response = await self.graph.ainvoke({"messages": [("user", "echo 'hello world'")]})
|
87
89
|
|
88
90
|
tool_call = response["messages"][1]
|
89
91
|
tool_result = response["messages"][2]
|
90
92
|
|
93
|
+
output = ast.literal_eval(tool_result.content)
|
94
|
+
|
91
95
|
# then
|
92
96
|
self.assertEqual(tool_call.tool_calls[0]["name"], "simple_echo_text")
|
93
97
|
self.assertEqual(tool_call.tool_calls[0]["args"]["body"], {
|
94
98
|
'text': 'hello world'
|
95
99
|
})
|
96
|
-
self.assertTrue(
|
100
|
+
self.assertTrue(output["stdout"].startswith("echo message : hello world"))
|
97
101
|
|
98
102
|
@staticmethod
|
99
103
|
def add(a: int, b: int) -> int:
|
@@ -244,6 +244,15 @@ wheels = [
|
|
244
244
|
{ url = "https://files.pythonhosted.org/packages/46/d1/e73b6ad76f0b1fb7f23c35c6d95dbc506a9c8804f43dda8cb5b0fa6331fd/dill-0.3.9-py3-none-any.whl", hash = "sha256:468dff3b89520b474c0397703366b7b95eebe6303f108adf9b19da1f702be87a", size = 119418 },
|
245
245
|
]
|
246
246
|
|
247
|
+
[[package]]
|
248
|
+
name = "distro"
|
249
|
+
version = "1.9.0"
|
250
|
+
source = { registry = "https://pypi.org/simple" }
|
251
|
+
sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722 }
|
252
|
+
wheels = [
|
253
|
+
{ url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277 },
|
254
|
+
]
|
255
|
+
|
247
256
|
[[package]]
|
248
257
|
name = "dynaconf"
|
249
258
|
version = "3.2.6"
|
@@ -391,7 +400,7 @@ wheels = [
|
|
391
400
|
|
392
401
|
[[package]]
|
393
402
|
name = "hyperpocket"
|
394
|
-
version = "0.
|
403
|
+
version = "0.1.8"
|
395
404
|
source = { editable = "../../hyperpocket" }
|
396
405
|
dependencies = [
|
397
406
|
{ name = "click" },
|
@@ -438,7 +447,7 @@ dev = [
|
|
438
447
|
|
439
448
|
[[package]]
|
440
449
|
name = "hyperpocket-langgraph"
|
441
|
-
version = "0.
|
450
|
+
version = "0.1.8"
|
442
451
|
source = { editable = "." }
|
443
452
|
dependencies = [
|
444
453
|
{ name = "hyperpocket" },
|
@@ -450,6 +459,9 @@ dev = [
|
|
450
459
|
{ name = "pytest" },
|
451
460
|
{ name = "ruff" },
|
452
461
|
]
|
462
|
+
test = [
|
463
|
+
{ name = "langchain-openai" },
|
464
|
+
]
|
453
465
|
|
454
466
|
[package.metadata]
|
455
467
|
requires-dist = [
|
@@ -462,6 +474,7 @@ dev = [
|
|
462
474
|
{ name = "pytest", specifier = ">=8.3.4" },
|
463
475
|
{ name = "ruff", specifier = ">=0.8.6" },
|
464
476
|
]
|
477
|
+
test = [{ name = "langchain-openai", specifier = ">=0.3.1" }]
|
465
478
|
|
466
479
|
[[package]]
|
467
480
|
name = "idna"
|
@@ -493,6 +506,65 @@ wheels = [
|
|
493
506
|
{ url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596 },
|
494
507
|
]
|
495
508
|
|
509
|
+
[[package]]
|
510
|
+
name = "jiter"
|
511
|
+
version = "0.8.2"
|
512
|
+
source = { registry = "https://pypi.org/simple" }
|
513
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f8/70/90bc7bd3932e651486861df5c8ffea4ca7c77d28e8532ddefe2abc561a53/jiter-0.8.2.tar.gz", hash = "sha256:cd73d3e740666d0e639f678adb176fad25c1bcbdae88d8d7b857e1783bb4212d", size = 163007 }
|
514
|
+
wheels = [
|
515
|
+
{ url = "https://files.pythonhosted.org/packages/f2/f3/8c11e0e87bd5934c414f9b1cfae3cbfd4a938d4669d57cb427e1c4d11a7f/jiter-0.8.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:ca8577f6a413abe29b079bc30f907894d7eb07a865c4df69475e868d73e71c7b", size = 303381 },
|
516
|
+
{ url = "https://files.pythonhosted.org/packages/ea/28/4cd3f0bcbf40e946bc6a62a82c951afc386a25673d3d8d5ee461f1559bbe/jiter-0.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b25bd626bde7fb51534190c7e3cb97cee89ee76b76d7585580e22f34f5e3f393", size = 311718 },
|
517
|
+
{ url = "https://files.pythonhosted.org/packages/0d/17/57acab00507e60bd954eaec0837d9d7b119b4117ff49b8a62f2b646f32ed/jiter-0.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5c826a221851a8dc028eb6d7d6429ba03184fa3c7e83ae01cd6d3bd1d4bd17d", size = 335465 },
|
518
|
+
{ url = "https://files.pythonhosted.org/packages/74/b9/1a3ddd2bc95ae17c815b021521020f40c60b32137730126bada962ef32b4/jiter-0.8.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d35c864c2dff13dfd79fb070fc4fc6235d7b9b359efe340e1261deb21b9fcb66", size = 355570 },
|
519
|
+
{ url = "https://files.pythonhosted.org/packages/78/69/6d29e2296a934199a7d0dde673ecccf98c9c8db44caf0248b3f2b65483cb/jiter-0.8.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f557c55bc2b7676e74d39d19bcb8775ca295c7a028246175d6a8b431e70835e5", size = 381383 },
|
520
|
+
{ url = "https://files.pythonhosted.org/packages/22/d7/fbc4c3fb1bf65f9be22a32759b539f88e897aeb13fe84ab0266e4423487a/jiter-0.8.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:580ccf358539153db147e40751a0b41688a5ceb275e6f3e93d91c9467f42b2e3", size = 390454 },
|
521
|
+
{ url = "https://files.pythonhosted.org/packages/4d/a0/3993cda2e267fe679b45d0bcc2cef0b4504b0aa810659cdae9737d6bace9/jiter-0.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af102d3372e917cffce49b521e4c32c497515119dc7bd8a75665e90a718bbf08", size = 345039 },
|
522
|
+
{ url = "https://files.pythonhosted.org/packages/b9/ef/69c18562b4c09ce88fab5df1dcaf643f6b1a8b970b65216e7221169b81c4/jiter-0.8.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cadcc978f82397d515bb2683fc0d50103acff2a180552654bb92d6045dec2c49", size = 376200 },
|
523
|
+
{ url = "https://files.pythonhosted.org/packages/4d/17/0b5a8de46a6ab4d836f70934036278b49b8530c292b29dde3483326d4555/jiter-0.8.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:ba5bdf56969cad2019d4e8ffd3f879b5fdc792624129741d3d83fc832fef8c7d", size = 511158 },
|
524
|
+
{ url = "https://files.pythonhosted.org/packages/6c/b2/c401a0a2554b36c9e6d6e4876b43790d75139cf3936f0222e675cbc23451/jiter-0.8.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3b94a33a241bee9e34b8481cdcaa3d5c2116f575e0226e421bed3f7a6ea71cff", size = 503956 },
|
525
|
+
{ url = "https://files.pythonhosted.org/packages/d4/02/a0291ed7d72c0ac130f172354ee3cf0b2556b69584de391463a8ee534f40/jiter-0.8.2-cp310-cp310-win32.whl", hash = "sha256:6e5337bf454abddd91bd048ce0dca5134056fc99ca0205258766db35d0a2ea43", size = 202846 },
|
526
|
+
{ url = "https://files.pythonhosted.org/packages/ad/20/8c988831ae4bf437e29f1671e198fc99ba8fe49f2895f23789acad1d1811/jiter-0.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:4a9220497ca0cb1fe94e3f334f65b9b5102a0b8147646118f020d8ce1de70105", size = 204414 },
|
527
|
+
{ url = "https://files.pythonhosted.org/packages/cb/b0/c1a7caa7f9dc5f1f6cfa08722867790fe2d3645d6e7170ca280e6e52d163/jiter-0.8.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:2dd61c5afc88a4fda7d8b2cf03ae5947c6ac7516d32b7a15bf4b49569a5c076b", size = 303666 },
|
528
|
+
{ url = "https://files.pythonhosted.org/packages/f5/97/0468bc9eeae43079aaa5feb9267964e496bf13133d469cfdc135498f8dd0/jiter-0.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a6c710d657c8d1d2adbbb5c0b0c6bfcec28fd35bd6b5f016395f9ac43e878a15", size = 311934 },
|
529
|
+
{ url = "https://files.pythonhosted.org/packages/e5/69/64058e18263d9a5f1e10f90c436853616d5f047d997c37c7b2df11b085ec/jiter-0.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9584de0cd306072635fe4b89742bf26feae858a0683b399ad0c2509011b9dc0", size = 335506 },
|
530
|
+
{ url = "https://files.pythonhosted.org/packages/9d/14/b747f9a77b8c0542141d77ca1e2a7523e854754af2c339ac89a8b66527d6/jiter-0.8.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5a90a923338531b7970abb063cfc087eebae6ef8ec8139762007188f6bc69a9f", size = 355849 },
|
531
|
+
{ url = "https://files.pythonhosted.org/packages/53/e2/98a08161db7cc9d0e39bc385415890928ff09709034982f48eccfca40733/jiter-0.8.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21974d246ed0181558087cd9f76e84e8321091ebfb3a93d4c341479a736f099", size = 381700 },
|
532
|
+
{ url = "https://files.pythonhosted.org/packages/7a/38/1674672954d35bce3b1c9af99d5849f9256ac8f5b672e020ac7821581206/jiter-0.8.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32475a42b2ea7b344069dc1e81445cfc00b9d0e3ca837f0523072432332e9f74", size = 389710 },
|
533
|
+
{ url = "https://files.pythonhosted.org/packages/f8/9b/92f9da9a9e107d019bcf883cd9125fa1690079f323f5a9d5c6986eeec3c0/jiter-0.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b9931fd36ee513c26b5bf08c940b0ac875de175341cbdd4fa3be109f0492586", size = 345553 },
|
534
|
+
{ url = "https://files.pythonhosted.org/packages/44/a6/6d030003394e9659cd0d7136bbeabd82e869849ceccddc34d40abbbbb269/jiter-0.8.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ce0820f4a3a59ddced7fce696d86a096d5cc48d32a4183483a17671a61edfddc", size = 376388 },
|
535
|
+
{ url = "https://files.pythonhosted.org/packages/ad/8d/87b09e648e4aca5f9af89e3ab3cfb93db2d1e633b2f2931ede8dabd9b19a/jiter-0.8.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8ffc86ae5e3e6a93765d49d1ab47b6075a9c978a2b3b80f0f32628f39caa0c88", size = 511226 },
|
536
|
+
{ url = "https://files.pythonhosted.org/packages/77/95/8008ebe4cdc82eac1c97864a8042ca7e383ed67e0ec17bfd03797045c727/jiter-0.8.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5127dc1abd809431172bc3fbe8168d6b90556a30bb10acd5ded41c3cfd6f43b6", size = 504134 },
|
537
|
+
{ url = "https://files.pythonhosted.org/packages/26/0d/3056a74de13e8b2562e4d526de6dac2f65d91ace63a8234deb9284a1d24d/jiter-0.8.2-cp311-cp311-win32.whl", hash = "sha256:66227a2c7b575720c1871c8800d3a0122bb8ee94edb43a5685aa9aceb2782d44", size = 203103 },
|
538
|
+
{ url = "https://files.pythonhosted.org/packages/4e/1e/7f96b798f356e531ffc0f53dd2f37185fac60fae4d6c612bbbd4639b90aa/jiter-0.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:cde031d8413842a1e7501e9129b8e676e62a657f8ec8166e18a70d94d4682855", size = 206717 },
|
539
|
+
{ url = "https://files.pythonhosted.org/packages/a1/17/c8747af8ea4e045f57d6cfd6fc180752cab9bc3de0e8a0c9ca4e8af333b1/jiter-0.8.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e6ec2be506e7d6f9527dae9ff4b7f54e68ea44a0ef6b098256ddf895218a2f8f", size = 302027 },
|
540
|
+
{ url = "https://files.pythonhosted.org/packages/3c/c1/6da849640cd35a41e91085723b76acc818d4b7d92b0b6e5111736ce1dd10/jiter-0.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76e324da7b5da060287c54f2fabd3db5f76468006c811831f051942bf68c9d44", size = 310326 },
|
541
|
+
{ url = "https://files.pythonhosted.org/packages/06/99/a2bf660d8ccffee9ad7ed46b4f860d2108a148d0ea36043fd16f4dc37e94/jiter-0.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:180a8aea058f7535d1c84183c0362c710f4750bef66630c05f40c93c2b152a0f", size = 334242 },
|
542
|
+
{ url = "https://files.pythonhosted.org/packages/a7/5f/cea1c17864828731f11427b9d1ab7f24764dbd9aaf4648a7f851164d2718/jiter-0.8.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:025337859077b41548bdcbabe38698bcd93cfe10b06ff66617a48ff92c9aec60", size = 356654 },
|
543
|
+
{ url = "https://files.pythonhosted.org/packages/e9/13/62774b7e5e7f5d5043efe1d0f94ead66e6d0f894ae010adb56b3f788de71/jiter-0.8.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ecff0dc14f409599bbcafa7e470c00b80f17abc14d1405d38ab02e4b42e55b57", size = 379967 },
|
544
|
+
{ url = "https://files.pythonhosted.org/packages/ec/fb/096b34c553bb0bd3f2289d5013dcad6074948b8d55212aa13a10d44c5326/jiter-0.8.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffd9fee7d0775ebaba131f7ca2e2d83839a62ad65e8e02fe2bd8fc975cedeb9e", size = 389252 },
|
545
|
+
{ url = "https://files.pythonhosted.org/packages/17/61/beea645c0bf398ced8b199e377b61eb999d8e46e053bb285c91c3d3eaab0/jiter-0.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14601dcac4889e0a1c75ccf6a0e4baf70dbc75041e51bcf8d0e9274519df6887", size = 345490 },
|
546
|
+
{ url = "https://files.pythonhosted.org/packages/d5/df/834aa17ad5dcc3cf0118821da0a0cf1589ea7db9832589278553640366bc/jiter-0.8.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92249669925bc1c54fcd2ec73f70f2c1d6a817928480ee1c65af5f6b81cdf12d", size = 376991 },
|
547
|
+
{ url = "https://files.pythonhosted.org/packages/67/80/87d140399d382fb4ea5b3d56e7ecaa4efdca17cd7411ff904c1517855314/jiter-0.8.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e725edd0929fa79f8349ab4ec7f81c714df51dc4e991539a578e5018fa4a7152", size = 510822 },
|
548
|
+
{ url = "https://files.pythonhosted.org/packages/5c/37/3394bb47bac1ad2cb0465601f86828a0518d07828a650722e55268cdb7e6/jiter-0.8.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bf55846c7b7a680eebaf9c3c48d630e1bf51bdf76c68a5f654b8524335b0ad29", size = 503730 },
|
549
|
+
{ url = "https://files.pythonhosted.org/packages/f9/e2/253fc1fa59103bb4e3aa0665d6ceb1818df1cd7bf3eb492c4dad229b1cd4/jiter-0.8.2-cp312-cp312-win32.whl", hash = "sha256:7efe4853ecd3d6110301665a5178b9856be7e2a9485f49d91aa4d737ad2ae49e", size = 203375 },
|
550
|
+
{ url = "https://files.pythonhosted.org/packages/41/69/6d4bbe66b3b3b4507e47aa1dd5d075919ad242b4b1115b3f80eecd443687/jiter-0.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:83c0efd80b29695058d0fd2fa8a556490dbce9804eac3e281f373bbc99045f6c", size = 204740 },
|
551
|
+
{ url = "https://files.pythonhosted.org/packages/6c/b0/bfa1f6f2c956b948802ef5a021281978bf53b7a6ca54bb126fd88a5d014e/jiter-0.8.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ca1f08b8e43dc3bd0594c992fb1fd2f7ce87f7bf0d44358198d6da8034afdf84", size = 301190 },
|
552
|
+
{ url = "https://files.pythonhosted.org/packages/a4/8f/396ddb4e292b5ea57e45ade5dc48229556b9044bad29a3b4b2dddeaedd52/jiter-0.8.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5672a86d55416ccd214c778efccf3266b84f87b89063b582167d803246354be4", size = 309334 },
|
553
|
+
{ url = "https://files.pythonhosted.org/packages/7f/68/805978f2f446fa6362ba0cc2e4489b945695940656edd844e110a61c98f8/jiter-0.8.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58dc9bc9767a1101f4e5e22db1b652161a225874d66f0e5cb8e2c7d1c438b587", size = 333918 },
|
554
|
+
{ url = "https://files.pythonhosted.org/packages/b3/99/0f71f7be667c33403fa9706e5b50583ae5106d96fab997fa7e2f38ee8347/jiter-0.8.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:37b2998606d6dadbb5ccda959a33d6a5e853252d921fec1792fc902351bb4e2c", size = 356057 },
|
555
|
+
{ url = "https://files.pythonhosted.org/packages/8d/50/a82796e421a22b699ee4d2ce527e5bcb29471a2351cbdc931819d941a167/jiter-0.8.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ab9a87f3784eb0e098f84a32670cfe4a79cb6512fd8f42ae3d0709f06405d18", size = 379790 },
|
556
|
+
{ url = "https://files.pythonhosted.org/packages/3c/31/10fb012b00f6d83342ca9e2c9618869ab449f1aa78c8f1b2193a6b49647c/jiter-0.8.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:79aec8172b9e3c6d05fd4b219d5de1ac616bd8da934107325a6c0d0e866a21b6", size = 388285 },
|
557
|
+
{ url = "https://files.pythonhosted.org/packages/c8/81/f15ebf7de57be488aa22944bf4274962aca8092e4f7817f92ffa50d3ee46/jiter-0.8.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:711e408732d4e9a0208008e5892c2966b485c783cd2d9a681f3eb147cf36c7ef", size = 344764 },
|
558
|
+
{ url = "https://files.pythonhosted.org/packages/b3/e8/0cae550d72b48829ba653eb348cdc25f3f06f8a62363723702ec18e7be9c/jiter-0.8.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:653cf462db4e8c41995e33d865965e79641ef45369d8a11f54cd30888b7e6ff1", size = 376620 },
|
559
|
+
{ url = "https://files.pythonhosted.org/packages/b8/50/e5478ff9d82534a944c03b63bc217c5f37019d4a34d288db0f079b13c10b/jiter-0.8.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:9c63eaef32b7bebac8ebebf4dabebdbc6769a09c127294db6babee38e9f405b9", size = 510402 },
|
560
|
+
{ url = "https://files.pythonhosted.org/packages/8e/1e/3de48bbebbc8f7025bd454cedc8c62378c0e32dd483dece5f4a814a5cb55/jiter-0.8.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:eb21aaa9a200d0a80dacc7a81038d2e476ffe473ffdd9c91eb745d623561de05", size = 503018 },
|
561
|
+
{ url = "https://files.pythonhosted.org/packages/d5/cd/d5a5501d72a11fe3e5fd65c78c884e5164eefe80077680533919be22d3a3/jiter-0.8.2-cp313-cp313-win32.whl", hash = "sha256:789361ed945d8d42850f919342a8665d2dc79e7e44ca1c97cc786966a21f627a", size = 203190 },
|
562
|
+
{ url = "https://files.pythonhosted.org/packages/51/bf/e5ca301245ba951447e3ad677a02a64a8845b185de2603dabd83e1e4b9c6/jiter-0.8.2-cp313-cp313-win_amd64.whl", hash = "sha256:ab7f43235d71e03b941c1630f4b6e3055d46b6cb8728a17663eaac9d8e83a865", size = 203551 },
|
563
|
+
{ url = "https://files.pythonhosted.org/packages/2f/3c/71a491952c37b87d127790dd7a0b1ebea0514c6b6ad30085b16bbe00aee6/jiter-0.8.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b426f72cd77da3fec300ed3bc990895e2dd6b49e3bfe6c438592a3ba660e41ca", size = 308347 },
|
564
|
+
{ url = "https://files.pythonhosted.org/packages/a0/4c/c02408042e6a7605ec063daed138e07b982fdb98467deaaf1c90950cf2c6/jiter-0.8.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2dd880785088ff2ad21ffee205e58a8c1ddabc63612444ae41e5e4b321b39c0", size = 342875 },
|
565
|
+
{ url = "https://files.pythonhosted.org/packages/91/61/c80ef80ed8a0a21158e289ef70dac01e351d929a1c30cb0f49be60772547/jiter-0.8.2-cp313-cp313t-win_amd64.whl", hash = "sha256:3ac9f578c46f22405ff7f8b1f5848fb753cc4b8377fbec8470a7dc3997ca7566", size = 202374 },
|
566
|
+
]
|
567
|
+
|
496
568
|
[[package]]
|
497
569
|
name = "jsonpatch"
|
498
570
|
version = "1.33"
|
@@ -532,6 +604,20 @@ wheels = [
|
|
532
604
|
{ url = "https://files.pythonhosted.org/packages/27/59/7ec2fc7cfe3c5e02455ba9201de8617bb939db7cdcab516e0eab93717aee/langchain_core-0.3.30-py3-none-any.whl", hash = "sha256:0a4c4e02fac5968b67fbb0142c00c2b976c97e45fce62c7ac9eb1636a6926493", size = 411924 },
|
533
605
|
]
|
534
606
|
|
607
|
+
[[package]]
|
608
|
+
name = "langchain-openai"
|
609
|
+
version = "0.3.1"
|
610
|
+
source = { registry = "https://pypi.org/simple" }
|
611
|
+
dependencies = [
|
612
|
+
{ name = "langchain-core" },
|
613
|
+
{ name = "openai" },
|
614
|
+
{ name = "tiktoken" },
|
615
|
+
]
|
616
|
+
sdist = { url = "https://files.pythonhosted.org/packages/85/01/8fa0e1a708f1634a88df0c239f1e9733a2848c62fcd6aaea08cee4857ec1/langchain_openai-0.3.1.tar.gz", hash = "sha256:cce314f1437b2cad73e0ed2b55e74dc399bc1bbc43594c4448912fb51c5e4447", size = 48216 }
|
617
|
+
wheels = [
|
618
|
+
{ url = "https://files.pythonhosted.org/packages/8d/9e/388aaa4a727e86c3f61238df059a0d438de1a68ee369957182436d976a8a/langchain_openai-0.3.1-py3-none-any.whl", hash = "sha256:5cf2a1e115b12570158d89c22832fa381803c3e1e11d1eb781195c8d9e454bd5", size = 54311 },
|
619
|
+
]
|
620
|
+
|
535
621
|
[[package]]
|
536
622
|
name = "langgraph"
|
537
623
|
version = "0.2.63"
|
@@ -718,6 +804,25 @@ wheels = [
|
|
718
804
|
{ url = "https://files.pythonhosted.org/packages/f9/41/0618ac724b8a56254962c143759e04fa01c73b37aa69dd433f16643bd38b/multiprocess-0.70.17-py39-none-any.whl", hash = "sha256:c3feb874ba574fbccfb335980020c1ac631fbf2a3f7bee4e2042ede62558a021", size = 133359 },
|
719
805
|
]
|
720
806
|
|
807
|
+
[[package]]
|
808
|
+
name = "openai"
|
809
|
+
version = "1.60.0"
|
810
|
+
source = { registry = "https://pypi.org/simple" }
|
811
|
+
dependencies = [
|
812
|
+
{ name = "anyio" },
|
813
|
+
{ name = "distro" },
|
814
|
+
{ name = "httpx" },
|
815
|
+
{ name = "jiter" },
|
816
|
+
{ name = "pydantic" },
|
817
|
+
{ name = "sniffio" },
|
818
|
+
{ name = "tqdm" },
|
819
|
+
{ name = "typing-extensions" },
|
820
|
+
]
|
821
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d4/2d/9bdf4435d7669b4d027d6d69b4ac82f6be76153d9e90d3155d4224626a29/openai-1.60.0.tar.gz", hash = "sha256:7fa536cd4b644718645b874d2706e36dbbef38b327e42ca0623275da347ee1a9", size = 347844 }
|
822
|
+
wheels = [
|
823
|
+
{ url = "https://files.pythonhosted.org/packages/c0/53/782008d94f5f3141795e65bd7f87afaebb97e7516342299c1b1a08d5aaf8/openai-1.60.0-py3-none-any.whl", hash = "sha256:df06c43be8018274980ac363da07d4b417bd835ead1c66e14396f6f15a0d5dda", size = 456109 },
|
824
|
+
]
|
825
|
+
|
721
826
|
[[package]]
|
722
827
|
name = "orjson"
|
723
828
|
version = "3.10.14"
|
@@ -1053,6 +1158,75 @@ wheels = [
|
|
1053
1158
|
{ url = "https://files.pythonhosted.org/packages/3c/5f/fa26b9b2672cbe30e07d9a5bdf39cf16e3b80b42916757c5f92bca88e4ba/redis-5.2.1-py3-none-any.whl", hash = "sha256:ee7e1056b9aea0f04c6c2ed59452947f34c4940ee025f5dd83e6a6418b6989e4", size = 261502 },
|
1054
1159
|
]
|
1055
1160
|
|
1161
|
+
[[package]]
|
1162
|
+
name = "regex"
|
1163
|
+
version = "2024.11.6"
|
1164
|
+
source = { registry = "https://pypi.org/simple" }
|
1165
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494 }
|
1166
|
+
wheels = [
|
1167
|
+
{ url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674 },
|
1168
|
+
{ url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684 },
|
1169
|
+
{ url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589 },
|
1170
|
+
{ url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511 },
|
1171
|
+
{ url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149 },
|
1172
|
+
{ url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707 },
|
1173
|
+
{ url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702 },
|
1174
|
+
{ url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976 },
|
1175
|
+
{ url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397 },
|
1176
|
+
{ url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726 },
|
1177
|
+
{ url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098 },
|
1178
|
+
{ url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325 },
|
1179
|
+
{ url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277 },
|
1180
|
+
{ url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197 },
|
1181
|
+
{ url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714 },
|
1182
|
+
{ url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042 },
|
1183
|
+
{ url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669 },
|
1184
|
+
{ url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684 },
|
1185
|
+
{ url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589 },
|
1186
|
+
{ url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121 },
|
1187
|
+
{ url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275 },
|
1188
|
+
{ url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257 },
|
1189
|
+
{ url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727 },
|
1190
|
+
{ url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667 },
|
1191
|
+
{ url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963 },
|
1192
|
+
{ url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700 },
|
1193
|
+
{ url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592 },
|
1194
|
+
{ url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929 },
|
1195
|
+
{ url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213 },
|
1196
|
+
{ url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734 },
|
1197
|
+
{ url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052 },
|
1198
|
+
{ url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781 },
|
1199
|
+
{ url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455 },
|
1200
|
+
{ url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759 },
|
1201
|
+
{ url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976 },
|
1202
|
+
{ url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077 },
|
1203
|
+
{ url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160 },
|
1204
|
+
{ url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896 },
|
1205
|
+
{ url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997 },
|
1206
|
+
{ url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725 },
|
1207
|
+
{ url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481 },
|
1208
|
+
{ url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896 },
|
1209
|
+
{ url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138 },
|
1210
|
+
{ url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692 },
|
1211
|
+
{ url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135 },
|
1212
|
+
{ url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567 },
|
1213
|
+
{ url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525 },
|
1214
|
+
{ url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324 },
|
1215
|
+
{ url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617 },
|
1216
|
+
{ url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023 },
|
1217
|
+
{ url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072 },
|
1218
|
+
{ url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130 },
|
1219
|
+
{ url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857 },
|
1220
|
+
{ url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006 },
|
1221
|
+
{ url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650 },
|
1222
|
+
{ url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545 },
|
1223
|
+
{ url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045 },
|
1224
|
+
{ url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182 },
|
1225
|
+
{ url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733 },
|
1226
|
+
{ url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122 },
|
1227
|
+
{ url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545 },
|
1228
|
+
]
|
1229
|
+
|
1056
1230
|
[[package]]
|
1057
1231
|
name = "requests"
|
1058
1232
|
version = "2.32.3"
|
@@ -1144,6 +1318,42 @@ wheels = [
|
|
1144
1318
|
{ url = "https://files.pythonhosted.org/packages/b6/cb/b86984bed139586d01532a587464b5805f12e397594f19f931c4c2fbfa61/tenacity-9.0.0-py3-none-any.whl", hash = "sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539", size = 28169 },
|
1145
1319
|
]
|
1146
1320
|
|
1321
|
+
[[package]]
|
1322
|
+
name = "tiktoken"
|
1323
|
+
version = "0.8.0"
|
1324
|
+
source = { registry = "https://pypi.org/simple" }
|
1325
|
+
dependencies = [
|
1326
|
+
{ name = "regex" },
|
1327
|
+
{ name = "requests" },
|
1328
|
+
]
|
1329
|
+
sdist = { url = "https://files.pythonhosted.org/packages/37/02/576ff3a6639e755c4f70997b2d315f56d6d71e0d046f4fb64cb81a3fb099/tiktoken-0.8.0.tar.gz", hash = "sha256:9ccbb2740f24542534369c5635cfd9b2b3c2490754a78ac8831d99f89f94eeb2", size = 35107 }
|
1330
|
+
wheels = [
|
1331
|
+
{ url = "https://files.pythonhosted.org/packages/c9/ba/a35fad753bbca8ba0cc1b0f3402a70256a110ced7ac332cf84ba89fc87ab/tiktoken-0.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b07e33283463089c81ef1467180e3e00ab00d46c2c4bbcef0acab5f771d6695e", size = 1039905 },
|
1332
|
+
{ url = "https://files.pythonhosted.org/packages/91/05/13dab8fd7460391c387b3e69e14bf1e51ff71fe0a202cd2933cc3ea93fb6/tiktoken-0.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9269348cb650726f44dd3bbb3f9110ac19a8dcc8f54949ad3ef652ca22a38e21", size = 982417 },
|
1333
|
+
{ url = "https://files.pythonhosted.org/packages/e9/98/18ec4a8351a6cf4537e40cd6e19a422c10cce1ef00a2fcb716e0a96af58b/tiktoken-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e13f37bc4ef2d012731e93e0fef21dc3b7aea5bb9009618de9a4026844e560", size = 1144915 },
|
1334
|
+
{ url = "https://files.pythonhosted.org/packages/2e/28/cf3633018cbcc6deb7805b700ccd6085c9a5a7f72b38974ee0bffd56d311/tiktoken-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f13d13c981511331eac0d01a59b5df7c0d4060a8be1e378672822213da51e0a2", size = 1177221 },
|
1335
|
+
{ url = "https://files.pythonhosted.org/packages/57/81/8a5be305cbd39d4e83a794f9e80c7f2c84b524587b7feb27c797b2046d51/tiktoken-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6b2ddbc79a22621ce8b1166afa9f9a888a664a579350dc7c09346a3b5de837d9", size = 1237398 },
|
1336
|
+
{ url = "https://files.pythonhosted.org/packages/dc/da/8d1cc3089a83f5cf11c2e489332752981435280285231924557350523a59/tiktoken-0.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:d8c2d0e5ba6453a290b86cd65fc51fedf247e1ba170191715b049dac1f628005", size = 884215 },
|
1337
|
+
{ url = "https://files.pythonhosted.org/packages/f6/1e/ca48e7bfeeccaf76f3a501bd84db1fa28b3c22c9d1a1f41af9fb7579c5f6/tiktoken-0.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d622d8011e6d6f239297efa42a2657043aaed06c4f68833550cac9e9bc723ef1", size = 1039700 },
|
1338
|
+
{ url = "https://files.pythonhosted.org/packages/8c/f8/f0101d98d661b34534769c3818f5af631e59c36ac6d07268fbfc89e539ce/tiktoken-0.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2efaf6199717b4485031b4d6edb94075e4d79177a172f38dd934d911b588d54a", size = 982413 },
|
1339
|
+
{ url = "https://files.pythonhosted.org/packages/ac/3c/2b95391d9bd520a73830469f80a96e3790e6c0a5ac2444f80f20b4b31051/tiktoken-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5637e425ce1fc49cf716d88df3092048359a4b3bbb7da762840426e937ada06d", size = 1144242 },
|
1340
|
+
{ url = "https://files.pythonhosted.org/packages/01/c4/c4a4360de845217b6aa9709c15773484b50479f36bb50419c443204e5de9/tiktoken-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fb0e352d1dbe15aba082883058b3cce9e48d33101bdaac1eccf66424feb5b47", size = 1176588 },
|
1341
|
+
{ url = "https://files.pythonhosted.org/packages/f8/a3/ef984e976822cd6c2227c854f74d2e60cf4cd6fbfca46251199914746f78/tiktoken-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:56edfefe896c8f10aba372ab5706b9e3558e78db39dd497c940b47bf228bc419", size = 1237261 },
|
1342
|
+
{ url = "https://files.pythonhosted.org/packages/1e/86/eea2309dc258fb86c7d9b10db536434fc16420feaa3b6113df18b23db7c2/tiktoken-0.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:326624128590def898775b722ccc327e90b073714227175ea8febbc920ac0a99", size = 884537 },
|
1343
|
+
{ url = "https://files.pythonhosted.org/packages/c1/22/34b2e136a6f4af186b6640cbfd6f93400783c9ef6cd550d9eab80628d9de/tiktoken-0.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:881839cfeae051b3628d9823b2e56b5cc93a9e2efb435f4cf15f17dc45f21586", size = 1039357 },
|
1344
|
+
{ url = "https://files.pythonhosted.org/packages/04/d2/c793cf49c20f5855fd6ce05d080c0537d7418f22c58e71f392d5e8c8dbf7/tiktoken-0.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fe9399bdc3f29d428f16a2f86c3c8ec20be3eac5f53693ce4980371c3245729b", size = 982616 },
|
1345
|
+
{ url = "https://files.pythonhosted.org/packages/b3/a1/79846e5ef911cd5d75c844de3fa496a10c91b4b5f550aad695c5df153d72/tiktoken-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a58deb7075d5b69237a3ff4bb51a726670419db6ea62bdcd8bd80c78497d7ab", size = 1144011 },
|
1346
|
+
{ url = "https://files.pythonhosted.org/packages/26/32/e0e3a859136e95c85a572e4806dc58bf1ddf651108ae8b97d5f3ebe1a244/tiktoken-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2908c0d043a7d03ebd80347266b0e58440bdef5564f84f4d29fb235b5df3b04", size = 1175432 },
|
1347
|
+
{ url = "https://files.pythonhosted.org/packages/c7/89/926b66e9025b97e9fbabeaa59048a736fe3c3e4530a204109571104f921c/tiktoken-0.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:294440d21a2a51e12d4238e68a5972095534fe9878be57d905c476017bff99fc", size = 1236576 },
|
1348
|
+
{ url = "https://files.pythonhosted.org/packages/45/e2/39d4aa02a52bba73b2cd21ba4533c84425ff8786cc63c511d68c8897376e/tiktoken-0.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:d8f3192733ac4d77977432947d563d7e1b310b96497acd3c196c9bddb36ed9db", size = 883824 },
|
1349
|
+
{ url = "https://files.pythonhosted.org/packages/e3/38/802e79ba0ee5fcbf240cd624143f57744e5d411d2e9d9ad2db70d8395986/tiktoken-0.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:02be1666096aff7da6cbd7cdaa8e7917bfed3467cd64b38b1f112e96d3b06a24", size = 1039648 },
|
1350
|
+
{ url = "https://files.pythonhosted.org/packages/b1/da/24cdbfc302c98663fbea66f5866f7fa1048405c7564ab88483aea97c3b1a/tiktoken-0.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c94ff53c5c74b535b2cbf431d907fc13c678bbd009ee633a2aca269a04389f9a", size = 982763 },
|
1351
|
+
{ url = "https://files.pythonhosted.org/packages/e4/f0/0ecf79a279dfa41fc97d00adccf976ecc2556d3c08ef3e25e45eb31f665b/tiktoken-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b231f5e8982c245ee3065cd84a4712d64692348bc609d84467c57b4b72dcbc5", size = 1144417 },
|
1352
|
+
{ url = "https://files.pythonhosted.org/packages/ab/d3/155d2d4514f3471a25dc1d6d20549ef254e2aa9bb5b1060809b1d3b03d3a/tiktoken-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4177faa809bd55f699e88c96d9bb4635d22e3f59d635ba6fd9ffedf7150b9953", size = 1175108 },
|
1353
|
+
{ url = "https://files.pythonhosted.org/packages/19/eb/5989e16821ee8300ef8ee13c16effc20dfc26c777d05fbb6825e3c037b81/tiktoken-0.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5376b6f8dc4753cd81ead935c5f518fa0fbe7e133d9e25f648d8c4dabdd4bad7", size = 1236520 },
|
1354
|
+
{ url = "https://files.pythonhosted.org/packages/40/59/14b20465f1d1cb89cfbc96ec27e5617b2d41c79da12b5e04e96d689be2a7/tiktoken-0.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:18228d624807d66c87acd8f25fc135665617cab220671eb65b50f5d70fa51f69", size = 883849 },
|
1355
|
+
]
|
1356
|
+
|
1147
1357
|
[[package]]
|
1148
1358
|
name = "toml"
|
1149
1359
|
version = "0.10.2"
|
@@ -1192,6 +1402,18 @@ wheels = [
|
|
1192
1402
|
{ url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 },
|
1193
1403
|
]
|
1194
1404
|
|
1405
|
+
[[package]]
|
1406
|
+
name = "tqdm"
|
1407
|
+
version = "4.67.1"
|
1408
|
+
source = { registry = "https://pypi.org/simple" }
|
1409
|
+
dependencies = [
|
1410
|
+
{ name = "colorama", marker = "sys_platform == 'win32'" },
|
1411
|
+
]
|
1412
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737 }
|
1413
|
+
wheels = [
|
1414
|
+
{ url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540 },
|
1415
|
+
]
|
1416
|
+
|
1195
1417
|
[[package]]
|
1196
1418
|
name = "typing-extensions"
|
1197
1419
|
version = "4.12.2"
|
File without changes
|
File without changes
|
File without changes
|
{hyperpocket_langgraph-0.1.8 → hyperpocket_langgraph-0.1.9}/hyperpocket_langgraph/__init__.py
RENAMED
File without changes
|
File without changes
|