Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
4b174eb
init and update by tsp generate tool
Qi-2077 Sep 5, 2025
09000ab
update patch files to support old version, and fix tests and samples
Qi-2077 Sep 5, 2025
bd85eca
delete old question anwsering folder
Qi-2077 Sep 8, 2025
bbeaed5
init
Qi-2077 Sep 9, 2025
0943c27
update patch files to support old version, and fix tests and samples
Qi-2077 Sep 5, 2025
4ed473b
update tests
Qi-2077 Sep 9, 2025
06e9927
update tests&recordings
Qi-2077 Sep 11, 2025
635d569
fix spell issue
Qi-2077 Sep 11, 2025
6a282b1
fix the Azure Pipelines / python - pullrequest
Qi-2077 Sep 11, 2025
81105a7
fix Unexpected indentation issue for sphinx-build
Qi-2077 Sep 12, 2025
667b537
fix the cspell issue
Qi-2077 Sep 12, 2025
f8762d2
fix verify whl stage
Qi-2077 Sep 12, 2025
fd396d1
fix Incompatible types in assignment
Qi-2077 Sep 12, 2025
649ddb8
fix pylint
Qi-2077 Sep 12, 2025
f8b5985
fix Inline strong start-string without end-string.
Qi-2077 Sep 12, 2025
dd4c736
fix overload issue
Qi-2077 Sep 12, 2025
264fcef
update operation patch and re record
Qi-2077 Sep 18, 2025
81c4515
fix(questionanswering): add missing type annotations to restore verif…
Qi-2077 Sep 18, 2025
ff4e77a
regenerate the code and update tests/samples/patch
Qi-2077 Sep 19, 2025
9a83976
fix commit:
Qi-2077 Sep 22, 2025
2abd3e2
add back files
Qi-2077 Sep 22, 2025
83824f4
update
Qi-2077 Sep 22, 2025
a066bc1
update version
Qi-2077 Sep 22, 2025
5efb920
switch examples to DefaultAzureCredential and reorganize README
Qi-2077 Sep 22, 2025
baf31f1
Update sdk/cognitivelanguage/azure-ai-language-questionanswering/azur…
Amichelangelo Sep 22, 2025
58e16cb
Update sdk/cognitivelanguage/azure-ai-language-questionanswering/samp…
Amichelangelo Sep 22, 2025
2519382
Merge branch 'qiyin/cqa-sdk-py' of https://github.com/Azure/azure-sdk…
Qi-2077 Sep 22, 2025
68e34b9
Update sdk/cognitivelanguage/azure-ai-language-questionanswering/samp…
Amichelangelo Sep 22, 2025
3ada5cd
add and update
Qi-2077 Sep 22, 2025
e1f7a8e
deleted generated files and restore patch file
Qi-2077 Sep 22, 2025
484db9b
Merge branch 'qiyin/cqa-sdk-py' of https://github.com/Azure/azure-sdk…
Qi-2077 Sep 22, 2025
b9a4e3c
updated
Qi-2077 Sep 22, 2025
48e5dc2
update the python version in sample readme
Qi-2077 Sep 23, 2025
3b7ebee
Merge branch 'qiyin/cqa-sdk-py' of https://github.com/Azure/azure-sdk…
Qi-2077 Sep 23, 2025
4072d3b
update the python version in setup.py
Qi-2077 Sep 23, 2025
d08237d
fix pylint, 4 of them not foxed, because them are generated code
Qi-2077 Sep 23, 2025
735b27a
update patch file
Qi-2077 Sep 23, 2025
43abaaf
remove uesless _default_language
Qi-2077 Sep 25, 2025
02c9247
update
Qi-2077 Sep 25, 2025
bad3fc2
update parameter name of just "options"
Qi-2077 Oct 9, 2025
caca310
fix pylint
Qi-2077 Oct 9, 2025
431450f
fix pylint
Qi-2077 Oct 9, 2025
c1b1457
update change log
Qi-2077 Oct 14, 2025
a4b2415
update
Qi-2077 Oct 14, 2025
8b0f735
Update sdk/cognitivelanguage/azure-ai-language-questionanswering/tsp-…
Amichelangelo Oct 27, 2025
62bdfd4
fix analyze issue
Qi-2077 Oct 27, 2025
5633487
update
Qi-2077 Nov 3, 2025
d9470b9
about default_language
Qi-2077 Nov 3, 2025
4e62b2b
regenerate
Qi-2077 Nov 4, 2025
2821346
Merge branch 'main' of https://github.com/Azure/azure-sdk-for-python …
Qi-2077 Nov 4, 2025
80031e2
update
Qi-2077 Nov 5, 2025
00d9ce8
update
Qi-2077 Nov 5, 2025
66f01a0
update the test file
Qi-2077 Nov 5, 2025
ac2dfda
update
Qi-2077 Nov 6, 2025
8060acd
Merge branch 'qiyin/cqa-sdk-py' of https://github.com/Azure/azure-sdk…
Qi-2077 Nov 6, 2025
623b410
fix broken link
Qi-2077 Nov 6, 2025
5218755
trim Trailing whitespace
Qi-2077 Nov 6, 2025
17b21be
add back string_index_type and add overload for MetadataFilter
Qi-2077 Nov 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .vscode/cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -912,7 +912,7 @@
},
{
"filename": "sdk/cognitivelanguage/azure-ai-language-questionanswering/**",
"words": [ "qnas", "qnamaker", "ADTO" ],
"words": [ "qnas", "qnamaker", "ADTO", "tfidf", "ngram" ],
"caseSensitive": false
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,28 @@
# Release History

## 1.1.1 (Unreleased)

### Features Added
## 2.0.0b1 (2025-10-27)

### Breaking Changes

### Bugs Fixed
* Authoring functionality (project creation, knowledge source management, deployment operations) has been removed from this package and moved to a separate dedicated authoring package / namespace. All references to `AuthoringClient`, and related authoring operations have been eliminated from the runtime client distribution.
* Dropped support for Python versions earlier than 3.9 (aligns with Azure SDK Python support policy going forward).
* Model base class change: all public model types now inherit from `MutableMapping[str, Any]` (dict-like) instead of the previous `Model` base class. As a result they now support standard mutable mapping behavior (key iteration, item assignment, etc.) and any code depending on methods/properties inherited from the old base class should be reviewed/updated.
* Removed client constructor keyword argument `default_language`. Per-call language control is now done explicitly via the `language` property on `AnswersFromTextOptions` (and related options models). The service default remains `"en"` if a language is not supplied. To change the effective language:
* Pass `language="<bcp-47-code>"` when constructing `AnswersFromTextOptions` (e.g. `"es"`, `"zh-Hans"`).
* Or create / select a project in the desired language in [Language Studio](https://language.azure.com) when authoring knowledge bases.

The previous implicit fallback (client-level `default_language`) has been removed to avoid hidden state and to encourage explicit specification or project-level configuration.
* Removed support for passing metadata as `Dict[str,str]` to `MetadataFilter`. Tuple form `[("key","value"), ...]` and `List[MetadataRecord]` remain supported.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add that default_language has been removed, and give a link to how to customers can change the service default instead?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there an actual guide/documentation that we can link to about how to configure this at the project level? Or in the portal?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just check the service side, the default_language is hardcoded as "en",can not be configured at the project level, remove related line in changelog

### Features Added

* Documentation improvements: expanded README with authentication guidance, AAD usage, async examples, and troubleshooting section.

### Other Changes

* Internal refactoring and dependency grooming in preparation for the authoring/runtime split.
* Changed samples and README examples to use explicit `AnswersOptions` / `AnswersFromTextOptions` objects as the first argument when calling `get_answers` and `get_answers_from_text`.

## 1.1.0 (2022-10-13)

### Breaking Changes
Expand Down Expand Up @@ -102,4 +115,4 @@
## 1.0.0b1 (2021-07-27)

### Features Added
* Initial release - supports querying from text records and knowledge bases.
* Initial release - supports querying from text records and knowledge bases.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
include *.md
include LICENSE
include azure/ai/language/questionanswering/py.typed
recursive-include tests *.py
recursive-include samples *.py *.md
include azure/__init__.py
include azure/ai/__init__.py
include azure/ai/language/__init__.py
recursive-include tests *.py
recursive-include samples *.py *.md
include azure/ai/language/questionanswering/py.typed
384 changes: 181 additions & 203 deletions sdk/cognitivelanguage/azure-ai-language-questionanswering/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"apiVersion": "2025-05-15-preview"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"CrossLanguagePackageId": "Language.QuestionAnswering",
"CrossLanguageDefinitionId": {
"azure.ai.language.questionanswering.models.AnswersFromTextOptions": "Language.QuestionAnswering.AnswersFromTextOptions",
"azure.ai.language.questionanswering.models.AnswersFromTextResult": "Language.QuestionAnswering.AnswersFromTextResult",
"azure.ai.language.questionanswering.models.AnswersOptions": "Language.QuestionAnswering.AnswersOptions",
"azure.ai.language.questionanswering.models.AnswerSpan": "Language.QuestionAnswering.AnswerSpan",
"azure.ai.language.questionanswering.models.AnswersResult": "Language.QuestionAnswering.AnswersResult",
"azure.ai.language.questionanswering.models.Error": "Language.QuestionAnswering.Error",
"azure.ai.language.questionanswering.models.ErrorResponse": "Language.QuestionAnswering.ErrorResponse",
"azure.ai.language.questionanswering.models.InnerErrorModel": "Language.QuestionAnswering.InnerErrorModel",
"azure.ai.language.questionanswering.models.KnowledgeBaseAnswer": "Language.QuestionAnswering.KnowledgeBaseAnswer",
"azure.ai.language.questionanswering.models.KnowledgeBaseAnswerContext": "Language.QuestionAnswering.KnowledgeBaseAnswerContext",
"azure.ai.language.questionanswering.models.KnowledgeBaseAnswerDialog": "Language.QuestionAnswering.KnowledgeBaseAnswerDialog",
"azure.ai.language.questionanswering.models.KnowledgeBaseAnswerPrompt": "Language.QuestionAnswering.KnowledgeBaseAnswerPrompt",
"azure.ai.language.questionanswering.models.MatchingPolicy": "Language.QuestionAnswering.MatchingPolicy",
"azure.ai.language.questionanswering.models.MetadataFilter": "Language.QuestionAnswering.MetadataFilter",
"azure.ai.language.questionanswering.models.MetadataRecord": "Language.QuestionAnswering.MetadataRecord",
"azure.ai.language.questionanswering.models.PrebuiltQueryMatchingPolicy": "Language.QuestionAnswering.PrebuiltQueryMatchingPolicy",
"azure.ai.language.questionanswering.models.QueryFilters": "Language.QuestionAnswering.QueryFilters",
"azure.ai.language.questionanswering.models.QueryPreferences": "Language.QuestionAnswering.QueryPreferences",
"azure.ai.language.questionanswering.models.ShortAnswerOptions": "Language.QuestionAnswering.ShortAnswerOptions",
"azure.ai.language.questionanswering.models.TextAnswer": "Language.QuestionAnswering.TextAnswer",
"azure.ai.language.questionanswering.models.TextDocument": "Language.QuestionAnswering.TextDocument",
"azure.ai.language.questionanswering.models.ErrorCode": "Language.QuestionAnswering.ErrorCode",
"azure.ai.language.questionanswering.models.InnerErrorCode": "Language.QuestionAnswering.InnerErrorCode",
"azure.ai.language.questionanswering.models.RankerKind": "Language.QuestionAnswering.RankerKind",
"azure.ai.language.questionanswering.models.LogicalOperationKind": "Language.QuestionAnswering.LogicalOperationKind",
"azure.ai.language.questionanswering.models.Scorer": "Language.QuestionAnswering.Scorer",
"azure.ai.language.questionanswering.models.MatchingPolicyKind": "Language.QuestionAnswering.MatchingPolicyKind",
"azure.ai.language.questionanswering.models.MatchingPolicyFieldsType": "Language.QuestionAnswering.MatchingPolicyFieldsType",
"azure.ai.language.questionanswering.models.StringIndexType": "Language.QuestionAnswering.StringIndexType",
"azure.ai.language.questionanswering.QuestionAnsweringClient.get_answers": "Language.QuestionAnsweringClientCustomizations.QuestionAnsweringClientOperations.getAnswers",
"azure.ai.language.questionanswering.aio.QuestionAnsweringClient.get_answers": "Language.QuestionAnsweringClientCustomizations.QuestionAnsweringClientOperations.getAnswers",
"azure.ai.language.questionanswering.QuestionAnsweringClient.get_answers_from_text": "Language.QuestionAnsweringClientCustomizations.QuestionAnsweringClientOperations.getAnswersFromText",
"azure.ai.language.questionanswering.aio.QuestionAnsweringClient.get_answers_from_text": "Language.QuestionAnsweringClientCustomizations.QuestionAnsweringClientOperations.getAnswersFromText"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "python",
"TagPrefix": "python/cognitivelanguage/azure-ai-language-questionanswering",
"Tag": "python/cognitivelanguage/azure-ai-language-questionanswering_1f7e05ddea"
"Tag": "python/cognitivelanguage/azure-ai-language-questionanswering_4cf6afbd99"
}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__path__ = __import__("pkgutil").extend_path(__path__, __name__)
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__path__ = __import__("pkgutil").extend_path(__path__, __name__)
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__path__ = __import__("pkgutil").extend_path(__path__, __name__)
__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,31 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wrong-import-position

from ._patch import QuestionAnsweringClient
from typing import TYPE_CHECKING

if TYPE_CHECKING:
from ._patch import * # pylint: disable=unused-wildcard-import

from ._client import QuestionAnsweringClient # type: ignore
from ._version import VERSION

__version__ = VERSION


try:
from ._patch import __all__ as _patch_all
from ._patch import *
except ImportError:
_patch_all = []
from ._patch import patch_sdk as _patch_sdk

__all__ = [
"QuestionAnsweringClient",
]

__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore

_patch_sdk()
Original file line number Diff line number Diff line change
Expand Up @@ -2,46 +2,47 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from copy import deepcopy
from typing import Any
from typing import Any, TYPE_CHECKING, Union
from typing_extensions import Self

from azure.core import PipelineClient
from azure.core.credentials import AzureKeyCredential
from azure.core.pipeline import policies
from azure.core.rest import HttpRequest, HttpResponse

from . import models as _models
from ._configuration import QuestionAnsweringClientConfiguration
from ._operations import QuestionAnsweringClientOperationsMixin
from ._serialization import Deserializer, Serializer
from ._operations import _QuestionAnsweringClientOperationsMixin
from ._utils.serialization import Deserializer, Serializer

if TYPE_CHECKING:
from azure.core.credentials import TokenCredential

class QuestionAnsweringClient(
QuestionAnsweringClientOperationsMixin
): # pylint: disable=client-accepts-api-version-keyword
"""The language service API is a suite of natural language processing (NLP) skills built with
best-in-class Microsoft machine learning algorithms. The API can be used to analyze
unstructured text for tasks such as sentiment analysis, key phrase extraction, language
detection and question answering. Further documentation can be found in
https://learn.microsoft.com/azure/cognitive-services/text-analytics/overview.

class QuestionAnsweringClient(_QuestionAnsweringClientOperationsMixin):
"""QuestionAnsweringClient.

:param endpoint: Supported Cognitive Services endpoint (e.g.,
https://:code:`<resource-name>`.api.cognitiveservices.azure.com). Required.
https://<resource-name>.api.cognitiveservices.azure.com). Required.
:type endpoint: str
:param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials.AzureKeyCredential
:keyword api_version: Api Version. Default value is "2021-10-01". Note that overriding this
default value may result in unsupported behavior.
:param credential: Credential used to authenticate requests to the service. Is either a key
credential type or a token credential type. Required.
:type credential: ~azure.core.credentials.AzureKeyCredential or
~azure.core.credentials.TokenCredential
:keyword api_version: The API version to use for this operation. Default value is
"2025-05-15-preview". Note that overriding this default value may result in unsupported
behavior.
:paramtype api_version: str
"""

def __init__(self, endpoint: str, credential: AzureKeyCredential, **kwargs: Any) -> None:
def __init__(self, endpoint: str, credential: Union[AzureKeyCredential, "TokenCredential"], **kwargs: Any) -> None:
_endpoint = "{Endpoint}/language"
self._config = QuestionAnsweringClientConfiguration(endpoint=endpoint, credential=credential, **kwargs)

_policies = kwargs.pop("policies", None)
if _policies is None:
_policies = [
Expand All @@ -61,9 +62,8 @@ def __init__(self, endpoint: str, credential: AzureKeyCredential, **kwargs: Any)
]
self._client: PipelineClient = PipelineClient(base_url=_endpoint, policies=_policies, **kwargs)

client_models = {k: v for k, v in _models.__dict__.items() if isinstance(v, type)}
self._serialize = Serializer(client_models)
self._deserialize = Deserializer(client_models)
self._serialize = Serializer()
self._deserialize = Deserializer()
self._serialize.client_side_validation = False

def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse:
Expand Down Expand Up @@ -95,7 +95,7 @@ def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs:
def close(self) -> None:
self._client.close()

def __enter__(self) -> "QuestionAnsweringClient":
def __enter__(self) -> Self:
self._client.__enter__()
return self

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,42 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

from typing import Any
from typing import Any, TYPE_CHECKING, Union

from azure.core.credentials import AzureKeyCredential
from azure.core.pipeline import policies

from ._version import VERSION

if TYPE_CHECKING:
from azure.core.credentials import TokenCredential

class QuestionAnsweringClientConfiguration: # pylint: disable=too-many-instance-attributes,name-too-long

class QuestionAnsweringClientConfiguration: # pylint: disable=too-many-instance-attributes
"""Configuration for QuestionAnsweringClient.

Note that all parameters used to create this instance are saved as instance
attributes.

:param endpoint: Supported Cognitive Services endpoint (e.g.,
https://:code:`<resource-name>`.api.cognitiveservices.azure.com). Required.
https://<resource-name>.api.cognitiveservices.azure.com). Required.
:type endpoint: str
:param credential: Credential needed for the client to connect to Azure. Required.
:type credential: ~azure.core.credentials.AzureKeyCredential
:keyword api_version: Api Version. Default value is "2021-10-01". Note that overriding this
default value may result in unsupported behavior.
:param credential: Credential used to authenticate requests to the service. Is either a key
credential type or a token credential type. Required.
:type credential: ~azure.core.credentials.AzureKeyCredential or
~azure.core.credentials.TokenCredential
:keyword api_version: The API version to use for this operation. Default value is
"2025-05-15-preview". Note that overriding this default value may result in unsupported
behavior.
:paramtype api_version: str
"""

def __init__(self, endpoint: str, credential: AzureKeyCredential, **kwargs: Any) -> None:
api_version: str = kwargs.pop("api_version", "2021-10-01")
def __init__(self, endpoint: str, credential: Union[AzureKeyCredential, "TokenCredential"], **kwargs: Any) -> None:
api_version: str = kwargs.pop("api_version", "2025-05-15-preview")

if endpoint is None:
raise ValueError("Parameter 'endpoint' must not be None.")
Expand All @@ -41,10 +47,18 @@ def __init__(self, endpoint: str, credential: AzureKeyCredential, **kwargs: Any)
self.endpoint = endpoint
self.credential = credential
self.api_version = api_version
self.credential_scopes = kwargs.pop("credential_scopes", ["https://cognitiveservices.azure.com/.default"])
kwargs.setdefault("sdk_moniker", "ai-language-questionanswering/{}".format(VERSION))
self.polling_interval = kwargs.get("polling_interval", 30)
self._configure(**kwargs)

def _infer_policy(self, **kwargs):
if isinstance(self.credential, AzureKeyCredential):
return policies.AzureKeyCredentialPolicy(self.credential, "Ocp-Apim-Subscription-Key", **kwargs)
if hasattr(self.credential, "get_token"):
return policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs)
raise TypeError(f"Unsupported credential: {self.credential}")

def _configure(self, **kwargs: Any) -> None:
self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs)
self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs)
Expand All @@ -56,6 +70,4 @@ def _configure(self, **kwargs: Any) -> None:
self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs)
self.authentication_policy = kwargs.get("authentication_policy")
if self.credential and not self.authentication_policy:
self.authentication_policy = policies.AzureKeyCredentialPolicy(
self.credential, "Ocp-Apim-Subscription-Key", **kwargs
)
self.authentication_policy = self._infer_policy(**kwargs)
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,22 @@
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Code generated by Microsoft (R) Python Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------
# pylint: disable=wrong-import-position

from ._patch import QuestionAnsweringClientOperationsMixin
from typing import TYPE_CHECKING

if TYPE_CHECKING:
from ._patch import * # pylint: disable=unused-wildcard-import

from ._patch import patch_sdk as _patch_sdk
from ._operations import _QuestionAnsweringClientOperationsMixin # type: ignore # pylint: disable=unused-import

__all__ = [
"QuestionAnsweringClientOperationsMixin",
]
from ._patch import __all__ as _patch_all
from ._patch import *
from ._patch import patch_sdk as _patch_sdk

__all__ = []
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
_patch_sdk()
Loading
Loading