Skip to content

Commit 6e36c44

Browse files
committed
generate client via 'make generate-openapi-client'
1 parent 6423bca commit 6e36c44

11 files changed

+570
-0
lines changed

client/api_client.py

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
from __future__ import annotations
2+
from kiota_abstractions.api_client_builder import enable_backing_store_for_serialization_writer_factory, register_default_deserializer, register_default_serializer
3+
from kiota_abstractions.base_request_builder import BaseRequestBuilder
4+
from kiota_abstractions.get_path_parameters import get_path_parameters
5+
from kiota_abstractions.request_adapter import RequestAdapter
6+
from kiota_abstractions.serialization import ParseNodeFactoryRegistry, SerializationWriterFactoryRegistry
7+
from kiota_serialization_form.form_parse_node_factory import FormParseNodeFactory
8+
from kiota_serialization_form.form_serialization_writer_factory import FormSerializationWriterFactory
9+
from kiota_serialization_json.json_parse_node_factory import JsonParseNodeFactory
10+
from kiota_serialization_json.json_serialization_writer_factory import JsonSerializationWriterFactory
11+
from kiota_serialization_multipart.multipart_serialization_writer_factory import MultipartSerializationWriterFactory
12+
from kiota_serialization_text.text_parse_node_factory import TextParseNodeFactory
13+
from kiota_serialization_text.text_serialization_writer_factory import TextSerializationWriterFactory
14+
from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
15+
16+
if TYPE_CHECKING:
17+
from .azure_openai.azure_openai_request_builder import Azure_openaiRequestBuilder
18+
from .document_intelligence.document_intelligence_request_builder import Document_intelligenceRequestBuilder
19+
20+
class ApiClient(BaseRequestBuilder):
21+
"""
22+
The main entry point of the SDK, exposes the configuration and the fluent API.
23+
"""
24+
def __init__(self,request_adapter: RequestAdapter) -> None:
25+
"""
26+
Instantiates a new ApiClient and sets the default values.
27+
param request_adapter: The request adapter to use to execute the requests.
28+
Returns: None
29+
"""
30+
if not request_adapter:
31+
raise TypeError("request_adapter cannot be null.")
32+
super().__init__(request_adapter, "{+baseurl}", None)
33+
register_default_serializer(JsonSerializationWriterFactory)
34+
register_default_serializer(TextSerializationWriterFactory)
35+
register_default_serializer(FormSerializationWriterFactory)
36+
register_default_serializer(MultipartSerializationWriterFactory)
37+
register_default_deserializer(JsonParseNodeFactory)
38+
register_default_deserializer(TextParseNodeFactory)
39+
register_default_deserializer(FormParseNodeFactory)
40+
if not self.request_adapter.base_url:
41+
self.request_adapter.base_url = "http://localhost:8000"
42+
self.path_parameters["base_url"] = self.request_adapter.base_url
43+
44+
@property
45+
def azure_openai(self) -> Azure_openaiRequestBuilder:
46+
"""
47+
The azure_openai property
48+
"""
49+
from .azure_openai.azure_openai_request_builder import Azure_openaiRequestBuilder
50+
51+
return Azure_openaiRequestBuilder(self.request_adapter, self.path_parameters)
52+
53+
@property
54+
def document_intelligence(self) -> Document_intelligenceRequestBuilder:
55+
"""
56+
The document_intelligence property
57+
"""
58+
from .document_intelligence.document_intelligence_request_builder import Document_intelligenceRequestBuilder
59+
60+
return Document_intelligenceRequestBuilder(self.request_adapter, self.path_parameters)
61+
62+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from __future__ import annotations
2+
from kiota_abstractions.base_request_builder import BaseRequestBuilder
3+
from kiota_abstractions.get_path_parameters import get_path_parameters
4+
from kiota_abstractions.request_adapter import RequestAdapter
5+
from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
6+
7+
if TYPE_CHECKING:
8+
from .chat_completions.chat_completions_request_builder import Chat_completionsRequestBuilder
9+
10+
class Azure_openaiRequestBuilder(BaseRequestBuilder):
11+
"""
12+
Builds and executes requests for operations under /azure_openai
13+
"""
14+
def __init__(self,request_adapter: RequestAdapter, path_parameters: Union[str, Dict[str, Any]]) -> None:
15+
"""
16+
Instantiates a new Azure_openaiRequestBuilder and sets the default values.
17+
param path_parameters: The raw url or the url-template parameters for the request.
18+
param request_adapter: The request adapter to use to execute the requests.
19+
Returns: None
20+
"""
21+
super().__init__(request_adapter, "{+baseurl}/azure_openai", path_parameters)
22+
23+
@property
24+
def chat_completions(self) -> Chat_completionsRequestBuilder:
25+
"""
26+
The chat_completions property
27+
"""
28+
from .chat_completions.chat_completions_request_builder import Chat_completionsRequestBuilder
29+
30+
return Chat_completionsRequestBuilder(self.request_adapter, self.path_parameters)
31+
32+
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
from __future__ import annotations
2+
from kiota_abstractions.base_request_builder import BaseRequestBuilder
3+
from kiota_abstractions.base_request_configuration import RequestConfiguration
4+
from kiota_abstractions.get_path_parameters import get_path_parameters
5+
from kiota_abstractions.method import Method
6+
from kiota_abstractions.request_adapter import RequestAdapter
7+
from kiota_abstractions.request_information import RequestInformation
8+
from kiota_abstractions.request_option import RequestOption
9+
from kiota_abstractions.serialization import Parsable, ParsableFactory
10+
from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
11+
12+
if TYPE_CHECKING:
13+
from ...models.chat_completion_request import ChatCompletionRequest
14+
from ...models.chat_completion_response import ChatCompletionResponse
15+
from ...models.h_t_t_p_validation_error import HTTPValidationError
16+
17+
class Chat_completionsRequestBuilder(BaseRequestBuilder):
18+
"""
19+
Builds and executes requests for operations under /azure_openai/chat_completions
20+
"""
21+
def __init__(self,request_adapter: RequestAdapter, path_parameters: Union[str, Dict[str, Any]]) -> None:
22+
"""
23+
Instantiates a new Chat_completionsRequestBuilder and sets the default values.
24+
param path_parameters: The raw url or the url-template parameters for the request.
25+
param request_adapter: The request adapter to use to execute the requests.
26+
Returns: None
27+
"""
28+
super().__init__(request_adapter, "{+baseurl}/azure_openai/chat_completions", path_parameters)
29+
30+
async def post(self,body: Optional[ChatCompletionRequest] = None, request_configuration: Optional[RequestConfiguration] = None) -> Optional[ChatCompletionResponse]:
31+
"""
32+
Create Chat Completions
33+
param body: The request body
34+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
35+
Returns: Optional[ChatCompletionResponse]
36+
"""
37+
if not body:
38+
raise TypeError("body cannot be null.")
39+
request_info = self.to_post_request_information(
40+
body, request_configuration
41+
)
42+
from ...models.h_t_t_p_validation_error import HTTPValidationError
43+
44+
error_mapping: Dict[str, ParsableFactory] = {
45+
"422": HTTPValidationError,
46+
}
47+
if not self.request_adapter:
48+
raise Exception("Http core is null")
49+
from ...models.chat_completion_response import ChatCompletionResponse
50+
51+
return await self.request_adapter.send_async(request_info, ChatCompletionResponse, error_mapping)
52+
53+
def to_post_request_information(self,body: Optional[ChatCompletionRequest] = None, request_configuration: Optional[RequestConfiguration] = None) -> RequestInformation:
54+
"""
55+
Create Chat Completions
56+
param body: The request body
57+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
58+
Returns: RequestInformation
59+
"""
60+
if not body:
61+
raise TypeError("body cannot be null.")
62+
request_info = RequestInformation(Method.POST, self.url_template, self.path_parameters)
63+
request_info.configure(request_configuration)
64+
request_info.headers.try_add("Accept", "application/json")
65+
request_info.set_content_from_parsable(self.request_adapter, "application/json", body)
66+
return request_info
67+
68+
def with_url(self,raw_url: Optional[str] = None) -> Chat_completionsRequestBuilder:
69+
"""
70+
Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
71+
param raw_url: The raw URL to use for the request builder.
72+
Returns: Chat_completionsRequestBuilder
73+
"""
74+
if not raw_url:
75+
raise TypeError("raw_url cannot be null.")
76+
return Chat_completionsRequestBuilder(self.request_adapter, raw_url)
77+
78+
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
from __future__ import annotations
2+
from kiota_abstractions.base_request_builder import BaseRequestBuilder
3+
from kiota_abstractions.base_request_configuration import RequestConfiguration
4+
from kiota_abstractions.get_path_parameters import get_path_parameters
5+
from kiota_abstractions.method import Method
6+
from kiota_abstractions.multipart_body import MultipartBody
7+
from kiota_abstractions.request_adapter import RequestAdapter
8+
from kiota_abstractions.request_information import RequestInformation
9+
from kiota_abstractions.request_option import RequestOption
10+
from kiota_abstractions.serialization import Parsable, ParsableFactory
11+
from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
12+
13+
if TYPE_CHECKING:
14+
from ...models.analyze_document_response import AnalyzeDocumentResponse
15+
from ...models.h_t_t_p_validation_error import HTTPValidationError
16+
17+
class Analyze_documentRequestBuilder(BaseRequestBuilder):
18+
"""
19+
Builds and executes requests for operations under /document_intelligence/analyze_document
20+
"""
21+
def __init__(self,request_adapter: RequestAdapter, path_parameters: Union[str, Dict[str, Any]]) -> None:
22+
"""
23+
Instantiates a new Analyze_documentRequestBuilder and sets the default values.
24+
param path_parameters: The raw url or the url-template parameters for the request.
25+
param request_adapter: The request adapter to use to execute the requests.
26+
Returns: None
27+
"""
28+
super().__init__(request_adapter, "{+baseurl}/document_intelligence/analyze_document", path_parameters)
29+
30+
async def post(self,body: Optional[MultipartBody] = None, request_configuration: Optional[RequestConfiguration] = None) -> Optional[AnalyzeDocumentResponse]:
31+
"""
32+
Analyze Document
33+
param body: The request body
34+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
35+
Returns: Optional[AnalyzeDocumentResponse]
36+
"""
37+
if not body:
38+
raise TypeError("body cannot be null.")
39+
request_info = self.to_post_request_information(
40+
body, request_configuration
41+
)
42+
from ...models.h_t_t_p_validation_error import HTTPValidationError
43+
44+
error_mapping: Dict[str, ParsableFactory] = {
45+
"422": HTTPValidationError,
46+
}
47+
if not self.request_adapter:
48+
raise Exception("Http core is null")
49+
from ...models.analyze_document_response import AnalyzeDocumentResponse
50+
51+
return await self.request_adapter.send_async(request_info, AnalyzeDocumentResponse, error_mapping)
52+
53+
def to_post_request_information(self,body: Optional[MultipartBody] = None, request_configuration: Optional[RequestConfiguration] = None) -> RequestInformation:
54+
"""
55+
Analyze Document
56+
param body: The request body
57+
param request_configuration: Configuration for the request such as headers, query parameters, and middleware options.
58+
Returns: RequestInformation
59+
"""
60+
if not body:
61+
raise TypeError("body cannot be null.")
62+
request_info = RequestInformation(Method.POST, self.url_template, self.path_parameters)
63+
request_info.configure(request_configuration)
64+
request_info.headers.try_add("Accept", "application/json")
65+
request_info.set_content_from_parsable(self.request_adapter, "multipart/form-data", body)
66+
return request_info
67+
68+
def with_url(self,raw_url: Optional[str] = None) -> Analyze_documentRequestBuilder:
69+
"""
70+
Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
71+
param raw_url: The raw URL to use for the request builder.
72+
Returns: Analyze_documentRequestBuilder
73+
"""
74+
if not raw_url:
75+
raise TypeError("raw_url cannot be null.")
76+
return Analyze_documentRequestBuilder(self.request_adapter, raw_url)
77+
78+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from __future__ import annotations
2+
from kiota_abstractions.base_request_builder import BaseRequestBuilder
3+
from kiota_abstractions.get_path_parameters import get_path_parameters
4+
from kiota_abstractions.request_adapter import RequestAdapter
5+
from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
6+
7+
if TYPE_CHECKING:
8+
from .analyze_document.analyze_document_request_builder import Analyze_documentRequestBuilder
9+
10+
class Document_intelligenceRequestBuilder(BaseRequestBuilder):
11+
"""
12+
Builds and executes requests for operations under /document_intelligence
13+
"""
14+
def __init__(self,request_adapter: RequestAdapter, path_parameters: Union[str, Dict[str, Any]]) -> None:
15+
"""
16+
Instantiates a new Document_intelligenceRequestBuilder and sets the default values.
17+
param path_parameters: The raw url or the url-template parameters for the request.
18+
param request_adapter: The request adapter to use to execute the requests.
19+
Returns: None
20+
"""
21+
super().__init__(request_adapter, "{+baseurl}/document_intelligence", path_parameters)
22+
23+
@property
24+
def analyze_document(self) -> Analyze_documentRequestBuilder:
25+
"""
26+
The analyze_document property
27+
"""
28+
from .analyze_document.analyze_document_request_builder import Analyze_documentRequestBuilder
29+
30+
return Analyze_documentRequestBuilder(self.request_adapter, self.path_parameters)
31+
32+

