From 35d2d9fe7ff9ec8b37e60e6cd4924a1f2fc2f7a6 Mon Sep 17 00:00:00 2001 From: Eduard van Valkenburg Date: Tue, 30 Sep 2025 09:18:36 +0200 Subject: [PATCH] Python: [BREAKING] Main to core (#983) * removed pydantic from types * fix assistants client * Remove Pydantic usage from workflow code. * updated lock and test fixes * moved main to core, and setup meta package * updated versions * updated lock * fixed agents dependency * added retry to merge tests --------- Co-authored-by: Evan Mattson --- .github/workflows/python-merge-tests.yml | 4 +- python/DEV_SETUP.md | 2 +- python/packages/a2a/pyproject.toml | 4 +- .../agent_framework_azure_ai/_chat_client.py | 5 +- python/packages/azure-ai/pyproject.toml | 8 +- python/packages/copilotstudio/pyproject.toml | 12 +- .../{main => core}/.vscode/launch.json | 0 python/packages/{main => core}/LICENSE | 0 python/packages/{main => core}/README.md | 0 .../agent_framework/__init__.py | 0 .../{main => core}/agent_framework/_agents.py | 0 .../agent_framework/_clients.py | 0 .../agent_framework/_logging.py | 0 .../{main => core}/agent_framework/_mcp.py | 0 .../{main => core}/agent_framework/_memory.py | 0 .../agent_framework/_middleware.py | 0 .../agent_framework/_pydantic.py | 0 .../agent_framework/_telemetry.py | 0 .../agent_framework/_threads.py | 0 .../{main => core}/agent_framework/_tools.py | 0 .../{main => core}/agent_framework/_types.py | 0 .../agent_framework/_workflow/README.md | 0 .../agent_framework/_workflow/__init__.py | 0 .../agent_framework/_workflow/__init__.pyi | 0 .../agent_framework/_workflow/_agent.py | 0 .../agent_framework/_workflow/_checkpoint.py | 0 .../agent_framework/_workflow/_concurrent.py | 0 .../agent_framework/_workflow/_const.py | 0 .../agent_framework/_workflow/_edge.py | 0 .../agent_framework/_workflow/_edge_runner.py | 0 .../agent_framework/_workflow/_events.py | 0 .../agent_framework/_workflow/_executor.py | 0 .../_workflow/_function_executor.py | 0 .../agent_framework/_workflow/_magentic.py | 0 .../agent_framework/_workflow/_model_utils.py | 0 .../agent_framework/_workflow/_runner.py | 0 .../_workflow/_runner_context.py | 0 .../agent_framework/_workflow/_sequential.py | 0 .../_workflow/_shared_state.py | 0 .../_workflow/_typing_utils.py | 0 .../agent_framework/_workflow/_validation.py | 0 .../agent_framework/_workflow/_viz.py | 0 .../agent_framework/_workflow/_workflow.py | 0 .../_workflow/_workflow_context.py | 0 .../_workflow/_workflow_executor.py | 0 .../agent_framework/a2a/__init__.py | 0 .../agent_framework/a2a/__init__.pyi | 0 .../agent_framework/azure/__init__.py | 0 .../agent_framework/azure/__init__.pyi | 0 .../azure/_assistants_client.py | 0 .../agent_framework/azure/_chat_client.py | 0 .../azure/_entra_id_authentication.py | 0 .../azure/_responses_client.py | 0 .../agent_framework/azure/_shared.py | 0 .../agent_framework/devui/__init__.py | 0 .../agent_framework/exceptions.py | 0 .../agent_framework/lab/__init__.py | 0 .../agent_framework/mem0/__init__.py | 0 .../agent_framework/mem0/__init__.pyi | 0 .../agent_framework/microsoft/__init__.py | 0 .../agent_framework/microsoft/__init__.pyi | 0 .../agent_framework/observability.py | 0 .../agent_framework/openai/__init__.py | 0 .../openai/_assistants_client.py | 0 .../agent_framework/openai/_chat_client.py | 0 .../agent_framework/openai/_exceptions.py | 0 .../openai/_responses_client.py | 0 .../agent_framework/openai/_shared.py | 0 .../{main => core}/agent_framework/py.typed | 0 .../agent_framework/redis/__init__.py | 0 .../agent_framework/redis/__init__.pyi | 0 python/packages/{main => core}/pyproject.toml | 50 +- .../packages/{main => core}/tests/__init__.py | 0 .../{main => core}/tests/azure/conftest.py | 0 .../azure/test_azure_assistants_client.py | 0 .../tests/azure/test_azure_chat_client.py | 0 .../azure/test_azure_responses_client.py | 0 .../azure/test_entra_id_authentication.py | 0 .../packages/{main => core}/tests/conftest.py | 0 .../{main => core}/tests/main/__init__.py | 0 .../{main => core}/tests/main/conftest.py | 0 .../{main => core}/tests/main/test_agents.py | 0 .../{main => core}/tests/main/test_clients.py | 0 .../{main => core}/tests/main/test_logging.py | 0 .../{main => core}/tests/main/test_mcp.py | 0 .../{main => core}/tests/main/test_memory.py | 0 .../tests/main/test_middleware.py | 0 .../main/test_middleware_context_result.py | 0 .../tests/main/test_middleware_with_agent.py | 0 .../tests/main/test_middleware_with_chat.py | 0 .../tests/main/test_observability.py | 0 .../tests/main/test_telemetry.py | 0 .../{main => core}/tests/main/test_threads.py | 0 .../{main => core}/tests/main/test_tools.py | 0 .../{main => core}/tests/main/test_types.py | 0 .../{main => core}/tests/main/utils.py | 0 .../{main => core}/tests/openai/conftest.py | 0 .../openai/test_openai_assistants_client.py | 0 .../tests/openai/test_openai_chat_client.py | 0 .../openai/test_openai_chat_client_base.py | 0 .../openai/test_openai_responses_client.py | 0 .../{main => core}/tests/workflow/conftest.py | 0 .../tests/workflow/test_checkpoint.py | 0 .../tests/workflow/test_checkpoint_decode.py | 0 .../workflow/test_checkpoint_validation.py | 0 .../tests/workflow/test_concurrent.py | 0 .../tests/workflow/test_edge.py | 0 .../tests/workflow/test_executor.py | 0 .../tests/workflow/test_full_conversation.py | 0 .../tests/workflow/test_function_executor.py | 0 .../tests/workflow/test_magentic.py | 0 .../test_request_info_executor_rehydrate.py | 0 .../tests/workflow/test_runner.py | 0 .../tests/workflow/test_sequential.py | 0 .../tests/workflow/test_serialization.py | 0 .../tests/workflow/test_sub_workflow.py | 0 .../tests/workflow/test_typing_utils.py | 0 .../tests/workflow/test_validation.py | 0 .../{main => core}/tests/workflow/test_viz.py | 0 .../tests/workflow/test_workflow.py | 0 .../tests/workflow/test_workflow_agent.py | 0 .../tests/workflow/test_workflow_builder.py | 0 .../tests/workflow/test_workflow_context.py | 0 .../workflow/test_workflow_observability.py | 0 .../tests/workflow/test_workflow_states.py | 0 python/packages/devui/pyproject.toml | 12 +- python/packages/lab/pyproject.toml | 4 +- python/packages/mem0/pyproject.toml | 6 +- python/packages/redis/pyproject.toml | 4 +- python/packages/runtime/LICENSE | 21 - python/packages/runtime/README.md | 9 - .../agent_framework_runtime/__init__.py | 10 - .../agent_framework_runtime/agent_actor.py | 26 - python/packages/runtime/pyproject.toml | 86 --- python/packages/runtime/tests/test_sample.py | 6 - python/pyproject.toml | 15 +- python/uv.lock | 567 ++++++++---------- 137 files changed, 308 insertions(+), 543 deletions(-) rename python/packages/{main => core}/.vscode/launch.json (100%) rename python/packages/{main => core}/LICENSE (100%) rename python/packages/{main => core}/README.md (100%) rename python/packages/{main => core}/agent_framework/__init__.py (100%) rename python/packages/{main => core}/agent_framework/_agents.py (100%) rename python/packages/{main => core}/agent_framework/_clients.py (100%) rename python/packages/{main => core}/agent_framework/_logging.py (100%) rename python/packages/{main => core}/agent_framework/_mcp.py (100%) rename python/packages/{main => core}/agent_framework/_memory.py (100%) rename python/packages/{main => core}/agent_framework/_middleware.py (100%) rename python/packages/{main => core}/agent_framework/_pydantic.py (100%) rename python/packages/{main => core}/agent_framework/_telemetry.py (100%) rename python/packages/{main => core}/agent_framework/_threads.py (100%) rename python/packages/{main => core}/agent_framework/_tools.py (100%) rename python/packages/{main => core}/agent_framework/_types.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/README.md (100%) rename python/packages/{main => core}/agent_framework/_workflow/__init__.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/__init__.pyi (100%) rename python/packages/{main => core}/agent_framework/_workflow/_agent.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_checkpoint.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_concurrent.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_const.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_edge.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_edge_runner.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_events.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_executor.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_function_executor.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_magentic.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_model_utils.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_runner.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_runner_context.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_sequential.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_shared_state.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_typing_utils.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_validation.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_viz.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_workflow.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_workflow_context.py (100%) rename python/packages/{main => core}/agent_framework/_workflow/_workflow_executor.py (100%) rename python/packages/{main => core}/agent_framework/a2a/__init__.py (100%) rename python/packages/{main => core}/agent_framework/a2a/__init__.pyi (100%) rename python/packages/{main => core}/agent_framework/azure/__init__.py (100%) rename python/packages/{main => core}/agent_framework/azure/__init__.pyi (100%) rename python/packages/{main => core}/agent_framework/azure/_assistants_client.py (100%) rename python/packages/{main => core}/agent_framework/azure/_chat_client.py (100%) rename python/packages/{main => core}/agent_framework/azure/_entra_id_authentication.py (100%) rename python/packages/{main => core}/agent_framework/azure/_responses_client.py (100%) rename python/packages/{main => core}/agent_framework/azure/_shared.py (100%) rename python/packages/{main => core}/agent_framework/devui/__init__.py (100%) rename python/packages/{main => core}/agent_framework/exceptions.py (100%) rename python/packages/{main => core}/agent_framework/lab/__init__.py (100%) rename python/packages/{main => core}/agent_framework/mem0/__init__.py (100%) rename python/packages/{main => core}/agent_framework/mem0/__init__.pyi (100%) rename python/packages/{main => core}/agent_framework/microsoft/__init__.py (100%) rename python/packages/{main => core}/agent_framework/microsoft/__init__.pyi (100%) rename python/packages/{main => core}/agent_framework/observability.py (100%) rename python/packages/{main => core}/agent_framework/openai/__init__.py (100%) rename python/packages/{main => core}/agent_framework/openai/_assistants_client.py (100%) rename python/packages/{main => core}/agent_framework/openai/_chat_client.py (100%) rename python/packages/{main => core}/agent_framework/openai/_exceptions.py (100%) rename python/packages/{main => core}/agent_framework/openai/_responses_client.py (100%) rename python/packages/{main => core}/agent_framework/openai/_shared.py (100%) rename python/packages/{main => core}/agent_framework/py.typed (100%) rename python/packages/{main => core}/agent_framework/redis/__init__.py (100%) rename python/packages/{main => core}/agent_framework/redis/__init__.pyi (100%) rename python/packages/{main => core}/pyproject.toml (77%) rename python/packages/{main => core}/tests/__init__.py (100%) rename python/packages/{main => core}/tests/azure/conftest.py (100%) rename python/packages/{main => core}/tests/azure/test_azure_assistants_client.py (100%) rename python/packages/{main => core}/tests/azure/test_azure_chat_client.py (100%) rename python/packages/{main => core}/tests/azure/test_azure_responses_client.py (100%) rename python/packages/{main => core}/tests/azure/test_entra_id_authentication.py (100%) rename python/packages/{main => core}/tests/conftest.py (100%) rename python/packages/{main => core}/tests/main/__init__.py (100%) rename python/packages/{main => core}/tests/main/conftest.py (100%) rename python/packages/{main => core}/tests/main/test_agents.py (100%) rename python/packages/{main => core}/tests/main/test_clients.py (100%) rename python/packages/{main => core}/tests/main/test_logging.py (100%) rename python/packages/{main => core}/tests/main/test_mcp.py (100%) rename python/packages/{main => core}/tests/main/test_memory.py (100%) rename python/packages/{main => core}/tests/main/test_middleware.py (100%) rename python/packages/{main => core}/tests/main/test_middleware_context_result.py (100%) rename python/packages/{main => core}/tests/main/test_middleware_with_agent.py (100%) rename python/packages/{main => core}/tests/main/test_middleware_with_chat.py (100%) rename python/packages/{main => core}/tests/main/test_observability.py (100%) rename python/packages/{main => core}/tests/main/test_telemetry.py (100%) rename python/packages/{main => core}/tests/main/test_threads.py (100%) rename python/packages/{main => core}/tests/main/test_tools.py (100%) rename python/packages/{main => core}/tests/main/test_types.py (100%) rename python/packages/{main => core}/tests/main/utils.py (100%) rename python/packages/{main => core}/tests/openai/conftest.py (100%) rename python/packages/{main => core}/tests/openai/test_openai_assistants_client.py (100%) rename python/packages/{main => core}/tests/openai/test_openai_chat_client.py (100%) rename python/packages/{main => core}/tests/openai/test_openai_chat_client_base.py (100%) rename python/packages/{main => core}/tests/openai/test_openai_responses_client.py (100%) rename python/packages/{main => core}/tests/workflow/conftest.py (100%) rename python/packages/{main => core}/tests/workflow/test_checkpoint.py (100%) rename python/packages/{main => core}/tests/workflow/test_checkpoint_decode.py (100%) rename python/packages/{main => core}/tests/workflow/test_checkpoint_validation.py (100%) rename python/packages/{main => core}/tests/workflow/test_concurrent.py (100%) rename python/packages/{main => core}/tests/workflow/test_edge.py (100%) rename python/packages/{main => core}/tests/workflow/test_executor.py (100%) rename python/packages/{main => core}/tests/workflow/test_full_conversation.py (100%) rename python/packages/{main => core}/tests/workflow/test_function_executor.py (100%) rename python/packages/{main => core}/tests/workflow/test_magentic.py (100%) rename python/packages/{main => core}/tests/workflow/test_request_info_executor_rehydrate.py (100%) rename python/packages/{main => core}/tests/workflow/test_runner.py (100%) rename python/packages/{main => core}/tests/workflow/test_sequential.py (100%) rename python/packages/{main => core}/tests/workflow/test_serialization.py (100%) rename python/packages/{main => core}/tests/workflow/test_sub_workflow.py (100%) rename python/packages/{main => core}/tests/workflow/test_typing_utils.py (100%) rename python/packages/{main => core}/tests/workflow/test_validation.py (100%) rename python/packages/{main => core}/tests/workflow/test_viz.py (100%) rename python/packages/{main => core}/tests/workflow/test_workflow.py (100%) rename python/packages/{main => core}/tests/workflow/test_workflow_agent.py (100%) rename python/packages/{main => core}/tests/workflow/test_workflow_builder.py (100%) rename python/packages/{main => core}/tests/workflow/test_workflow_context.py (100%) rename python/packages/{main => core}/tests/workflow/test_workflow_observability.py (100%) rename python/packages/{main => core}/tests/workflow/test_workflow_states.py (100%) delete mode 100644 python/packages/runtime/LICENSE delete mode 100644 python/packages/runtime/README.md delete mode 100644 python/packages/runtime/agent_framework_runtime/__init__.py delete mode 100644 python/packages/runtime/agent_framework_runtime/agent_actor.py delete mode 100644 python/packages/runtime/pyproject.toml delete mode 100644 python/packages/runtime/tests/test_sample.py diff --git a/.github/workflows/python-merge-tests.yml b/.github/workflows/python-merge-tests.yml index 9f13167cc7..45f9b24f79 100644 --- a/.github/workflows/python-merge-tests.yml +++ b/.github/workflows/python-merge-tests.yml @@ -77,7 +77,7 @@ jobs: UV_CACHE_DIR: /tmp/.uv-cache - name: Test with pytest timeout-minutes: 10 - run: uv run poe all-tests -n logical --dist loadfile --dist worksteal + run: uv run poe all-tests -n logical --dist loadfile --dist worksteal --timeout 300 --retries 3 --retry-delay 10 working-directory: ./python - name: Test main samples timeout-minutes: 10 @@ -137,7 +137,7 @@ jobs: subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - name: Test with pytest timeout-minutes: 10 - run: uv run poe all-tests -n logical --dist loadfile --dist worksteal + run: uv run poe all-tests -n logical --dist loadfile --dist worksteal --timeout 300 --retries 3 --retry-delay 10 working-directory: ./python - name: Test azure samples timeout-minutes: 10 diff --git a/python/DEV_SETUP.md b/python/DEV_SETUP.md index 90afcf66fa..dae1f5a1ba 100644 --- a/python/DEV_SETUP.md +++ b/python/DEV_SETUP.md @@ -159,7 +159,7 @@ Alternatively, you can run them using VSCode Tasks. Open the command palette If you want to run the tests for a single package, you can use the `uv run poe test` command with the package name as an argument. For example, to run the tests for the `agent_framework` package, you can use: ```bash -uv run poe --directory packages/main test +uv run poe --directory packages/core test ``` These commands also output the coverage report. diff --git a/python/packages/a2a/pyproject.toml b/python/packages/a2a/pyproject.toml index 56e481d0be..f13ca4f145 100644 --- a/python/packages/a2a/pyproject.toml +++ b/python/packages/a2a/pyproject.toml @@ -4,7 +4,7 @@ description = "A2A integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "0.1.0b1" +version = "1.0.0-b251001" license-files = ["LICENSE"] urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -85,5 +85,5 @@ mypy = "mypy --config-file $POE_ROOT/pyproject.toml agent_framework_a2a" test = "pytest --cov=agent_framework_a2a --cov-report=term-missing:skip-covered tests" [build-system] -requires = ["flit-core >= 3.9,<4.0"] +requires = ["flit-core >= 3.11,<4.0"] build-backend = "flit_core.buildapi" diff --git a/python/packages/azure-ai/agent_framework_azure_ai/_chat_client.py b/python/packages/azure-ai/agent_framework_azure_ai/_chat_client.py index 4d7e272afb..0f5ba1ba94 100644 --- a/python/packages/azure-ai/agent_framework_azure_ai/_chat_client.py +++ b/python/packages/azure-ai/agent_framework_azure_ai/_chat_client.py @@ -54,7 +54,6 @@ from azure.ai.agents.models import ( CodeInterpreterToolDefinition, FileSearchTool, FunctionName, - FunctionToolOutput, ListSortOrder, McpTool, MessageDeltaChunk, @@ -873,9 +872,9 @@ class AzureAIAgentClient(BaseChatClient): else: results.append(json.dumps(item)) if len(results) == 1: - tool_outputs.append(FunctionToolOutput(tool_call_id=call_id, output=results[0])) + tool_outputs.append(ToolOutput(tool_call_id=call_id, output=results[0])) else: - tool_outputs.append(FunctionToolOutput(tool_call_id=call_id, output=json.dumps(results))) + tool_outputs.append(ToolOutput(tool_call_id=call_id, output=json.dumps(results))) elif isinstance(content, FunctionApprovalResponseContent): if tool_approvals is None: tool_approvals = [] diff --git a/python/packages/azure-ai/pyproject.toml b/python/packages/azure-ai/pyproject.toml index 1f5810c284..5e58897616 100644 --- a/python/packages/azure-ai/pyproject.toml +++ b/python/packages/azure-ai/pyproject.toml @@ -4,7 +4,7 @@ description = "Azure AI Foundry integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "0.1.0b1" +version = "1.0.0-b251001" license-files = ["LICENSE"] urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,9 +23,9 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework", + "agent-framework-core", "azure-ai-projects >= 1.0.0b11", - "azure-ai-agents >= 1.2.0b4", + "azure-ai-agents == 1.2.0b5", "aiohttp ~= 3.8", ] @@ -85,5 +85,5 @@ mypy = "mypy --config-file $POE_ROOT/pyproject.toml agent_framework_azure_ai" test = "pytest --cov=agent_framework_azure_ai --cov-report=term-missing:skip-covered tests" [build-system] -requires = ["flit-core >= 3.9,<4.0"] +requires = ["flit-core >= 3.11,<4.0"] build-backend = "flit_core.buildapi" diff --git a/python/packages/copilotstudio/pyproject.toml b/python/packages/copilotstudio/pyproject.toml index c192c8c55b..47eea69ba9 100644 --- a/python/packages/copilotstudio/pyproject.toml +++ b/python/packages/copilotstudio/pyproject.toml @@ -4,7 +4,7 @@ description = "Copilot Studio integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "0.1.0b1" +version = "1.0.0-b251001" license-files = ["LICENSE"] urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework", + "agent-framework-core", "microsoft-agents-copilotstudio-client>=0.3.1", ] @@ -84,10 +84,6 @@ include = "../../shared_tasks.toml" mypy = "mypy --config-file $POE_ROOT/pyproject.toml agent_framework_copilotstudio" test = "pytest --cov=agent_framework_copilotstudio --cov-report=term-missing:skip-covered tests" -[tool.uv.build-backend] -module-name = "agent_framework_copilotstudio" -module-root = "" - [build-system] -requires = ["uv_build>=0.8.2,<0.9.0"] -build-backend = "uv_build" +requires = ["flit-core >= 3.11,<4.0"] +build-backend = "flit_core.buildapi" diff --git a/python/packages/main/.vscode/launch.json b/python/packages/core/.vscode/launch.json similarity index 100% rename from python/packages/main/.vscode/launch.json rename to python/packages/core/.vscode/launch.json diff --git a/python/packages/main/LICENSE b/python/packages/core/LICENSE similarity index 100% rename from python/packages/main/LICENSE rename to python/packages/core/LICENSE diff --git a/python/packages/main/README.md b/python/packages/core/README.md similarity index 100% rename from python/packages/main/README.md rename to python/packages/core/README.md diff --git a/python/packages/main/agent_framework/__init__.py b/python/packages/core/agent_framework/__init__.py similarity index 100% rename from python/packages/main/agent_framework/__init__.py rename to python/packages/core/agent_framework/__init__.py diff --git a/python/packages/main/agent_framework/_agents.py b/python/packages/core/agent_framework/_agents.py similarity index 100% rename from python/packages/main/agent_framework/_agents.py rename to python/packages/core/agent_framework/_agents.py diff --git a/python/packages/main/agent_framework/_clients.py b/python/packages/core/agent_framework/_clients.py similarity index 100% rename from python/packages/main/agent_framework/_clients.py rename to python/packages/core/agent_framework/_clients.py diff --git a/python/packages/main/agent_framework/_logging.py b/python/packages/core/agent_framework/_logging.py similarity index 100% rename from python/packages/main/agent_framework/_logging.py rename to python/packages/core/agent_framework/_logging.py diff --git a/python/packages/main/agent_framework/_mcp.py b/python/packages/core/agent_framework/_mcp.py similarity index 100% rename from python/packages/main/agent_framework/_mcp.py rename to python/packages/core/agent_framework/_mcp.py diff --git a/python/packages/main/agent_framework/_memory.py b/python/packages/core/agent_framework/_memory.py similarity index 100% rename from python/packages/main/agent_framework/_memory.py rename to python/packages/core/agent_framework/_memory.py diff --git a/python/packages/main/agent_framework/_middleware.py b/python/packages/core/agent_framework/_middleware.py similarity index 100% rename from python/packages/main/agent_framework/_middleware.py rename to python/packages/core/agent_framework/_middleware.py diff --git a/python/packages/main/agent_framework/_pydantic.py b/python/packages/core/agent_framework/_pydantic.py similarity index 100% rename from python/packages/main/agent_framework/_pydantic.py rename to python/packages/core/agent_framework/_pydantic.py diff --git a/python/packages/main/agent_framework/_telemetry.py b/python/packages/core/agent_framework/_telemetry.py similarity index 100% rename from python/packages/main/agent_framework/_telemetry.py rename to python/packages/core/agent_framework/_telemetry.py diff --git a/python/packages/main/agent_framework/_threads.py b/python/packages/core/agent_framework/_threads.py similarity index 100% rename from python/packages/main/agent_framework/_threads.py rename to python/packages/core/agent_framework/_threads.py diff --git a/python/packages/main/agent_framework/_tools.py b/python/packages/core/agent_framework/_tools.py similarity index 100% rename from python/packages/main/agent_framework/_tools.py rename to python/packages/core/agent_framework/_tools.py diff --git a/python/packages/main/agent_framework/_types.py b/python/packages/core/agent_framework/_types.py similarity index 100% rename from python/packages/main/agent_framework/_types.py rename to python/packages/core/agent_framework/_types.py diff --git a/python/packages/main/agent_framework/_workflow/README.md b/python/packages/core/agent_framework/_workflow/README.md similarity index 100% rename from python/packages/main/agent_framework/_workflow/README.md rename to python/packages/core/agent_framework/_workflow/README.md diff --git a/python/packages/main/agent_framework/_workflow/__init__.py b/python/packages/core/agent_framework/_workflow/__init__.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/__init__.py rename to python/packages/core/agent_framework/_workflow/__init__.py diff --git a/python/packages/main/agent_framework/_workflow/__init__.pyi b/python/packages/core/agent_framework/_workflow/__init__.pyi similarity index 100% rename from python/packages/main/agent_framework/_workflow/__init__.pyi rename to python/packages/core/agent_framework/_workflow/__init__.pyi diff --git a/python/packages/main/agent_framework/_workflow/_agent.py b/python/packages/core/agent_framework/_workflow/_agent.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_agent.py rename to python/packages/core/agent_framework/_workflow/_agent.py diff --git a/python/packages/main/agent_framework/_workflow/_checkpoint.py b/python/packages/core/agent_framework/_workflow/_checkpoint.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_checkpoint.py rename to python/packages/core/agent_framework/_workflow/_checkpoint.py diff --git a/python/packages/main/agent_framework/_workflow/_concurrent.py b/python/packages/core/agent_framework/_workflow/_concurrent.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_concurrent.py rename to python/packages/core/agent_framework/_workflow/_concurrent.py diff --git a/python/packages/main/agent_framework/_workflow/_const.py b/python/packages/core/agent_framework/_workflow/_const.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_const.py rename to python/packages/core/agent_framework/_workflow/_const.py diff --git a/python/packages/main/agent_framework/_workflow/_edge.py b/python/packages/core/agent_framework/_workflow/_edge.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_edge.py rename to python/packages/core/agent_framework/_workflow/_edge.py diff --git a/python/packages/main/agent_framework/_workflow/_edge_runner.py b/python/packages/core/agent_framework/_workflow/_edge_runner.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_edge_runner.py rename to python/packages/core/agent_framework/_workflow/_edge_runner.py diff --git a/python/packages/main/agent_framework/_workflow/_events.py b/python/packages/core/agent_framework/_workflow/_events.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_events.py rename to python/packages/core/agent_framework/_workflow/_events.py diff --git a/python/packages/main/agent_framework/_workflow/_executor.py b/python/packages/core/agent_framework/_workflow/_executor.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_executor.py rename to python/packages/core/agent_framework/_workflow/_executor.py diff --git a/python/packages/main/agent_framework/_workflow/_function_executor.py b/python/packages/core/agent_framework/_workflow/_function_executor.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_function_executor.py rename to python/packages/core/agent_framework/_workflow/_function_executor.py diff --git a/python/packages/main/agent_framework/_workflow/_magentic.py b/python/packages/core/agent_framework/_workflow/_magentic.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_magentic.py rename to python/packages/core/agent_framework/_workflow/_magentic.py diff --git a/python/packages/main/agent_framework/_workflow/_model_utils.py b/python/packages/core/agent_framework/_workflow/_model_utils.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_model_utils.py rename to python/packages/core/agent_framework/_workflow/_model_utils.py diff --git a/python/packages/main/agent_framework/_workflow/_runner.py b/python/packages/core/agent_framework/_workflow/_runner.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_runner.py rename to python/packages/core/agent_framework/_workflow/_runner.py diff --git a/python/packages/main/agent_framework/_workflow/_runner_context.py b/python/packages/core/agent_framework/_workflow/_runner_context.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_runner_context.py rename to python/packages/core/agent_framework/_workflow/_runner_context.py diff --git a/python/packages/main/agent_framework/_workflow/_sequential.py b/python/packages/core/agent_framework/_workflow/_sequential.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_sequential.py rename to python/packages/core/agent_framework/_workflow/_sequential.py diff --git a/python/packages/main/agent_framework/_workflow/_shared_state.py b/python/packages/core/agent_framework/_workflow/_shared_state.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_shared_state.py rename to python/packages/core/agent_framework/_workflow/_shared_state.py diff --git a/python/packages/main/agent_framework/_workflow/_typing_utils.py b/python/packages/core/agent_framework/_workflow/_typing_utils.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_typing_utils.py rename to python/packages/core/agent_framework/_workflow/_typing_utils.py diff --git a/python/packages/main/agent_framework/_workflow/_validation.py b/python/packages/core/agent_framework/_workflow/_validation.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_validation.py rename to python/packages/core/agent_framework/_workflow/_validation.py diff --git a/python/packages/main/agent_framework/_workflow/_viz.py b/python/packages/core/agent_framework/_workflow/_viz.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_viz.py rename to python/packages/core/agent_framework/_workflow/_viz.py diff --git a/python/packages/main/agent_framework/_workflow/_workflow.py b/python/packages/core/agent_framework/_workflow/_workflow.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_workflow.py rename to python/packages/core/agent_framework/_workflow/_workflow.py diff --git a/python/packages/main/agent_framework/_workflow/_workflow_context.py b/python/packages/core/agent_framework/_workflow/_workflow_context.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_workflow_context.py rename to python/packages/core/agent_framework/_workflow/_workflow_context.py diff --git a/python/packages/main/agent_framework/_workflow/_workflow_executor.py b/python/packages/core/agent_framework/_workflow/_workflow_executor.py similarity index 100% rename from python/packages/main/agent_framework/_workflow/_workflow_executor.py rename to python/packages/core/agent_framework/_workflow/_workflow_executor.py diff --git a/python/packages/main/agent_framework/a2a/__init__.py b/python/packages/core/agent_framework/a2a/__init__.py similarity index 100% rename from python/packages/main/agent_framework/a2a/__init__.py rename to python/packages/core/agent_framework/a2a/__init__.py diff --git a/python/packages/main/agent_framework/a2a/__init__.pyi b/python/packages/core/agent_framework/a2a/__init__.pyi similarity index 100% rename from python/packages/main/agent_framework/a2a/__init__.pyi rename to python/packages/core/agent_framework/a2a/__init__.pyi diff --git a/python/packages/main/agent_framework/azure/__init__.py b/python/packages/core/agent_framework/azure/__init__.py similarity index 100% rename from python/packages/main/agent_framework/azure/__init__.py rename to python/packages/core/agent_framework/azure/__init__.py diff --git a/python/packages/main/agent_framework/azure/__init__.pyi b/python/packages/core/agent_framework/azure/__init__.pyi similarity index 100% rename from python/packages/main/agent_framework/azure/__init__.pyi rename to python/packages/core/agent_framework/azure/__init__.pyi diff --git a/python/packages/main/agent_framework/azure/_assistants_client.py b/python/packages/core/agent_framework/azure/_assistants_client.py similarity index 100% rename from python/packages/main/agent_framework/azure/_assistants_client.py rename to python/packages/core/agent_framework/azure/_assistants_client.py diff --git a/python/packages/main/agent_framework/azure/_chat_client.py b/python/packages/core/agent_framework/azure/_chat_client.py similarity index 100% rename from python/packages/main/agent_framework/azure/_chat_client.py rename to python/packages/core/agent_framework/azure/_chat_client.py diff --git a/python/packages/main/agent_framework/azure/_entra_id_authentication.py b/python/packages/core/agent_framework/azure/_entra_id_authentication.py similarity index 100% rename from python/packages/main/agent_framework/azure/_entra_id_authentication.py rename to python/packages/core/agent_framework/azure/_entra_id_authentication.py diff --git a/python/packages/main/agent_framework/azure/_responses_client.py b/python/packages/core/agent_framework/azure/_responses_client.py similarity index 100% rename from python/packages/main/agent_framework/azure/_responses_client.py rename to python/packages/core/agent_framework/azure/_responses_client.py diff --git a/python/packages/main/agent_framework/azure/_shared.py b/python/packages/core/agent_framework/azure/_shared.py similarity index 100% rename from python/packages/main/agent_framework/azure/_shared.py rename to python/packages/core/agent_framework/azure/_shared.py diff --git a/python/packages/main/agent_framework/devui/__init__.py b/python/packages/core/agent_framework/devui/__init__.py similarity index 100% rename from python/packages/main/agent_framework/devui/__init__.py rename to python/packages/core/agent_framework/devui/__init__.py diff --git a/python/packages/main/agent_framework/exceptions.py b/python/packages/core/agent_framework/exceptions.py similarity index 100% rename from python/packages/main/agent_framework/exceptions.py rename to python/packages/core/agent_framework/exceptions.py diff --git a/python/packages/main/agent_framework/lab/__init__.py b/python/packages/core/agent_framework/lab/__init__.py similarity index 100% rename from python/packages/main/agent_framework/lab/__init__.py rename to python/packages/core/agent_framework/lab/__init__.py diff --git a/python/packages/main/agent_framework/mem0/__init__.py b/python/packages/core/agent_framework/mem0/__init__.py similarity index 100% rename from python/packages/main/agent_framework/mem0/__init__.py rename to python/packages/core/agent_framework/mem0/__init__.py diff --git a/python/packages/main/agent_framework/mem0/__init__.pyi b/python/packages/core/agent_framework/mem0/__init__.pyi similarity index 100% rename from python/packages/main/agent_framework/mem0/__init__.pyi rename to python/packages/core/agent_framework/mem0/__init__.pyi diff --git a/python/packages/main/agent_framework/microsoft/__init__.py b/python/packages/core/agent_framework/microsoft/__init__.py similarity index 100% rename from python/packages/main/agent_framework/microsoft/__init__.py rename to python/packages/core/agent_framework/microsoft/__init__.py diff --git a/python/packages/main/agent_framework/microsoft/__init__.pyi b/python/packages/core/agent_framework/microsoft/__init__.pyi similarity index 100% rename from python/packages/main/agent_framework/microsoft/__init__.pyi rename to python/packages/core/agent_framework/microsoft/__init__.pyi diff --git a/python/packages/main/agent_framework/observability.py b/python/packages/core/agent_framework/observability.py similarity index 100% rename from python/packages/main/agent_framework/observability.py rename to python/packages/core/agent_framework/observability.py diff --git a/python/packages/main/agent_framework/openai/__init__.py b/python/packages/core/agent_framework/openai/__init__.py similarity index 100% rename from python/packages/main/agent_framework/openai/__init__.py rename to python/packages/core/agent_framework/openai/__init__.py diff --git a/python/packages/main/agent_framework/openai/_assistants_client.py b/python/packages/core/agent_framework/openai/_assistants_client.py similarity index 100% rename from python/packages/main/agent_framework/openai/_assistants_client.py rename to python/packages/core/agent_framework/openai/_assistants_client.py diff --git a/python/packages/main/agent_framework/openai/_chat_client.py b/python/packages/core/agent_framework/openai/_chat_client.py similarity index 100% rename from python/packages/main/agent_framework/openai/_chat_client.py rename to python/packages/core/agent_framework/openai/_chat_client.py diff --git a/python/packages/main/agent_framework/openai/_exceptions.py b/python/packages/core/agent_framework/openai/_exceptions.py similarity index 100% rename from python/packages/main/agent_framework/openai/_exceptions.py rename to python/packages/core/agent_framework/openai/_exceptions.py diff --git a/python/packages/main/agent_framework/openai/_responses_client.py b/python/packages/core/agent_framework/openai/_responses_client.py similarity index 100% rename from python/packages/main/agent_framework/openai/_responses_client.py rename to python/packages/core/agent_framework/openai/_responses_client.py diff --git a/python/packages/main/agent_framework/openai/_shared.py b/python/packages/core/agent_framework/openai/_shared.py similarity index 100% rename from python/packages/main/agent_framework/openai/_shared.py rename to python/packages/core/agent_framework/openai/_shared.py diff --git a/python/packages/main/agent_framework/py.typed b/python/packages/core/agent_framework/py.typed similarity index 100% rename from python/packages/main/agent_framework/py.typed rename to python/packages/core/agent_framework/py.typed diff --git a/python/packages/main/agent_framework/redis/__init__.py b/python/packages/core/agent_framework/redis/__init__.py similarity index 100% rename from python/packages/main/agent_framework/redis/__init__.py rename to python/packages/core/agent_framework/redis/__init__.py diff --git a/python/packages/main/agent_framework/redis/__init__.pyi b/python/packages/core/agent_framework/redis/__init__.pyi similarity index 100% rename from python/packages/main/agent_framework/redis/__init__.pyi rename to python/packages/core/agent_framework/redis/__init__.pyi diff --git a/python/packages/main/pyproject.toml b/python/packages/core/pyproject.toml similarity index 77% rename from python/packages/main/pyproject.toml rename to python/packages/core/pyproject.toml index 713e157488..02bb9371b2 100644 --- a/python/packages/main/pyproject.toml +++ b/python/packages/core/pyproject.toml @@ -1,10 +1,10 @@ [project] -name = "agent-framework" -description = "Microsoft Agent Framework for building AI Agents with Python." +name = "agent-framework-core" +description = "Microsoft Agent Framework for building AI Agents with Python. This is the core package that has all the core abstractions and implementations." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "0.1.0b1" # TODO: decide on initial version and versioning strategy +version = "1.0.0-b251001" license-files = ["LICENSE"] urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -39,46 +39,9 @@ dependencies = [ ] [project.optional-dependencies] -azure-ai = [ - "agent-framework-azure-ai" -] -azure = [ - "agent-framework-azure-ai" -] -microsoft-copilotstudio = [ - "agent-framework-copilotstudio" -] -microsoft = [ - "agent-framework-copilotstudio" -] -redis = [ - "agent-framework-redis" -] viz = [ "graphviz>=0.20.0" ] -runtime = [ - "agent-framework-runtime" -] -mem0 = [ - "agent-framework-mem0" -] -a2a = [ - "agent-framework-a2a" -] -devui = [ - "agent-framework-devui" -] -all = [ - "agent_framework_copilotstudio", - "agent-framework-azure-ai", - "agent-framework-runtime", - "agent-framework-mem0", - "agent-framework-a2a", - "agent-framework-redis", - "agent-framework-devui", - "graphviz>=0.20.0" -] [tool.uv] prerelease = "if-necessary-or-explicit" @@ -94,7 +57,7 @@ fallback-version = "0.0.0" [tool.pytest.ini_options] testpaths = [ 'tests', - 'packages/main/tests', + 'packages/core/tests', 'packages/a2a/tests', 'packages/azure-ai/tests', 'packages/copilotstudio/tests', @@ -144,6 +107,9 @@ include = "../../shared_tasks.toml" mypy = "mypy --config-file $POE_ROOT/pyproject.toml agent_framework" test = "pytest --cov=agent_framework --cov-report=term-missing:skip-covered tests" +[tool.flit.module] +name = "agent_framework" + [build-system] -requires = ["flit-core >= 3.9,<4.0"] +requires = ["flit-core >= 3.11,<4.0"] build-backend = "flit_core.buildapi" diff --git a/python/packages/main/tests/__init__.py b/python/packages/core/tests/__init__.py similarity index 100% rename from python/packages/main/tests/__init__.py rename to python/packages/core/tests/__init__.py diff --git a/python/packages/main/tests/azure/conftest.py b/python/packages/core/tests/azure/conftest.py similarity index 100% rename from python/packages/main/tests/azure/conftest.py rename to python/packages/core/tests/azure/conftest.py diff --git a/python/packages/main/tests/azure/test_azure_assistants_client.py b/python/packages/core/tests/azure/test_azure_assistants_client.py similarity index 100% rename from python/packages/main/tests/azure/test_azure_assistants_client.py rename to python/packages/core/tests/azure/test_azure_assistants_client.py diff --git a/python/packages/main/tests/azure/test_azure_chat_client.py b/python/packages/core/tests/azure/test_azure_chat_client.py similarity index 100% rename from python/packages/main/tests/azure/test_azure_chat_client.py rename to python/packages/core/tests/azure/test_azure_chat_client.py diff --git a/python/packages/main/tests/azure/test_azure_responses_client.py b/python/packages/core/tests/azure/test_azure_responses_client.py similarity index 100% rename from python/packages/main/tests/azure/test_azure_responses_client.py rename to python/packages/core/tests/azure/test_azure_responses_client.py diff --git a/python/packages/main/tests/azure/test_entra_id_authentication.py b/python/packages/core/tests/azure/test_entra_id_authentication.py similarity index 100% rename from python/packages/main/tests/azure/test_entra_id_authentication.py rename to python/packages/core/tests/azure/test_entra_id_authentication.py diff --git a/python/packages/main/tests/conftest.py b/python/packages/core/tests/conftest.py similarity index 100% rename from python/packages/main/tests/conftest.py rename to python/packages/core/tests/conftest.py diff --git a/python/packages/main/tests/main/__init__.py b/python/packages/core/tests/main/__init__.py similarity index 100% rename from python/packages/main/tests/main/__init__.py rename to python/packages/core/tests/main/__init__.py diff --git a/python/packages/main/tests/main/conftest.py b/python/packages/core/tests/main/conftest.py similarity index 100% rename from python/packages/main/tests/main/conftest.py rename to python/packages/core/tests/main/conftest.py diff --git a/python/packages/main/tests/main/test_agents.py b/python/packages/core/tests/main/test_agents.py similarity index 100% rename from python/packages/main/tests/main/test_agents.py rename to python/packages/core/tests/main/test_agents.py diff --git a/python/packages/main/tests/main/test_clients.py b/python/packages/core/tests/main/test_clients.py similarity index 100% rename from python/packages/main/tests/main/test_clients.py rename to python/packages/core/tests/main/test_clients.py diff --git a/python/packages/main/tests/main/test_logging.py b/python/packages/core/tests/main/test_logging.py similarity index 100% rename from python/packages/main/tests/main/test_logging.py rename to python/packages/core/tests/main/test_logging.py diff --git a/python/packages/main/tests/main/test_mcp.py b/python/packages/core/tests/main/test_mcp.py similarity index 100% rename from python/packages/main/tests/main/test_mcp.py rename to python/packages/core/tests/main/test_mcp.py diff --git a/python/packages/main/tests/main/test_memory.py b/python/packages/core/tests/main/test_memory.py similarity index 100% rename from python/packages/main/tests/main/test_memory.py rename to python/packages/core/tests/main/test_memory.py diff --git a/python/packages/main/tests/main/test_middleware.py b/python/packages/core/tests/main/test_middleware.py similarity index 100% rename from python/packages/main/tests/main/test_middleware.py rename to python/packages/core/tests/main/test_middleware.py diff --git a/python/packages/main/tests/main/test_middleware_context_result.py b/python/packages/core/tests/main/test_middleware_context_result.py similarity index 100% rename from python/packages/main/tests/main/test_middleware_context_result.py rename to python/packages/core/tests/main/test_middleware_context_result.py diff --git a/python/packages/main/tests/main/test_middleware_with_agent.py b/python/packages/core/tests/main/test_middleware_with_agent.py similarity index 100% rename from python/packages/main/tests/main/test_middleware_with_agent.py rename to python/packages/core/tests/main/test_middleware_with_agent.py diff --git a/python/packages/main/tests/main/test_middleware_with_chat.py b/python/packages/core/tests/main/test_middleware_with_chat.py similarity index 100% rename from python/packages/main/tests/main/test_middleware_with_chat.py rename to python/packages/core/tests/main/test_middleware_with_chat.py diff --git a/python/packages/main/tests/main/test_observability.py b/python/packages/core/tests/main/test_observability.py similarity index 100% rename from python/packages/main/tests/main/test_observability.py rename to python/packages/core/tests/main/test_observability.py diff --git a/python/packages/main/tests/main/test_telemetry.py b/python/packages/core/tests/main/test_telemetry.py similarity index 100% rename from python/packages/main/tests/main/test_telemetry.py rename to python/packages/core/tests/main/test_telemetry.py diff --git a/python/packages/main/tests/main/test_threads.py b/python/packages/core/tests/main/test_threads.py similarity index 100% rename from python/packages/main/tests/main/test_threads.py rename to python/packages/core/tests/main/test_threads.py diff --git a/python/packages/main/tests/main/test_tools.py b/python/packages/core/tests/main/test_tools.py similarity index 100% rename from python/packages/main/tests/main/test_tools.py rename to python/packages/core/tests/main/test_tools.py diff --git a/python/packages/main/tests/main/test_types.py b/python/packages/core/tests/main/test_types.py similarity index 100% rename from python/packages/main/tests/main/test_types.py rename to python/packages/core/tests/main/test_types.py diff --git a/python/packages/main/tests/main/utils.py b/python/packages/core/tests/main/utils.py similarity index 100% rename from python/packages/main/tests/main/utils.py rename to python/packages/core/tests/main/utils.py diff --git a/python/packages/main/tests/openai/conftest.py b/python/packages/core/tests/openai/conftest.py similarity index 100% rename from python/packages/main/tests/openai/conftest.py rename to python/packages/core/tests/openai/conftest.py diff --git a/python/packages/main/tests/openai/test_openai_assistants_client.py b/python/packages/core/tests/openai/test_openai_assistants_client.py similarity index 100% rename from python/packages/main/tests/openai/test_openai_assistants_client.py rename to python/packages/core/tests/openai/test_openai_assistants_client.py diff --git a/python/packages/main/tests/openai/test_openai_chat_client.py b/python/packages/core/tests/openai/test_openai_chat_client.py similarity index 100% rename from python/packages/main/tests/openai/test_openai_chat_client.py rename to python/packages/core/tests/openai/test_openai_chat_client.py diff --git a/python/packages/main/tests/openai/test_openai_chat_client_base.py b/python/packages/core/tests/openai/test_openai_chat_client_base.py similarity index 100% rename from python/packages/main/tests/openai/test_openai_chat_client_base.py rename to python/packages/core/tests/openai/test_openai_chat_client_base.py diff --git a/python/packages/main/tests/openai/test_openai_responses_client.py b/python/packages/core/tests/openai/test_openai_responses_client.py similarity index 100% rename from python/packages/main/tests/openai/test_openai_responses_client.py rename to python/packages/core/tests/openai/test_openai_responses_client.py diff --git a/python/packages/main/tests/workflow/conftest.py b/python/packages/core/tests/workflow/conftest.py similarity index 100% rename from python/packages/main/tests/workflow/conftest.py rename to python/packages/core/tests/workflow/conftest.py diff --git a/python/packages/main/tests/workflow/test_checkpoint.py b/python/packages/core/tests/workflow/test_checkpoint.py similarity index 100% rename from python/packages/main/tests/workflow/test_checkpoint.py rename to python/packages/core/tests/workflow/test_checkpoint.py diff --git a/python/packages/main/tests/workflow/test_checkpoint_decode.py b/python/packages/core/tests/workflow/test_checkpoint_decode.py similarity index 100% rename from python/packages/main/tests/workflow/test_checkpoint_decode.py rename to python/packages/core/tests/workflow/test_checkpoint_decode.py diff --git a/python/packages/main/tests/workflow/test_checkpoint_validation.py b/python/packages/core/tests/workflow/test_checkpoint_validation.py similarity index 100% rename from python/packages/main/tests/workflow/test_checkpoint_validation.py rename to python/packages/core/tests/workflow/test_checkpoint_validation.py diff --git a/python/packages/main/tests/workflow/test_concurrent.py b/python/packages/core/tests/workflow/test_concurrent.py similarity index 100% rename from python/packages/main/tests/workflow/test_concurrent.py rename to python/packages/core/tests/workflow/test_concurrent.py diff --git a/python/packages/main/tests/workflow/test_edge.py b/python/packages/core/tests/workflow/test_edge.py similarity index 100% rename from python/packages/main/tests/workflow/test_edge.py rename to python/packages/core/tests/workflow/test_edge.py diff --git a/python/packages/main/tests/workflow/test_executor.py b/python/packages/core/tests/workflow/test_executor.py similarity index 100% rename from python/packages/main/tests/workflow/test_executor.py rename to python/packages/core/tests/workflow/test_executor.py diff --git a/python/packages/main/tests/workflow/test_full_conversation.py b/python/packages/core/tests/workflow/test_full_conversation.py similarity index 100% rename from python/packages/main/tests/workflow/test_full_conversation.py rename to python/packages/core/tests/workflow/test_full_conversation.py diff --git a/python/packages/main/tests/workflow/test_function_executor.py b/python/packages/core/tests/workflow/test_function_executor.py similarity index 100% rename from python/packages/main/tests/workflow/test_function_executor.py rename to python/packages/core/tests/workflow/test_function_executor.py diff --git a/python/packages/main/tests/workflow/test_magentic.py b/python/packages/core/tests/workflow/test_magentic.py similarity index 100% rename from python/packages/main/tests/workflow/test_magentic.py rename to python/packages/core/tests/workflow/test_magentic.py diff --git a/python/packages/main/tests/workflow/test_request_info_executor_rehydrate.py b/python/packages/core/tests/workflow/test_request_info_executor_rehydrate.py similarity index 100% rename from python/packages/main/tests/workflow/test_request_info_executor_rehydrate.py rename to python/packages/core/tests/workflow/test_request_info_executor_rehydrate.py diff --git a/python/packages/main/tests/workflow/test_runner.py b/python/packages/core/tests/workflow/test_runner.py similarity index 100% rename from python/packages/main/tests/workflow/test_runner.py rename to python/packages/core/tests/workflow/test_runner.py diff --git a/python/packages/main/tests/workflow/test_sequential.py b/python/packages/core/tests/workflow/test_sequential.py similarity index 100% rename from python/packages/main/tests/workflow/test_sequential.py rename to python/packages/core/tests/workflow/test_sequential.py diff --git a/python/packages/main/tests/workflow/test_serialization.py b/python/packages/core/tests/workflow/test_serialization.py similarity index 100% rename from python/packages/main/tests/workflow/test_serialization.py rename to python/packages/core/tests/workflow/test_serialization.py diff --git a/python/packages/main/tests/workflow/test_sub_workflow.py b/python/packages/core/tests/workflow/test_sub_workflow.py similarity index 100% rename from python/packages/main/tests/workflow/test_sub_workflow.py rename to python/packages/core/tests/workflow/test_sub_workflow.py diff --git a/python/packages/main/tests/workflow/test_typing_utils.py b/python/packages/core/tests/workflow/test_typing_utils.py similarity index 100% rename from python/packages/main/tests/workflow/test_typing_utils.py rename to python/packages/core/tests/workflow/test_typing_utils.py diff --git a/python/packages/main/tests/workflow/test_validation.py b/python/packages/core/tests/workflow/test_validation.py similarity index 100% rename from python/packages/main/tests/workflow/test_validation.py rename to python/packages/core/tests/workflow/test_validation.py diff --git a/python/packages/main/tests/workflow/test_viz.py b/python/packages/core/tests/workflow/test_viz.py similarity index 100% rename from python/packages/main/tests/workflow/test_viz.py rename to python/packages/core/tests/workflow/test_viz.py diff --git a/python/packages/main/tests/workflow/test_workflow.py b/python/packages/core/tests/workflow/test_workflow.py similarity index 100% rename from python/packages/main/tests/workflow/test_workflow.py rename to python/packages/core/tests/workflow/test_workflow.py diff --git a/python/packages/main/tests/workflow/test_workflow_agent.py b/python/packages/core/tests/workflow/test_workflow_agent.py similarity index 100% rename from python/packages/main/tests/workflow/test_workflow_agent.py rename to python/packages/core/tests/workflow/test_workflow_agent.py diff --git a/python/packages/main/tests/workflow/test_workflow_builder.py b/python/packages/core/tests/workflow/test_workflow_builder.py similarity index 100% rename from python/packages/main/tests/workflow/test_workflow_builder.py rename to python/packages/core/tests/workflow/test_workflow_builder.py diff --git a/python/packages/main/tests/workflow/test_workflow_context.py b/python/packages/core/tests/workflow/test_workflow_context.py similarity index 100% rename from python/packages/main/tests/workflow/test_workflow_context.py rename to python/packages/core/tests/workflow/test_workflow_context.py diff --git a/python/packages/main/tests/workflow/test_workflow_observability.py b/python/packages/core/tests/workflow/test_workflow_observability.py similarity index 100% rename from python/packages/main/tests/workflow/test_workflow_observability.py rename to python/packages/core/tests/workflow/test_workflow_observability.py diff --git a/python/packages/main/tests/workflow/test_workflow_states.py b/python/packages/core/tests/workflow/test_workflow_states.py similarity index 100% rename from python/packages/main/tests/workflow/test_workflow_states.py rename to python/packages/core/tests/workflow/test_workflow_states.py diff --git a/python/packages/devui/pyproject.toml b/python/packages/devui/pyproject.toml index 2f09809dfc..0ce3b00779 100644 --- a/python/packages/devui/pyproject.toml +++ b/python/packages/devui/pyproject.toml @@ -4,7 +4,7 @@ description = "Debug UI for Microsoft Agent Framework with OpenAI-compatible API authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "0.1.0b1" +version = "1.0.0-b251001" license-files = ["LICENSE"] urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework", + "agent-framework-core", "fastapi>=0.104.0", "uvicorn[standard]>=0.24.0", "python-dotenv>=1.0.0", @@ -92,10 +92,6 @@ include = "../../shared_tasks.toml" mypy = "mypy --config-file $POE_ROOT/pyproject.toml agent_framework_devui" test = "pytest --cov=agent_framework_devui --cov-report=term-missing:skip-covered tests" -[tool.uv.build-backend] -module-name = "agent_framework_devui" -module-root = "" - [build-system] -requires = ["uv_build>=0.8.2,<0.9.0"] -build-backend = "uv_build" +requires = ["flit-core >= 3.11,<4.0"] +build-backend = "flit_core.buildapi" diff --git a/python/packages/lab/pyproject.toml b/python/packages/lab/pyproject.toml index 70556ce011..b411663880 100644 --- a/python/packages/lab/pyproject.toml +++ b/python/packages/lab/pyproject.toml @@ -4,7 +4,7 @@ description = "Experimental modules for Microsoft Agent Framework" authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "0.1.0b1" +version = "1.0.0-b251001" license-files = ["LICENSE"] urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -21,7 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.13", ] dependencies = [ - "agent-framework", + "agent-framework-core", ] [project.optional-dependencies] diff --git a/python/packages/mem0/pyproject.toml b/python/packages/mem0/pyproject.toml index 89356a9a55..3166cd1488 100644 --- a/python/packages/mem0/pyproject.toml +++ b/python/packages/mem0/pyproject.toml @@ -4,7 +4,7 @@ description = "Mem0 integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "0.1.0b1" +version = "1.0.0-b251001" license-files = ["LICENSE"] urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework", + "agent-framework-core", "mem0ai>=0.1.117", ] @@ -85,5 +85,5 @@ mypy = "mypy --config-file $POE_ROOT/pyproject.toml agent_framework_mem0" test = "pytest --cov=agent_framework_mem0 --cov-report=term-missing:skip-covered tests" [build-system] -requires = ["flit-core >= 3.9,<4.0"] +requires = ["flit-core >= 3.11,<4.0"] build-backend = "flit_core.buildapi" diff --git a/python/packages/redis/pyproject.toml b/python/packages/redis/pyproject.toml index 2db601a3f2..1a98e943f2 100644 --- a/python/packages/redis/pyproject.toml +++ b/python/packages/redis/pyproject.toml @@ -4,7 +4,7 @@ description = "Redis integration for Microsoft Agent Framework." authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] readme = "README.md" requires-python = ">=3.10" -version = "0.0.0b1" +version = "1.0.0-b251001" license-files = ["LICENSE"] urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/" urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" @@ -23,7 +23,7 @@ classifiers = [ "Typing :: Typed", ] dependencies = [ - "agent-framework", + "agent-framework-core", "redis>=6.4.0", "redisvl>=0.8.2", "numpy>=2.2.6" diff --git a/python/packages/runtime/LICENSE b/python/packages/runtime/LICENSE deleted file mode 100644 index 9e841e7a26..0000000000 --- a/python/packages/runtime/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ - MIT License - - Copyright (c) Microsoft Corporation. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE diff --git a/python/packages/runtime/README.md b/python/packages/runtime/README.md deleted file mode 100644 index 6662f28e11..0000000000 --- a/python/packages/runtime/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Get Started with Microsoft Agent Framework Runtime - -Please install this package as the extra for `agent-framework`: - -```bash -pip install agent-framework[runtime] -``` - -and see the [README](https://github.com/microsoft/agent-framework/tree/main/python/README.md) for more information. diff --git a/python/packages/runtime/agent_framework_runtime/__init__.py b/python/packages/runtime/agent_framework_runtime/__init__.py deleted file mode 100644 index 581306f1a4..0000000000 --- a/python/packages/runtime/agent_framework_runtime/__init__.py +++ /dev/null @@ -1,10 +0,0 @@ -# Copyright (c) Microsoft. All rights reserved. - -# Agent Runtime - Python Implementation - -from .agent_actor import ActorId, RequestStatus - -__all__ = [ - "ActorId", - "RequestStatus", -] diff --git a/python/packages/runtime/agent_framework_runtime/agent_actor.py b/python/packages/runtime/agent_framework_runtime/agent_actor.py deleted file mode 100644 index b436c8b32d..0000000000 --- a/python/packages/runtime/agent_framework_runtime/agent_actor.py +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright (c) Microsoft. All rights reserved. - -"""Core actor abstractions for the Python actor runtime.""" - -from dataclasses import dataclass -from enum import Enum - - -@dataclass(frozen=True, kw_only=True) -class ActorId: - """Unique identifier for an actor instance.""" - - type_name: str - instance_id: str - - def __str__(self) -> str: - """Return the string representation of the actor ID.""" - return f"{self.type_name}/{self.instance_id}" - - -class RequestStatus(Enum): - """Status of a request being processed by an actor.""" - - PENDING = "pending" - COMPLETED = "completed" - FAILED = "failed" diff --git a/python/packages/runtime/pyproject.toml b/python/packages/runtime/pyproject.toml deleted file mode 100644 index 53fe754fe8..0000000000 --- a/python/packages/runtime/pyproject.toml +++ /dev/null @@ -1,86 +0,0 @@ -[project] -name = "agent-framework-runtime" -description = "Runtime integration for Microsoft Agent Framework." -authors = [{ name = "Microsoft", email = "af-support@microsoft.com"}] -readme = "README.md" -requires-python = ">=3.10" -version = "0.1.0b1" -license-files = ["LICENSE"] -urls.homepage = "https://learn.microsoft.com/en-us/semantic-kernel/overview/" -urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" -urls.release_notes = "https://github.com/microsoft/agent-framework/releases?q=tag%3Apython-1&expanded=true" -urls.issues = "https://github.com/microsoft/agent-framework/issues" -classifiers = [ - "License :: OSI Approved :: MIT License", - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3.13", - "Framework :: Pydantic :: 2", - "Typing :: Typed", -] -dependencies = [ - "agent-framework", -] - -[tool.uv] -prerelease = "if-necessary-or-explicit" -environments = [ - "sys_platform == 'darwin'", - "sys_platform == 'linux'", - "sys_platform == 'win32'" -] - -[tool.uv-dynamic-versioning] -fallback-version = "0.0.0" -[tool.pytest.ini_options] -testpaths = 'tests' -addopts = "-ra -q -r fEX" -asyncio_mode = "auto" -asyncio_default_fixture_loop_scope = "function" -filterwarnings = [] -timeout = 120 - -[tool.ruff] -extend = "../../pyproject.toml" - -[tool.coverage.run] -omit = [ - "**/__init__.py" -] - -[tool.pyright] -extend = "../../pyproject.toml" -exclude = ['tests'] - -[tool.mypy] -plugins = ['pydantic.mypy'] -strict = true -python_version = "3.10" -ignore_missing_imports = true -disallow_untyped_defs = true -no_implicit_optional = true -check_untyped_defs = true -warn_return_any = true -show_error_codes = true -warn_unused_ignores = false -disallow_incomplete_defs = true -disallow_untyped_decorators = true - -[tool.bandit] -targets = ["agent_framework_runtime"] -exclude_dirs = ["tests"] - -[tool.poe] -executor.type = "uv" -include = "../../shared_tasks.toml" -[tool.poe.tasks] -mypy = "mypy --config-file $POE_ROOT/pyproject.toml agent_framework_runtime" -test = "pytest --cov=agent_framework_runtime --cov-report=term-missing:skip-covered tests" - -[build-system] -requires = ["flit-core >= 3.9,<4.0"] -build-backend = "flit_core.buildapi" diff --git a/python/packages/runtime/tests/test_sample.py b/python/packages/runtime/tests/test_sample.py deleted file mode 100644 index 73e3423a41..0000000000 --- a/python/packages/runtime/tests/test_sample.py +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (c) Microsoft. All rights reserved. - - -def test_sample(): - """Sample test so test task doesn't stop due to no tests.""" - assert True diff --git a/python/pyproject.toml b/python/pyproject.toml index 2e2251c595..6dc1abea59 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -1,10 +1,10 @@ [project] -name = "agent-framework-project" -description = "Microsoft Agent Framework for building AI Agents with Python." -version = "0.0.0" +name = "agent-framework" +description = "Microsoft Agent Framework for building AI Agents with Python. This package contains all the core and optional packages." +version = "1.0.0-b251001" requires-python = ">=3.10" dependencies = [ - "agent-framework", + "agent-framework-core", "agent-framework-a2a", "agent-framework-azure-ai", "agent-framework-copilotstudio", @@ -25,6 +25,7 @@ dev = [ "pytest-env>=1.1.5", "pytest-xdist[psutil]>=3.8.0", "pytest-timeout>=2.3.1", + "pytest-retry>=1", "mypy>=1.16.1", "pyright>=1.1.402", #tasks @@ -55,13 +56,13 @@ exclude = [ "packages/agent_framework_project.egg-info" ] [tool.uv.sources] agent-framework = { workspace = true } +agent-framework-core = { workspace = true } agent-framework-a2a = { workspace = true } agent-framework-azure-ai = { workspace = true } agent-framework-copilotstudio = { workspace = true } agent-framework-lab = { workspace = true } agent-framework-mem0 = { workspace = true } agent-framework-redis = { workspace = true } -agent-framework-runtime = { workspace = true } agent-framework-devui = { workspace = true } [tool.ruff] @@ -255,3 +256,7 @@ sequence = [ where = ["packages"] include = ["agent_framework**"] namespaces = true + +[build-system] +requires = ["flit-core >= 3.11,<4.0"] +build-backend = "flit_core.buildapi" diff --git a/python/uv.lock b/python/uv.lock index f1997712ec..55207a7c4b 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.10" resolution-markers = [ "python_full_version >= '3.13' and sys_platform == 'darwin'", @@ -27,12 +27,11 @@ members = [ "agent-framework-a2a", "agent-framework-azure-ai", "agent-framework-copilotstudio", + "agent-framework-core", "agent-framework-devui", "agent-framework-lab", "agent-framework-mem0", - "agent-framework-project", "agent-framework-redis", - "agent-framework-runtime", ] [[package]] @@ -62,8 +61,134 @@ wheels = [ [[package]] name = "agent-framework" -version = "0.1.0b1" -source = { editable = "packages/main" } +version = "1.0.0b251001" +source = { virtual = "." } +dependencies = [ + { name = "agent-framework-a2a", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-azure-ai", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-copilotstudio", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-devui", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-lab", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-mem0", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-redis", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] + +[package.dev-dependencies] +dev = [ + { name = "mypy", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "poethepoet", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pre-commit", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pyright", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pytest", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pytest-asyncio", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pytest-cov", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pytest-env", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pytest-retry", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pytest-timeout", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pytest-xdist", extra = ["psutil"], marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "rich", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "ruff", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "tomli", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "tomli-w", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "uv", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] +docs = [ + { name = "debugpy", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "pip", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "py2docfx", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] + +[package.metadata] +requires-dist = [ + { name = "agent-framework-a2a", editable = "packages/a2a" }, + { name = "agent-framework-azure-ai", editable = "packages/azure-ai" }, + { name = "agent-framework-copilotstudio", editable = "packages/copilotstudio" }, + { name = "agent-framework-core", editable = "packages/core" }, + { name = "agent-framework-devui", editable = "packages/devui" }, + { name = "agent-framework-lab", editable = "packages/lab" }, + { name = "agent-framework-mem0", editable = "packages/mem0" }, + { name = "agent-framework-redis", editable = "packages/redis" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "mypy", specifier = ">=1.16.1" }, + { name = "poethepoet", specifier = ">=0.36.0" }, + { name = "pre-commit", specifier = ">=3.7" }, + { name = "pyright", specifier = ">=1.1.402" }, + { name = "pytest", specifier = ">=8.4.1" }, + { name = "pytest-asyncio", specifier = ">=1.0.0" }, + { name = "pytest-cov", specifier = ">=6.2.1" }, + { name = "pytest-env", specifier = ">=1.1.5" }, + { name = "pytest-retry", specifier = ">=1" }, + { name = "pytest-timeout", specifier = ">=2.3.1" }, + { name = "pytest-xdist", extras = ["psutil"], specifier = ">=3.8.0" }, + { name = "rich" }, + { name = "ruff", specifier = ">=0.11.8" }, + { name = "tomli" }, + { name = "tomli-w" }, + { name = "uv", specifier = ">=0.8.2,<0.9.0" }, +] +docs = [ + { name = "debugpy", specifier = ">=1.8.16" }, + { name = "pip" }, + { name = "py2docfx", specifier = ">=0.1.20" }, +] + +[[package]] +name = "agent-framework-a2a" +version = "1.0.0b251001" +source = { editable = "packages/a2a" } +dependencies = [ + { name = "a2a-sdk", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] + +[package.metadata] +requires-dist = [ + { name = "a2a-sdk", specifier = ">=0.3.5" }, + { name = "agent-framework", virtual = "." }, +] + +[[package]] +name = "agent-framework-azure-ai" +version = "1.0.0b251001" +source = { editable = "packages/azure-ai" } +dependencies = [ + { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "aiohttp", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "azure-ai-agents", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "azure-ai-projects", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] + +[package.metadata] +requires-dist = [ + { name = "agent-framework-core", editable = "packages/core" }, + { name = "aiohttp", specifier = "~=3.8" }, + { name = "azure-ai-agents", specifier = "==1.2.0b5" }, + { name = "azure-ai-projects", specifier = ">=1.0.0b11" }, +] + +[[package]] +name = "agent-framework-copilotstudio" +version = "1.0.0b251001" +source = { editable = "packages/copilotstudio" } +dependencies = [ + { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "microsoft-agents-copilotstudio-client", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] + +[package.metadata] +requires-dist = [ + { name = "agent-framework-core", editable = "packages/core" }, + { name = "microsoft-agents-copilotstudio-client", specifier = ">=0.3.1" }, +] + +[[package]] +name = "agent-framework-core" +version = "1.0.0b251001" +source = { editable = "packages/core" } dependencies = [ { name = "aiofiles", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "azure-identity", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -81,70 +206,16 @@ dependencies = [ ] [package.optional-dependencies] -a2a = [ - { name = "agent-framework-a2a", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] -all = [ - { name = "agent-framework-a2a", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-azure-ai", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-copilotstudio", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-devui", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-mem0", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-redis", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-runtime", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "graphviz", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] -azure = [ - { name = "agent-framework-azure-ai", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] -azure-ai = [ - { name = "agent-framework-azure-ai", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] -devui = [ - { name = "agent-framework-devui", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] -mem0 = [ - { name = "agent-framework-mem0", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] -microsoft = [ - { name = "agent-framework-copilotstudio", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] -microsoft-copilotstudio = [ - { name = "agent-framework-copilotstudio", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] -redis = [ - { name = "agent-framework-redis", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] -runtime = [ - { name = "agent-framework-runtime", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] viz = [ { name = "graphviz", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, ] [package.metadata] requires-dist = [ - { name = "agent-framework-a2a", marker = "extra == 'a2a'", editable = "packages/a2a" }, - { name = "agent-framework-a2a", marker = "extra == 'all'", editable = "packages/a2a" }, - { name = "agent-framework-azure-ai", marker = "extra == 'all'", editable = "packages/azure-ai" }, - { name = "agent-framework-azure-ai", marker = "extra == 'azure'", editable = "packages/azure-ai" }, - { name = "agent-framework-azure-ai", marker = "extra == 'azure-ai'", editable = "packages/azure-ai" }, - { name = "agent-framework-copilotstudio", marker = "extra == 'all'", editable = "packages/copilotstudio" }, - { name = "agent-framework-copilotstudio", marker = "extra == 'microsoft'", editable = "packages/copilotstudio" }, - { name = "agent-framework-copilotstudio", marker = "extra == 'microsoft-copilotstudio'", editable = "packages/copilotstudio" }, - { name = "agent-framework-devui", marker = "extra == 'all'", editable = "packages/devui" }, - { name = "agent-framework-devui", marker = "extra == 'devui'", editable = "packages/devui" }, - { name = "agent-framework-mem0", marker = "extra == 'all'", editable = "packages/mem0" }, - { name = "agent-framework-mem0", marker = "extra == 'mem0'", editable = "packages/mem0" }, - { name = "agent-framework-redis", marker = "extra == 'all'", editable = "packages/redis" }, - { name = "agent-framework-redis", marker = "extra == 'redis'", editable = "packages/redis" }, - { name = "agent-framework-runtime", marker = "extra == 'all'", editable = "packages/runtime" }, - { name = "agent-framework-runtime", marker = "extra == 'runtime'", editable = "packages/runtime" }, { name = "aiofiles", specifier = ">=24.1.0" }, { name = "azure-identity", specifier = ">=1,<2" }, { name = "azure-monitor-opentelemetry", specifier = ">=1.7.0" }, { name = "azure-monitor-opentelemetry-exporter", specifier = ">=1.0.0b41" }, - { name = "graphviz", marker = "extra == 'all'", specifier = ">=0.20.0" }, { name = "graphviz", marker = "extra == 'viz'", specifier = ">=0.20.0" }, { name = "mcp", extras = ["ws"], specifier = ">=1.13" }, { name = "openai", specifier = ">=1.99.0" }, @@ -156,63 +227,14 @@ requires-dist = [ { name = "pydantic-settings", specifier = ">=2,<3" }, { name = "typing-extensions" }, ] -provides-extras = ["azure-ai", "azure", "microsoft-copilotstudio", "microsoft", "redis", "viz", "runtime", "mem0", "a2a", "devui", "all"] - -[[package]] -name = "agent-framework-a2a" -version = "0.1.0b1" -source = { editable = "packages/a2a" } -dependencies = [ - { name = "a2a-sdk", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] - -[package.metadata] -requires-dist = [ - { name = "a2a-sdk", specifier = ">=0.3.5" }, - { name = "agent-framework", editable = "packages/main" }, -] - -[[package]] -name = "agent-framework-azure-ai" -version = "0.1.0b1" -source = { editable = "packages/azure-ai" } -dependencies = [ - { name = "agent-framework", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "aiohttp", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "azure-ai-agents", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "azure-ai-projects", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] - -[package.metadata] -requires-dist = [ - { name = "agent-framework", editable = "packages/main" }, - { name = "aiohttp", specifier = "~=3.8" }, - { name = "azure-ai-agents", specifier = ">=1.2.0b4" }, - { name = "azure-ai-projects", specifier = ">=1.0.0b11" }, -] - -[[package]] -name = "agent-framework-copilotstudio" -version = "0.1.0b1" -source = { editable = "packages/copilotstudio" } -dependencies = [ - { name = "agent-framework", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "microsoft-agents-copilotstudio-client", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] - -[package.metadata] -requires-dist = [ - { name = "agent-framework", editable = "packages/main" }, - { name = "microsoft-agents-copilotstudio-client", specifier = ">=0.3.1" }, -] +provides-extras = ["viz"] [[package]] name = "agent-framework-devui" -version = "0.1.0b1" +version = "1.0.0b251001" source = { editable = "packages/devui" } dependencies = [ - { name = "agent-framework", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "fastapi", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "python-dotenv", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "uvicorn", extra = ["standard"], marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -230,7 +252,7 @@ dev = [ [package.metadata] requires-dist = [ - { name = "agent-framework", editable = "packages/main" }, + { name = "agent-framework-core", editable = "packages/core" }, { name = "fastapi", specifier = ">=0.104.0" }, { name = "pytest", marker = "extra == 'all'", specifier = ">=7.0.0" }, { name = "pytest", marker = "extra == 'dev'", specifier = ">=7.0.0" }, @@ -243,10 +265,10 @@ provides-extras = ["dev", "all"] [[package]] name = "agent-framework-lab" -version = "0.1.0b1" +version = "1.0.0b251001" source = { editable = "packages/lab" } dependencies = [ - { name = "agent-framework", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, ] [package.optional-dependencies] @@ -274,7 +296,7 @@ tau2 = [ [package.metadata] requires-dist = [ - { name = "agent-framework", editable = "packages/main" }, + { name = "agent-framework-core", editable = "packages/core" }, { name = "agentlightning", marker = "extra == 'lightning'", git = "https://github.com/microsoft/agent-lightning?rev=138ad0e48780b65ccefa628ee7a5fb9fb27aca01" }, { name = "huggingface-hub", marker = "extra == 'gaia'", specifier = ">=0.20.0" }, { name = "loguru", marker = "extra == 'tau2'", specifier = ">=0.7.3" }, @@ -292,100 +314,25 @@ provides-extras = ["gaia", "lightning", "tau2", "math"] [[package]] name = "agent-framework-mem0" -version = "0.1.0b1" +version = "1.0.0b251001" source = { editable = "packages/mem0" } dependencies = [ - { name = "agent-framework", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "mem0ai", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, ] [package.metadata] requires-dist = [ - { name = "agent-framework", editable = "packages/main" }, + { name = "agent-framework-core", editable = "packages/core" }, { name = "mem0ai", specifier = ">=0.1.117" }, ] -[[package]] -name = "agent-framework-project" -version = "0.0.0" -source = { virtual = "." } -dependencies = [ - { name = "agent-framework", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-a2a", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-azure-ai", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-copilotstudio", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-devui", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-lab", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-mem0", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "agent-framework-redis", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] - -[package.dev-dependencies] -dev = [ - { name = "mypy", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "poethepoet", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "pre-commit", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "pyright", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "pytest", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "pytest-asyncio", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "pytest-cov", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "pytest-env", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "pytest-timeout", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "pytest-xdist", extra = ["psutil"], marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "rich", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "ruff", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "tomli", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "tomli-w", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "uv", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] -docs = [ - { name = "debugpy", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "pip", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, - { name = "py2docfx", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] - -[package.metadata] -requires-dist = [ - { name = "agent-framework", editable = "packages/main" }, - { name = "agent-framework-a2a", editable = "packages/a2a" }, - { name = "agent-framework-azure-ai", editable = "packages/azure-ai" }, - { name = "agent-framework-copilotstudio", editable = "packages/copilotstudio" }, - { name = "agent-framework-devui", editable = "packages/devui" }, - { name = "agent-framework-lab", editable = "packages/lab" }, - { name = "agent-framework-mem0", editable = "packages/mem0" }, - { name = "agent-framework-redis", editable = "packages/redis" }, -] - -[package.metadata.requires-dev] -dev = [ - { name = "mypy", specifier = ">=1.16.1" }, - { name = "poethepoet", specifier = ">=0.36.0" }, - { name = "pre-commit", specifier = ">=3.7" }, - { name = "pyright", specifier = ">=1.1.402" }, - { name = "pytest", specifier = ">=8.4.1" }, - { name = "pytest-asyncio", specifier = ">=1.0.0" }, - { name = "pytest-cov", specifier = ">=6.2.1" }, - { name = "pytest-env", specifier = ">=1.1.5" }, - { name = "pytest-timeout", specifier = ">=2.3.1" }, - { name = "pytest-xdist", extras = ["psutil"], specifier = ">=3.8.0" }, - { name = "rich" }, - { name = "ruff", specifier = ">=0.11.8" }, - { name = "tomli" }, - { name = "tomli-w" }, - { name = "uv", specifier = ">=0.8.2,<0.9.0" }, -] -docs = [ - { name = "debugpy", specifier = ">=1.8.16" }, - { name = "pip" }, - { name = "py2docfx", specifier = ">=0.1.20" }, -] - [[package]] name = "agent-framework-redis" -version = "0.0.0b1" +version = "1.0.0b251001" source = { editable = "packages/redis" } dependencies = [ - { name = "agent-framework", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, + { name = "agent-framework-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and sys_platform == 'darwin') or (python_full_version < '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'win32')" }, { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and sys_platform == 'darwin') or (python_full_version >= '3.11' and sys_platform == 'linux') or (python_full_version >= '3.11' and sys_platform == 'win32')" }, { name = "redis", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, @@ -394,23 +341,12 @@ dependencies = [ [package.metadata] requires-dist = [ - { name = "agent-framework", editable = "packages/main" }, + { name = "agent-framework-core", editable = "packages/core" }, { name = "numpy", specifier = ">=2.2.6" }, { name = "redis", specifier = ">=6.4.0" }, { name = "redisvl", specifier = ">=0.8.2" }, ] -[[package]] -name = "agent-framework-runtime" -version = "0.1.0b1" -source = { editable = "packages/runtime" } -dependencies = [ - { name = "agent-framework", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, -] - -[package.metadata] -requires-dist = [{ name = "agent-framework", editable = "packages/main" }] - [[package]] name = "agentlightning" version = "0.2.0" @@ -647,16 +583,16 @@ wheels = [ [[package]] name = "azure-ai-agents" -version = "1.2.0b4" +version = "1.2.0b5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "azure-core", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "isodate", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "typing-extensions", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/30/db/cdf0ab3cf642ef766d193fadfee4cc8e70867a051c800f9e1091feb76337/azure_ai_agents-1.2.0b4.tar.gz", hash = "sha256:3da41c0f17282dd76bff7d370c714ef2d17140a119a1eb88d8653311835bbe85", size = 383620, upload-time = "2025-09-13T02:04:47.301Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ed/57/8adeed578fa8984856c67b4229e93a58e3f6024417d448d0037aafa4ee9b/azure_ai_agents-1.2.0b5.tar.gz", hash = "sha256:1a16ef3f305898aac552269f01536c34a00473dedee0bca731a21fdb739ff9d5", size = 394876, upload-time = "2025-09-30T01:55:02.328Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/08/571e60c5f76c3ba20e6a99de636335e2480941816344dfad971a2e362c12/azure_ai_agents-1.2.0b4-py3-none-any.whl", hash = "sha256:8cfc4cd19d7d2087858148eba8b9b424a5d30fafbda87ca2d12ea5a066bec051", size = 214705, upload-time = "2025-09-13T02:04:49.171Z" }, + { url = "https://files.pythonhosted.org/packages/6d/6d/15070d23d7a94833a210da09d5d7ed3c24838bb84f0463895e5d159f1695/azure_ai_agents-1.2.0b5-py3-none-any.whl", hash = "sha256:257d0d24a6bf13eed4819cfa5c12fb222e5908deafb3cbfd5711d3a511cc4e88", size = 217948, upload-time = "2025-09-30T01:55:04.155Z" }, ] [[package]] @@ -812,11 +748,11 @@ wheels = [ [[package]] name = "cachetools" -version = "5.5.2" +version = "6.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4", size = 28380, upload-time = "2025-02-20T21:01:19.524Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9d/61/e4fad8155db4a04bfb4734c7c8ff0882f078f24294d42798b3568eb63bff/cachetools-6.2.0.tar.gz", hash = "sha256:38b328c0889450f05f5e120f56ab68c8abaf424e1275522b138ffc93253f7e32", size = 30988, upload-time = "2025-08-25T18:57:30.924Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/72/76/20fa66124dbe6be5cafeb312ece67de6b61dd91a0247d1ea13db4ebb33c2/cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a", size = 10080, upload-time = "2025-02-20T21:01:16.647Z" }, + { url = "https://files.pythonhosted.org/packages/6c/56/3124f61d37a7a4e7cc96afc5492c78ba0cb551151e530b54669ddd1436ef/cachetools-6.2.0-py3-none-any.whl", hash = "sha256:1c76a8960c0041fcc21097e357f882197c79da0dbff766e7317890a65d7d8ba6", size = 11276, upload-time = "2025-08-25T18:57:29.684Z" }, ] [[package]] @@ -1548,59 +1484,59 @@ wheels = [ [[package]] name = "fonttools" -version = "4.60.0" +version = "4.60.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/27/d9/4eabd956fe123651a1f0efe29d9758b3837b5ae9a98934bdb571117033bb/fonttools-4.60.0.tar.gz", hash = "sha256:8f5927f049091a0ca74d35cce7f78e8f7775c83a6901a8fbe899babcc297146a", size = 3553671, upload-time = "2025-09-17T11:34:01.504Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4b/42/97a13e47a1e51a5a7142475bbcf5107fe3a68fc34aef331c897d5fb98ad0/fonttools-4.60.1.tar.gz", hash = "sha256:ef00af0439ebfee806b25f24c8f92109157ff3fac5731dc7867957812e87b8d9", size = 3559823, upload-time = "2025-09-29T21:13:27.129Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/1e/7c2d660cd2a6718961946f76b6af25ae8c7ad0e2a93a34c9bf8b955cb77f/fonttools-4.60.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:151282a235c36024168c21c02193e939e8b28c73d5fa0b36ae1072671d8fa134", size = 2809773, upload-time = "2025-09-17T11:31:52.648Z" }, - { url = "https://files.pythonhosted.org/packages/f2/74/35cb2e17d984e712f0f7241b1b8bf06bc1b0da345f11620acd78a7eb1f0e/fonttools-4.60.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3f32cc42d485d9b1546463b9a7a92bdbde8aef90bac3602503e04c2ddb27e164", size = 2345916, upload-time = "2025-09-17T11:31:55.817Z" }, - { url = "https://files.pythonhosted.org/packages/40/52/39e50212f47bad254255734903accb4f44143faf2b950ba67a61f0bfb26a/fonttools-4.60.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:336b89d169c40379b8ccef418c877edbc28840b553099c9a739b0db2bcbb57c5", size = 4863583, upload-time = "2025-09-17T11:31:57.708Z" }, - { url = "https://files.pythonhosted.org/packages/0c/2c/e701ba6a439119fe312f1ad738369519b446503b02d3f0f75424111686f1/fonttools-4.60.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:39a38d950b2b04cd6da729586e6b51d686b0c27d554a2154a6a35887f87c09b1", size = 4793647, upload-time = "2025-09-17T11:31:59.944Z" }, - { url = "https://files.pythonhosted.org/packages/d5/04/a48f5f7cce1653a876d6b57d9626c1364bcb430780bbbdd475662bbbf759/fonttools-4.60.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7067dd03e0296907a5c6184285807cbb7bc0bf61a584ffebbf97c2b638d8641a", size = 4842891, upload-time = "2025-09-17T11:32:02.149Z" }, - { url = "https://files.pythonhosted.org/packages/dd/af/0f2b742f6b489a62c6f5a2239867c6d203e3ba358cb48dfc940baee41932/fonttools-4.60.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:342753fe1a1bd2e6896e7a4e936a67c0f441d6897bd11477f718e772d6e63e88", size = 4953569, upload-time = "2025-09-17T11:32:04.467Z" }, - { url = "https://files.pythonhosted.org/packages/d6/2b/23c4dde4a869aa138f5fb63fb124e6accb0d643600b437f4eca0f2637ea2/fonttools-4.60.0-cp310-cp310-win32.whl", hash = "sha256:0746c2b2b32087da2ac5f81e14d319c44cb21127d419bc60869daed089790e3d", size = 2231022, upload-time = "2025-09-17T11:32:06.617Z" }, - { url = "https://files.pythonhosted.org/packages/e3/1c/d53dd15d3392d8f69aa3bc49ca7bdfaea06aa875dc3a641eca85433c90b3/fonttools-4.60.0-cp310-cp310-win_amd64.whl", hash = "sha256:b83b32e5e8918f8e0ccd79816fc2f914e30edc6969ab2df6baf4148e72dbcc11", size = 2275804, upload-time = "2025-09-17T11:32:08.578Z" }, - { url = "https://files.pythonhosted.org/packages/da/3d/c57731fbbf204ef1045caca28d5176430161ead73cd9feac3e9d9ef77ee6/fonttools-4.60.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a9106c202d68ff5f9b4a0094c4d7ad2eaa7e9280f06427b09643215e706eb016", size = 2830883, upload-time = "2025-09-17T11:32:10.552Z" }, - { url = "https://files.pythonhosted.org/packages/cc/2d/b7a6ebaed464ce441c755252cc222af11edc651d17c8f26482f429cc2c0e/fonttools-4.60.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9da3a4a3f2485b156bb429b4f8faa972480fc01f553f7c8c80d05d48f17eec89", size = 2356005, upload-time = "2025-09-17T11:32:13.248Z" }, - { url = "https://files.pythonhosted.org/packages/ee/c2/ea834e921324e2051403e125c1fe0bfbdde4951a7c1784e4ae6bdbd286cc/fonttools-4.60.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f84de764c6057b2ffd4feb50ddef481d92e348f0c70f2c849b723118d352bf3", size = 5041201, upload-time = "2025-09-17T11:32:15.373Z" }, - { url = "https://files.pythonhosted.org/packages/93/3c/1c64a338e9aa410d2d0728827d5bb1301463078cb225b94589f27558b427/fonttools-4.60.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:800b3fa0d5c12ddff02179d45b035a23989a6c597a71c8035c010fff3b2ef1bb", size = 4977696, upload-time = "2025-09-17T11:32:17.674Z" }, - { url = "https://files.pythonhosted.org/packages/07/cc/c8c411a0d9732bb886b870e052f20658fec9cf91118314f253950d2c1d65/fonttools-4.60.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd68f60b030277f292a582d31c374edfadc60bb33d51ec7b6cd4304531819ba", size = 5020386, upload-time = "2025-09-17T11:32:20.089Z" }, - { url = "https://files.pythonhosted.org/packages/13/01/1d3bc07cf92e7f4fc27f06d4494bf6078dc595b2e01b959157a4fd23df12/fonttools-4.60.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:53328e3ca9e5c8660ef6de07c35f8f312c189b757535e12141be7a8ec942de6e", size = 5131575, upload-time = "2025-09-17T11:32:22.582Z" }, - { url = "https://files.pythonhosted.org/packages/5a/16/08db3917ee19e89d2eb0ee637d37cd4136c849dc421ff63f406b9165c1a1/fonttools-4.60.0-cp311-cp311-win32.whl", hash = "sha256:d493c175ddd0b88a5376e61163e3e6fde3be8b8987db9b092e0a84650709c9e7", size = 2229297, upload-time = "2025-09-17T11:32:24.834Z" }, - { url = "https://files.pythonhosted.org/packages/d2/0b/76764da82c0dfcea144861f568d9e83f4b921e84f2be617b451257bb25a7/fonttools-4.60.0-cp311-cp311-win_amd64.whl", hash = "sha256:cc2770c9dc49c2d0366e9683f4d03beb46c98042d7ccc8ddbadf3459ecb051a7", size = 2277193, upload-time = "2025-09-17T11:32:27.094Z" }, - { url = "https://files.pythonhosted.org/packages/2a/9b/706ebf84b55ab03439c1f3a94d6915123c0d96099f4238b254fdacffe03a/fonttools-4.60.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8c68928a438d60dfde90e2f09aa7f848ed201176ca6652341744ceec4215859f", size = 2831953, upload-time = "2025-09-17T11:32:29.39Z" }, - { url = "https://files.pythonhosted.org/packages/76/40/782f485be450846e4f3aecff1f10e42af414fc6e19d235c70020f64278e1/fonttools-4.60.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b7133821249097cffabf0624eafd37f5a3358d5ce814febe9db688e3673e724e", size = 2351716, upload-time = "2025-09-17T11:32:31.46Z" }, - { url = "https://files.pythonhosted.org/packages/39/77/ad8d2a6ecc19716eb488c8cf118de10f7802e14bdf61d136d7b52358d6b1/fonttools-4.60.0-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d3638905d3d77ac8791127ce181f7cb434f37e4204d8b2e31b8f1e154320b41f", size = 4922729, upload-time = "2025-09-17T11:32:33.659Z" }, - { url = "https://files.pythonhosted.org/packages/6b/48/aa543037c6e7788e1bc36b3f858ac70a59d32d0f45915263d0b330a35140/fonttools-4.60.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7968a26ef010ae89aabbb2f8e9dec1e2709a2541bb8620790451ee8aeb4f6fbf", size = 4967188, upload-time = "2025-09-17T11:32:35.74Z" }, - { url = "https://files.pythonhosted.org/packages/ac/58/e407d2028adc6387947eff8f2940b31f4ed40b9a83c2c7bbc8b9255126e2/fonttools-4.60.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1ef01ca7847c356b0fe026b7b92304bc31dc60a4218689ee0acc66652c1a36b2", size = 4910043, upload-time = "2025-09-17T11:32:38.054Z" }, - { url = "https://files.pythonhosted.org/packages/16/ef/e78519b3c296ef757a21b792fc6a785aa2ef9a2efb098083d8ed5f6ee2ba/fonttools-4.60.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f3482d7ed7867edfcf785f77c1dffc876c4b2ddac19539c075712ff2a0703cf5", size = 5061980, upload-time = "2025-09-17T11:32:40.457Z" }, - { url = "https://files.pythonhosted.org/packages/00/4c/ad72444d1e3ef704ee90af8d5abf198016a39908d322bf41235562fb01a0/fonttools-4.60.0-cp312-cp312-win32.whl", hash = "sha256:8c937c4fe8addff575a984c9519433391180bf52cf35895524a07b520f376067", size = 2217750, upload-time = "2025-09-17T11:32:42.586Z" }, - { url = "https://files.pythonhosted.org/packages/46/55/3e8ac21963e130242f5a9ea2ebc57f5726d704bf4dcca89088b5b637b2d3/fonttools-4.60.0-cp312-cp312-win_amd64.whl", hash = "sha256:99b06d5d6f29f32e312adaed0367112f5ff2d300ea24363d377ec917daf9e8c5", size = 2266025, upload-time = "2025-09-17T11:32:44.8Z" }, - { url = "https://files.pythonhosted.org/packages/b4/6b/d090cd54abe88192fe3010f573508b2592cf1d1f98b14bcb799a8ad20525/fonttools-4.60.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:97100ba820936cdb5148b634e0884f0088699c7e2f1302ae7bba3747c7a19fb3", size = 2824791, upload-time = "2025-09-17T11:32:47.002Z" }, - { url = "https://files.pythonhosted.org/packages/97/8c/7ccb5a27aac9a535623fe04935fb9f469a4f8a1253991af9fbac2fe88c17/fonttools-4.60.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:03fccf84f377f83e99a5328a9ebe6b41e16fcf64a1450c352b6aa7e0deedbc01", size = 2347081, upload-time = "2025-09-17T11:32:49.204Z" }, - { url = "https://files.pythonhosted.org/packages/f8/1a/c14f0bb20b4cb7849dc0519f0ab0da74318d52236dc23168530569958599/fonttools-4.60.0-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a3ef06671f862cd7da78ab105fbf8dce9da3634a8f91b3a64ed5c29c0ac6a9a8", size = 4902095, upload-time = "2025-09-17T11:32:51.848Z" }, - { url = "https://files.pythonhosted.org/packages/c9/a0/c7c91f07c40de5399cbaec7d25e04c9afac6c8f80036a98c125efdb5fe1a/fonttools-4.60.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f2195faf96594c238462c420c7eff97d1aa51de595434f806ec3952df428616", size = 4959137, upload-time = "2025-09-17T11:32:54.185Z" }, - { url = "https://files.pythonhosted.org/packages/38/d2/169e49498df9f2c721763aa39b0bf3d08cb762864ebc8a8ddb99f5ba7ec8/fonttools-4.60.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3887008865fa4f56cff58a1878f1300ba81a4e34f76daf9b47234698493072ee", size = 4900467, upload-time = "2025-09-17T11:32:56.664Z" }, - { url = "https://files.pythonhosted.org/packages/cc/9c/bfb56b89c3eab8bcb739c7fd1e8a43285c8dd833e1e1d18d4f54f2f641af/fonttools-4.60.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5567bd130378f21231d3856d8f0571dcdfcd77e47832978c26dabe572d456daa", size = 5043508, upload-time = "2025-09-17T11:32:58.944Z" }, - { url = "https://files.pythonhosted.org/packages/77/30/2b511c7eb99faee1fd9a0b42e984fb91275da3d681da650af4edf409d0fd/fonttools-4.60.0-cp313-cp313-win32.whl", hash = "sha256:699d0b521ec0b188ac11f2c14ccf6a926367795818ddf2bd00a273e9a052dd20", size = 2216037, upload-time = "2025-09-17T11:33:01.192Z" }, - { url = "https://files.pythonhosted.org/packages/3d/73/a2cc5ee4faeb0302cc81942c27f3b516801bf489fdc422a1b20090fff695/fonttools-4.60.0-cp313-cp313-win_amd64.whl", hash = "sha256:24296163268e7c800009711ce5c0e9997be8882c0bd546696c82ef45966163a6", size = 2265190, upload-time = "2025-09-17T11:33:03.935Z" }, - { url = "https://files.pythonhosted.org/packages/86/dd/a126706e45e0ce097cef6de4108b5597795acaa945fdbdd922dbc090d335/fonttools-4.60.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:b6fe3efdc956bdad95145cea906ad9ff345c17b706356dfc1098ce3230591343", size = 2821835, upload-time = "2025-09-17T11:33:06.094Z" }, - { url = "https://files.pythonhosted.org/packages/ac/90/5c17f311bbd983fd614b82a7a06da967b5d3c87e3e61cf34de6029a92ff4/fonttools-4.60.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:764b2aaab839762a3aa3207e5b3f0e0dfa41799e0b091edec5fcbccc584fdab5", size = 2344536, upload-time = "2025-09-17T11:33:08.574Z" }, - { url = "https://files.pythonhosted.org/packages/60/67/48c1a6229b2a5668c4111fbd1694ca417adedc1254c5cd2f9a11834c429d/fonttools-4.60.0-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b81c7c47d9e78106a4d70f1dbeb49150513171715e45e0d2661809f2b0e3f710", size = 4842494, upload-time = "2025-09-17T11:33:11.338Z" }, - { url = "https://files.pythonhosted.org/packages/13/3e/83b0b37d02b7e321cbe2b8fcec0aa18571f0a47d3dc222196404371d83b6/fonttools-4.60.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799ff60ee66b300ebe1fe6632b1cc55a66400fe815cef7b034d076bce6b1d8fc", size = 4943203, upload-time = "2025-09-17T11:33:13.285Z" }, - { url = "https://files.pythonhosted.org/packages/c9/07/11163e49497c53392eaca210a474104e4987c17ca7731f8754ba0d416a67/fonttools-4.60.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f9878abe155ddd1b433bab95d027a686898a6afba961f3c5ca14b27488f2d772", size = 4889233, upload-time = "2025-09-17T11:33:15.175Z" }, - { url = "https://files.pythonhosted.org/packages/60/90/e85005d955cb26e7de015d5678778b8cc3293c0f3d717865675bd641fbfc/fonttools-4.60.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ded432b7133ea4602fdb4731a4a7443a8e9548edad28987b99590cf6da626254", size = 4998335, upload-time = "2025-09-17T11:33:17.217Z" }, - { url = "https://files.pythonhosted.org/packages/2a/82/0374ad53729de6e3788ecdb8a3731ce6592c5ffa9bff823cef2ffe0164af/fonttools-4.60.0-cp314-cp314-win32.whl", hash = "sha256:5d97cf3a9245316d5978628c05642b939809c4f55ca632ca40744cb9de6e8d4a", size = 2219840, upload-time = "2025-09-17T11:33:19.494Z" }, - { url = "https://files.pythonhosted.org/packages/11/c3/804cd47453dcafb7976f9825b43cc0e61a2fe30eddb971b681cd72c4ca65/fonttools-4.60.0-cp314-cp314-win_amd64.whl", hash = "sha256:61b9ef46dd5e9dcb6f437eb0cc5ed83d5049e1bf9348e31974ffee1235db0f8f", size = 2269891, upload-time = "2025-09-17T11:33:21.743Z" }, - { url = "https://files.pythonhosted.org/packages/75/bf/1bd760aca04098e7028b4e0e5f73b41ff74b322275698071454652476a44/fonttools-4.60.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:bba7e3470cf353e1484a36dfb4108f431c2859e3f6097fe10118eeae92166773", size = 2893361, upload-time = "2025-09-17T11:33:23.68Z" }, - { url = "https://files.pythonhosted.org/packages/25/35/7a2c09aa990ed77f34924def383f44fc576a5596cc3df8438071e1baa1ac/fonttools-4.60.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c5ac6439a38c27b3287063176b3303b34982024b01e2e95bba8ac1e45f6d41c1", size = 2374086, upload-time = "2025-09-17T11:33:25.988Z" }, - { url = "https://files.pythonhosted.org/packages/77/a9/f85ed2493e82837ff73421f3f7a1c3ae8f0b14051307418c916d9563da1f/fonttools-4.60.0-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:4acd21e9f125a1257da59edf7a6e9bd4abd76282770715c613f1fe482409e9f9", size = 4848766, upload-time = "2025-09-17T11:33:28.018Z" }, - { url = "https://files.pythonhosted.org/packages/d1/91/29830eda31ae9231a06d5246e5d0c686422d03456ed666e13576c24c3f97/fonttools-4.60.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4a6fc53039ea047e35dc62b958af9cd397eedbc3fa42406d2910ae091b9ae37", size = 5084613, upload-time = "2025-09-17T11:33:30.562Z" }, - { url = "https://files.pythonhosted.org/packages/48/01/615905e7db2568fe1843145077e680443494b7caab2089527b7e112c7606/fonttools-4.60.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ef34f44eadf133e94e82c775a33ee3091dd37ee0161c5f5ea224b46e3ce0fb8e", size = 4956620, upload-time = "2025-09-17T11:33:32.497Z" }, - { url = "https://files.pythonhosted.org/packages/97/8e/64e65255871ec2f13b6c00b5b12d08b928b504867cfb7e7ed73e5e941832/fonttools-4.60.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d112cae3e7ad1bb5d7f7a60365fcf6c181374648e064a8c07617b240e7c828ee", size = 4973202, upload-time = "2025-09-17T11:33:34.561Z" }, - { url = "https://files.pythonhosted.org/packages/e0/6d/04d16243eb441e8de61074c7809e92d2e35df4cd11af5632e486bc630dab/fonttools-4.60.0-cp314-cp314t-win32.whl", hash = "sha256:0f7b2c251dc338973e892a1e153016114e7a75f6aac7a49b84d5d1a4c0608d08", size = 2281217, upload-time = "2025-09-17T11:33:36.965Z" }, - { url = "https://files.pythonhosted.org/packages/ab/5f/09bd2f9f28ef0d6f3620fa19699d11c4bc83ff8a2786d8ccdd97c209b19a/fonttools-4.60.0-cp314-cp314t-win_amd64.whl", hash = "sha256:c8a72771106bc7434098db35abecd84d608857f6e116d3ef00366b213c502ce9", size = 2344738, upload-time = "2025-09-17T11:33:39.372Z" }, - { url = "https://files.pythonhosted.org/packages/f9/a4/247d3e54eb5ed59e94e09866cfc4f9567e274fbf310ba390711851f63b3b/fonttools-4.60.0-py3-none-any.whl", hash = "sha256:496d26e4d14dcccdd6ada2e937e4d174d3138e3d73f5c9b6ec6eb2fd1dab4f66", size = 1142186, upload-time = "2025-09-17T11:33:59.287Z" }, + { url = "https://files.pythonhosted.org/packages/26/70/03e9d89a053caff6ae46053890eba8e4a5665a7c5638279ed4492e6d4b8b/fonttools-4.60.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9a52f254ce051e196b8fe2af4634c2d2f02c981756c6464dc192f1b6050b4e28", size = 2810747, upload-time = "2025-09-29T21:10:59.653Z" }, + { url = "https://files.pythonhosted.org/packages/6f/41/449ad5aff9670ab0df0f61ee593906b67a36d7e0b4d0cd7fa41ac0325bf5/fonttools-4.60.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c7420a2696a44650120cdd269a5d2e56a477e2bfa9d95e86229059beb1c19e15", size = 2346909, upload-time = "2025-09-29T21:11:02.882Z" }, + { url = "https://files.pythonhosted.org/packages/9a/18/e5970aa96c8fad1cb19a9479cc3b7602c0c98d250fcdc06a5da994309c50/fonttools-4.60.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee0c0b3b35b34f782afc673d503167157094a16f442ace7c6c5e0ca80b08f50c", size = 4864572, upload-time = "2025-09-29T21:11:05.096Z" }, + { url = "https://files.pythonhosted.org/packages/ce/20/9b2b4051b6ec6689480787d506b5003f72648f50972a92d04527a456192c/fonttools-4.60.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:282dafa55f9659e8999110bd8ed422ebe1c8aecd0dc396550b038e6c9a08b8ea", size = 4794635, upload-time = "2025-09-29T21:11:08.651Z" }, + { url = "https://files.pythonhosted.org/packages/10/52/c791f57347c1be98f8345e3dca4ac483eb97666dd7c47f3059aeffab8b59/fonttools-4.60.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4ba4bd646e86de16160f0fb72e31c3b9b7d0721c3e5b26b9fa2fc931dfdb2652", size = 4843878, upload-time = "2025-09-29T21:11:10.893Z" }, + { url = "https://files.pythonhosted.org/packages/69/e9/35c24a8d01644cee8c090a22fad34d5b61d1e0a8ecbc9945ad785ebf2e9e/fonttools-4.60.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0b0835ed15dd5b40d726bb61c846a688f5b4ce2208ec68779bc81860adb5851a", size = 4954555, upload-time = "2025-09-29T21:11:13.24Z" }, + { url = "https://files.pythonhosted.org/packages/f7/86/fb1e994971be4bdfe3a307de6373ef69a9df83fb66e3faa9c8114893d4cc/fonttools-4.60.1-cp310-cp310-win32.whl", hash = "sha256:1525796c3ffe27bb6268ed2a1bb0dcf214d561dfaf04728abf01489eb5339dce", size = 2232019, upload-time = "2025-09-29T21:11:15.73Z" }, + { url = "https://files.pythonhosted.org/packages/40/84/62a19e2bd56f0e9fb347486a5b26376bade4bf6bbba64dda2c103bd08c94/fonttools-4.60.1-cp310-cp310-win_amd64.whl", hash = "sha256:268ecda8ca6cb5c4f044b1fb9b3b376e8cd1b361cef275082429dc4174907038", size = 2276803, upload-time = "2025-09-29T21:11:18.152Z" }, + { url = "https://files.pythonhosted.org/packages/ea/85/639aa9bface1537e0fb0f643690672dde0695a5bbbc90736bc571b0b1941/fonttools-4.60.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7b4c32e232a71f63a5d00259ca3d88345ce2a43295bb049d21061f338124246f", size = 2831872, upload-time = "2025-09-29T21:11:20.329Z" }, + { url = "https://files.pythonhosted.org/packages/6b/47/3c63158459c95093be9618794acb1067b3f4d30dcc5c3e8114b70e67a092/fonttools-4.60.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3630e86c484263eaac71d117085d509cbcf7b18f677906824e4bace598fb70d2", size = 2356990, upload-time = "2025-09-29T21:11:22.754Z" }, + { url = "https://files.pythonhosted.org/packages/94/dd/1934b537c86fcf99f9761823f1fc37a98fbd54568e8e613f29a90fed95a9/fonttools-4.60.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5c1015318e4fec75dd4943ad5f6a206d9727adf97410d58b7e32ab644a807914", size = 5042189, upload-time = "2025-09-29T21:11:25.061Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d2/9f4e4c4374dd1daa8367784e1bd910f18ba886db1d6b825b12edf6db3edc/fonttools-4.60.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e6c58beb17380f7c2ea181ea11e7db8c0ceb474c9dd45f48e71e2cb577d146a1", size = 4978683, upload-time = "2025-09-29T21:11:27.693Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c4/0fb2dfd1ecbe9a07954cc13414713ed1eab17b1c0214ef07fc93df234a47/fonttools-4.60.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ec3681a0cb34c255d76dd9d865a55f260164adb9fa02628415cdc2d43ee2c05d", size = 5021372, upload-time = "2025-09-29T21:11:30.257Z" }, + { url = "https://files.pythonhosted.org/packages/0c/d5/495fc7ae2fab20223cc87179a8f50f40f9a6f821f271ba8301ae12bb580f/fonttools-4.60.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f4b5c37a5f40e4d733d3bbaaef082149bee5a5ea3156a785ff64d949bd1353fa", size = 5132562, upload-time = "2025-09-29T21:11:32.737Z" }, + { url = "https://files.pythonhosted.org/packages/bc/fa/021dab618526323c744e0206b3f5c8596a2e7ae9aa38db5948a131123e83/fonttools-4.60.1-cp311-cp311-win32.whl", hash = "sha256:398447f3d8c0c786cbf1209711e79080a40761eb44b27cdafffb48f52bcec258", size = 2230288, upload-time = "2025-09-29T21:11:35.015Z" }, + { url = "https://files.pythonhosted.org/packages/bb/78/0e1a6d22b427579ea5c8273e1c07def2f325b977faaf60bb7ddc01456cb1/fonttools-4.60.1-cp311-cp311-win_amd64.whl", hash = "sha256:d066ea419f719ed87bc2c99a4a4bfd77c2e5949cb724588b9dd58f3fd90b92bf", size = 2278184, upload-time = "2025-09-29T21:11:37.434Z" }, + { url = "https://files.pythonhosted.org/packages/e3/f7/a10b101b7a6f8836a5adb47f2791f2075d044a6ca123f35985c42edc82d8/fonttools-4.60.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:7b0c6d57ab00dae9529f3faf187f2254ea0aa1e04215cf2f1a8ec277c96661bc", size = 2832953, upload-time = "2025-09-29T21:11:39.616Z" }, + { url = "https://files.pythonhosted.org/packages/ed/fe/7bd094b59c926acf2304d2151354ddbeb74b94812f3dc943c231db09cb41/fonttools-4.60.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:839565cbf14645952d933853e8ade66a463684ed6ed6c9345d0faf1f0e868877", size = 2352706, upload-time = "2025-09-29T21:11:41.826Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ca/4bb48a26ed95a1e7eba175535fe5805887682140ee0a0d10a88e1de84208/fonttools-4.60.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8177ec9676ea6e1793c8a084a90b65a9f778771998eb919d05db6d4b1c0b114c", size = 4923716, upload-time = "2025-09-29T21:11:43.893Z" }, + { url = "https://files.pythonhosted.org/packages/b8/9f/2cb82999f686c1d1ddf06f6ae1a9117a880adbec113611cc9d22b2fdd465/fonttools-4.60.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:996a4d1834524adbb423385d5a629b868ef9d774670856c63c9a0408a3063401", size = 4968175, upload-time = "2025-09-29T21:11:46.439Z" }, + { url = "https://files.pythonhosted.org/packages/18/79/be569699e37d166b78e6218f2cde8c550204f2505038cdd83b42edc469b9/fonttools-4.60.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a46b2f450bc79e06ef3b6394f0c68660529ed51692606ad7f953fc2e448bc903", size = 4911031, upload-time = "2025-09-29T21:11:48.977Z" }, + { url = "https://files.pythonhosted.org/packages/cc/9f/89411cc116effaec5260ad519162f64f9c150e5522a27cbb05eb62d0c05b/fonttools-4.60.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6ec722ee589e89a89f5b7574f5c45604030aa6ae24cb2c751e2707193b466fed", size = 5062966, upload-time = "2025-09-29T21:11:54.344Z" }, + { url = "https://files.pythonhosted.org/packages/62/a1/f888221934b5731d46cb9991c7a71f30cb1f97c0ef5fcf37f8da8fce6c8e/fonttools-4.60.1-cp312-cp312-win32.whl", hash = "sha256:b2cf105cee600d2de04ca3cfa1f74f1127f8455b71dbad02b9da6ec266e116d6", size = 2218750, upload-time = "2025-09-29T21:11:56.601Z" }, + { url = "https://files.pythonhosted.org/packages/88/8f/a55b5550cd33cd1028601df41acd057d4be20efa5c958f417b0c0613924d/fonttools-4.60.1-cp312-cp312-win_amd64.whl", hash = "sha256:992775c9fbe2cf794786fa0ffca7f09f564ba3499b8fe9f2f80bd7197db60383", size = 2267026, upload-time = "2025-09-29T21:11:58.852Z" }, + { url = "https://files.pythonhosted.org/packages/7c/5b/cdd2c612277b7ac7ec8c0c9bc41812c43dc7b2d5f2b0897e15fdf5a1f915/fonttools-4.60.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f68576bb4bbf6060c7ab047b1574a1ebe5c50a17de62830079967b211059ebb", size = 2825777, upload-time = "2025-09-29T21:12:01.22Z" }, + { url = "https://files.pythonhosted.org/packages/d6/8a/de9cc0540f542963ba5e8f3a1f6ad48fa211badc3177783b9d5cadf79b5d/fonttools-4.60.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:eedacb5c5d22b7097482fa834bda0dafa3d914a4e829ec83cdea2a01f8c813c4", size = 2348080, upload-time = "2025-09-29T21:12:03.785Z" }, + { url = "https://files.pythonhosted.org/packages/2d/8b/371ab3cec97ee3fe1126b3406b7abd60c8fec8975fd79a3c75cdea0c3d83/fonttools-4.60.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b33a7884fabd72bdf5f910d0cf46be50dce86a0362a65cfc746a4168c67eb96c", size = 4903082, upload-time = "2025-09-29T21:12:06.382Z" }, + { url = "https://files.pythonhosted.org/packages/04/05/06b1455e4bc653fcb2117ac3ef5fa3a8a14919b93c60742d04440605d058/fonttools-4.60.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2409d5fb7b55fd70f715e6d34e7a6e4f7511b8ad29a49d6df225ee76da76dd77", size = 4960125, upload-time = "2025-09-29T21:12:09.314Z" }, + { url = "https://files.pythonhosted.org/packages/8e/37/f3b840fcb2666f6cb97038793606bdd83488dca2d0b0fc542ccc20afa668/fonttools-4.60.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c8651e0d4b3bdeda6602b85fdc2abbefc1b41e573ecb37b6779c4ca50753a199", size = 4901454, upload-time = "2025-09-29T21:12:11.931Z" }, + { url = "https://files.pythonhosted.org/packages/fd/9e/eb76f77e82f8d4a46420aadff12cec6237751b0fb9ef1de373186dcffb5f/fonttools-4.60.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:145daa14bf24824b677b9357c5e44fd8895c2a8f53596e1b9ea3496081dc692c", size = 5044495, upload-time = "2025-09-29T21:12:15.241Z" }, + { url = "https://files.pythonhosted.org/packages/f8/b3/cede8f8235d42ff7ae891bae8d619d02c8ac9fd0cfc450c5927a6200c70d/fonttools-4.60.1-cp313-cp313-win32.whl", hash = "sha256:2299df884c11162617a66b7c316957d74a18e3758c0274762d2cc87df7bc0272", size = 2217028, upload-time = "2025-09-29T21:12:17.96Z" }, + { url = "https://files.pythonhosted.org/packages/75/4d/b022c1577807ce8b31ffe055306ec13a866f2337ecee96e75b24b9b753ea/fonttools-4.60.1-cp313-cp313-win_amd64.whl", hash = "sha256:a3db56f153bd4c5c2b619ab02c5db5192e222150ce5a1bc10f16164714bc39ac", size = 2266200, upload-time = "2025-09-29T21:12:20.14Z" }, + { url = "https://files.pythonhosted.org/packages/9a/83/752ca11c1aa9a899b793a130f2e466b79ea0cf7279c8d79c178fc954a07b/fonttools-4.60.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:a884aef09d45ba1206712c7dbda5829562d3fea7726935d3289d343232ecb0d3", size = 2822830, upload-time = "2025-09-29T21:12:24.406Z" }, + { url = "https://files.pythonhosted.org/packages/57/17/bbeab391100331950a96ce55cfbbff27d781c1b85ebafb4167eae50d9fe3/fonttools-4.60.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8a44788d9d91df72d1a5eac49b31aeb887a5f4aab761b4cffc4196c74907ea85", size = 2345524, upload-time = "2025-09-29T21:12:26.819Z" }, + { url = "https://files.pythonhosted.org/packages/3d/2e/d4831caa96d85a84dd0da1d9f90d81cec081f551e0ea216df684092c6c97/fonttools-4.60.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e852d9dda9f93ad3651ae1e3bb770eac544ec93c3807888798eccddf84596537", size = 4843490, upload-time = "2025-09-29T21:12:29.123Z" }, + { url = "https://files.pythonhosted.org/packages/49/13/5e2ea7c7a101b6fc3941be65307ef8df92cbbfa6ec4804032baf1893b434/fonttools-4.60.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:154cb6ee417e417bf5f7c42fe25858c9140c26f647c7347c06f0cc2d47eff003", size = 4944184, upload-time = "2025-09-29T21:12:31.414Z" }, + { url = "https://files.pythonhosted.org/packages/0c/2b/cf9603551c525b73fc47c52ee0b82a891579a93d9651ed694e4e2cd08bb8/fonttools-4.60.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:5664fd1a9ea7f244487ac8f10340c4e37664675e8667d6fee420766e0fb3cf08", size = 4890218, upload-time = "2025-09-29T21:12:33.936Z" }, + { url = "https://files.pythonhosted.org/packages/fd/2f/933d2352422e25f2376aae74f79eaa882a50fb3bfef3c0d4f50501267101/fonttools-4.60.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:583b7f8e3c49486e4d489ad1deacfb8d5be54a8ef34d6df824f6a171f8511d99", size = 4999324, upload-time = "2025-09-29T21:12:36.637Z" }, + { url = "https://files.pythonhosted.org/packages/38/99/234594c0391221f66216bc2c886923513b3399a148defaccf81dc3be6560/fonttools-4.60.1-cp314-cp314-win32.whl", hash = "sha256:66929e2ea2810c6533a5184f938502cfdaea4bc3efb7130d8cc02e1c1b4108d6", size = 2220861, upload-time = "2025-09-29T21:12:39.108Z" }, + { url = "https://files.pythonhosted.org/packages/3e/1d/edb5b23726dde50fc4068e1493e4fc7658eeefcaf75d4c5ffce067d07ae5/fonttools-4.60.1-cp314-cp314-win_amd64.whl", hash = "sha256:f3d5be054c461d6a2268831f04091dc82753176f6ea06dc6047a5e168265a987", size = 2270934, upload-time = "2025-09-29T21:12:41.339Z" }, + { url = "https://files.pythonhosted.org/packages/fb/da/1392aaa2170adc7071fe7f9cfd181a5684a7afcde605aebddf1fb4d76df5/fonttools-4.60.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:b6379e7546ba4ae4b18f8ae2b9bc5960936007a1c0e30b342f662577e8bc3299", size = 2894340, upload-time = "2025-09-29T21:12:43.774Z" }, + { url = "https://files.pythonhosted.org/packages/bf/a7/3b9f16e010d536ce567058b931a20b590d8f3177b2eda09edd92e392375d/fonttools-4.60.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9d0ced62b59e0430b3690dbc5373df1c2aa7585e9a8ce38eff87f0fd993c5b01", size = 2375073, upload-time = "2025-09-29T21:12:46.437Z" }, + { url = "https://files.pythonhosted.org/packages/9b/b5/e9bcf51980f98e59bb5bb7c382a63c6f6cac0eec5f67de6d8f2322382065/fonttools-4.60.1-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:875cb7764708b3132637f6c5fb385b16eeba0f7ac9fa45a69d35e09b47045801", size = 4849758, upload-time = "2025-09-29T21:12:48.694Z" }, + { url = "https://files.pythonhosted.org/packages/e3/dc/1d2cf7d1cba82264b2f8385db3f5960e3d8ce756b4dc65b700d2c496f7e9/fonttools-4.60.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a184b2ea57b13680ab6d5fbde99ccef152c95c06746cb7718c583abd8f945ccc", size = 5085598, upload-time = "2025-09-29T21:12:51.081Z" }, + { url = "https://files.pythonhosted.org/packages/5d/4d/279e28ba87fb20e0c69baf72b60bbf1c4d873af1476806a7b5f2b7fac1ff/fonttools-4.60.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:026290e4ec76583881763fac284aca67365e0be9f13a7fb137257096114cb3bc", size = 4957603, upload-time = "2025-09-29T21:12:53.423Z" }, + { url = "https://files.pythonhosted.org/packages/78/d4/ff19976305e0c05aa3340c805475abb00224c954d3c65e82c0a69633d55d/fonttools-4.60.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f0e8817c7d1a0c2eedebf57ef9a9896f3ea23324769a9a2061a80fe8852705ed", size = 4974184, upload-time = "2025-09-29T21:12:55.962Z" }, + { url = "https://files.pythonhosted.org/packages/63/22/8553ff6166f5cd21cfaa115aaacaa0dc73b91c079a8cfd54a482cbc0f4f5/fonttools-4.60.1-cp314-cp314t-win32.whl", hash = "sha256:1410155d0e764a4615774e5c2c6fc516259fe3eca5882f034eb9bfdbee056259", size = 2282241, upload-time = "2025-09-29T21:12:58.179Z" }, + { url = "https://files.pythonhosted.org/packages/8a/cb/fa7b4d148e11d5a72761a22e595344133e83a9507a4c231df972e657579b/fonttools-4.60.1-cp314-cp314t-win_amd64.whl", hash = "sha256:022beaea4b73a70295b688f817ddc24ed3e3418b5036ffcd5658141184ef0d0c", size = 2345760, upload-time = "2025-09-29T21:13:00.375Z" }, + { url = "https://files.pythonhosted.org/packages/c7/93/0dd45cd283c32dea1545151d8c3637b4b8c53cdb3a625aeb2885b184d74d/fonttools-4.60.1-py3-none-any.whl", hash = "sha256:906306ac7afe2156fcf0042173d6ebbb05416af70f6b370967b47f8f00103bbb", size = 1143175, upload-time = "2025-09-29T21:13:24.134Z" }, ] [[package]] @@ -1738,16 +1674,16 @@ wheels = [ [[package]] name = "google-auth" -version = "2.40.3" +version = "2.41.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cachetools", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "pyasn1-modules", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "rsa", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9e/9b/e92ef23b84fa10a64ce4831390b7a4c2e53c0132568d99d4ae61d04c8855/google_auth-2.40.3.tar.gz", hash = "sha256:500c3a29adedeb36ea9cf24b8d10858e152f2412e3ca37829b3fa18e33d63b77", size = 281029, upload-time = "2025-06-04T18:04:57.577Z" } +sdist = { url = "https://files.pythonhosted.org/packages/07/c5/87742f5b5f055514c67f970f7174a876fccff2289a69d460b0614cc7ccfb/google_auth-2.41.0.tar.gz", hash = "sha256:c9d7b534ea4a5d9813c552846797fafb080312263cd4994d6622dd50992ae101", size = 292282, upload-time = "2025-09-29T21:36:35.791Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/63/b19553b658a1692443c62bd07e5868adaa0ad746a0751ba62c59568cd45b/google_auth-2.40.3-py2.py3-none-any.whl", hash = "sha256:1370d4593e86213563547f97a92752fc658456fe4514c809544f330fed45a7ca", size = 216137, upload-time = "2025-06-04T18:04:55.573Z" }, + { url = "https://files.pythonhosted.org/packages/78/ff/a1c426fc9bea7268230bf92340da7d112fae18cf946cafe13ab17d14e6ee/google_auth-2.41.0-py2.py3-none-any.whl", hash = "sha256:d8bed9b53ab63b7b0374656b8e1bef051f95bb14ecc0cf21ba49de7911d62e09", size = 221168, upload-time = "2025-09-29T21:36:33.925Z" }, ] [[package]] @@ -3533,7 +3469,7 @@ wheels = [ [[package]] name = "pandas" -version = "2.3.2" +version = "2.3.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and sys_platform == 'darwin') or (python_full_version < '3.11' and sys_platform == 'linux') or (python_full_version < '3.11' and sys_platform == 'win32')" }, @@ -3542,42 +3478,55 @@ dependencies = [ { name = "pytz", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, { name = "tzdata", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/79/8e/0e90233ac205ad182bd6b422532695d2b9414944a280488105d598c70023/pandas-2.3.2.tar.gz", hash = "sha256:ab7b58f8f82706890924ccdfb5f48002b83d2b5a3845976a9fb705d36c34dcdb", size = 4488684, upload-time = "2025-08-21T10:28:29.257Z" } +sdist = { url = "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", size = 4495223, upload-time = "2025-09-29T23:34:51.853Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/16/a8eeb70aad84ccbf14076793f90e0031eded63c1899aeae9fdfbf37881f4/pandas-2.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:52bc29a946304c360561974c6542d1dd628ddafa69134a7131fdfd6a5d7a1a35", size = 11539648, upload-time = "2025-08-21T10:26:36.236Z" }, - { url = "https://files.pythonhosted.org/packages/47/f1/c5bdaea13bf3708554d93e948b7ea74121ce6e0d59537ca4c4f77731072b/pandas-2.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:220cc5c35ffaa764dd5bb17cf42df283b5cb7fdf49e10a7b053a06c9cb48ee2b", size = 10786923, upload-time = "2025-08-21T10:26:40.518Z" }, - { url = "https://files.pythonhosted.org/packages/bb/10/811fa01476d29ffed692e735825516ad0e56d925961819e6126b4ba32147/pandas-2.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42c05e15111221384019897df20c6fe893b2f697d03c811ee67ec9e0bb5a3424", size = 11726241, upload-time = "2025-08-21T10:26:43.175Z" }, - { url = "https://files.pythonhosted.org/packages/c4/6a/40b043b06e08df1ea1b6d20f0e0c2f2c4ec8c4f07d1c92948273d943a50b/pandas-2.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc03acc273c5515ab69f898df99d9d4f12c4d70dbfc24c3acc6203751d0804cf", size = 12349533, upload-time = "2025-08-21T10:26:46.611Z" }, - { url = "https://files.pythonhosted.org/packages/e2/ea/2e081a2302e41a9bca7056659fdd2b85ef94923723e41665b42d65afd347/pandas-2.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d25c20a03e8870f6339bcf67281b946bd20b86f1a544ebbebb87e66a8d642cba", size = 13202407, upload-time = "2025-08-21T10:26:49.068Z" }, - { url = "https://files.pythonhosted.org/packages/f4/12/7ff9f6a79e2ee8869dcf70741ef998b97ea20050fe25f83dc759764c1e32/pandas-2.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21bb612d148bb5860b7eb2c10faacf1a810799245afd342cf297d7551513fbb6", size = 13837212, upload-time = "2025-08-21T10:26:51.832Z" }, - { url = "https://files.pythonhosted.org/packages/d8/df/5ab92fcd76455a632b3db34a746e1074d432c0cdbbd28d7cd1daba46a75d/pandas-2.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:b62d586eb25cb8cb70a5746a378fc3194cb7f11ea77170d59f889f5dfe3cec7a", size = 11338099, upload-time = "2025-08-21T10:26:54.382Z" }, - { url = "https://files.pythonhosted.org/packages/7a/59/f3e010879f118c2d400902d2d871c2226cef29b08c09fb8dc41111730400/pandas-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1333e9c299adcbb68ee89a9bb568fc3f20f9cbb419f1dd5225071e6cddb2a743", size = 11563308, upload-time = "2025-08-21T10:26:56.656Z" }, - { url = "https://files.pythonhosted.org/packages/38/18/48f10f1cc5c397af59571d638d211f494dba481f449c19adbd282aa8f4ca/pandas-2.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:76972bcbd7de8e91ad5f0ca884a9f2c477a2125354af624e022c49e5bd0dfff4", size = 10820319, upload-time = "2025-08-21T10:26:59.162Z" }, - { url = "https://files.pythonhosted.org/packages/95/3b/1e9b69632898b048e223834cd9702052bcf06b15e1ae716eda3196fb972e/pandas-2.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b98bdd7c456a05eef7cd21fd6b29e3ca243591fe531c62be94a2cc987efb5ac2", size = 11790097, upload-time = "2025-08-21T10:27:02.204Z" }, - { url = "https://files.pythonhosted.org/packages/8b/ef/0e2ffb30b1f7fbc9a588bd01e3c14a0d96854d09a887e15e30cc19961227/pandas-2.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d81573b3f7db40d020983f78721e9bfc425f411e616ef019a10ebf597aedb2e", size = 12397958, upload-time = "2025-08-21T10:27:05.409Z" }, - { url = "https://files.pythonhosted.org/packages/23/82/e6b85f0d92e9afb0e7f705a51d1399b79c7380c19687bfbf3d2837743249/pandas-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e190b738675a73b581736cc8ec71ae113d6c3768d0bd18bffa5b9a0927b0b6ea", size = 13225600, upload-time = "2025-08-21T10:27:07.791Z" }, - { url = "https://files.pythonhosted.org/packages/e8/f1/f682015893d9ed51611948bd83683670842286a8edd4f68c2c1c3b231eef/pandas-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c253828cb08f47488d60f43c5fc95114c771bbfff085da54bfc79cb4f9e3a372", size = 13879433, upload-time = "2025-08-21T10:27:10.347Z" }, - { url = "https://files.pythonhosted.org/packages/a7/e7/ae86261695b6c8a36d6a4c8d5f9b9ede8248510d689a2f379a18354b37d7/pandas-2.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:9467697b8083f9667b212633ad6aa4ab32436dcbaf4cd57325debb0ddef2012f", size = 11336557, upload-time = "2025-08-21T10:27:12.983Z" }, - { url = "https://files.pythonhosted.org/packages/ec/db/614c20fb7a85a14828edd23f1c02db58a30abf3ce76f38806155d160313c/pandas-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fbb977f802156e7a3f829e9d1d5398f6192375a3e2d1a9ee0803e35fe70a2b9", size = 11587652, upload-time = "2025-08-21T10:27:15.888Z" }, - { url = "https://files.pythonhosted.org/packages/99/b0/756e52f6582cade5e746f19bad0517ff27ba9c73404607c0306585c201b3/pandas-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1b9b52693123dd234b7c985c68b709b0b009f4521000d0525f2b95c22f15944b", size = 10717686, upload-time = "2025-08-21T10:27:18.486Z" }, - { url = "https://files.pythonhosted.org/packages/37/4c/dd5ccc1e357abfeee8353123282de17997f90ff67855f86154e5a13b81e5/pandas-2.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bd281310d4f412733f319a5bc552f86d62cddc5f51d2e392c8787335c994175", size = 11278722, upload-time = "2025-08-21T10:27:21.149Z" }, - { url = "https://files.pythonhosted.org/packages/d3/a4/f7edcfa47e0a88cda0be8b068a5bae710bf264f867edfdf7b71584ace362/pandas-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96d31a6b4354e3b9b8a2c848af75d31da390657e3ac6f30c05c82068b9ed79b9", size = 11987803, upload-time = "2025-08-21T10:27:23.767Z" }, - { url = "https://files.pythonhosted.org/packages/f6/61/1bce4129f93ab66f1c68b7ed1c12bac6a70b1b56c5dab359c6bbcd480b52/pandas-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:df4df0b9d02bb873a106971bb85d448378ef14b86ba96f035f50bbd3688456b4", size = 12766345, upload-time = "2025-08-21T10:27:26.6Z" }, - { url = "https://files.pythonhosted.org/packages/8e/46/80d53de70fee835531da3a1dae827a1e76e77a43ad22a8cd0f8142b61587/pandas-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:213a5adf93d020b74327cb2c1b842884dbdd37f895f42dcc2f09d451d949f811", size = 13439314, upload-time = "2025-08-21T10:27:29.213Z" }, - { url = "https://files.pythonhosted.org/packages/28/30/8114832daff7489f179971dbc1d854109b7f4365a546e3ea75b6516cea95/pandas-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c13b81a9347eb8c7548f53fd9a4f08d4dfe996836543f805c987bafa03317ae", size = 10983326, upload-time = "2025-08-21T10:27:31.901Z" }, - { url = "https://files.pythonhosted.org/packages/27/64/a2f7bf678af502e16b472527735d168b22b7824e45a4d7e96a4fbb634b59/pandas-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0c6ecbac99a354a051ef21c5307601093cb9e0f4b1855984a084bfec9302699e", size = 11531061, upload-time = "2025-08-21T10:27:34.647Z" }, - { url = "https://files.pythonhosted.org/packages/54/4c/c3d21b2b7769ef2f4c2b9299fcadd601efa6729f1357a8dbce8dd949ed70/pandas-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c6f048aa0fd080d6a06cc7e7537c09b53be6642d330ac6f54a600c3ace857ee9", size = 10668666, upload-time = "2025-08-21T10:27:37.203Z" }, - { url = "https://files.pythonhosted.org/packages/50/e2/f775ba76ecfb3424d7f5862620841cf0edb592e9abd2d2a5387d305fe7a8/pandas-2.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0064187b80a5be6f2f9c9d6bdde29372468751dfa89f4211a3c5871854cfbf7a", size = 11332835, upload-time = "2025-08-21T10:27:40.188Z" }, - { url = "https://files.pythonhosted.org/packages/8f/52/0634adaace9be2d8cac9ef78f05c47f3a675882e068438b9d7ec7ef0c13f/pandas-2.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ac8c320bded4718b298281339c1a50fb00a6ba78cb2a63521c39bec95b0209b", size = 12057211, upload-time = "2025-08-21T10:27:43.117Z" }, - { url = "https://files.pythonhosted.org/packages/0b/9d/2df913f14b2deb9c748975fdb2491da1a78773debb25abbc7cbc67c6b549/pandas-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:114c2fe4f4328cf98ce5716d1532f3ab79c5919f95a9cfee81d9140064a2e4d6", size = 12749277, upload-time = "2025-08-21T10:27:45.474Z" }, - { url = "https://files.pythonhosted.org/packages/87/af/da1a2417026bd14d98c236dba88e39837182459d29dcfcea510b2ac9e8a1/pandas-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:48fa91c4dfb3b2b9bfdb5c24cd3567575f4e13f9636810462ffed8925352be5a", size = 13415256, upload-time = "2025-08-21T10:27:49.885Z" }, - { url = "https://files.pythonhosted.org/packages/22/3c/f2af1ce8840ef648584a6156489636b5692c162771918aa95707c165ad2b/pandas-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:12d039facec710f7ba305786837d0225a3444af7bbd9c15c32ca2d40d157ed8b", size = 10982579, upload-time = "2025-08-21T10:28:08.435Z" }, - { url = "https://files.pythonhosted.org/packages/f3/98/8df69c4097a6719e357dc249bf437b8efbde808038268e584421696cbddf/pandas-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c624b615ce97864eb588779ed4046186f967374185c047070545253a52ab2d57", size = 12028163, upload-time = "2025-08-21T10:27:52.232Z" }, - { url = "https://files.pythonhosted.org/packages/0e/23/f95cbcbea319f349e10ff90db488b905c6883f03cbabd34f6b03cbc3c044/pandas-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0cee69d583b9b128823d9514171cabb6861e09409af805b54459bd0c821a35c2", size = 11391860, upload-time = "2025-08-21T10:27:54.673Z" }, - { url = "https://files.pythonhosted.org/packages/ad/1b/6a984e98c4abee22058aa75bfb8eb90dce58cf8d7296f8bc56c14bc330b0/pandas-2.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2319656ed81124982900b4c37f0e0c58c015af9a7bbc62342ba5ad07ace82ba9", size = 11309830, upload-time = "2025-08-21T10:27:56.957Z" }, - { url = "https://files.pythonhosted.org/packages/15/d5/f0486090eb18dd8710bf60afeaf638ba6817047c0c8ae5c6a25598665609/pandas-2.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b37205ad6f00d52f16b6d09f406434ba928c1a1966e2771006a9033c736d30d2", size = 11883216, upload-time = "2025-08-21T10:27:59.302Z" }, - { url = "https://files.pythonhosted.org/packages/10/86/692050c119696da19e20245bbd650d8dfca6ceb577da027c3a73c62a047e/pandas-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:837248b4fc3a9b83b9c6214699a13f069dc13510a6a6d7f9ba33145d2841a012", size = 12699743, upload-time = "2025-08-21T10:28:02.447Z" }, - { url = "https://files.pythonhosted.org/packages/cd/d7/612123674d7b17cf345aad0a10289b2a384bff404e0463a83c4a3a59d205/pandas-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d2c3554bd31b731cd6490d94a28f3abb8dd770634a9e06eb6d2911b9827db370", size = 13186141, upload-time = "2025-08-21T10:28:05.377Z" }, + { url = "https://files.pythonhosted.org/packages/3d/f7/f425a00df4fcc22b292c6895c6831c0c8ae1d9fac1e024d16f98a9ce8749/pandas-2.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:376c6446ae31770764215a6c937f72d917f214b43560603cd60da6408f183b6c", size = 11555763, upload-time = "2025-09-29T23:16:53.287Z" }, + { url = "https://files.pythonhosted.org/packages/13/4f/66d99628ff8ce7857aca52fed8f0066ce209f96be2fede6cef9f84e8d04f/pandas-2.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e19d192383eab2f4ceb30b412b22ea30690c9e618f78870357ae1d682912015a", size = 10801217, upload-time = "2025-09-29T23:17:04.522Z" }, + { url = "https://files.pythonhosted.org/packages/1d/03/3fc4a529a7710f890a239cc496fc6d50ad4a0995657dccc1d64695adb9f4/pandas-2.3.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5caf26f64126b6c7aec964f74266f435afef1c1b13da3b0636c7518a1fa3e2b1", size = 12148791, upload-time = "2025-09-29T23:17:18.444Z" }, + { url = "https://files.pythonhosted.org/packages/40/a8/4dac1f8f8235e5d25b9955d02ff6f29396191d4e665d71122c3722ca83c5/pandas-2.3.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd7478f1463441ae4ca7308a70e90b33470fa593429f9d4c578dd00d1fa78838", size = 12769373, upload-time = "2025-09-29T23:17:35.846Z" }, + { url = "https://files.pythonhosted.org/packages/df/91/82cc5169b6b25440a7fc0ef3a694582418d875c8e3ebf796a6d6470aa578/pandas-2.3.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4793891684806ae50d1288c9bae9330293ab4e083ccd1c5e383c34549c6e4250", size = 13200444, upload-time = "2025-09-29T23:17:49.341Z" }, + { url = "https://files.pythonhosted.org/packages/10/ae/89b3283800ab58f7af2952704078555fa60c807fff764395bb57ea0b0dbd/pandas-2.3.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28083c648d9a99a5dd035ec125d42439c6c1c525098c58af0fc38dd1a7a1b3d4", size = 13858459, upload-time = "2025-09-29T23:18:03.722Z" }, + { url = "https://files.pythonhosted.org/packages/85/72/530900610650f54a35a19476eca5104f38555afccda1aa11a92ee14cb21d/pandas-2.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:503cf027cf9940d2ceaa1a93cfb5f8c8c7e6e90720a2850378f0b3f3b1e06826", size = 11346086, upload-time = "2025-09-29T23:18:18.505Z" }, + { url = "https://files.pythonhosted.org/packages/c1/fa/7ac648108144a095b4fb6aa3de1954689f7af60a14cf25583f4960ecb878/pandas-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:602b8615ebcc4a0c1751e71840428ddebeb142ec02c786e8ad6b1ce3c8dec523", size = 11578790, upload-time = "2025-09-29T23:18:30.065Z" }, + { url = "https://files.pythonhosted.org/packages/9b/35/74442388c6cf008882d4d4bdfc4109be87e9b8b7ccd097ad1e7f006e2e95/pandas-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8fe25fc7b623b0ef6b5009149627e34d2a4657e880948ec3c840e9402e5c1b45", size = 10833831, upload-time = "2025-09-29T23:38:56.071Z" }, + { url = "https://files.pythonhosted.org/packages/fe/e4/de154cbfeee13383ad58d23017da99390b91d73f8c11856f2095e813201b/pandas-2.3.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b468d3dad6ff947df92dcb32ede5b7bd41a9b3cceef0a30ed925f6d01fb8fa66", size = 12199267, upload-time = "2025-09-29T23:18:41.627Z" }, + { url = "https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b98560e98cb334799c0b07ca7967ac361a47326e9b4e5a7dfb5ab2b1c9d35a1b", size = 12789281, upload-time = "2025-09-29T23:18:56.834Z" }, + { url = "https://files.pythonhosted.org/packages/f2/00/a5ac8c7a0e67fd1a6059e40aa08fa1c52cc00709077d2300e210c3ce0322/pandas-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37b5848ba49824e5c30bedb9c830ab9b7751fd049bc7914533e01c65f79791", size = 13240453, upload-time = "2025-09-29T23:19:09.247Z" }, + { url = "https://files.pythonhosted.org/packages/27/4d/5c23a5bc7bd209231618dd9e606ce076272c9bc4f12023a70e03a86b4067/pandas-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db4301b2d1f926ae677a751eb2bd0e8c5f5319c9cb3f88b0becbbb0b07b34151", size = 13890361, upload-time = "2025-09-29T23:19:25.342Z" }, + { url = "https://files.pythonhosted.org/packages/8e/59/712db1d7040520de7a4965df15b774348980e6df45c129b8c64d0dbe74ef/pandas-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:f086f6fe114e19d92014a1966f43a3e62285109afe874f067f5abbdcbb10e59c", size = 11348702, upload-time = "2025-09-29T23:19:38.296Z" }, + { url = "https://files.pythonhosted.org/packages/9c/fb/231d89e8637c808b997d172b18e9d4a4bc7bf31296196c260526055d1ea0/pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53", size = 11597846, upload-time = "2025-09-29T23:19:48.856Z" }, + { url = "https://files.pythonhosted.org/packages/5c/bd/bf8064d9cfa214294356c2d6702b716d3cf3bb24be59287a6a21e24cae6b/pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35", size = 10729618, upload-time = "2025-09-29T23:39:08.659Z" }, + { url = "https://files.pythonhosted.org/packages/57/56/cf2dbe1a3f5271370669475ead12ce77c61726ffd19a35546e31aa8edf4e/pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908", size = 11737212, upload-time = "2025-09-29T23:19:59.765Z" }, + { url = "https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89", size = 12362693, upload-time = "2025-09-29T23:20:14.098Z" }, + { url = "https://files.pythonhosted.org/packages/a6/de/8b1895b107277d52f2b42d3a6806e69cfef0d5cf1d0ba343470b9d8e0a04/pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98", size = 12771002, upload-time = "2025-09-29T23:20:26.76Z" }, + { url = "https://files.pythonhosted.org/packages/87/21/84072af3187a677c5893b170ba2c8fbe450a6ff911234916da889b698220/pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084", size = 13450971, upload-time = "2025-09-29T23:20:41.344Z" }, + { url = "https://files.pythonhosted.org/packages/86/41/585a168330ff063014880a80d744219dbf1dd7a1c706e75ab3425a987384/pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b", size = 10992722, upload-time = "2025-09-29T23:20:54.139Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713", size = 11544671, upload-time = "2025-09-29T23:21:05.024Z" }, + { url = "https://files.pythonhosted.org/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8", size = 10680807, upload-time = "2025-09-29T23:21:15.979Z" }, + { url = "https://files.pythonhosted.org/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d", size = 11709872, upload-time = "2025-09-29T23:21:27.165Z" }, + { url = "https://files.pythonhosted.org/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac", size = 12306371, upload-time = "2025-09-29T23:21:40.532Z" }, + { url = "https://files.pythonhosted.org/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c", size = 12765333, upload-time = "2025-09-29T23:21:55.77Z" }, + { url = "https://files.pythonhosted.org/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493", size = 13418120, upload-time = "2025-09-29T23:22:10.109Z" }, + { url = "https://files.pythonhosted.org/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee", size = 10993991, upload-time = "2025-09-29T23:25:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5", size = 12048227, upload-time = "2025-09-29T23:22:24.343Z" }, + { url = "https://files.pythonhosted.org/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21", size = 11411056, upload-time = "2025-09-29T23:22:37.762Z" }, + { url = "https://files.pythonhosted.org/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78", size = 11645189, upload-time = "2025-09-29T23:22:51.688Z" }, + { url = "https://files.pythonhosted.org/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110", size = 12121912, upload-time = "2025-09-29T23:23:05.042Z" }, + { url = "https://files.pythonhosted.org/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86", size = 12712160, upload-time = "2025-09-29T23:23:28.57Z" }, + { url = "https://files.pythonhosted.org/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc", size = 13199233, upload-time = "2025-09-29T23:24:24.876Z" }, + { url = "https://files.pythonhosted.org/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0", size = 11540635, upload-time = "2025-09-29T23:25:52.486Z" }, + { url = "https://files.pythonhosted.org/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593", size = 10759079, upload-time = "2025-09-29T23:26:33.204Z" }, + { url = "https://files.pythonhosted.org/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c", size = 11814049, upload-time = "2025-09-29T23:27:15.384Z" }, + { url = "https://files.pythonhosted.org/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b", size = 12332638, upload-time = "2025-09-29T23:27:51.625Z" }, + { url = "https://files.pythonhosted.org/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6", size = 12886834, upload-time = "2025-09-29T23:28:21.289Z" }, + { url = "https://files.pythonhosted.org/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3", size = 13409925, upload-time = "2025-09-29T23:28:58.261Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5", size = 11109071, upload-time = "2025-09-29T23:32:27.484Z" }, + { url = "https://files.pythonhosted.org/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec", size = 12048504, upload-time = "2025-09-29T23:29:31.47Z" }, + { url = "https://files.pythonhosted.org/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7", size = 11410702, upload-time = "2025-09-29T23:29:54.591Z" }, + { url = "https://files.pythonhosted.org/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450", size = 11634535, upload-time = "2025-09-29T23:30:21.003Z" }, + { url = "https://files.pythonhosted.org/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5", size = 12121582, upload-time = "2025-09-29T23:30:43.391Z" }, + { url = "https://files.pythonhosted.org/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788", size = 12699963, upload-time = "2025-09-29T23:31:10.009Z" }, + { url = "https://files.pythonhosted.org/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87", size = 13202175, upload-time = "2025-09-29T23:31:59.173Z" }, ] [[package]] @@ -4213,6 +4162,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/de/b8/87cfb16045c9d4092cfcf526135d73b88101aac83bc1adcf82dfb5fd3833/pytest_env-1.1.5-py3-none-any.whl", hash = "sha256:ce90cf8772878515c24b31cd97c7fa1f4481cd68d588419fd45f10ecaee6bc30", size = 6141, upload-time = "2024-09-17T22:39:16.942Z" }, ] +[[package]] +name = "pytest-retry" +version = "1.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytest", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c5/5b/607b017994cca28de3a1ad22a3eee8418e5d428dcd8ec25b26b18e995a73/pytest_retry-1.7.0.tar.gz", hash = "sha256:f8d52339f01e949df47c11ba9ee8d5b362f5824dff580d3870ec9ae0057df80f", size = 19977, upload-time = "2025-01-19T01:56:13.115Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/ff/3266c8a73b9b93c4b14160a7e2b31d1e1088e28ed29f4c2d93ae34093bfd/pytest_retry-1.7.0-py3-none-any.whl", hash = "sha256:a2dac85b79a4e2375943f1429479c65beb6c69553e7dae6b8332be47a60954f4", size = 13775, upload-time = "2025-01-19T01:56:11.199Z" }, +] + [[package]] name = "pytest-timeout" version = "2.4.0"