Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-langchain-openai for
openSUSE:Factory checked in at 2026-09-10 17:41:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-langchain-openai (Old)
and /work/SRC/openSUSE:Factory/.python-langchain-openai.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-langchain-openai"
Thu Sep 10 17:41:14 2026 rev:12 rq:1376915 version:1.6.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-langchain-openai/python-langchain-openai.changes
2026-08-20 16:15:35.467876957 +0200
+++
/work/SRC/openSUSE:Factory/.python-langchain-openai.new.1265/python-langchain-openai.changes
2026-09-10 17:41:19.788545776 +0200
@@ -1,0 +2,11 @@
+Thu Sep 10 05:42:54 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 1.6.2:
+ * Support async tools and changing the reasoning effort
+ mid-conversation via configuration_update
+ * Keep Azure AD token providers working with the OpenAI 3.8 SDK
+ * Add GPT-6 Astra reasoning efforts and refreshed model profiles
+- Follow upstream and raise the langchain-core requirement floor
+ to 1.6.2
+
+-------------------------------------------------------------------
Old:
----
langchain_openai-1.6.0.tar.gz
New:
----
langchain_openai-1.6.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-langchain-openai.spec ++++++
--- /var/tmp/diff_new_pack.vRsFR6/_old 2026-09-10 17:41:21.032597718 +0200
+++ /var/tmp/diff_new_pack.vRsFR6/_new 2026-09-10 17:41:21.034597801 +0200
@@ -17,7 +17,7 @@
Name: python-langchain-openai
-Version: 1.6.0
+Version: 1.6.2
Release: 0
Summary: An integration package connecting OpenAI and LangChain
License: MIT
@@ -28,7 +28,7 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-certifi >= 2024.6.2
-Requires: python-langchain-core >= 1.6.0
+Requires: python-langchain-core >= 1.6.2
Requires: python-openai >= 2.45.0
Requires: python-tiktoken >= 0.7.0
BuildArch: noarch
@@ -36,7 +36,7 @@
BuildRequires: %{python_module certifi >= 2024.6.2}
BuildRequires: %{python_module httpx2}
BuildRequires: %{python_module httpx}
-BuildRequires: %{python_module langchain-core >= 1.6.0}
+BuildRequires: %{python_module langchain-core >= 1.6.2}
BuildRequires: %{python_module openai >= 2.45.0}
BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module tiktoken >= 0.7.0}
++++++ langchain_openai-1.6.0.tar.gz -> langchain_openai-1.6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_openai-1.6.0/PKG-INFO
new/langchain_openai-1.6.2/PKG-INFO
--- old/langchain_openai-1.6.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.5
Name: langchain-openai
-Version: 1.6.0
+Version: 1.6.2
Summary: An integration package connecting OpenAI and LangChain
Project-URL: Homepage,
https://docs.langchain.com/oss/python/integrations/providers/openai
Project-URL: Documentation,
https://reference.langchain.com/python/integrations/langchain_openai/
@@ -24,7 +24,7 @@
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: <4.0.0,>=3.10.0
Requires-Dist: certifi>=2024.6.2
-Requires-Dist: langchain-core<2.0.0,>=1.6.0
+Requires-Dist: langchain-core<2.0.0,>=1.6.2
Requires-Dist: openai<4.0.0,>=2.45.0
Requires-Dist: tiktoken<1.0.0,>=0.7.0
Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_openai-1.6.0/langchain_openai/_version.py
new/langchain_openai-1.6.2/langchain_openai/_version.py
--- old/langchain_openai-1.6.0/langchain_openai/_version.py 2020-02-02
01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/langchain_openai/_version.py 2020-02-02
01:00:00.000000000 +0100
@@ -1,3 +1,3 @@
"""Version information for `langchain-openai`."""
-__version__ = "1.6.0"
+__version__ = "1.6.2"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/langchain_openai/chat_models/_compat.py
new/langchain_openai-1.6.2/langchain_openai/chat_models/_compat.py
--- old/langchain_openai-1.6.0/langchain_openai/chat_models/_compat.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/langchain_openai/chat_models/_compat.py
2020-02-02 01:00:00.000000000 +0100
@@ -452,7 +452,7 @@
tool_call["args"], separators=(",", ":")
)
if "extras" in block:
- for extra_key in ("status", "namespace"):
+ for extra_key in ("status", "namespace", "async"):
if extra_key in block["extras"]:
new_block[extra_key] = block["extras"][extra_key]
new_content.append(new_block)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/langchain_openai/chat_models/azure.py
new/langchain_openai-1.6.2/langchain_openai/chat_models/azure.py
--- old/langchain_openai-1.6.0/langchain_openai/chat_models/azure.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/langchain_openai/chat_models/azure.py
2020-02-02 01:00:00.000000000 +0100
@@ -683,10 +683,20 @@
},
"default_query": self.default_query,
}
+ if (
+ self.azure_ad_token
+ or self.azure_ad_token_provider
+ or self.azure_ad_async_token_provider
+ ):
+ client_params["api_key"] = None
if self.max_retries is not None:
client_params["max_retries"] = self.max_retries
- if not self.client:
+ if not self.client and (
+ not self.azure_ad_async_token_provider
+ or self.azure_ad_token
+ or self.azure_ad_token_provider
+ ):
sync_specific = {"http_client": self.http_client}
self.root_client = openai.AzureOpenAI(**client_params,
**sync_specific) # type: ignore[arg-type]
self.client = self.root_client.chat.completions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/langchain_openai/chat_models/base.py
new/langchain_openai-1.6.2/langchain_openai/chat_models/base.py
--- old/langchain_openai-1.6.0/langchain_openai/chat_models/base.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/langchain_openai/chat_models/base.py
2020-02-02 01:00:00.000000000 +0100
@@ -211,6 +211,8 @@
"apply_patch",
)
+_TOOL_EXTRAS_PASSTHROUGH = ("defer_loading", "async")
+
def _convert_dict_to_message(_dict: Mapping[str, Any]) -> BaseMessage:
"""Convert a dictionary to a LangChain message.
@@ -695,6 +697,7 @@
"gpt-5.2-pro",
"gpt-5.4-pro",
"gpt-5.5-pro",
+ "gpt-5.6-sol",
)
@@ -880,6 +883,27 @@
Currently supported values are `'minimal'`, `'low'`, `'medium'`, and
`'high'`. Reducing reasoning effort can result in faster responses and
fewer
tokens used on reasoning in a response.
+
+ !!! note "Changing reasoning effort mid-conversation"
+
+ Changing this value part-way through a conversation changes a
request-level
+ parameter, which invalidates the cached prompt prefix.
+
+ Models that support it (currently GPT-6) can instead carry the new
effort
+ in a `configuration_update` item attached to the message that should
start
+ using it:
+
+ ```python
+ HumanMessage(
+ [
+ {"type": "configuration_update", "reasoning": {"effort":
"high"}},
+ {"type": "text", "text": "Analyze the failure modes."},
+ ]
+ )
+ ```
+
+ The new effort applies from that message onward, until another update
+ overrides it.
"""
reasoning: dict[str, Any] | None = None
@@ -2440,9 +2464,10 @@
isinstance(original, BaseTool)
and hasattr(original, "extras")
and isinstance(original.extras, dict)
- and "defer_loading" in original.extras
):
- formatted["defer_loading"] = original.extras["defer_loading"]
+ for key in _TOOL_EXTRAS_PASSTHROUGH:
+ if key in original.extras:
+ formatted[key] = original.extras[key]
tool_names = []
for tool in formatted_tools:
if "function" in tool:
@@ -4944,6 +4969,7 @@
"mcp_approval_response",
"tool_search_output",
"apply_patch_call_output",
+ "configuration_update",
)
for block in msg["content"]:
if block["type"] in ("text", "image_url", "file"):
@@ -5070,7 +5096,12 @@
refusal_block["phase"] = phase
content_blocks.append(refusal_block)
elif output.type == "function_call":
- content_blocks.append(output.model_dump(exclude_none=True,
mode="json"))
+ function_call_block = output.model_dump(exclude_none=True,
mode="json")
+ # The SDK names the reserved word `async_`; content blocks carry
the
+ # wire name so it round-trips on the next request.
+ if "async_" in function_call_block:
+ function_call_block["async"] =
function_call_block.pop("async_")
+ content_blocks.append(function_call_block)
try:
args = json.loads(output.arguments, strict=False)
error = None
@@ -5352,6 +5383,12 @@
}
if getattr(chunk.item, "namespace", None) is not None:
function_call_content["namespace"] = chunk.item.namespace
+ # SDKs expose the reserved word as `async_`; older ones keep it in
extras.
+ async_flag = getattr(chunk.item, "async_", None)
+ if async_flag is None:
+ async_flag = getattr(chunk.item, "async", None)
+ if async_flag is not None:
+ function_call_content["async"] = async_flag
content.append(function_call_content)
elif chunk.type == "response.output_item.done" and chunk.item.type in (
"compaction",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/langchain_openai/data/_profiles.py
new/langchain_openai-1.6.2/langchain_openai/data/_profiles.py
--- old/langchain_openai-1.6.0/langchain_openai/data/_profiles.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/langchain_openai/data/_profiles.py
2020-02-02 01:00:00.000000000 +0100
@@ -371,11 +371,10 @@
"tool_choice": True,
"tool_call_streaming": True,
"reasoning_effort_levels": [
- "none",
+ "minimal",
"low",
"medium",
"high",
- "xhigh",
],
},
"gpt-5-chat-latest": {
@@ -437,11 +436,10 @@
"tool_choice": True,
"tool_call_streaming": True,
"reasoning_effort_levels": [
- "none",
+ "minimal",
"low",
"medium",
"high",
- "xhigh",
],
},
"gpt-5-nano": {
@@ -471,11 +469,10 @@
"tool_choice": True,
"tool_call_streaming": True,
"reasoning_effort_levels": [
- "none",
+ "minimal",
"low",
"medium",
"high",
- "xhigh",
],
},
"gpt-5-pro": {
@@ -531,7 +528,7 @@
"tool_calling": True,
"structured_output": True,
"attachment": True,
- "temperature": False,
+ "temperature": True,
"image_url_inputs": True,
"pdf_inputs": True,
"pdf_tool_message": True,
@@ -543,7 +540,6 @@
"low",
"medium",
"high",
- "xhigh",
],
},
"gpt-5.1-chat-latest": {
@@ -629,7 +625,7 @@
"tool_calling": True,
"structured_output": True,
"attachment": True,
- "temperature": False,
+ "temperature": True,
"image_url_inputs": True,
"pdf_inputs": True,
"pdf_tool_message": True,
@@ -646,6 +642,7 @@
},
"gpt-5.2-chat-latest": {
"name": "GPT-5.2 Chat",
+ "status": "deprecated",
"release_date": "2025-12-11",
"last_updated": "2025-12-11",
"open_weights": False,
@@ -729,6 +726,7 @@
},
"gpt-5.3-chat-latest": {
"name": "GPT-5.3 Chat (latest)",
+ "status": "deprecated",
"release_date": "2026-03-03",
"last_updated": "2026-03-03",
"open_weights": False,
@@ -774,7 +772,7 @@
"tool_calling": True,
"structured_output": True,
"attachment": True,
- "temperature": False,
+ "temperature": True,
"image_url_inputs": True,
"pdf_tool_message": True,
"image_tool_message": True,
@@ -842,7 +840,7 @@
"tool_calling": True,
"structured_output": True,
"attachment": True,
- "temperature": False,
+ "temperature": True,
"image_url_inputs": True,
"pdf_tool_message": True,
"image_tool_message": True,
@@ -875,7 +873,7 @@
"tool_calling": True,
"structured_output": True,
"attachment": True,
- "temperature": False,
+ "temperature": True,
"image_url_inputs": True,
"pdf_inputs": True,
"pdf_tool_message": True,
@@ -909,7 +907,7 @@
"tool_calling": True,
"structured_output": True,
"attachment": True,
- "temperature": False,
+ "temperature": True,
"image_url_inputs": True,
"pdf_inputs": True,
"pdf_tool_message": True,
@@ -1172,6 +1170,40 @@
],
"reasoning_effort_default": "medium",
},
+ "gpt-6-astra": {
+ "name": "GPT-6 Astra",
+ "release_date": "2026-09-04",
+ "last_updated": "2026-09-04",
+ "open_weights": False,
+ "max_input_tokens": 1050000,
+ "max_output_tokens": 128000,
+ "text_inputs": True,
+ "image_inputs": True,
+ "audio_inputs": False,
+ "pdf_inputs": True,
+ "video_inputs": False,
+ "text_outputs": True,
+ "image_outputs": False,
+ "audio_outputs": False,
+ "video_outputs": False,
+ "reasoning_output": True,
+ "tool_calling": True,
+ "structured_output": True,
+ "attachment": True,
+ "temperature": False,
+ "image_url_inputs": True,
+ "pdf_tool_message": True,
+ "image_tool_message": True,
+ "tool_choice": True,
+ "tool_call_streaming": True,
+ "reasoning_effort_levels": [
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max",
+ ],
+ },
"gpt-image-1": {
"name": "gpt-image-1",
"status": "deprecated",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/langchain_openai/data/profile_augmentations.toml
new/langchain_openai-1.6.2/langchain_openai/data/profile_augmentations.toml
--- old/langchain_openai-1.6.0/langchain_openai/data/profile_augmentations.toml
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/langchain_openai/data/profile_augmentations.toml
2020-02-02 01:00:00.000000000 +0100
@@ -32,11 +32,11 @@
[overrides."gpt-5.1"]
max_input_tokens = 272000
-reasoning_effort_levels = ["none", "low", "medium", "high", "xhigh"]
+reasoning_effort_levels = ["none", "low", "medium", "high"]
[overrides."gpt-5-nano"]
max_input_tokens = 272000
-reasoning_effort_levels = ["none", "low", "medium", "high", "xhigh"]
+reasoning_effort_levels = ["minimal", "low", "medium", "high"]
[overrides."gpt-5-codex"]
max_input_tokens = 272000
@@ -44,7 +44,7 @@
[overrides."gpt-5-mini"]
max_input_tokens = 272000
-reasoning_effort_levels = ["none", "low", "medium", "high", "xhigh"]
+reasoning_effort_levels = ["minimal", "low", "medium", "high"]
[overrides."gpt-5.1-codex-max"]
max_input_tokens = 272000
@@ -56,7 +56,7 @@
[overrides."gpt-5"]
max_input_tokens = 272000
-reasoning_effort_levels = ["none", "low", "medium", "high", "xhigh"]
+reasoning_effort_levels = ["minimal", "low", "medium", "high"]
[overrides."gpt-5-pro"]
max_input_tokens = 272000
@@ -114,3 +114,6 @@
[overrides."gpt-5.6-terra"]
reasoning_effort_levels = ["none", "low", "medium", "high", "xhigh", "max"]
reasoning_effort_default = "medium"
+
+[overrides."gpt-6-astra"]
+reasoning_effort_levels = ["low", "medium", "high", "xhigh", "max"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/langchain_openai/embeddings/azure.py
new/langchain_openai-1.6.2/langchain_openai/embeddings/azure.py
--- old/langchain_openai-1.6.0/langchain_openai/embeddings/azure.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/langchain_openai/embeddings/azure.py
2020-02-02 01:00:00.000000000 +0100
@@ -205,7 +205,17 @@
},
"default_query": self.default_query,
}
- if not self.client:
+ if (
+ self.azure_ad_token
+ or self.azure_ad_token_provider
+ or self.azure_ad_async_token_provider
+ ):
+ client_params["api_key"] = None
+ if not self.client and (
+ not self.azure_ad_async_token_provider
+ or self.azure_ad_token
+ or self.azure_ad_token_provider
+ ):
sync_specific: dict = {"http_client": self.http_client}
self.client = openai.AzureOpenAI(
**client_params, # type: ignore[arg-type]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/langchain_openai/llms/azure.py
new/langchain_openai-1.6.2/langchain_openai/llms/azure.py
--- old/langchain_openai-1.6.0/langchain_openai/llms/azure.py 2020-02-02
01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/langchain_openai/llms/azure.py 2020-02-02
01:00:00.000000000 +0100
@@ -181,7 +181,17 @@
},
"default_query": self.default_query,
}
- if not self.client:
+ if (
+ self.azure_ad_token
+ or self.azure_ad_token_provider
+ or self.azure_ad_async_token_provider
+ ):
+ client_params["api_key"] = None
+ if not self.client and (
+ not self.azure_ad_async_token_provider
+ or self.azure_ad_token
+ or self.azure_ad_token_provider
+ ):
sync_specific = {"http_client": self.http_client}
self.client = openai.AzureOpenAI(
**client_params,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_openai-1.6.0/pyproject.toml
new/langchain_openai-1.6.2/pyproject.toml
--- old/langchain_openai-1.6.0/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
+++ new/langchain_openai-1.6.2/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
@@ -20,10 +20,10 @@
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
-version = "1.6.0"
+version = "1.6.2"
requires-python = ">=3.10.0,<4.0.0"
dependencies = [
- "langchain-core>=1.6.0,<2.0.0",
+ "langchain-core>=1.6.2,<2.0.0",
"certifi>=2024.6.2",
"openai>=2.45.0,<4.0.0",
"tiktoken>=0.7.0,<1.0.0",
Binary files
old/langchain_openai-1.6.0/tests/cassettes/test_configuration_update_block.yaml.gz
and
new/langchain_openai-1.6.2/tests/cassettes/test_configuration_update_block.yaml.gz
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/tests/integration_tests/chat_models/test_base.py
new/langchain_openai-1.6.2/tests/integration_tests/chat_models/test_base.py
--- old/langchain_openai-1.6.0/tests/integration_tests/chat_models/test_base.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/tests/integration_tests/chat_models/test_base.py
2020-02-02 01:00:00.000000000 +0100
@@ -1258,7 +1258,7 @@
"""
chat = ChatOpenAI(
model="gpt-5.6-sol",
- max_completion_tokens=10,
+ max_completion_tokens=16,
prompt_cache_options={"mode": "explicit"},
)
# A prefix long enough to exceed OpenAI's minimum cacheable prompt length.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/tests/integration_tests/chat_models/test_responses_api.py
new/langchain_openai-1.6.2/tests/integration_tests/chat_models/test_responses_api.py
---
old/langchain_openai-1.6.0/tests/integration_tests/chat_models/test_responses_api.py
2020-02-02 01:00:00.000000000 +0100
+++
new/langchain_openai-1.6.2/tests/integration_tests/chat_models/test_responses_api.py
2020-02-02 01:00:00.000000000 +0100
@@ -610,6 +610,44 @@
assert block_types == ["reasoning", "text"]
[email protected]
+def test_configuration_update_block() -> None:
+ """A `configuration_update` block changes reasoning effort
mid-conversation.
+
+ The model is left at `low`, so the higher effort can only come from the
item.
+ """
+ llm = ChatOpenAI(
+ model="gpt-6-astra", use_responses_api=True, reasoning_effort="low"
+ )
+ question = "How many distinct 5-card poker hands are a full house? Number
only."
+
+ first = llm.invoke("Say hi.")
+ assert isinstance(first, AIMessage)
+
+ history: list = ["Say hi.", first]
+ baseline = llm.invoke([*history, HumanMessage(question)])
+ raised = llm.invoke(
+ [
+ *history,
+ HumanMessage(
+ [
+ {"type": "configuration_update", "reasoning": {"effort":
"high"}},
+ {"type": "text", "text": question},
+ ]
+ ),
+ ]
+ )
+
+ assert isinstance(raised, AIMessage)
+ assert raised.usage_metadata is not None
+ assert baseline.usage_metadata is not None
+ reasoning_tokens =
raised.usage_metadata["output_token_details"]["reasoning"]
+ assert (
+ reasoning_tokens >
baseline.usage_metadata["output_token_details"]["reasoning"]
+ )
+
+
[email protected](reason="Requires data retention.")
def test_stateful_api() -> None:
llm = ChatOpenAI(model=MODEL_NAME, use_responses_api=True)
response = llm.invoke("how are you, my name is Bobo")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/tests/unit_tests/chat_models/test_azure.py
new/langchain_openai-1.6.2/tests/unit_tests/chat_models/test_azure.py
--- old/langchain_openai-1.6.0/tests/unit_tests/chat_models/test_azure.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/tests/unit_tests/chat_models/test_azure.py
2020-02-02 01:00:00.000000000 +0100
@@ -10,13 +10,31 @@
from pydantic import BaseModel, SecretStr
from typing_extensions import TypedDict
-from langchain_openai import AzureChatOpenAI
+from langchain_openai import AzureChatOpenAI, AzureOpenAI,
AzureOpenAIEmbeddings
AZURE_PROFILE_TEST_MODEL = "gpt-5.5"
AZURE_PROFILE_TEST_MODEL_NAME = "GPT-5.5"
AZURE_PROFILE_TEST_MAX_INPUT_TOKENS = 1_050_000
[email protected](
+ "azure_class", [AzureChatOpenAI, AzureOpenAIEmbeddings, AzureOpenAI]
+)
+def test_initialize_azure_openai_with_async_token_provider(azure_class: type)
-> None:
+ async def token() -> str:
+ return "token"
+
+ model = azure_class(
+ azure_endpoint="https://endpoint.openai.azure.com",
+ api_version="2024-10-21",
+ api_key="key",
+ azure_ad_async_token_provider=token,
+ )
+
+ assert model.async_client is not None
+ assert model.client is None
+
+
def test_initialize_azure_openai() -> None:
llm = AzureChatOpenAI( # type: ignore[call-arg]
azure_deployment="35-turbo-dev",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/tests/unit_tests/chat_models/test_base.py
new/langchain_openai-1.6.2/tests/unit_tests/chat_models/test_base.py
--- old/langchain_openai-1.6.0/tests/unit_tests/chat_models/test_base.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/tests/unit_tests/chat_models/test_base.py
2020-02-02 01:00:00.000000000 +0100
@@ -181,6 +181,23 @@
assert model.profile["max_input_tokens"] == 272_000
+def test_gpt_5_reasoning_effort_levels() -> None:
+ """GPT-5 and GPT-5.1 predate `xhigh`, and GPT-5 supports `minimal`."""
+ for model_name in ("gpt-5", "gpt-5-mini", "gpt-5-nano"):
+ model = ChatOpenAI(model=model_name)
+ assert model.profile
+ assert model.profile["reasoning_effort_levels"] == [
+ "minimal",
+ "low",
+ "medium",
+ "high",
+ ]
+
+ model = ChatOpenAI(model="gpt-5.1")
+ assert model.profile
+ assert model.profile["reasoning_effort_levels"] == ["none", "low",
"medium", "high"]
+
+
def test_gpt_5_3_chat_latest_profile_has_no_reasoning_effort() -> None:
model = ChatOpenAI(model="gpt-5.3-chat-latest")
@@ -189,6 +206,20 @@
assert "reasoning_effort_levels" not in model.profile
+def test_gpt_6_astra_reasoning_effort_levels() -> None:
+ model = ChatOpenAI(model="gpt-6-astra")
+
+ assert model.profile
+ assert model.profile["reasoning_effort_levels"] == [
+ "low",
+ "medium",
+ "high",
+ "xhigh",
+ "max",
+ ]
+ assert "reasoning_effort_default" not in model.profile
+
+
def test_function_message_dict_to_function_message() -> None:
content = json.dumps({"result": "Example #1"})
name = "test_function"
@@ -4305,6 +4336,22 @@
assert len(payload["input"]) == 1
+def test_get_request_payload_explicit_previous_response_id() -> None:
+ """Test that an explicit `previous_response_id` kwarg reaches the
payload."""
+ llm = ChatOpenAI(model=OPENAI_TEST_MODEL)
+ messages = [
+ HumanMessage("Hello"),
+ AIMessage("Hi there!", response_metadata={"id": "resp_123"}),
+ HumanMessage("How are you?"),
+ ]
+ payload = llm._get_request_payload(messages,
previous_response_id="resp_123")
+ # Passing the ID engages the Responses API on its own.
+ assert "input" in payload
+ assert payload["previous_response_id"] == "resp_123"
+ # Unlike `use_previous_response_id`, history is not trimmed.
+ assert len(payload["input"]) == 3
+
+
def test_make_computer_call_output_from_message() -> None:
# List content
tool_message = ToolMessage(
@@ -4599,13 +4646,15 @@
def test_model_prefers_responses_api() -> None:
- # Pro models (with and without date snapshots): Responses API only
+ # Pro and Sol models (with and without date snapshots): Responses API only
assert _model_prefers_responses_api("gpt-5-pro")
assert _model_prefers_responses_api("gpt-5-pro-2025-10-06")
assert _model_prefers_responses_api("gpt-5.2-pro")
assert _model_prefers_responses_api("gpt-5.2-pro-2025-12-11")
assert _model_prefers_responses_api("gpt-5.4-pro")
assert _model_prefers_responses_api("gpt-5.4-pro-2026-03-05")
+ assert _model_prefers_responses_api("gpt-5.6-sol")
+ assert _model_prefers_responses_api("gpt-5.6-sol-2026-09-01")
# Codex models: Responses API only
assert _model_prefers_responses_api("gpt-5.3-codex")
assert _model_prefers_responses_api("gpt-5.3-codex")
@@ -5138,6 +5187,154 @@
assert {"type": "tool_search"} in result["tools"]
+def test__construct_lc_result_from_responses_api_async_tool_call() -> None:
+ """Test that `async` on a `function_call` item reaches `tool_call`
extras."""
+ response = Response(
+ id="resp_123",
+ created_at=1234567890,
+ model=OPENAI_TEST_MODEL,
+ object="response",
+ parallel_tool_calls=True,
+ tools=[],
+ tool_choice="auto",
+ output=[
+ ResponseFunctionToolCall.model_validate(
+ {
+ "type": "function_call",
+ "id": "fc_1",
+ "call_id": "call_A",
+ "name": "lookup_price",
+ "arguments": '{"sku": "WIDGET"}',
+ "async": True,
+ }
+ ),
+ ResponseFunctionToolCall.model_validate(
+ {
+ "type": "function_call",
+ "id": "fc_2",
+ "call_id": "call_B",
+ "name": "get_time",
+ "arguments": "{}",
+ }
+ ),
+ ],
+ )
+ message = cast(
+ AIMessage,
+
_construct_lc_result_from_responses_api(response).generations[0].message,
+ )
+ extras: dict[Any, dict[str, Any]] = {
+ block.get("id"): cast(dict[str, Any], block.get("extras") or {})
+ for block in message.content_blocks
+ }
+ assert extras["call_A"]["async"] is True
+ assert "async" not in extras["call_B"]
+ # The flag is metadata only; both remain ordinary tool calls.
+ assert [tc["id"] for tc in message.tool_calls] == ["call_A", "call_B"]
+
+
+def test_async_tool_call_round_trips_to_next_request() -> None:
+ """Test that `async` survives response -> message -> next request."""
+ from langchain_core.tools import tool
+
+ @tool(extras={"async": True})
+ def lookup_price(sku: str) -> str:
+ """Look up a price."""
+ return "1200"
+
+ response = Response(
+ id="resp_123",
+ created_at=1234567890,
+ model=OPENAI_TEST_MODEL,
+ object="response",
+ parallel_tool_calls=True,
+ tools=[],
+ tool_choice="auto",
+ output=[
+ ResponseFunctionToolCall.model_validate(
+ {
+ "type": "function_call",
+ "id": "fc_1",
+ "call_id": "call_A",
+ "name": "lookup_price",
+ "arguments": '{"sku": "WIDGET"}',
+ "async": True,
+ }
+ )
+ ],
+ )
+ for output_version in ("responses/v1", "v1"):
+ message = (
+ _construct_lc_result_from_responses_api(
+ response, output_version=output_version
+ )
+ .generations[0]
+ .message
+ )
+ llm = ChatOpenAI(
+ model=OPENAI_TEST_MODEL,
+ use_responses_api=True,
+ output_version=output_version,
+ )
+ bound = llm.bind_tools([lookup_price])
+ payload = bound._get_request_payload( # type: ignore[attr-defined]
+ [HumanMessage("price?"), message, HumanMessage("anything else?")],
+ **bound.kwargs, # type: ignore[attr-defined]
+ )
+ function_calls = [
+ item for item in payload["input"] if item.get("type") ==
"function_call"
+ ]
+ # Without the flag the Responses API rejects the turn for a missing
output.
+ assert function_calls[0]["async"] is True, output_version
+
+
+def test_async_tool_from_extras_in_payload() -> None:
+ """Test that `async` from `BaseTool.extras` reaches the Responses tool
def."""
+ from langchain_core.tools import tool
+
+ @tool(extras={"async": True})
+ def lookup_price(sku: str) -> str:
+ """Look up a price."""
+ return "1200"
+
+ @tool
+ def get_time() -> str:
+ """Get the current time."""
+ return "14:05"
+
+ llm = ChatOpenAI(model=OPENAI_TEST_MODEL, use_responses_api=True)
+ bound = llm.bind_tools([lookup_price, get_time])
+ payload = bound._get_request_payload( # type: ignore[attr-defined]
+ "test",
+ **bound.kwargs, # type: ignore[attr-defined]
+ )
+ tools_by_name = {t["name"]: t for t in payload["tools"]}
+ assert tools_by_name["lookup_price"]["async"] is True
+ # Tools that don't opt in are unaffected.
+ assert "async" not in tools_by_name["get_time"]
+
+
+def test_async_tool_raw_dict_passthrough() -> None:
+ """Test that `async` on a raw tool dict is preserved."""
+ llm = ChatOpenAI(model=OPENAI_TEST_MODEL, use_responses_api=True)
+ raw_tool = {
+ "type": "function",
+ "name": "lookup_price",
+ "description": "Look up a price.",
+ "async": True,
+ "parameters": {
+ "type": "object",
+ "properties": {"sku": {"type": "string"}},
+ },
+ }
+ bound = llm.bind_tools([raw_tool])
+ payload = bound._get_request_payload( # type: ignore[attr-defined]
+ "test",
+ **bound.kwargs, # type: ignore[attr-defined]
+ )
+ assert payload["tools"][0]["async"] is True
+
+
def test_langsmith_gateway_true(monkeypatch: pytest.MonkeyPatch) -> None:
monkeypatch.setenv("LANGSMITH_GATEWAY", "true")
llm = ChatOpenAI(model=OPENAI_TEST_MODEL, api_key=SecretStr("test"))
@@ -5217,3 +5414,83 @@
assert llm.openai_api_base == "https://api.openai.com/v1"
assert isinstance(llm.openai_api_key, SecretStr)
assert llm.openai_api_key.get_secret_value() == "provider-key"
+
+
+def test_configuration_update_block_becomes_input_item() -> None:
+ """A `configuration_update` block is hoisted out of the message content.
+
+ The Responses API expects it as a top-level input item preceding the
message
+ it applies to, not as a content block nested inside one.
+ """
+ llm = ChatOpenAI(model="gpt-6-astra", use_responses_api=True)
+ payload = llm._get_request_payload(
+ [
+ HumanMessage(
+ [
+ {"type": "configuration_update", "reasoning": {"effort":
"high"}},
+ {"type": "text", "text": "Hello"},
+ ]
+ )
+ ]
+ )
+
+ assert payload["input"] == [
+ {"type": "configuration_update", "reasoning": {"effort": "high"}},
+ {
+ "role": "user",
+ "content": [{"type": "input_text", "text": "Hello"}],
+ "type": "message",
+ },
+ ]
+
+
+def test_configuration_update_block_keeps_position_across_turns() -> None:
+ """The item stays put as the conversation grows, so the prefix stays
cacheable.
+
+ Re-deriving the item per request would shift it forward each turn and
truncate
+ the cached prefix to whatever precedes it.
+ """
+ llm = ChatOpenAI(model="gpt-6-astra", use_responses_api=True)
+ messages: list = [
+ HumanMessage("First question"),
+ AIMessage("First answer", response_metadata={"id": "resp_123"}),
+ HumanMessage(
+ [
+ {"type": "configuration_update", "reasoning": {"effort":
"high"}},
+ {"type": "text", "text": "Second question"},
+ ]
+ ),
+ ]
+ first = llm._get_request_payload(messages)
+ assert [item.get("role") or item["type"] for item in first["input"]] == [
+ "user",
+ "assistant",
+ "configuration_update",
+ "user",
+ ]
+
+ messages += [
+ AIMessage("Second answer", response_metadata={"id": "resp_456"}),
+ HumanMessage("Third question"),
+ ]
+ second = llm._get_request_payload(messages)
+ assert second["input"][: len(first["input"])] == first["input"]
+
+
+def test_configuration_update_block_without_text() -> None:
+ """An update with no accompanying text still yields the input item."""
+ llm = ChatOpenAI(model="gpt-6-astra", use_responses_api=True)
+ payload = llm._get_request_payload(
+ [
+ HumanMessage("Earlier question"),
+ AIMessage("Earlier answer", response_metadata={"id": "resp_123"}),
+ HumanMessage(
+ [{"type": "configuration_update", "reasoning": {"effort":
"low"}}]
+ ),
+ ]
+ )
+
+ assert payload["input"][-1] == {
+ "type": "configuration_update",
+ "reasoning": {"effort": "low"},
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_openai-1.6.0/tests/unit_tests/conftest.py
new/langchain_openai-1.6.2/tests/unit_tests/conftest.py
--- old/langchain_openai-1.6.0/tests/unit_tests/conftest.py 1970-01-01
01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/tests/unit_tests/conftest.py 2020-02-02
01:00:00.000000000 +0100
@@ -0,0 +1,35 @@
+"""Shared fixtures for `langchain-openai` unit tests."""
+
+import pytest
+
+# Set by CI (and by developers routing local traffic through the LangSmith
+# gateway). `ChatOpenAI` resolves these at construction time and swaps in the
+# gateway base URL and key, which flips `_uses_gateway` and diverts mocked
+# clients down the `with_raw_response` path.
+_GATEWAY_VARS = (
+ "LANGSMITH_GATEWAY",
+ "LANGSMITH_GATEWAY_API_KEY",
+ "LANGSMITH_API_KEY",
+)
+
+_PROVIDER_VARS = (
+ "OPENAI_BASE_URL",
+ "OPENAI_API_BASE",
+ "OPENAI_ORG_ID",
+ "OPENAI_ORGANIZATION",
+ "OPENAI_PROXY",
+)
+
+
[email protected](autouse=True)
+def hermetic_env(monkeypatch: pytest.MonkeyPatch) -> None:
+ """Isolate unit tests from ambient OpenAI and gateway configuration.
+
+ Unit tests run offline against mocked clients, so any real credential or
+ base URL in the environment can only change behavior for the worse. Tests
+ that exercise environment handling override these with their own
+ `monkeypatch` calls, which still take precedence.
+ """
+ for var in (*_GATEWAY_VARS, *_PROVIDER_VARS):
+ monkeypatch.delenv(var, raising=False)
+ monkeypatch.setenv("OPENAI_API_KEY", "foo")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/tests/unit_tests/embeddings/test_base.py
new/langchain_openai-1.6.2/tests/unit_tests/embeddings/test_base.py
--- old/langchain_openai-1.6.0/tests/unit_tests/embeddings/test_base.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/tests/unit_tests/embeddings/test_base.py
2020-02-02 01:00:00.000000000 +0100
@@ -1,4 +1,3 @@
-import os
from typing import Any
from unittest.mock import Mock, patch
@@ -7,8 +6,6 @@
from langchain_openai import OpenAIEmbeddings
-os.environ["OPENAI_API_KEY"] = "foo"
-
def test_openai_invalid_model_kwargs() -> None:
with pytest.raises(ValueError):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_openai-1.6.0/tests/unit_tests/llms/test_base.py
new/langchain_openai-1.6.2/tests/unit_tests/llms/test_base.py
--- old/langchain_openai-1.6.0/tests/unit_tests/llms/test_base.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/tests/unit_tests/llms/test_base.py
2020-02-02 01:00:00.000000000 +0100
@@ -1,13 +1,9 @@
-import os
-
import pytest
from langchain_core.outputs import GenerationChunk
from langchain_openai import OpenAI
from langchain_openai.llms.base import _stream_response_to_generation_chunk
-os.environ["OPENAI_API_KEY"] = "foo"
-
OPENAI_LLM_TEST_MODEL = "gpt-3.5-turbo-instruct"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_openai-1.6.0/uv.lock
new/langchain_openai-1.6.2/uv.lock
--- old/langchain_openai-1.6.0/uv.lock 2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_openai-1.6.2/uv.lock 2020-02-02 01:00:00.000000000 +0100
@@ -3,12 +3,12 @@
requires-python = ">=3.10.0, <4.0.0"
resolution-markers = [
"python_full_version >= '3.15' and platform_python_implementation ==
'PyPy'",
- "python_full_version >= '3.13' and python_full_version < '3.15' and
platform_python_implementation == 'PyPy'",
"python_full_version >= '3.15' and platform_python_implementation !=
'PyPy'",
+ "python_full_version >= '3.13' and python_full_version < '3.15' and
platform_python_implementation == 'PyPy'",
"python_full_version >= '3.13' and python_full_version < '3.15' and
platform_python_implementation != 'PyPy'",
"python_full_version == '3.12.*' and platform_python_implementation ==
'PyPy' and sys_platform == 'emscripten'",
- "(python_full_version >= '3.11' and python_full_version < '3.13' and
platform_python_implementation == 'PyPy' and sys_platform != 'emscripten') or
(python_full_version == '3.11.*' and platform_python_implementation == 'PyPy'
and sys_platform == 'emscripten')",
"python_full_version == '3.12.*' and platform_python_implementation !=
'PyPy' and sys_platform == 'emscripten'",
+ "(python_full_version >= '3.11' and python_full_version < '3.13' and
platform_python_implementation == 'PyPy' and sys_platform != 'emscripten') or
(python_full_version == '3.11.*' and platform_python_implementation == 'PyPy'
and sys_platform == 'emscripten')",
"(python_full_version >= '3.11' and python_full_version < '3.13' and
platform_python_implementation != 'PyPy' and sys_platform != 'emscripten') or
(python_full_version == '3.11.*' and platform_python_implementation != 'PyPy'
and sys_platform == 'emscripten')",
"python_full_version < '3.11' and platform_python_implementation ==
'PyPy'",
"python_full_version < '3.11' and platform_python_implementation !=
'PyPy'",
@@ -387,20 +387,11 @@
]
[[package]]
-name = "distro"
-version = "1.9.0"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url =
"https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz",
hash =
"sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size
= 60722, upload-time = "2023-12-24T09:54:32.31Z" }
-wheels = [
- { url =
"https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl",
hash =
"sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size
= 20277, upload-time = "2023-12-24T09:54:30.421Z" },
-]
-
-[[package]]
name = "exceptiongroup"
version = "1.3.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
+ { name = "typing-extensions" },
]
sdist = { url =
"https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz",
hash =
"sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size
= 29749, upload-time = "2025-05-10T17:42:51.123Z" }
wheels = [
@@ -452,15 +443,15 @@
[[package]]
name = "httpcore2"
-version = "2.10.0"
+version = "2.12.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "h11", marker = "python_full_version != '3.12.*' or sys_platform
!= 'emscripten'" },
- { name = "truststore", marker = "python_full_version != '3.12.*' or
sys_platform != 'emscripten'" },
+ { name = "h11" },
+ { name = "truststore" },
]
-sdist = { url =
"https://files.pythonhosted.org/packages/a9/83/a896fc59940fc5a6e2aff3a4be1d92fa890112936803b331cae75a993c34/httpcore2-2.10.0.tar.gz",
hash =
"sha256:13c0cc3d1919d4f28457f60cd2c2abe04113a8af184ccf1142811beba936f9dc", size
= 67427, upload-time = "2026-08-09T09:11:32.123Z" }
+sdist = { url =
"https://files.pythonhosted.org/packages/be/ad/f4f0e57345f1870f3e8cb624e058d7eca6e5a27d33bcc3311d9b618734cd/httpcore2-2.12.0.tar.gz",
hash =
"sha256:9293522bba0aa7c4c8e9e3f040c16575bd8868e155a77fa30c7a9085a5eae648", size
= 67548, upload-time = "2026-08-18T13:22:08.211Z" }
wheels = [
- { url =
"https://files.pythonhosted.org/packages/e5/4f/d149104195a35e2853a2fc203a8e3477747e58c80e17dda686dace174383/httpcore2-2.10.0-py3-none-any.whl",
hash =
"sha256:7df06cfb34070cae4f7c89be69dc1095eca138e9704ceffb98d25c1912ab6f01", size
= 83000, upload-time = "2026-08-09T09:11:29.555Z" },
+ { url =
"https://files.pythonhosted.org/packages/d2/74/d370e55600d9bcfa0d9794b0166126d49291a3d2b20c268fc98c453a4948/httpcore2-2.12.0-py3-none-any.whl",
hash =
"sha256:7e04258ce01013d7d615e5b910a3b27fac937d7a95038227e79652b4ba3b4ceb", size
= 83074, upload-time = "2026-08-18T13:22:05.854Z" },
]
[[package]]
@@ -480,7 +471,7 @@
[[package]]
name = "httpx2"
-version = "2.10.0"
+version = "2.12.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio", marker = "sys_platform != 'emscripten'" },
@@ -490,9 +481,9 @@
{ name = "truststore", marker = "sys_platform != 'emscripten'" },
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
]
-sdist = { url =
"https://files.pythonhosted.org/packages/bd/3d/f9a8c07a3884f3e5b26205e8436a18b3af61c5d53192c3bea235574dbbec/httpx2-2.10.0.tar.gz",
hash =
"sha256:8741d7329fe2c7885fc9ceb61c8217acfb87a85f75723714b89ebf7ad7196338", size
= 98749, upload-time = "2026-08-09T09:11:33.24Z" }
+sdist = { url =
"https://files.pythonhosted.org/packages/7f/f8/579a8b51e42e38ee32647df9f08aa25643ae788e275cc625b199829c4671/httpx2-2.12.0.tar.gz",
hash =
"sha256:7631fe9887a8a2275f4a2540e053aa670fcc50742864a9ae7c66e609fdcf12cf", size
= 100040, upload-time = "2026-08-18T13:22:09.086Z" }
wheels = [
- { url =
"https://files.pythonhosted.org/packages/b9/6d/a637d52449d98a6892d9a4dc0262587afdb6a66f201871842dce5a97b1c1/httpx2-2.10.0-py3-none-any.whl",
hash =
"sha256:5e3194a432701e1cc6f69a8b1b2fa199ef907013fede8d9a09a2c5b7b8141a18", size
= 94355, upload-time = "2026-08-09T09:11:30.882Z" },
+ { url =
"https://files.pythonhosted.org/packages/c8/95/411ba65569158e862368917aaf56597f3e5fa3b91b0502919638465a08f3/httpx2-2.12.0-py3-none-any.whl",
hash =
"sha256:cc8b6eecb8661c146b8f89a60e97456ee086e91a784ed31ac450c3a9e613dd36", size
= 95427, upload-time = "2026-08-18T13:22:06.834Z" },
]
[[package]]
@@ -524,99 +515,101 @@
[[package]]
name = "jiter"
-version = "0.11.1"
+version = "0.16.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url =
"https://files.pythonhosted.org/packages/a3/68/0357982493a7b20925aece061f7fb7a2678e3b232f8d73a6edb7e5304443/jiter-0.11.1.tar.gz",
hash =
"sha256:849dcfc76481c0ea0099391235b7ca97d7279e0fa4c86005457ac7c88e8b76dc", size
= 168385, upload-time = "2025-10-17T11:31:15.186Z" }
+sdist = { url =
"https://files.pythonhosted.org/packages/1d/1f/10936e16d8860c70698a1aa939a46aa0224813b782bce4e000e637da0b2d/jiter-0.16.0.tar.gz",
hash =
"sha256:7b24c3492c5f4f84a37946ad9cf504910cf6a782d6a4e0689b6673c5894b4a1c", size
= 176431, upload-time = "2026-06-29T13:05:13.657Z" }
wheels = [
- { url =
"https://files.pythonhosted.org/packages/12/10/d099def5716452c8d5ffa527405373a44ddaf8e3c9d4f6de1e1344cffd90/jiter-0.11.1-cp310-cp310-macosx_10_12_x86_64.whl",
hash =
"sha256:ed58841a491bbbf3f7c55a6b68fff568439ab73b2cce27ace0e169057b5851df", size
= 310078, upload-time = "2025-10-17T11:28:36.186Z" },
- { url =
"https://files.pythonhosted.org/packages/fe/56/b81d010b0031ffa96dfb590628562ac5f513ce56aa2ab451d29fb3fedeb9/jiter-0.11.1-cp310-cp310-macosx_11_0_arm64.whl",
hash =
"sha256:499beb9b2d7e51d61095a8de39ebcab1d1778f2a74085f8305a969f6cee9f3e4", size
= 317138, upload-time = "2025-10-17T11:28:38.294Z" },
- { url =
"https://files.pythonhosted.org/packages/89/12/31ea12af9d79671cc7bd893bf0ccaf3467624c0fc7146a0cbfe7b549bcfa/jiter-0.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:b87b2821795e28cc990939b68ce7a038edea680a24910bd68a79d54ff3f03c02", size
= 348964, upload-time = "2025-10-17T11:28:40.103Z" },
- { url =
"https://files.pythonhosted.org/packages/bc/d2/95cb6dc5ff962410667a29708c7a6c0691cc3c4866a0bfa79d085b56ebd6/jiter-0.11.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:83f6fa494d8bba14ab100417c80e70d32d737e805cb85be2052d771c76fcd1f8", size
= 363289, upload-time = "2025-10-17T11:28:41.49Z" },
- { url =
"https://files.pythonhosted.org/packages/b8/3e/37006ad5843a0bc3a3ec3a6c44710d7a154113befaf5f26d2fe190668b63/jiter-0.11.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:5fbc6aea1daa2ec6f5ed465f0c5e7b0607175062ceebbea5ca70dd5ddab58083", size
= 487243, upload-time = "2025-10-17T11:28:43.209Z" },
- { url =
"https://files.pythonhosted.org/packages/80/5c/d38c8c801a322a0c0de47b9618c16fd766366f087ce37c4e55ae8e3c8b03/jiter-0.11.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:302288e2edc43174bb2db838e94688d724f9aad26c5fb9a74f7a5fb427452a6a", size
= 376139, upload-time = "2025-10-17T11:28:44.821Z" },
- { url =
"https://files.pythonhosted.org/packages/b0/cd/442ad2389a5570b0ee673f93e14bbe8cdecd3e08a9ba7756081d84065e4c/jiter-0.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:85db563fe3b367bb568af5d29dea4d4066d923b8e01f3417d25ebecd958de815", size
= 359279, upload-time = "2025-10-17T11:28:46.152Z" },
- { url =
"https://files.pythonhosted.org/packages/9a/35/8f5810d0e7d00bc395889085dbc1ccc36d454b56f28b2a5359dfd1bab48d/jiter-0.11.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:f1c1ba2b6b22f775444ef53bc2d5778396d3520abc7b2e1da8eb0c27cb3ffb10", size
= 384911, upload-time = "2025-10-17T11:28:48.03Z" },
- { url =
"https://files.pythonhosted.org/packages/3c/bd/8c069ceb0bafcf6b4aa5de0c27f02faf50468df39564a02e1a12389ad6c2/jiter-0.11.1-cp310-cp310-musllinux_1_1_aarch64.whl",
hash =
"sha256:523be464b14f8fd0cc78da6964b87b5515a056427a2579f9085ce30197a1b54a", size
= 517879, upload-time = "2025-10-17T11:28:49.902Z" },
- { url =
"https://files.pythonhosted.org/packages/bc/3c/9163efcf762f79f47433078b4f0a1bddc56096082c02c6cae2f47f07f56f/jiter-0.11.1-cp310-cp310-musllinux_1_1_x86_64.whl",
hash =
"sha256:25b99b3f04cd2a38fefb22e822e35eb203a2cd37d680dbbc0c0ba966918af336", size
= 508739, upload-time = "2025-10-17T11:28:51.785Z" },
- { url =
"https://files.pythonhosted.org/packages/44/07/50690f257935845d3114b95b5dd03749eeaab5e395cbb522f9e957da4551/jiter-0.11.1-cp310-cp310-win32.whl",
hash =
"sha256:47a79e90545a596bb9104109777894033347b11180d4751a216afef14072dbe7", size
= 203948, upload-time = "2025-10-17T11:28:54.368Z" },
- { url =
"https://files.pythonhosted.org/packages/d2/3a/5964a944bf2e98ffd566153fdc2a6a368fcb11b58cc46832ca8c75808dba/jiter-0.11.1-cp310-cp310-win_amd64.whl",
hash =
"sha256:cace75621ae9bd66878bf69fbd4dfc1a28ef8661e0c2d0eb72d3d6f1268eddf5", size
= 207522, upload-time = "2025-10-17T11:28:56.79Z" },
- { url =
"https://files.pythonhosted.org/packages/8b/34/c9e6cfe876f9a24f43ed53fe29f052ce02bd8d5f5a387dbf46ad3764bef0/jiter-0.11.1-cp311-cp311-macosx_10_12_x86_64.whl",
hash =
"sha256:9b0088ff3c374ce8ce0168523ec8e97122ebb788f950cf7bb8e39c7dc6a876a2", size
= 310160, upload-time = "2025-10-17T11:28:59.174Z" },
- { url =
"https://files.pythonhosted.org/packages/bc/9f/b06ec8181d7165858faf2ac5287c54fe52b2287760b7fe1ba9c06890255f/jiter-0.11.1-cp311-cp311-macosx_11_0_arm64.whl",
hash =
"sha256:74433962dd3c3090655e02e461267095d6c84f0741c7827de11022ef8d7ff661", size
= 316573, upload-time = "2025-10-17T11:29:00.905Z" },
- { url =
"https://files.pythonhosted.org/packages/66/49/3179d93090f2ed0c6b091a9c210f266d2d020d82c96f753260af536371d0/jiter-0.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:6d98030e345e6546df2cc2c08309c502466c66c4747b043f1a0d415fada862b8", size
= 348998, upload-time = "2025-10-17T11:29:02.321Z" },
- { url =
"https://files.pythonhosted.org/packages/ae/9d/63db2c8eabda7a9cad65a2e808ca34aaa8689d98d498f5a2357d7a2e2cec/jiter-0.11.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:1d6db0b2e788db46bec2cf729a88b6dd36959af2abd9fa2312dfba5acdd96dcb", size
= 363413, upload-time = "2025-10-17T11:29:03.787Z" },
- { url =
"https://files.pythonhosted.org/packages/25/ff/3e6b3170c5053053c7baddb8d44e2bf11ff44cd71024a280a8438ae6ba32/jiter-0.11.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:55678fbbda261eafe7289165dd2ddd0e922df5f9a1ae46d7c79a5a15242bd7d1", size
= 487144, upload-time = "2025-10-17T11:29:05.37Z" },
- { url =
"https://files.pythonhosted.org/packages/b0/50/b63fcadf699893269b997f4c2e88400bc68f085c6db698c6e5e69d63b2c1/jiter-0.11.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:6a6b74fae8e40497653b52ce6ca0f1b13457af769af6fb9c1113efc8b5b4d9be", size
= 376215, upload-time = "2025-10-17T11:29:07.123Z" },
- { url =
"https://files.pythonhosted.org/packages/39/8c/57a8a89401134167e87e73471b9cca321cf651c1fd78c45f3a0f16932213/jiter-0.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:0a55a453f8b035eb4f7852a79a065d616b7971a17f5e37a9296b4b38d3b619e4", size
= 359163, upload-time = "2025-10-17T11:29:09.047Z" },
- { url =
"https://files.pythonhosted.org/packages/4b/96/30b0cdbffbb6f753e25339d3dbbe26890c9ef119928314578201c758aace/jiter-0.11.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:2638148099022e6bdb3f42904289cd2e403609356fb06eb36ddec2d50958bc29", size
= 385344, upload-time = "2025-10-17T11:29:10.69Z" },
- { url =
"https://files.pythonhosted.org/packages/c6/d5/31dae27c1cc9410ad52bb514f11bfa4f286f7d6ef9d287b98b8831e156ec/jiter-0.11.1-cp311-cp311-musllinux_1_1_aarch64.whl",
hash =
"sha256:252490567a5d990986f83b95a5f1ca1bf205ebd27b3e9e93bb7c2592380e29b9", size
= 517972, upload-time = "2025-10-17T11:29:12.174Z" },
- { url =
"https://files.pythonhosted.org/packages/61/1e/5905a7a3aceab80de13ab226fd690471a5e1ee7e554dc1015e55f1a6b896/jiter-0.11.1-cp311-cp311-musllinux_1_1_x86_64.whl",
hash =
"sha256:d431d52b0ca2436eea6195f0f48528202100c7deda354cb7aac0a302167594d5", size
= 508408, upload-time = "2025-10-17T11:29:13.597Z" },
- { url =
"https://files.pythonhosted.org/packages/91/12/1c49b97aa49077e136e8591cef7162f0d3e2860ae457a2d35868fd1521ef/jiter-0.11.1-cp311-cp311-win32.whl",
hash =
"sha256:db6f41e40f8bae20c86cb574b48c4fd9f28ee1c71cb044e9ec12e78ab757ba3a", size
= 203937, upload-time = "2025-10-17T11:29:14.894Z" },
- { url =
"https://files.pythonhosted.org/packages/6d/9d/2255f7c17134ee9892c7e013c32d5bcf4bce64eb115402c9fe5e727a67eb/jiter-0.11.1-cp311-cp311-win_amd64.whl",
hash =
"sha256:0cc407b8e6cdff01b06bb80f61225c8b090c3df108ebade5e0c3c10993735b19", size
= 207589, upload-time = "2025-10-17T11:29:16.166Z" },
- { url =
"https://files.pythonhosted.org/packages/3c/28/6307fc8f95afef84cae6caf5429fee58ef16a582c2ff4db317ceb3e352fa/jiter-0.11.1-cp311-cp311-win_arm64.whl",
hash =
"sha256:fe04ea475392a91896d1936367854d346724a1045a247e5d1c196410473b8869", size
= 188391, upload-time = "2025-10-17T11:29:17.488Z" },
- { url =
"https://files.pythonhosted.org/packages/15/8b/318e8af2c904a9d29af91f78c1e18f0592e189bbdb8a462902d31fe20682/jiter-0.11.1-cp312-cp312-macosx_10_12_x86_64.whl",
hash =
"sha256:c92148eec91052538ce6823dfca9525f5cfc8b622d7f07e9891a280f61b8c96c", size
= 305655, upload-time = "2025-10-17T11:29:18.859Z" },
- { url =
"https://files.pythonhosted.org/packages/f7/29/6c7de6b5d6e511d9e736312c0c9bfcee8f9b6bef68182a08b1d78767e627/jiter-0.11.1-cp312-cp312-macosx_11_0_arm64.whl",
hash =
"sha256:ecd4da91b5415f183a6be8f7158d127bdd9e6a3174138293c0d48d6ea2f2009d", size
= 315645, upload-time = "2025-10-17T11:29:20.889Z" },
- { url =
"https://files.pythonhosted.org/packages/ac/5f/ef9e5675511ee0eb7f98dd8c90509e1f7743dbb7c350071acae87b0145f3/jiter-0.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:d7e3ac25c00b9275684d47aa42febaa90a9958e19fd1726c4ecf755fbe5e553b", size
= 348003, upload-time = "2025-10-17T11:29:22.712Z" },
- { url =
"https://files.pythonhosted.org/packages/56/1b/abe8c4021010b0a320d3c62682769b700fb66f92c6db02d1a1381b3db025/jiter-0.11.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:57d7305c0a841858f866cd459cd9303f73883fb5e097257f3d4a3920722c69d4", size
= 365122, upload-time = "2025-10-17T11:29:24.408Z" },
- { url =
"https://files.pythonhosted.org/packages/2a/2d/4a18013939a4f24432f805fbd5a19893e64650b933edb057cd405275a538/jiter-0.11.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:e86fa10e117dce22c547f31dd6d2a9a222707d54853d8de4e9a2279d2c97f239", size
= 488360, upload-time = "2025-10-17T11:29:25.724Z" },
- { url =
"https://files.pythonhosted.org/packages/f0/77/38124f5d02ac4131f0dfbcfd1a19a0fac305fa2c005bc4f9f0736914a1a4/jiter-0.11.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:ae5ef1d48aec7e01ee8420155d901bb1d192998fa811a65ebb82c043ee186711", size
= 376884, upload-time = "2025-10-17T11:29:27.056Z" },
- { url =
"https://files.pythonhosted.org/packages/7b/43/59fdc2f6267959b71dd23ce0bd8d4aeaf55566aa435a5d00f53d53c7eb24/jiter-0.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:eb68e7bf65c990531ad8715e57d50195daf7c8e6f1509e617b4e692af1108939", size
= 358827, upload-time = "2025-10-17T11:29:28.698Z" },
- { url =
"https://files.pythonhosted.org/packages/7d/d0/b3cc20ff5340775ea3bbaa0d665518eddecd4266ba7244c9cb480c0c82ec/jiter-0.11.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:43b30c8154ded5845fa454ef954ee67bfccce629b2dea7d01f795b42bc2bda54", size
= 385171, upload-time = "2025-10-17T11:29:30.078Z" },
- { url =
"https://files.pythonhosted.org/packages/d2/bc/94dd1f3a61f4dc236f787a097360ec061ceeebebf4ea120b924d91391b10/jiter-0.11.1-cp312-cp312-musllinux_1_1_aarch64.whl",
hash =
"sha256:586cafbd9dd1f3ce6a22b4a085eaa6be578e47ba9b18e198d4333e598a91db2d", size
= 518359, upload-time = "2025-10-17T11:29:31.464Z" },
- { url =
"https://files.pythonhosted.org/packages/7e/8c/12ee132bd67e25c75f542c227f5762491b9a316b0dad8e929c95076f773c/jiter-0.11.1-cp312-cp312-musllinux_1_1_x86_64.whl",
hash =
"sha256:677cc2517d437a83bb30019fd4cf7cad74b465914c56ecac3440d597ac135250", size
= 509205, upload-time = "2025-10-17T11:29:32.895Z" },
- { url =
"https://files.pythonhosted.org/packages/39/d5/9de848928ce341d463c7e7273fce90ea6d0ea4343cd761f451860fa16b59/jiter-0.11.1-cp312-cp312-win32.whl",
hash =
"sha256:fa992af648fcee2b850a3286a35f62bbbaeddbb6dbda19a00d8fbc846a947b6e", size
= 205448, upload-time = "2025-10-17T11:29:34.217Z" },
- { url =
"https://files.pythonhosted.org/packages/ee/b0/8002d78637e05009f5e3fb5288f9d57d65715c33b5d6aa20fd57670feef5/jiter-0.11.1-cp312-cp312-win_amd64.whl",
hash =
"sha256:88b5cae9fa51efeb3d4bd4e52bfd4c85ccc9cac44282e2a9640893a042ba4d87", size
= 204285, upload-time = "2025-10-17T11:29:35.446Z" },
- { url =
"https://files.pythonhosted.org/packages/9f/a2/bb24d5587e4dff17ff796716542f663deee337358006a80c8af43ddc11e5/jiter-0.11.1-cp312-cp312-win_arm64.whl",
hash =
"sha256:9a6cae1ab335551917f882f2c3c1efe7617b71b4c02381e4382a8fc80a02588c", size
= 188712, upload-time = "2025-10-17T11:29:37.027Z" },
- { url =
"https://files.pythonhosted.org/packages/7c/4b/e4dd3c76424fad02a601d570f4f2a8438daea47ba081201a721a903d3f4c/jiter-0.11.1-cp313-cp313-macosx_10_12_x86_64.whl",
hash =
"sha256:71b6a920a5550f057d49d0e8bcc60945a8da998019e83f01adf110e226267663", size
= 305272, upload-time = "2025-10-17T11:29:39.249Z" },
- { url =
"https://files.pythonhosted.org/packages/67/83/2cd3ad5364191130f4de80eacc907f693723beaab11a46c7d155b07a092c/jiter-0.11.1-cp313-cp313-macosx_11_0_arm64.whl",
hash =
"sha256:0b3de72e925388453a5171be83379549300db01284f04d2a6f244d1d8de36f94", size
= 314038, upload-time = "2025-10-17T11:29:40.563Z" },
- { url =
"https://files.pythonhosted.org/packages/d3/3c/8e67d9ba524e97d2f04c8f406f8769a23205026b13b0938d16646d6e2d3e/jiter-0.11.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:cc19dd65a2bd3d9c044c5b4ebf657ca1e6003a97c0fc10f555aa4f7fb9821c00", size
= 345977, upload-time = "2025-10-17T11:29:42.009Z" },
- { url =
"https://files.pythonhosted.org/packages/8d/a5/489ce64d992c29bccbffabb13961bbb0435e890d7f2d266d1f3df5e917d2/jiter-0.11.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:d58faaa936743cd1464540562f60b7ce4fd927e695e8bc31b3da5b914baa9abd", size
= 364503, upload-time = "2025-10-17T11:29:43.459Z" },
- { url =
"https://files.pythonhosted.org/packages/d4/c0/e321dd83ee231d05c8fe4b1a12caf1f0e8c7a949bf4724d58397104f10f2/jiter-0.11.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:902640c3103625317291cb73773413b4d71847cdf9383ba65528745ff89f1d14", size
= 487092, upload-time = "2025-10-17T11:29:44.835Z" },
- { url =
"https://files.pythonhosted.org/packages/f9/5e/8f24ec49c8d37bd37f34ec0112e0b1a3b4b5a7b456c8efff1df5e189ad43/jiter-0.11.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:30405f726e4c2ed487b176c09f8b877a957f535d60c1bf194abb8dadedb5836f", size
= 376328, upload-time = "2025-10-17T11:29:46.175Z" },
- { url =
"https://files.pythonhosted.org/packages/7f/70/ded107620e809327cf7050727e17ccfa79d6385a771b7fe38fb31318ef00/jiter-0.11.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:3217f61728b0baadd2551844870f65219ac4a1285d5e1a4abddff3d51fdabe96", size
= 356632, upload-time = "2025-10-17T11:29:47.454Z" },
- { url =
"https://files.pythonhosted.org/packages/19/53/c26f7251613f6a9079275ee43c89b8a973a95ff27532c421abc2a87afb04/jiter-0.11.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:b1364cc90c03a8196f35f396f84029f12abe925415049204446db86598c8b72c", size
= 384358, upload-time = "2025-10-17T11:29:49.377Z" },
- { url =
"https://files.pythonhosted.org/packages/84/16/e0f2cc61e9c4d0b62f6c1bd9b9781d878a427656f88293e2a5335fa8ff07/jiter-0.11.1-cp313-cp313-musllinux_1_1_aarch64.whl",
hash =
"sha256:53a54bf8e873820ab186b2dca9f6c3303f00d65ae5e7b7d6bda1b95aa472d646", size
= 517279, upload-time = "2025-10-17T11:29:50.968Z" },
- { url =
"https://files.pythonhosted.org/packages/60/5c/4cd095eaee68961bca3081acbe7c89e12ae24a5dae5fd5d2a13e01ed2542/jiter-0.11.1-cp313-cp313-musllinux_1_1_x86_64.whl",
hash =
"sha256:7e29aca023627b0e0c2392d4248f6414d566ff3974fa08ff2ac8dbb96dfee92a", size
= 508276, upload-time = "2025-10-17T11:29:52.619Z" },
- { url =
"https://files.pythonhosted.org/packages/4f/25/f459240e69b0e09a7706d96ce203ad615ca36b0fe832308d2b7123abf2d0/jiter-0.11.1-cp313-cp313-win32.whl",
hash =
"sha256:f153e31d8bca11363751e875c0a70b3d25160ecbaee7b51e457f14498fb39d8b", size
= 205593, upload-time = "2025-10-17T11:29:53.938Z" },
- { url =
"https://files.pythonhosted.org/packages/7c/16/461bafe22bae79bab74e217a09c907481a46d520c36b7b9fe71ee8c9e983/jiter-0.11.1-cp313-cp313-win_amd64.whl",
hash =
"sha256:f773f84080b667c69c4ea0403fc67bb08b07e2b7ce1ef335dea5868451e60fed", size
= 203518, upload-time = "2025-10-17T11:29:55.216Z" },
- { url =
"https://files.pythonhosted.org/packages/7b/72/c45de6e320edb4fa165b7b1a414193b3cae302dd82da2169d315dcc78b44/jiter-0.11.1-cp313-cp313-win_arm64.whl",
hash =
"sha256:635ecd45c04e4c340d2187bcb1cea204c7cc9d32c1364d251564bf42e0e39c2d", size
= 188062, upload-time = "2025-10-17T11:29:56.631Z" },
- { url =
"https://files.pythonhosted.org/packages/65/9b/4a57922437ca8753ef823f434c2dec5028b237d84fa320f06a3ba1aec6e8/jiter-0.11.1-cp313-cp313t-macosx_11_0_arm64.whl",
hash =
"sha256:d892b184da4d94d94ddb4031296931c74ec8b325513a541ebfd6dfb9ae89904b", size
= 313814, upload-time = "2025-10-17T11:29:58.509Z" },
- { url =
"https://files.pythonhosted.org/packages/76/50/62a0683dadca25490a4bedc6a88d59de9af2a3406dd5a576009a73a1d392/jiter-0.11.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:aa22c223a3041dacb2fcd37c70dfd648b44662b4a48e242592f95bda5ab09d58", size
= 344987, upload-time = "2025-10-17T11:30:00.208Z" },
- { url =
"https://files.pythonhosted.org/packages/da/00/2355dbfcbf6cdeaddfdca18287f0f38ae49446bb6378e4a5971e9356fc8a/jiter-0.11.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:330e8e6a11ad4980cd66a0f4a3e0e2e0f646c911ce047014f984841924729789", size
= 356399, upload-time = "2025-10-17T11:30:02.084Z" },
- { url =
"https://files.pythonhosted.org/packages/c9/07/c2bd748d578fa933d894a55bff33f983bc27f75fc4e491b354bef7b78012/jiter-0.11.1-cp313-cp313t-win_amd64.whl",
hash =
"sha256:09e2e386ebf298547ca3a3704b729471f7ec666c2906c5c26c1a915ea24741ec", size
= 203289, upload-time = "2025-10-17T11:30:03.656Z" },
- { url =
"https://files.pythonhosted.org/packages/e6/ee/ace64a853a1acbd318eb0ca167bad1cf5ee037207504b83a868a5849747b/jiter-0.11.1-cp313-cp313t-win_arm64.whl",
hash =
"sha256:fe4a431c291157e11cee7c34627990ea75e8d153894365a3bc84b7a959d23ca8", size
= 188284, upload-time = "2025-10-17T11:30:05.046Z" },
- { url =
"https://files.pythonhosted.org/packages/8d/00/d6006d069e7b076e4c66af90656b63da9481954f290d5eca8c715f4bf125/jiter-0.11.1-cp314-cp314-macosx_10_12_x86_64.whl",
hash =
"sha256:0fa1f70da7a8a9713ff8e5f75ec3f90c0c870be6d526aa95e7c906f6a1c8c676", size
= 304624, upload-time = "2025-10-17T11:30:06.678Z" },
- { url =
"https://files.pythonhosted.org/packages/fc/45/4a0e31eb996b9ccfddbae4d3017b46f358a599ccf2e19fbffa5e531bd304/jiter-0.11.1-cp314-cp314-macosx_11_0_arm64.whl",
hash =
"sha256:569ee559e5046a42feb6828c55307cf20fe43308e3ae0d8e9e4f8d8634d99944", size
= 315042, upload-time = "2025-10-17T11:30:08.87Z" },
- { url =
"https://files.pythonhosted.org/packages/e7/91/22f5746f5159a28c76acdc0778801f3c1181799aab196dbea2d29e064968/jiter-0.11.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:f69955fa1d92e81987f092b233f0be49d4c937da107b7f7dcf56306f1d3fcce9", size
= 346357, upload-time = "2025-10-17T11:30:10.222Z" },
- { url =
"https://files.pythonhosted.org/packages/f5/4f/57620857d4e1dc75c8ff4856c90cb6c135e61bff9b4ebfb5dc86814e82d7/jiter-0.11.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:090f4c9d4a825e0fcbd0a2647c9a88a0f366b75654d982d95a9590745ff0c48d", size
= 365057, upload-time = "2025-10-17T11:30:11.585Z" },
- { url =
"https://files.pythonhosted.org/packages/ce/34/caf7f9cc8ae0a5bb25a5440cc76c7452d264d1b36701b90fdadd28fe08ec/jiter-0.11.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:bbf3d8cedf9e9d825233e0dcac28ff15c47b7c5512fdfe2e25fd5bbb6e6b0cee", size
= 487086, upload-time = "2025-10-17T11:30:13.052Z" },
- { url =
"https://files.pythonhosted.org/packages/50/17/85b5857c329d533d433fedf98804ebec696004a1f88cabad202b2ddc55cf/jiter-0.11.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:2aa9b1958f9c30d3d1a558b75f0626733c60eb9b7774a86b34d88060be1e67fe", size
= 376083, upload-time = "2025-10-17T11:30:14.416Z" },
- { url =
"https://files.pythonhosted.org/packages/85/d3/2d9f973f828226e6faebdef034097a2918077ea776fb4d88489949024787/jiter-0.11.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:e42d1ca16590b768c5e7d723055acd2633908baacb3628dd430842e2e035aa90", size
= 357825, upload-time = "2025-10-17T11:30:15.765Z" },
- { url =
"https://files.pythonhosted.org/packages/f4/55/848d4dabf2c2c236a05468c315c2cb9dc736c5915e65449ccecdba22fb6f/jiter-0.11.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:5db4c2486a023820b701a17aec9c5a6173c5ba4393f26662f032f2de9c848b0f", size
= 383933, upload-time = "2025-10-17T11:30:17.34Z" },
- { url =
"https://files.pythonhosted.org/packages/0b/6c/204c95a4fbb0e26dfa7776c8ef4a878d0c0b215868011cc904bf44f707e2/jiter-0.11.1-cp314-cp314-musllinux_1_1_aarch64.whl",
hash =
"sha256:4573b78777ccfac954859a6eff45cbd9d281d80c8af049d0f1a3d9fc323d5c3a", size
= 517118, upload-time = "2025-10-17T11:30:18.684Z" },
- { url =
"https://files.pythonhosted.org/packages/88/25/09956644ea5a2b1e7a2a0f665cb69a973b28f4621fa61fc0c0f06ff40a31/jiter-0.11.1-cp314-cp314-musllinux_1_1_x86_64.whl",
hash =
"sha256:7593ac6f40831d7961cb67633c39b9fef6689a211d7919e958f45710504f52d3", size
= 508194, upload-time = "2025-10-17T11:30:20.719Z" },
- { url =
"https://files.pythonhosted.org/packages/09/49/4d1657355d7f5c9e783083a03a3f07d5858efa6916a7d9634d07db1c23bd/jiter-0.11.1-cp314-cp314-win32.whl",
hash =
"sha256:87202ec6ff9626ff5f9351507def98fcf0df60e9a146308e8ab221432228f4ea", size
= 203961, upload-time = "2025-10-17T11:30:22.073Z" },
- { url =
"https://files.pythonhosted.org/packages/76/bd/f063bd5cc2712e7ca3cf6beda50894418fc0cfeb3f6ff45a12d87af25996/jiter-0.11.1-cp314-cp314-win_amd64.whl",
hash =
"sha256:a5dd268f6531a182c89d0dd9a3f8848e86e92dfff4201b77a18e6b98aa59798c", size
= 202804, upload-time = "2025-10-17T11:30:23.452Z" },
- { url =
"https://files.pythonhosted.org/packages/52/ca/4d84193dfafef1020bf0bedd5e1a8d0e89cb67c54b8519040effc694964b/jiter-0.11.1-cp314-cp314-win_arm64.whl",
hash =
"sha256:5d761f863f912a44748a21b5c4979c04252588ded8d1d2760976d2e42cd8d991", size
= 188001, upload-time = "2025-10-17T11:30:24.915Z" },
- { url =
"https://files.pythonhosted.org/packages/d5/fa/3b05e5c9d32efc770a8510eeb0b071c42ae93a5b576fd91cee9af91689a1/jiter-0.11.1-cp314-cp314t-macosx_11_0_arm64.whl",
hash =
"sha256:2cc5a3965285ddc33e0cab933e96b640bc9ba5940cea27ebbbf6695e72d6511c", size
= 312561, upload-time = "2025-10-17T11:30:26.742Z" },
- { url =
"https://files.pythonhosted.org/packages/50/d3/335822eb216154ddb79a130cbdce88fdf5c3e2b43dc5dba1fd95c485aaf5/jiter-0.11.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:6b572b3636a784c2768b2342f36a23078c8d3aa6d8a30745398b1bab58a6f1a8", size
= 344551, upload-time = "2025-10-17T11:30:28.252Z" },
- { url =
"https://files.pythonhosted.org/packages/31/6d/a0bed13676b1398f9b3ba61f32569f20a3ff270291161100956a577b2dd3/jiter-0.11.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:ad93e3d67a981f96596d65d2298fe8d1aa649deb5374a2fb6a434410ee11915e", size
= 363051, upload-time = "2025-10-17T11:30:30.009Z" },
- { url =
"https://files.pythonhosted.org/packages/a4/03/313eda04aa08545a5a04ed5876e52f49ab76a4d98e54578896ca3e16313e/jiter-0.11.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:a83097ce379e202dcc3fe3fc71a16d523d1ee9192c8e4e854158f96b3efe3f2f", size
= 485897, upload-time = "2025-10-17T11:30:31.429Z" },
- { url =
"https://files.pythonhosted.org/packages/5f/13/a1011b9d325e40b53b1b96a17c010b8646013417f3902f97a86325b19299/jiter-0.11.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:7042c51e7fbeca65631eb0c332f90c0c082eab04334e7ccc28a8588e8e2804d9", size
= 375224, upload-time = "2025-10-17T11:30:33.18Z" },
- { url =
"https://files.pythonhosted.org/packages/92/da/1b45026b19dd39b419e917165ff0ea629dbb95f374a3a13d2df95e40a6ac/jiter-0.11.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:0a68d679c0e47649a61df591660507608adc2652442de7ec8276538ac46abe08", size
= 356606, upload-time = "2025-10-17T11:30:34.572Z" },
- { url =
"https://files.pythonhosted.org/packages/7a/0c/9acb0e54d6a8ba59ce923a180ebe824b4e00e80e56cefde86cc8e0a948be/jiter-0.11.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:a1b0da75dbf4b6ec0b3c9e604d1ee8beaf15bc046fff7180f7d89e3cdbd3bb51", size
= 384003, upload-time = "2025-10-17T11:30:35.987Z" },
- { url =
"https://files.pythonhosted.org/packages/3f/2b/e5a5fe09d6da2145e4eed651e2ce37f3c0cf8016e48b1d302e21fb1628b7/jiter-0.11.1-cp314-cp314t-musllinux_1_1_aarch64.whl",
hash =
"sha256:69dd514bf0fa31c62147d6002e5ca2b3e7ef5894f5ac6f0a19752385f4e89437", size
= 516946, upload-time = "2025-10-17T11:30:37.425Z" },
- { url =
"https://files.pythonhosted.org/packages/5f/fe/db936e16e0228d48eb81f9934e8327e9fde5185e84f02174fcd22a01be87/jiter-0.11.1-cp314-cp314t-musllinux_1_1_x86_64.whl",
hash =
"sha256:bb31ac0b339efa24c0ca606febd8b77ef11c58d09af1b5f2be4c99e907b11111", size
= 507614, upload-time = "2025-10-17T11:30:38.977Z" },
- { url =
"https://files.pythonhosted.org/packages/86/db/c4438e8febfb303486d13c6b72f5eb71cf851e300a0c1f0b4140018dd31f/jiter-0.11.1-cp314-cp314t-win32.whl",
hash =
"sha256:b2ce0d6156a1d3ad41da3eec63b17e03e296b78b0e0da660876fccfada86d2f7", size
= 204043, upload-time = "2025-10-17T11:30:40.308Z" },
- { url =
"https://files.pythonhosted.org/packages/36/59/81badb169212f30f47f817dfaabf965bc9b8204fed906fab58104ee541f9/jiter-0.11.1-cp314-cp314t-win_amd64.whl",
hash =
"sha256:f4db07d127b54c4a2d43b4cf05ff0193e4f73e0dd90c74037e16df0b29f666e1", size
= 204046, upload-time = "2025-10-17T11:30:41.692Z" },
- { url =
"https://files.pythonhosted.org/packages/dd/01/43f7b4eb61db3e565574c4c5714685d042fb652f9eef7e5a3de6aafa943a/jiter-0.11.1-cp314-cp314t-win_arm64.whl",
hash =
"sha256:28e4fdf2d7ebfc935523e50d1efa3970043cfaa161674fe66f9642409d001dfe", size
= 188069, upload-time = "2025-10-17T11:30:43.23Z" },
- { url =
"https://files.pythonhosted.org/packages/9d/51/bd41562dd284e2a18b6dc0a99d195fd4a3560d52ab192c42e56fe0316643/jiter-0.11.1-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl",
hash =
"sha256:e642b5270e61dd02265866398707f90e365b5db2eb65a4f30c789d826682e1f6", size
= 306871, upload-time = "2025-10-17T11:31:03.616Z" },
- { url =
"https://files.pythonhosted.org/packages/ba/cb/64e7f21dd357e8cd6b3c919c26fac7fc198385bbd1d85bb3b5355600d787/jiter-0.11.1-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl",
hash =
"sha256:464ba6d000585e4e2fd1e891f31f1231f497273414f5019e27c00a4b8f7a24ad", size
= 301454, upload-time = "2025-10-17T11:31:05.338Z" },
- { url =
"https://files.pythonhosted.org/packages/55/b0/54bdc00da4ef39801b1419a01035bd8857983de984fd3776b0be6b94add7/jiter-0.11.1-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:055568693ab35e0bf3a171b03bb40b2dcb10352359e0ab9b5ed0da2bf1eb6f6f", size
= 336801, upload-time = "2025-10-17T11:31:06.893Z" },
- { url =
"https://files.pythonhosted.org/packages/de/8f/87176ed071d42e9db415ed8be787ef4ef31a4fa27f52e6a4fbf34387bd28/jiter-0.11.1-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:e0c69ea798d08a915ba4478113efa9e694971e410056392f4526d796f136d3fa", size
= 343452, upload-time = "2025-10-17T11:31:08.259Z" },
- { url =
"https://files.pythonhosted.org/packages/a6/bc/950dd7f170c6394b6fdd73f989d9e729bd98907bcc4430ef080a72d06b77/jiter-0.11.1-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl",
hash =
"sha256:0d4d6993edc83cf75e8c6828a8d6ce40a09ee87e38c7bfba6924f39e1337e21d", size
= 302626, upload-time = "2025-10-17T11:31:09.645Z" },
- { url =
"https://files.pythonhosted.org/packages/3a/65/43d7971ca82ee100b7b9b520573eeef7eabc0a45d490168ebb9a9b5bb8b2/jiter-0.11.1-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl",
hash =
"sha256:f78d151c83a87a6cf5461d5ee55bc730dd9ae227377ac6f115b922989b95f838", size
= 297034, upload-time = "2025-10-17T11:31:10.975Z" },
- { url =
"https://files.pythonhosted.org/packages/19/4c/000e1e0c0c67e96557a279f8969487ea2732d6c7311698819f977abae837/jiter-0.11.1-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:c9022974781155cd5521d5cb10997a03ee5e31e8454c9d999dcdccd253f2353f", size
= 337328, upload-time = "2025-10-17T11:31:12.399Z" },
- { url =
"https://files.pythonhosted.org/packages/d9/71/71408b02c6133153336d29fa3ba53000f1e1a3f78bb2fc2d1a1865d2e743/jiter-0.11.1-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:18c77aaa9117510d5bdc6a946baf21b1f0cfa58ef04d31c8d016f206f2118960", size
= 343697, upload-time = "2025-10-17T11:31:13.773Z" },
+ { url =
"https://files.pythonhosted.org/packages/76/d8/b959609e44012a42b1f3e5ba98ea3b33c7e41e6d4b77cd8f00fd19b1d3ad/jiter-0.16.0-cp310-cp310-macosx_10_12_x86_64.whl",
hash =
"sha256:c5fc4f8def331036a7b8e981b4347ebe409981edbc8308a5ea842b8c3614fa6c", size
= 310082, upload-time = "2026-06-29T13:02:31.356Z" },
+ { url =
"https://files.pythonhosted.org/packages/c6/3d/4d7f5667ea0e0548534ba880b84bb3d12924fd133aa83ad6c6c80fca3d76/jiter-0.16.0-cp310-cp310-macosx_11_0_arm64.whl",
hash =
"sha256:5a71d0d2014c3275043e1170bf3d4e771493cb0dcf07be54c567155f4d8ee64b", size
= 315643, upload-time = "2026-06-29T13:02:33.204Z" },
+ { url =
"https://files.pythonhosted.org/packages/9b/83/bed2dcb5c9f3e1ccfcbc67dda48265fe7d5ad0c9cadda5fe95f6e3b87f94/jiter-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:741eed508c233a76313a1c7b001f8f21b82f14327e9196ae8bd29a2cc164ae84", size
= 341363, upload-time = "2026-06-29T13:02:34.853Z" },
+ { url =
"https://files.pythonhosted.org/packages/f4/2f/6bb3c3dda668ebc0445689c81a2b0f26a82b10843d67ed9c9b2c3edc177f/jiter-0.16.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:3fb7bc819187b56dc48aa5c833aaf92257da8e07efdb9306156667bd2eeb491c", size
= 365483, upload-time = "2026-06-29T13:02:36.295Z" },
+ { url =
"https://files.pythonhosted.org/packages/92/35/8a045ccb39164e70dcdae696413b661771f148b68b12b175c3a04d901937/jiter-0.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:7c9610fd25ebccb43fca584136f5c2fbb26802447eccd430dfdbab95a0fd5126", size
= 461219, upload-time = "2026-06-29T13:02:38.116Z" },
+ { url =
"https://files.pythonhosted.org/packages/e7/99/22292dbbf0ed0c610cfe5ddc7f3bd67237a412f121318f865196e62a07bd/jiter-0.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:4a1d68ff7ca1d3b5dee20a97a3decda7d5f15003823bf6d140c81f8561d3bc5c", size
= 374905, upload-time = "2026-06-29T13:02:40.357Z" },
+ { url =
"https://files.pythonhosted.org/packages/29/ac/2f55ccb1f0eeafa6d89d24caf52f6f0944a59290ee199e9ade62177dca42/jiter-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:fb08c276dd02dac3a284acdd02cacc630d2e3cd6572a4b85519f35cbd133c3de", size
= 348320, upload-time = "2026-06-29T13:02:41.923Z" },
+ { url =
"https://files.pythonhosted.org/packages/50/e3/7d88b9174c40064fabc07c84a9b62e6b10f5644562ec0e0a29392edbe978/jiter-0.16.0-cp310-cp310-manylinux_2_31_riscv64.whl",
hash =
"sha256:8fc4d94713c4697347e38faf7d6ef91547c142219bdcfc7220c4870879974244", size
= 356519, upload-time = "2026-06-29T13:02:43.436Z" },
+ { url =
"https://files.pythonhosted.org/packages/27/57/c4a33aeef513a9d5e26e31534e0bcc752d6ea0e54c94ddb7b68bade669c2/jiter-0.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:1a0f05e229edb29e68cdd0ccb83cea13b64263416120cf943767a6fd72e6787f", size
= 394204, upload-time = "2026-06-29T13:02:44.987Z" },
+ { url =
"https://files.pythonhosted.org/packages/9d/70/c6c23e76ebb3766b111bc399437bbc9f870a76e2a92e10b2a5f561d57372/jiter-0.16.0-cp310-cp310-musllinux_1_1_aarch64.whl",
hash =
"sha256:2c842cbf374a8daf50b2c04212995bee34ca2ac2cdc29a901b4cdb072c9c4131", size
= 521477, upload-time = "2026-06-29T13:02:46.724Z" },
+ { url =
"https://files.pythonhosted.org/packages/2a/d3/0001c8c0c5976af2625bb1cfb1895e8ec693b6589fe4574b8e6fc2c85501/jiter-0.16.0-cp310-cp310-musllinux_1_1_x86_64.whl",
hash =
"sha256:5ed466aee31294d7cdcd4d37dfe5c42c97bc29d9a5f00eacf24504358309cb9b", size
= 552187, upload-time = "2026-06-29T13:02:48.144Z" },
+ { url =
"https://files.pythonhosted.org/packages/f6/76/311b718e07e85740e48619c0632b36f7e0b8d113984499e436452ed13a9a/jiter-0.16.0-cp310-cp310-win32.whl",
hash =
"sha256:b42e9ff5376819c053da25809a8d4b6fa6e473b4856ebe42e298ac958be3d7f9", size
= 206513, upload-time = "2026-06-29T13:02:49.515Z" },
+ { url =
"https://files.pythonhosted.org/packages/db/7f/ac680eeb0777dc0eb7dc824800ba27880d7f6bc712e362d34ad8ee559f36/jiter-0.16.0-cp310-cp310-win_amd64.whl",
hash =
"sha256:10438939205546132189c8e74a2d536a707841f3a25cd7c74ee91fe503407a26", size
= 199505, upload-time = "2026-06-29T13:02:50.829Z" },
+ { url =
"https://files.pythonhosted.org/packages/4e/3f/fae6cc967d120ec89e31c5418a51176d8278b3087fbb384a9176754f353c/jiter-0.16.0-cp311-cp311-macosx_10_12_x86_64.whl",
hash =
"sha256:67fddeda1688f0cce2d2ae83ccf8a80f79936f2d2997d6cc2261f82fdb54a4d3", size
= 309289, upload-time = "2026-06-29T13:02:52.301Z" },
+ { url =
"https://files.pythonhosted.org/packages/c8/e3/97c6c3562c077f6247d6e6ce5c82562500b6316c0d928e97e106b7a1321a/jiter-0.16.0-cp311-cp311-macosx_11_0_arm64.whl",
hash =
"sha256:c90c0f63df322be920eda6ce622e3083d8906ba267f8220fe7873213b8b4430e", size
= 315181, upload-time = "2026-06-29T13:02:53.964Z" },
+ { url =
"https://files.pythonhosted.org/packages/7b/89/d8d073f8aa2667e46c6c0873f86fe4a512bba4293cc730f626a076211a62/jiter-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:64c0203212098470032aabcde9356fc168f377aade3e43def61dfe17e92f2037", size
= 340939, upload-time = "2026-06-29T13:02:55.412Z" },
+ { url =
"https://files.pythonhosted.org/packages/87/c9/db4fda3ed73fb864139305e935e5b8b38a5a24692a5a9dd356c22f1b9c8d/jiter-0.16.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:12288303c9844e61e1651d02a9a6f6633e47d39f897d6991d1427161ce6b746e", size
= 364932, upload-time = "2026-06-29T13:02:57.28Z" },
+ { url =
"https://files.pythonhosted.org/packages/a2/74/52b5e86241057f52ddd7c9a580f90effb51f9d06239f6fc612279b91a838/jiter-0.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:5cf109d010b4b05a105afb3d43be36a21322d345ad3111e13d15f680afef0e5b", size
= 461132, upload-time = "2026-06-29T13:02:58.994Z" },
+ { url =
"https://files.pythonhosted.org/packages/a9/87/544a700f7447c1f31c5d7833821a4daa5683165c2d5a094fbf5b5800c3dc/jiter-0.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:62c1b7fe1f77925acf5af68b6140b8810fa87dfd4dc0a9c8568ec2fa2a10429c", size
= 374857, upload-time = "2026-06-29T13:03:00.455Z" },
+ { url =
"https://files.pythonhosted.org/packages/40/cd/0fcc3f7d39183674d5bfa9ec640faaeb506c60be7c8f94625dfba366e37c/jiter-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:8597d23c87f59294f83bcb6229b9ed1fccee13dbba967b46930d2f1759466fee", size
= 347053, upload-time = "2026-06-29T13:03:02.045Z" },
+ { url =
"https://files.pythonhosted.org/packages/5c/ae/c7e64e7932ad597fa395b61440b249ada6366716e25c6e08dd2afbd021e6/jiter-0.16.0-cp311-cp311-manylinux_2_31_riscv64.whl",
hash =
"sha256:3126a5dbad56401989ac769aca0cb56005bfb3e2366eea0ca99d1a91c3c1ee03", size
= 356153, upload-time = "2026-06-29T13:03:03.706Z" },
+ { url =
"https://files.pythonhosted.org/packages/d4/1c/1c719044f14da814e1a060191ab19b96f3e99207bc5b4bfc6d6be34b3f80/jiter-0.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:c4b4717bdb35ae456f831a6b08d01880fff399887a6bbc526a583a406e484eea", size
= 393956, upload-time = "2026-06-29T13:03:05.165Z" },
+ { url =
"https://files.pythonhosted.org/packages/3b/dc/7b2f303a2847207e265503853a2d964a55354cffd62a5f2936c155486798/jiter-0.16.0-cp311-cp311-musllinux_1_1_aarch64.whl",
hash =
"sha256:adff21bc78edfe086c15eb495b900306076de378dc2337c132401fc39bd79c91", size
= 521081, upload-time = "2026-06-29T13:03:06.886Z" },
+ { url =
"https://files.pythonhosted.org/packages/c2/5f/501cf6e1e09caeb420195179ffc6f62aca603f1220ec53fd80d0d70b3e56/jiter-0.16.0-cp311-cp311-musllinux_1_1_x86_64.whl",
hash =
"sha256:dab907db06fc593645e73109acf4581ba5b548897d28b9348dc41ddc8343b2d3", size
= 552085, upload-time = "2026-06-29T13:03:08.339Z" },
+ { url =
"https://files.pythonhosted.org/packages/79/54/aa5be86520113b79455c3877f3d1f07a348098df4083ba3688e9537e52dd/jiter-0.16.0-cp311-cp311-win32.whl",
hash =
"sha256:560b2cf3fb03240cd34f27409a238547488708f05b7c3924f571a60422251ec7", size
= 206755, upload-time = "2026-06-29T13:03:09.653Z" },
+ { url =
"https://files.pythonhosted.org/packages/64/ec/2feb893eb330bd69b413866f4d5daada33c3962f1c6f270c91ca2d87fdf9/jiter-0.16.0-cp311-cp311-win_amd64.whl",
hash =
"sha256:e431cfc9caf44c1d5459ff77d4e64cbf85fddb6a35dad836a15c6a9ec23087c1", size
= 199155, upload-time = "2026-06-29T13:03:10.979Z" },
+ { url =
"https://files.pythonhosted.org/packages/b9/9c/ca040d94415048a3666fc237774df8151c96f8d2b661cbe3b184acc95876/jiter-0.16.0-cp311-cp311-win_arm64.whl",
hash =
"sha256:2a8e9e39cf083016137aa5cadafe3188adc2ba6ba1fbf1e5d18889ad3e9ad056", size
= 194403, upload-time = "2026-06-29T13:03:12.341Z" },
+ { url =
"https://files.pythonhosted.org/packages/83/2b/52ace16ed031354f0539749a49e4bf33797d82bea5137910835fa4b09793/jiter-0.16.0-cp312-cp312-macosx_10_12_x86_64.whl",
hash =
"sha256:67c3bc1760f8c99d805dcab4e644027142a53b1d5d861f18780ebdbd5d40b72a", size
= 306943, upload-time = "2026-06-29T13:03:14.035Z" },
+ { url =
"https://files.pythonhosted.org/packages/94/2e/34957c2c1b661c252ba9bcc60ae0bddc27e0f7202c6073326a13c5390eec/jiter-0.16.0-cp312-cp312-macosx_11_0_arm64.whl",
hash =
"sha256:5af7780e4a26bd7d0d989592bf9ef12ebf806b74ab709223ecca37c749872ea9", size
= 307779, upload-time = "2026-06-29T13:03:15.418Z" },
+ { url =
"https://files.pythonhosted.org/packages/88/6c/59bd309cab4460c54cf1079f3eb7fe7af6a4c895c5c957a53378693bad2b/jiter-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:d5bf78d0e05e45cfdd66558893938d59afe3d1b1a824a202039b20e607d25a72", size
= 335826, upload-time = "2026-06-29T13:03:17.11Z" },
+ { url =
"https://files.pythonhosted.org/packages/3b/8c/f5ef7b65f0df47afa16596969defb281ebb86e96df346d62be6fd853d620/jiter-0.16.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:f4444a83f946605990c98f625cdd3d2725bfb818158760c5748c653170a20e0e", size
= 362573, upload-time = "2026-06-29T13:03:18.781Z" },
+ { url =
"https://files.pythonhosted.org/packages/2b/0b/ace4354da061ee38844a0c27dc2c21eecd27aea119e8da324bea987522d0/jiter-0.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:3a23f0e4f957e1be65752d2dfac9a5a06b1917af8dc85deb639c3b9d02e31290", size
= 457979, upload-time = "2026-06-29T13:03:20.293Z" },
+ { url =
"https://files.pythonhosted.org/packages/55/40/c0253d3772eb9dcd8e6606ee9b2d53ec8e5b814589c47f140aa585f21eaa/jiter-0.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:c22a488f7b9218e245a0025a9ba6b100e2e54700831cf4cf16833a27fba3ad01", size
= 372302, upload-time = "2026-06-29T13:03:21.739Z" },
+ { url =
"https://files.pythonhosted.org/packages/a8/d2/4839422241aa12860ce597b20068727094ba0bc480723c74924ca5bad483/jiter-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:46add52f4ad47a08bfb1219f3e673da972191489a33016edefdb5ea55bfa8c48", size
= 343805, upload-time = "2026-06-29T13:03:23.384Z" },
+ { url =
"https://files.pythonhosted.org/packages/e2/59/e196888a05befdda7dbe299b722d56f2f6eec65402bc34c0a3306d595feb/jiter-0.16.0-cp312-cp312-manylinux_2_31_riscv64.whl",
hash =
"sha256:9c8a956fd72c2cf1e730d01ea080341f13aa0a97a4a33b51abebe725b7ae9ca9", size
= 351107, upload-time = "2026-06-29T13:03:24.815Z" },
+ { url =
"https://files.pythonhosted.org/packages/ec/74/4cd9e0fca65232136400354b630fbfcd2de634e22ccbb96567725981b548/jiter-0.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:561926e0573ffe4a32498420a76d64b16c513e1ab413b9d28158a8764ac701e5", size
= 388441, upload-time = "2026-06-29T13:03:26.266Z" },
+ { url =
"https://files.pythonhosted.org/packages/d9/8c/554691e48bc711299c0a293dd8a6179e24b2d66a54dc295421fcf64569c0/jiter-0.16.0-cp312-cp312-musllinux_1_1_aarch64.whl",
hash =
"sha256:44d019fa8cdaf89bf29c71b39e3712143fdd0ac76725c6ef954f9957a5ea8730", size
= 516354, upload-time = "2026-06-29T13:03:28.02Z" },
+ { url =
"https://files.pythonhosted.org/packages/a4/cb/01e9d69dc2cc6759d4f91e230b34489c4fdb2518992650633f9e20bece89/jiter-0.16.0-cp312-cp312-musllinux_1_1_x86_64.whl",
hash =
"sha256:0df91907609837f33341b8e6fe73b95991fdaa57caf1a0fbd343dffe826f386f", size
= 547880, upload-time = "2026-06-29T13:03:29.534Z" },
+ { url =
"https://files.pythonhosted.org/packages/79/70/2953195f1c6ad00f49fa67e13df7e60acb3dd4f387101bc15abccddd905e/jiter-0.16.0-cp312-cp312-win32.whl",
hash =
"sha256:51d7b836acb0108d7c77df1742332cac2a1fa04a74d6dacec46e7091f0e91274", size
= 203473, upload-time = "2026-06-29T13:03:31.025Z" },
+ { url =
"https://files.pythonhosted.org/packages/2d/05/2909a8b10699a4d560f8c502b6b2c5f3991b682b1922c1eedda242b225bd/jiter-0.16.0-cp312-cp312-win_amd64.whl",
hash =
"sha256:1878349266f8ee36ecb1375cc5ba2f115f35fd9f0a1a4119e725e379126647f7", size
= 196905, upload-time = "2026-06-29T13:03:32.472Z" },
+ { url =
"https://files.pythonhosted.org/packages/e9/a9/6b82bb1c8d7790d602489b967b982a909e5d092875a6c2ade96444c8dfc5/jiter-0.16.0-cp312-cp312-win_arm64.whl",
hash =
"sha256:2ed5738ae4af18271a51a528b8811b0cbfa4a1858de9d83359e4169855d6a331", size
= 190618, upload-time = "2026-06-29T13:03:34.672Z" },
+ { url =
"https://files.pythonhosted.org/packages/91/c0/555fc60473d30d66894ba825e63615e3be7524fac23858356afa7a38906c/jiter-0.16.0-cp313-cp313-macosx_10_12_x86_64.whl",
hash =
"sha256:41977aa5654023948c2dae2a81cbf9c43343954bef1cd59a154dd15a4d84c195", size
= 306203, upload-time = "2026-06-29T13:03:36.243Z" },
+ { url =
"https://files.pythonhosted.org/packages/d0/2b/c3eaf16f5d7c9bad66ea32f40a95bd169b29a91217fcc7f081375157e99c/jiter-0.16.0-cp313-cp313-macosx_11_0_arm64.whl",
hash =
"sha256:d28bb3c26762358dadf3e5bf0bccd29ae987d65e6988d2e6f49829c76b003c09", size
= 306489, upload-time = "2026-06-29T13:03:37.846Z" },
+ { url =
"https://files.pythonhosted.org/packages/96/3f/02fdfc6705cad96127d883af5c34e4867f554f29ec7705ec1a46156400a9/jiter-0.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:0542a7189c26920778658fc8fcf2af8bae05bae9924577f71804acef37996536", size
= 335453, upload-time = "2026-06-29T13:03:39.221Z" },
+ { url =
"https://files.pythonhosted.org/packages/b2/a6/e4bda5920d4b0d7c5dfb7174ce4a6b2e4d3e11c9162c452ef0eab4cdbdbd/jiter-0.16.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:8fb8de1e23a0cb2a7f53c335049c7b72b6db41aa6227cdcc0972a1de5cb39450", size
= 361625, upload-time = "2026-06-29T13:03:40.597Z" },
+ { url =
"https://files.pythonhosted.org/packages/b7/97/4e6b59b2c6e55cbb3e183595f81ad65dcfb21c915fee5e19e335df21bc55/jiter-0.16.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:b72d0b2990ca754a9102779ac98d8597b7cb31678958562214a007f909eab78e", size
= 456958, upload-time = "2026-06-29T13:03:42.074Z" },
+ { url =
"https://files.pythonhosted.org/packages/15/e0/97e9557686d2f94f4b93786eccb7eed28e9228ad132ea8237f44727314a7/jiter-0.16.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:d5f91b1c27fc22a57993d5a5cb8a627cb8ed4b10502716fac1ffbfe1d19d84e8", size
= 372017, upload-time = "2026-06-29T13:03:43.658Z" },
+ { url =
"https://files.pythonhosted.org/packages/0f/94/db768b6938e0df35c86beeba3dfbbb025c9ee5c19e1aa271f2396e50864d/jiter-0.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:c682bea068a90b764577bdb78a60a4c1d1606daf9cd4c893832a37c7cc9d9026", size
= 343320, upload-time = "2026-06-29T13:03:45.226Z" },
+ { url =
"https://files.pythonhosted.org/packages/c1/d6/5a59d938244a30735fe62d9433fd325f9021ea29d89780ea4596ea93bc89/jiter-0.16.0-cp313-cp313-manylinux_2_31_riscv64.whl",
hash =
"sha256:8d031aabecc4f1b6276adfb42e3aabb77c89d468bf616600e8d3a11328929053", size
= 350520, upload-time = "2026-06-29T13:03:46.671Z" },
+ { url =
"https://files.pythonhosted.org/packages/67/f8/c4a857f49c9af125f6bbcac7e3eee7f7978ed89682833062e2dbf62576b1/jiter-0.16.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:eab2cd170150e70153de16896a1774e3a1dca80154c56b54d7a812c479a7165e", size
= 387550, upload-time = "2026-06-29T13:03:48.361Z" },
+ { url =
"https://files.pythonhosted.org/packages/8b/d6/5fbc2f7d6b67b754caa61a993a2e626e815dec47ffc2f9e35f01adfebec7/jiter-0.16.0-cp313-cp313-musllinux_1_1_aarch64.whl",
hash =
"sha256:6edb63a46e65a82c26800a868e49b2cac30dd5a4218b88d74bc2c848c8ad60bb", size
= 515424, upload-time = "2026-06-29T13:03:49.881Z" },
+ { url =
"https://files.pythonhosted.org/packages/ed/54/284f0164b64a5fed915fea6ba7e9ba9b3d8d37c67d59cf2e3bb99d45cdfe/jiter-0.16.0-cp313-cp313-musllinux_1_1_x86_64.whl",
hash =
"sha256:659039cc50b5addcc35fcc87ae2c1833b7c0a8e5326ef631a75e4478447bcf84", size
= 546981, upload-time = "2026-06-29T13:03:51.363Z" },
+ { url =
"https://files.pythonhosted.org/packages/13/c5/2a467585a576594384e1d2c43e1224deaafc085f24e243529cf98beef8e1/jiter-0.16.0-cp313-cp313-win32.whl",
hash =
"sha256:c9c53be232c2e206ef9cdbad81a48bfa74c3d3f08bcf8124630a8a748aad993e", size
= 202853, upload-time = "2026-06-29T13:03:53.015Z" },
+ { url =
"https://files.pythonhosted.org/packages/88/6a/de61d04b9eec69c71719968d2f716532a3bc121170c44a39e14979c6be81/jiter-0.16.0-cp313-cp313-win_amd64.whl",
hash =
"sha256:baad945ed47f163ad833314f8e3288c396118934f94e7bbb9e243ce4b341a4fd", size
= 196160, upload-time = "2026-06-29T13:03:54.447Z" },
+ { url =
"https://files.pythonhosted.org/packages/19/4b/b390ed59bafb3f31d008d1218578f10327714484b334439947f7e5b11e7f/jiter-0.16.0-cp313-cp313-win_arm64.whl",
hash =
"sha256:3c1fd2dbe1b0af19e987f03fe66c5f5bd105a2229c1aff4ab14890b24f41d21a", size
= 189862, upload-time = "2026-06-29T13:03:55.754Z" },
+ { url =
"https://files.pythonhosted.org/packages/a7/89/bc4f1b57d5da938fd344a466396541e586d161320d70bffd929aaafcd8f4/jiter-0.16.0-cp314-cp314-macosx_10_12_x86_64.whl",
hash =
"sha256:b2c61484666ad42726029af0c00ef4541f0f3b5cdc550221f56c2343208018ee", size
= 308239, upload-time = "2026-06-29T13:03:57.205Z" },
+ { url =
"https://files.pythonhosted.org/packages/65/7a/c415453e5213001bf3b411ff65dec3d303b0e76a4a2cfea9768cd4960994/jiter-0.16.0-cp314-cp314-macosx_11_0_arm64.whl",
hash =
"sha256:63efadc657488f45db1c676d81e704cac2abf3fdb892def1faea61db053127e2", size
= 308928, upload-time = "2026-06-29T13:03:58.643Z" },
+ { url =
"https://files.pythonhosted.org/packages/11/fc/1f4fb7ebf9a724c7741994f4aae18fba1e2f3133df14521a79194952c34a/jiter-0.16.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:cf0d73f50e7b6935677854f6e8e31d499ca7064dd24734f703e060f5b237d883", size
= 336998, upload-time = "2026-06-29T13:04:00.071Z" },
+ { url =
"https://files.pythonhosted.org/packages/a0/8d/72cadaac05ccfa7cc3a0a2232862e6c72443ca40cf300ba8b57f9f18b69b/jiter-0.16.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:bf3ea07d9bc8e7d03a9fbc051295462e6dbc295b894fd72457c3136e3e43d898", size
= 362112, upload-time = "2026-06-29T13:04:01.52Z" },
+ { url =
"https://files.pythonhosted.org/packages/58/4a/c4b0d5f651fda90a24ffce9f8d56cde462a2e09d31ae3de3c68cef34c04e/jiter-0.16.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:26798522707abb47d767db536e4148ceac1b14446bf028ee85e579a2e043cfe5", size
= 459807, upload-time = "2026-06-29T13:04:03.214Z" },
+ { url =
"https://files.pythonhosted.org/packages/80/58/ef77879ea9aa56b50824edc5a445e226422c7a8d211f3fd2a56bcb9493cf/jiter-0.16.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:bc837c1b9631be10abfe0191537fe8009838204cec7e44827401ace390ddb567", size
= 373181, upload-time = "2026-06-29T13:04:04.629Z" },
+ { url =
"https://files.pythonhosted.org/packages/49/2e/ffbc3f254e4d8a66da3062c624a7df4b7c2b2cf9e1fe43cf394b3e104041/jiter-0.16.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:49060fd70737fad59d33ba9dcc0d83247dc9e77187de26053a19c16c9f32bd69", size
= 344927, upload-time = "2026-06-29T13:04:06.067Z" },
+ { url =
"https://files.pythonhosted.org/packages/9a/f6/0be5dc6d64a89f80aa8fec984f94dedb2973e251edcae55841d60786d578/jiter-0.16.0-cp314-cp314-manylinux_2_31_riscv64.whl",
hash =
"sha256:adbb8edeadd431bc4477879d5d371ece7cb1334486584e0f252656dd7ffada29", size
= 352754, upload-time = "2026-06-29T13:04:07.477Z" },
+ { url =
"https://files.pythonhosted.org/packages/da/6e/7d31243b3b91cd261dd19e9d3557fc3251a80883d3d8049c86174e7ab7af/jiter-0.16.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:31aaee5b80f672c1dc21272bcfb9cbdcfc1ea04ff50f00ed5af500b80c44fa93", size
= 390553, upload-time = "2026-06-29T13:04:08.92Z" },
+ { url =
"https://files.pythonhosted.org/packages/25/33/51ae371fde3c88897520f62b4d5f8b27ad7103e2bb10812ff52195609853/jiter-0.16.0-cp314-cp314-musllinux_1_1_aarch64.whl",
hash =
"sha256:6722bcef4ffc86c835574b1b2fac6b33b9fb4a889c781e67950e891591f3c55a", size
= 516900, upload-time = "2026-06-29T13:04:10.407Z" },
+ { url =
"https://files.pythonhosted.org/packages/a0/45/6449b3d123ea439ba79507c657288f461d55049e7bcbdc2cf8eb8210f491/jiter-0.16.0-cp314-cp314-musllinux_1_1_x86_64.whl",
hash =
"sha256:5ab4f50ff971b611d656554ea10b75f80097392c827bc32923c6eeb6386c8b00", size
= 548754, upload-time = "2026-06-29T13:04:12.046Z" },
+ { url =
"https://files.pythonhosted.org/packages/9b/e7/fd2fb11ae3e2649333da3aa170d04d7b3000bbdc3b270f6513382fdf4e04/jiter-0.16.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl",
hash =
"sha256:710cc51d4ebdcd3c1f70b232c1db1ea1344a075770422bbd4bede5708335acbe", size
= 122381, upload-time = "2026-06-29T13:04:13.413Z" },
+ { url =
"https://files.pythonhosted.org/packages/26/80/f0b147a62c315a164ed2168908286ca302310824c218d3aae52b06c0c9a9/jiter-0.16.0-cp314-cp314-win32.whl",
hash =
"sha256:57b37fc887a32d44798e4d8ebfa7c9683ff3da1d5bf38f08d1bb3573ccb39106", size
= 204578, upload-time = "2026-06-29T13:04:14.813Z" },
+ { url =
"https://files.pythonhosted.org/packages/5e/e6/4758a14304b4523a6f5adb2419340086aa3593bd4327c2b25b5948a90548/jiter-0.16.0-cp314-cp314-win_amd64.whl",
hash =
"sha256:cbd18dd5e2df96b580487b5745adf57ef64ad89ba2d9662fc3c19386acce7db8", size
= 198154, upload-time = "2026-06-29T13:04:16.272Z" },
+ { url =
"https://files.pythonhosted.org/packages/26/be/41fa54a2e7ea41d6c99f1dc5b1f0fd4cb474680304b5d268dd518e81da3a/jiter-0.16.0-cp314-cp314-win_arm64.whl",
hash =
"sha256:a32d2027a9fa67f109ff245a3252ece3ccc32cc56703e1deab6cc846a59e0585", size
= 191458, upload-time = "2026-06-29T13:04:17.707Z" },
+ { url =
"https://files.pythonhosted.org/packages/81/6b/59127338b86d9fe4d99418f5a15118bea778103ee0fe9d9dd7e0af174e95/jiter-0.16.0-cp314-cp314t-macosx_11_0_arm64.whl",
hash =
"sha256:2577196f4474ef3fc4779a088a23b0897bbf86f9ea3679c372d45b8383b43207", size
= 316739, upload-time = "2026-06-29T13:04:19.663Z" },
+ { url =
"https://files.pythonhosted.org/packages/2d/95/49461034d5388196d3dabf98748935f017b7785d8f3f5349f834bcc4ed0d/jiter-0.16.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:616e89e008a93c01104161c75b4988e58716b01d62307ebfe161e52a56d2a818", size
= 340911, upload-time = "2026-06-29T13:04:21.257Z" },
+ { url =
"https://files.pythonhosted.org/packages/cd/97/a4369f2fb82cb3dda13b98622f31249b2e014b223fe64ee534413ad72294/jiter-0.16.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
hash =
"sha256:0e2e9efbe042210df657bade597f66d6d75723e3d8f45a12ea6d8167ff8bbce3", size
= 361747, upload-time = "2026-06-29T13:04:22.677Z" },
+ { url =
"https://files.pythonhosted.org/packages/28/51/49b6ed456261646e1906016a6760367a28aacd3c24805e4e5fe64116c1db/jiter-0.16.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
hash =
"sha256:3f4d9e473a5ce7d27fef8b848df4dc16e283893d3f53b4a585e72c9595f3c284", size
= 460225, upload-time = "2026-06-29T13:04:24.441Z" },
+ { url =
"https://files.pythonhosted.org/packages/33/b5/5689aff4f66c5b60be63106e591dbfcba2190df97d2c9c7cf052361ddb98/jiter-0.16.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl",
hash =
"sha256:8d30a4a1c87713060c8d1cc59a7b6c8fb6b8ef0a6900368014c76c87922a2929", size
= 373169, upload-time = "2026-06-29T13:04:25.884Z" },
+ { url =
"https://files.pythonhosted.org/packages/a2/96/3ae1b85ee0d6d6cab254fb7f8da018272b932bbf2d69b07e98aa2a96c746/jiter-0.16.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:bae96332410f866e5900d809298b1ed82735932986c672495f9701daacd80620", size
= 350332, upload-time = "2026-06-29T13:04:27.302Z" },
+ { url =
"https://files.pythonhosted.org/packages/15/32/c99d7bafd78986556c95bf60ce84c6cc98786eac56066c12d7f828bb6747/jiter-0.16.0-cp314-cp314t-manylinux_2_31_riscv64.whl",
hash =
"sha256:da3d7ec75dc83bb18bca888b5edfae0656a26849056c59e05a7728badd17e7af", size
= 353377, upload-time = "2026-06-29T13:04:28.731Z" },
+ { url =
"https://files.pythonhosted.org/packages/0e/4b/f99a8e571287c3dec766bcc18528bbe8e8fb5365522ab5e6d64c93e87066/jiter-0.16.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl",
hash =
"sha256:ee6162b77d49a9939229df666dfa8af3e656b6701b54c4c84966d740e189264e", size
= 387746, upload-time = "2026-06-29T13:04:30.319Z" },
+ { url =
"https://files.pythonhosted.org/packages/75/69/c78a5b3f71040e34eb5917df26fb7ae9a2174cad1ccbf277512507c53a6e/jiter-0.16.0-cp314-cp314t-musllinux_1_1_aarch64.whl",
hash =
"sha256:63ffdbdae7d4499f4cda14eadc12ddcabef0fc0c081191bdc2247489cb698077", size
= 517292, upload-time = "2026-06-29T13:04:31.709Z" },
+ { url =
"https://files.pythonhosted.org/packages/c2/f7/095b38eda4c70d03651c403f29a5590f16d12ddc5d544aac9f9cddf72277/jiter-0.16.0-cp314-cp314t-musllinux_1_1_x86_64.whl",
hash =
"sha256:a111256a7193bea0759267b10385e5870949c239ed7b6ddbaaf57573edb38734", size
= 549259, upload-time = "2026-06-29T13:04:33.721Z" },
+ { url =
"https://files.pythonhosted.org/packages/2e/c5/6a0207d90e5f656d95af98ebd0934f382d37674416f215aeda2ff8063e51/jiter-0.16.0-cp314-cp314t-win32.whl",
hash =
"sha256:de5ba8763e56b793561f43bed197c9ea55776daa5e9a6b91eed68a909bc9cdbf", size
= 206523, upload-time = "2026-06-29T13:04:35.068Z" },
+ { url =
"https://files.pythonhosted.org/packages/a5/31/c757d5f30a8980fd945ce7b98be10be9e4ff59c7c42f5fd86804c2e87db8/jiter-0.16.0-cp314-cp314t-win_amd64.whl",
hash =
"sha256:b8a3f9a6008048fe9def7bf465180564a6e458047d2ce499149cfbe73c3ae9db", size
= 200366, upload-time = "2026-06-29T13:04:36.61Z" },
+ { url =
"https://files.pythonhosted.org/packages/7c/a2/d88de6d313d734a544a7901353ad5db67cb38dcfcd91713b7979dafc345d/jiter-0.16.0-cp314-cp314t-win_arm64.whl",
hash =
"sha256:0fa25b09b13075c46f5bc174f2690525a925a4fc2f7c82969a2bbabff22386ce", size
= 190516, upload-time = "2026-06-29T13:04:38.004Z" },
+ { url =
"https://files.pythonhosted.org/packages/06/d3/8e278946d43eeca2585b4dd0834a887cd71136329b837f3a16ed86a8b4b0/jiter-0.16.0-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl",
hash =
"sha256:850ccb1d7eedb4200f4014b1c0e8a577de114fc3cd88faad646dcc9bc4bb12ad", size
= 304518, upload-time = "2026-06-29T13:05:00.172Z" },
+ { url =
"https://files.pythonhosted.org/packages/72/43/28d4ef495028bf0506a413d4db3f4eb3e7288a382e0f065f306a17bbeb5e/jiter-0.16.0-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl",
hash =
"sha256:e34e97bda77eb63242a410243c071e28ac7e0d8c0948c5ee658498690a4b2f2f", size
= 310207, upload-time = "2026-06-29T13:05:02.123Z" },
+ { url =
"https://files.pythonhosted.org/packages/e0/ca/c366b1012da1d640de975d9683acd44e4d150d9068845d0ca2610435253f/jiter-0.16.0-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:b7dc85ea77d4abbae8bad0d3538678aedee75bceec4e2f6c8dfb1c74772e5aa5", size
= 342771, upload-time = "2026-06-29T13:05:03.55Z" },
+ { url =
"https://files.pythonhosted.org/packages/16/52/50cc4056fc1ae02e7154704e7ecc89df0afb8300222cfe8a52d3f67e4730/jiter-0.16.0-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:17ca7fae79f6d99cd9a042b75f917eaada7b895cfc7dd2ee3a16089dcaec7a85", size
= 346468, upload-time = "2026-06-29T13:05:05.452Z" },
+ { url =
"https://files.pythonhosted.org/packages/98/ab/664fd8c4be028b2bedd3d2ff08769c4ede23d0dbc87a77c62384a0515b5d/jiter-0.16.0-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl",
hash =
"sha256:f17d61a28b4b3e0e3e2ba98490c70501403b4d196f78732439160e7fd3678127", size
= 303106, upload-time = "2026-06-29T13:05:07.118Z" },
+ { url =
"https://files.pythonhosted.org/packages/1a/07/421f1d5b65493a76e16027b848aba6a7d28073ae75944fa4289cc914d39f/jiter-0.16.0-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl",
hash =
"sha256:96e38eea538c8ddf853a35727c7be0741c76c13f04148ac5c116222f50ece3b3", size
= 304658, upload-time = "2026-06-29T13:05:08.708Z" },
+ { url =
"https://files.pythonhosted.org/packages/0a/db/bba1155f01a01c3c37a89425d571da751bbedf5c54247b831a04cb971798/jiter-0.16.0-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
hash =
"sha256:d284fb8d94d5855d60c44fefcab4bf966f1da6fada73992b01f6f0c9bc0c6702", size
= 339719, upload-time = "2026-06-29T13:05:10.41Z" },
+ { url =
"https://files.pythonhosted.org/packages/78/f7/18a1afcd64f35314b68c1f23afcd9994d0bc13e65cc77517afff4e83986d/jiter-0.16.0-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
hash =
"sha256:64d613743df53199b1aa256a7d328340da6d7078aac7705a7db9d7a791e9cfd2", size
= 343885, upload-time = "2026-06-29T13:05:12.087Z" },
]
[[package]]
@@ -642,7 +635,7 @@
[[package]]
name = "langchain"
-version = "1.3.15"
+version = "1.4.0"
source = { editable = "../../langchain_v1" }
dependencies = [
{ name = "langchain-core" },
@@ -652,6 +645,7 @@
[package.metadata]
requires-dist = [
+ { name = "fastmcp", marker = "extra == 'mcp'", specifier =
">=4.0.1,<5.0.0" },
{ name = "langchain-anthropic", marker = "extra == 'anthropic'", editable
= "../anthropic" },
{ name = "langchain-aws", marker = "extra == 'aws'" },
{ name = "langchain-azure-ai", marker = "extra == 'azure-ai'" },
@@ -674,12 +668,13 @@
{ name = "langgraph", specifier = ">=1.2.11,<1.3.0" },
{ name = "pydantic", specifier = ">=2.7.4,<3.0.0" },
]
-provides-extras = ["community", "anthropic", "openai", "azure-ai",
"google-vertexai", "google-genai", "fireworks", "ollama", "together",
"mistralai", "huggingface", "groq", "aws", "baseten", "deepseek", "xai",
"perplexity", "meta"]
+provides-extras = ["community", "anthropic", "openai", "azure-ai",
"google-vertexai", "google-genai", "fireworks", "ollama", "together",
"mistralai", "huggingface", "groq", "aws", "baseten", "deepseek", "xai",
"perplexity", "meta", "mcp"]
[package.metadata.requires-dev]
lint = [{ name = "ruff", specifier = ">=0.15.0,<0.17.0" }]
test = [
{ name = "blockbuster", specifier = ">=1.5.26,<1.6.0" },
+ { name = "fastmcp", specifier = ">=4.0.1,<5.0.0" },
{ name = "langchain-openai", editable = "." },
{ name = "langchain-tests", editable = "../../standard-tests" },
{ name = "pytest", specifier = ">=9.0.3,<10.0.0" },
@@ -697,17 +692,18 @@
{ name = "langchain-text-splitters", editable = "../../text-splitters" },
{ name = "langchainhub", specifier = ">=0.1.16,<1.0.0" },
{ name = "python-dotenv", specifier = ">=1.0.0,<2.0.0" },
- { name = "vcrpy", specifier = ">=8.0.0,<9.0.0" },
+ { name = "vcrpy", specifier = ">=8.2.0,<9.0.0" },
{ name = "wrapt", specifier = ">=1.15.0,<3.0.0" },
]
typing = [
+ { name = "fastmcp", specifier = ">=4.0.1,<5.0.0" },
{ name = "mypy", specifier = ">=2.1.0,<2.2.0" },
{ name = "types-toml", specifier = ">=0.10.8.20240310,<1.0.0.0" },
]
[[package]]
name = "langchain-core"
-version = "1.6.0"
+version = "1.6.2"
source = { editable = "../../core" }
dependencies = [
{ name = "httpx" },
@@ -755,7 +751,7 @@
{ name = "pytest-benchmark" },
{ name = "pytest-codspeed" },
{ name = "pytest-mock", specifier = ">=3.10.0,<4.0.0" },
- { name = "pytest-socket", specifier = ">=0.7.0,<1.0.0" },
+ { name = "pytest-socket", specifier = ">=0.7.0,<0.8.0" },
{ name = "pytest-watcher", specifier = ">=0.3.4,<1.0.0" },
{ name = "pytest-xdist", specifier = ">=3.6.1,<4.0.0" },
{ name = "responses", specifier = ">=0.25.0,<1.0.0" },
@@ -771,7 +767,7 @@
[[package]]
name = "langchain-openai"
-version = "1.6.0"
+version = "1.6.2"
source = { editable = "." }
dependencies = [
{ name = "certifi" },
@@ -894,7 +890,7 @@
{ name = "pytest-codspeed" },
{ name = "pytest-recording" },
{ name = "pytest-socket", specifier = ">=0.7.0,<1.0.0" },
- { name = "syrupy", specifier = ">=5.0.0,<6.0.0" },
+ { name = "syrupy", specifier = ">=5.0.0,<7.0.0" },
{ name = "vcrpy", specifier = ">=8.2.1,<9.0.0" },
]
@@ -1233,12 +1229,12 @@
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
"python_full_version >= '3.15' and platform_python_implementation ==
'PyPy'",
- "python_full_version >= '3.13' and python_full_version < '3.15' and
platform_python_implementation == 'PyPy'",
"python_full_version >= '3.15' and platform_python_implementation !=
'PyPy'",
+ "python_full_version >= '3.13' and python_full_version < '3.15' and
platform_python_implementation == 'PyPy'",
"python_full_version >= '3.13' and python_full_version < '3.15' and
platform_python_implementation != 'PyPy'",
"python_full_version == '3.12.*' and platform_python_implementation ==
'PyPy' and sys_platform == 'emscripten'",
- "(python_full_version >= '3.11' and python_full_version < '3.13' and
platform_python_implementation == 'PyPy' and sys_platform != 'emscripten') or
(python_full_version == '3.11.*' and platform_python_implementation == 'PyPy'
and sys_platform == 'emscripten')",
"python_full_version == '3.12.*' and platform_python_implementation !=
'PyPy' and sys_platform == 'emscripten'",
+ "(python_full_version >= '3.11' and python_full_version < '3.13' and
platform_python_implementation == 'PyPy' and sys_platform != 'emscripten') or
(python_full_version == '3.11.*' and platform_python_implementation == 'PyPy'
and sys_platform == 'emscripten')",
"(python_full_version >= '3.11' and python_full_version < '3.13' and
platform_python_implementation != 'PyPy' and sys_platform != 'emscripten') or
(python_full_version == '3.11.*' and platform_python_implementation != 'PyPy'
and sys_platform == 'emscripten')",
]
sdist = { url =
"https://files.pythonhosted.org/packages/b5/f4/098d2270d52b41f1bd7db9fc288aaa0400cb48c2a3e2af6fa365d9720947/numpy-2.3.4.tar.gz",
hash =
"sha256:a7d018bfedb375a8d979ac758b120ba846a7fe764911a64465fd87b8729f4a6a", size
= 20582187, upload-time = "2025-10-15T16:18:11.77Z" }
@@ -1320,21 +1316,19 @@
[[package]]
name = "openai"
-version = "3.0.0"
+version = "3.8.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
- { name = "distro" },
{ name = "httpx2" },
{ name = "jiter" },
{ name = "pydantic" },
{ name = "sniffio" },
- { name = "tqdm" },
{ name = "typing-extensions" },
]
-sdist = { url =
"https://files.pythonhosted.org/packages/54/8c/2f500e8be09d1ae98c530467962535198b02cd4550cd418bbbaedc8b2910/openai-3.0.0.tar.gz",
hash =
"sha256:ffd00ef1678d70957e1f1ed98d5bfcf1d661f41ea4482f22e7d0144a66435a49", size
= 1123740, upload-time = "2026-08-12T01:55:50.849Z" }
+sdist = { url =
"https://files.pythonhosted.org/packages/f2/b0/1100c93f93e1c174205ce8d15a049a446f0dc88e9262c1f1f223fe6b9493/openai-3.8.0.tar.gz",
hash =
"sha256:6138a5a1333a1be9e4d1edea2d160b311542787b029543f87de4961c66358d16", size
= 1473819, upload-time = "2026-09-03T19:51:10.495Z" }
wheels = [
- { url =
"https://files.pythonhosted.org/packages/7b/0d/9850e7eddb5e66da4439ed503e78e09ad1fd0195e6df51e4236c75763581/openai-3.0.0-py3-none-any.whl",
hash =
"sha256:8d32ac3a6647a66910d6cb8a64f0fa5a6c823604b6e82db83d9d055c6709bd51", size
= 1665775, upload-time = "2026-08-12T01:55:48.678Z" },
+ { url =
"https://files.pythonhosted.org/packages/24/a4/c7e89d3bfb8b7c7ffa38ec9fe527bccf4df723f752fb11bdb3da6c750b76/openai-3.8.0-py3-none-any.whl",
hash =
"sha256:514736aa1e4ef1033c1209ad53897392845ccd4f2c4fae6413b2cf5f91c2c926", size
= 1740349, upload-time = "2026-09-03T19:51:08.596Z" },
]
[[package]]
@@ -2305,18 +2299,6 @@
]
[[package]]
-name = "tqdm"
-version = "4.67.1"
-source = { registry = "https://pypi.org/simple" }
-dependencies = [
- { name = "colorama", marker = "sys_platform == 'win32'" },
-]
-sdist = { url =
"https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz",
hash =
"sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size
= 169737, upload-time = "2024-11-24T20:12:22.481Z" }
-wheels = [
- { url =
"https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl",
hash =
"sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size
= 78540, upload-time = "2024-11-24T20:12:19.698Z" },
-]
-
-[[package]]
name = "truststore"
version = "0.10.4"
source = { registry = "https://pypi.org/simple" }