client/kiota-lock.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"descriptionHash": "F3B49DC82AFDA0E7C058BDB4EF5B2D13AB357D868E809192EFFE49859B73397348D63687480E60656459D9212EF3A84EED183E4AEF12B22D592E74885ED7444A",
3+
"descriptionLocation": "../specs/openapi.json",
4+
"lockFileVersion": "1.0.0",
5+
"kiotaVersion": "1.13.0",
6+
"clientClassName": "ApiClient",
7+
"clientNamespaceName": "client",
8+
"language": "Python",
9+
"usesBackingStore": false,
10+
"excludeBackwardCompatible": false,
11+
"includeAdditionalData": true,
12+
"serializers": [
13+
"Microsoft.Kiota.Serialization.Json.JsonSerializationWriterFactory",
14+
"Microsoft.Kiota.Serialization.Text.TextSerializationWriterFactory",
15+
"Microsoft.Kiota.Serialization.Form.FormSerializationWriterFactory",
16+
"Microsoft.Kiota.Serialization.Multipart.MultipartSerializationWriterFactory"
17+
],
18+
"deserializers": [
19+
"Microsoft.Kiota.Serialization.Json.JsonParseNodeFactory",
20+
"Microsoft.Kiota.Serialization.Text.TextParseNodeFactory",
21+
"Microsoft.Kiota.Serialization.Form.FormParseNodeFactory"
22+
],
23+
"structuredMimeTypes": [
24+
"application/json",
25+
"text/plain;q=0.9",
26+
"application/x-www-form-urlencoded;q=0.2",
27+
"multipart/form-data;q=0.1"
28+
],
29+
"includePatterns": [],
30+
"excludePatterns": [],
31+
"disabledValidationRules": []
32+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
from __future__ import annotations
2+
from dataclasses import dataclass, field
3+
from kiota_abstractions.serialization import AdditionalDataHolder, Parsable, ParseNode, SerializationWriter
4+
from typing import Any, Callable, Dict, List, Optional, TYPE_CHECKING, Union
5+
6+
@dataclass
7+
class AnalyzeDocumentResponse(AdditionalDataHolder, Parsable):
8+
# Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
9+
additional_data: Dict[str, Any] = field(default_factory=dict)
10+
11+
# The content property
12+
content: Optional[str] = None
13+
14+
@staticmethod
15+
def create_from_discriminator_value(parse_node: Optional[ParseNode] = None) -> AnalyzeDocumentResponse:
16+
"""
17+
Creates a new instance of the appropriate class based on discriminator value
18+
param parse_node: The parse node to use to read the discriminator value and create the object
19+
Returns: AnalyzeDocumentResponse
20+
"""
21+
if not parse_node:
22+
raise TypeError("parse_node cannot be null.")
23+
return AnalyzeDocumentResponse()
24+
25+
def get_field_deserializers(self,) -> Dict[str, Callable[[ParseNode], None]]:
26+
"""
27+
The deserialization information for the current model
28+
Returns: Dict[str, Callable[[ParseNode], None]]
29+
"""
30+
fields: Dict[str, Callable[[Any], None]] = {
31+
"content": lambda n : setattr(self, 'content', n.get_str_value()),
32+
}
33+
return fields
34+
35+
def serialize(self,writer: SerializationWriter) -> None:
36+
"""
37+
Serializes information the current object
38+
param writer: Serialization writer to use to serialize this model
39+
Returns: None
40+
"""
41+
if not writer:
42+
raise TypeError("writer cannot be null.")
43+
writer.write_str_value("content", self.content)
44+
writer.write_additional_data_value(self.additional_data)
45+
46+

0 commit comments

Comments
 (0)