-
Notifications
You must be signed in to change notification settings - Fork 3.4k
[azure-search-documents] Enable HTTPX async transport for AnyIO/Trio callers #49155
Copy link
Copy link
Open
Labels
ClientThis issue points to a problem in the data-plane of the library.This issue points to a problem in the data-plane of the library.SearchService AttentionWorkflow: This issue is responsible by Azure service team.Workflow: This issue is responsible by Azure service team.customer-reportedIssues that are reported by GitHub users external to the Azure organization.Issues that are reported by GitHub users external to the Azure organization.needs-team-attentionWorkflow: This issue needs attention from Azure service team or SDK teamWorkflow: This issue needs attention from Azure service team or SDK teamquestionThe issue doesn't require a change to the product in order to be resolved. Most issues start as thatThe issue doesn't require a change to the product in order to be resolved. Most issues start as that
Description
Activity
Metadata
Metadata
Assignees
Labels
ClientThis issue points to a problem in the data-plane of the library.This issue points to a problem in the data-plane of the library.SearchService AttentionWorkflow: This issue is responsible by Azure service team.Workflow: This issue is responsible by Azure service team.customer-reportedIssues that are reported by GitHub users external to the Azure organization.Issues that are reported by GitHub users external to the Azure organization.needs-team-attentionWorkflow: This issue needs attention from Azure service team or SDK teamWorkflow: This issue needs attention from Azure service team or SDK teamquestionThe issue doesn't require a change to the product in order to be resolved. Most issues start as thatThe issue doesn't require a change to the product in order to be resolved. Most issues start as that
Type
Projects
- StatusShow more project fieldsUntriaged
Motivation
Microsoft Agent Framework is exploring AnyIO support so its Python agents can run with either asyncio or Trio. Its Azure AI Search integration uses
azure.search.documents.aio.SearchClientandazure.search.documents.indexes.aio.SearchIndexClient(and, when available, the async knowledge-base retrieval client). These clients depend onazure-core; the defaultazure-coreasync HTTP transport uses aiohttp, which is asyncio-specific. Agent Framework currently lists aiohttp explicitly for this integration as a consequence. HTTPX's async client supports both asyncio and Trio.Request
Please provide a supported, documented HTTPX async transport for
azure-search-documents, rather than requiring the aiohttp transport to use its async clients. If changing theazure-coreasync default from aiohttp to HTTPX is acceptable, that would address this; otherwise a stableazure-coreHTTPX transport option that can be selected without bringing in aiohttp would suffice. Please include the async Search, index-management, and knowledge-base paths, plus credentials/transport ownership and cleanup, in the backend-compatibility assessment.The useful acceptance check is the same representative async Search/index operation run under
anyio.run(main, backend="asyncio")andanyio.run(main, backend="trio")with no asyncio-only transport in the Trio path (both key-based and async token credentials where supported). This is a request for end-to-end support, not an assertion that substituting one HTTP client alone makes every SDK layer Trio-compatible.Related work and references
azure-coreHTTPX transport request: Add HttpxTransport support for SDK #41382. This issue tracks the Azure AI Search client-level support and coverage.azure-search-documentsdepends onazure-core: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/search/azure-search-documents/pyproject.toml