python: generate Pydantic v2 + typing complete code (#16624)

* python: improve type generation with more specific typing

* Annotate function parameters

* Remove unused imports

* remove unused files

* remove temporary hack

* remove lock file

* fix Annotated import

* support Python 3.7

* Regenerate code with typing-extensions

* Fix setup.py

* More Pydantic v2 compatibility

* depend on pydantic v2

* fix client_echo tests

* fix JSON serialization

* Fix references

* Skip circular dependency tests for now

* Temporarily hide the "float" property

The "float" property aliases the "float" type and completely breaks the
model: all the properties that were "float" now become the type of the
"float" property instead.

* Fix errors

* Import Literal from typing_extensions

* Fix GitHub Action workflows

* Fix Python 3.7 failure

* Fix quotes

* Apply suggestions from code review

* Fix tests

* split model imports from other modules imports

* fix workflow

* Comment the array unique items convertion, remove set translation

* Replace alias usage
This commit is contained in:
Jonathan Ballet
2023-09-28 13:13:14 +02:00
committed by GitHub
parent af352df10f
commit 04fa53b692
219 changed files with 3305 additions and 1566 deletions

View File

@@ -8,7 +8,6 @@ Name | Type | Description | Notes
**int32** | **int** | | [optional]
**int64** | **int** | | [optional]
**number** | **float** | |
**float** | **float** | | [optional]
**double** | **float** | | [optional]
**decimal** | **decimal.Decimal** | | [optional]
**string** | **str** | | [optional]

View File

@@ -17,11 +17,9 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing import overload, Optional, Union, Awaitable
from typing_extensions import Annotated
from pydantic import Field
from typing_extensions import Annotated
from petstore_api.models.client import Client
from petstore_api.api_client import ApiClient
@@ -45,7 +43,7 @@ class AnotherFakeApi:
self.api_client = api_client
@validate_arguments
async def call_123_test_special_tags(self, client : Annotated[Client, Field(..., description="client model")], **kwargs) -> Client: # noqa: E501
async def call_123_test_special_tags(self, client : Annotated[Client, Field(description="client model")], **kwargs) -> Client: # noqa: E501
"""To test special tags # noqa: E501
To test special tags and operation ID starting with number # noqa: E501
@@ -68,7 +66,7 @@ class AnotherFakeApi:
return await self.call_123_test_special_tags_with_http_info(client, **kwargs) # noqa: E501
@validate_arguments
async def call_123_test_special_tags_with_http_info(self, client : Annotated[Client, Field(..., description="client model")], **kwargs) -> ApiResponse: # noqa: E501
async def call_123_test_special_tags_with_http_info(self, client : Annotated[Client, Field(description="client model")], **kwargs) -> ApiResponse: # noqa: E501
"""To test special tags # noqa: E501
To test special tags and operation ID starting with number # noqa: E501

View File

@@ -17,7 +17,6 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing import overload, Optional, Union, Awaitable
from petstore_api.models.foo_get_default_response import FooGetDefaultResponse

View File

@@ -17,12 +17,12 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing import overload, Optional, Union, Awaitable
from pydantic import Field
from typing_extensions import Annotated
from datetime import date, datetime
from pydantic import Field, StrictBool, StrictBytes, StrictInt, StrictStr, conbytes, confloat, conint, conlist, constr, validator
from pydantic import StrictBool, StrictBytes, StrictInt, StrictStr, validator
from typing import Any, Dict, List, Optional, Union
@@ -411,7 +411,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def fake_http_signature_test(self, pet : Annotated[Pet, Field(..., description="Pet object that needs to be added to the store")], query_1 : Annotated[Optional[StrictStr], Field(description="query parameter")] = None, header_1 : Annotated[Optional[StrictStr], Field(description="header parameter")] = None, **kwargs) -> None: # noqa: E501
async def fake_http_signature_test(self, pet : Annotated[Pet, Field(description="Pet object that needs to be added to the store")], query_1 : Annotated[Optional[StrictStr], Field(description="query parameter")] = None, header_1 : Annotated[Optional[StrictStr], Field(description="header parameter")] = None, **kwargs) -> None: # noqa: E501
"""test http signature authentication # noqa: E501
@@ -437,7 +437,7 @@ class FakeApi:
return await self.fake_http_signature_test_with_http_info(pet, query_1, header_1, **kwargs) # noqa: E501
@validate_arguments
async def fake_http_signature_test_with_http_info(self, pet : Annotated[Pet, Field(..., description="Pet object that needs to be added to the store")], query_1 : Annotated[Optional[StrictStr], Field(description="query parameter")] = None, header_1 : Annotated[Optional[StrictStr], Field(description="header parameter")] = None, **kwargs) -> ApiResponse: # noqa: E501
async def fake_http_signature_test_with_http_info(self, pet : Annotated[Pet, Field(description="Pet object that needs to be added to the store")], query_1 : Annotated[Optional[StrictStr], Field(description="query parameter")] = None, header_1 : Annotated[Optional[StrictStr], Field(description="header parameter")] = None, **kwargs) -> ApiResponse: # noqa: E501
"""test http signature authentication # noqa: E501
@@ -1074,7 +1074,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def fake_property_enum_integer_serialize(self, outer_object_with_enum_property : Annotated[OuterObjectWithEnumProperty, Field(..., description="Input enum (int) as post body")], **kwargs) -> OuterObjectWithEnumProperty: # noqa: E501
async def fake_property_enum_integer_serialize(self, outer_object_with_enum_property : Annotated[OuterObjectWithEnumProperty, Field(description="Input enum (int) as post body")], **kwargs) -> OuterObjectWithEnumProperty: # noqa: E501
"""fake_property_enum_integer_serialize # noqa: E501
Test serialization of enum (int) properties with examples # noqa: E501
@@ -1097,7 +1097,7 @@ class FakeApi:
return await self.fake_property_enum_integer_serialize_with_http_info(outer_object_with_enum_property, **kwargs) # noqa: E501
@validate_arguments
async def fake_property_enum_integer_serialize_with_http_info(self, outer_object_with_enum_property : Annotated[OuterObjectWithEnumProperty, Field(..., description="Input enum (int) as post body")], **kwargs) -> ApiResponse: # noqa: E501
async def fake_property_enum_integer_serialize_with_http_info(self, outer_object_with_enum_property : Annotated[OuterObjectWithEnumProperty, Field(description="Input enum (int) as post body")], **kwargs) -> ApiResponse: # noqa: E501
"""fake_property_enum_integer_serialize # noqa: E501
Test serialization of enum (int) properties with examples # noqa: E501
@@ -1319,7 +1319,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def fake_uuid_example(self, uuid_example : Annotated[StrictStr, Field(..., description="uuid example")], **kwargs) -> None: # noqa: E501
async def fake_uuid_example(self, uuid_example : Annotated[StrictStr, Field(description="uuid example")], **kwargs) -> None: # noqa: E501
"""test uuid example # noqa: E501
@@ -1341,7 +1341,7 @@ class FakeApi:
return await self.fake_uuid_example_with_http_info(uuid_example, **kwargs) # noqa: E501
@validate_arguments
async def fake_uuid_example_with_http_info(self, uuid_example : Annotated[StrictStr, Field(..., description="uuid example")], **kwargs) -> ApiResponse: # noqa: E501
async def fake_uuid_example_with_http_info(self, uuid_example : Annotated[StrictStr, Field(description="uuid example")], **kwargs) -> ApiResponse: # noqa: E501
"""test uuid example # noqa: E501
@@ -1435,7 +1435,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def test_body_with_binary(self, body : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(..., description="image to upload")], **kwargs) -> None: # noqa: E501
async def test_body_with_binary(self, body : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="image to upload")], **kwargs) -> None: # noqa: E501
"""test_body_with_binary # noqa: E501
For this test, the body has to be a binary file. # noqa: E501
@@ -1458,7 +1458,7 @@ class FakeApi:
return await self.test_body_with_binary_with_http_info(body, **kwargs) # noqa: E501
@validate_arguments
async def test_body_with_binary_with_http_info(self, body : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(..., description="image to upload")], **kwargs) -> ApiResponse: # noqa: E501
async def test_body_with_binary_with_http_info(self, body : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="image to upload")], **kwargs) -> ApiResponse: # noqa: E501
"""test_body_with_binary # noqa: E501
For this test, the body has to be a binary file. # noqa: E501
@@ -1821,7 +1821,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def test_client_model(self, client : Annotated[Client, Field(..., description="client model")], **kwargs) -> Client: # noqa: E501
async def test_client_model(self, client : Annotated[Client, Field(description="client model")], **kwargs) -> Client: # noqa: E501
"""To test \"client\" model # noqa: E501
To test \"client\" model # noqa: E501
@@ -1844,7 +1844,7 @@ class FakeApi:
return await self.test_client_model_with_http_info(client, **kwargs) # noqa: E501
@validate_arguments
async def test_client_model_with_http_info(self, client : Annotated[Client, Field(..., description="client model")], **kwargs) -> ApiResponse: # noqa: E501
async def test_client_model_with_http_info(self, client : Annotated[Client, Field(description="client model")], **kwargs) -> ApiResponse: # noqa: E501
"""To test \"client\" model # noqa: E501
To test \"client\" model # noqa: E501
@@ -2079,7 +2079,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def test_endpoint_parameters(self, number : Annotated[confloat(le=543.2, ge=32.1), Field(..., description="None")], double : Annotated[confloat(le=123.4, ge=67.8), Field(..., description="None")], pattern_without_delimiter : Annotated[constr(strict=True), Field(..., description="None")], byte : Annotated[Union[StrictBytes, StrictStr], Field(..., description="None")], integer : Annotated[Optional[conint(strict=True, le=100, ge=10)], Field(description="None")] = None, int32 : Annotated[Optional[conint(strict=True, le=200, ge=20)], Field(description="None")] = None, int64 : Annotated[Optional[StrictInt], Field(description="None")] = None, float : Annotated[Optional[confloat(le=987.6)], Field(description="None")] = None, string : Annotated[Optional[constr(strict=True)], Field(description="None")] = None, binary : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="None")] = None, byte_with_max_length : Annotated[Optional[Union[conbytes(strict=True, max_length=64), constr(strict=True, max_length=64)]], Field(description="None")] = None, var_date : Annotated[Optional[date], Field(description="None")] = None, date_time : Annotated[Optional[datetime], Field(description="None")] = None, password : Annotated[Optional[constr(strict=True, max_length=64, min_length=10)], Field(description="None")] = None, param_callback : Annotated[Optional[StrictStr], Field(description="None")] = None, **kwargs) -> None: # noqa: E501
async def test_endpoint_parameters(self, number : Annotated[float, Field(le=543.2, ge=32.1, description="None")], double : Annotated[float, Field(le=123.4, ge=67.8, description="None")], pattern_without_delimiter : Annotated[str, Field(strict=True, description="None")], byte : Annotated[Union[StrictBytes, StrictStr], Field(description="None")], integer : Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=10)]], Field(description="None")] = None, int32 : Annotated[Optional[Annotated[int, Field(le=200, strict=True, ge=20)]], Field(description="None")] = None, int64 : Annotated[Optional[StrictInt], Field(description="None")] = None, float : Annotated[Optional[Annotated[float, Field(le=987.6)]], Field(description="None")] = None, string : Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="None")] = None, binary : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="None")] = None, byte_with_max_length : Annotated[Optional[Union[Annotated[bytes, Field(strict=True, max_length=64)], Annotated[str, Field(strict=True, max_length=64)]]], Field(description="None")] = None, var_date : Annotated[Optional[date], Field(description="None")] = None, date_time : Annotated[Optional[datetime], Field(description="None")] = None, password : Annotated[Optional[Annotated[str, Field(min_length=10, strict=True, max_length=64)]], Field(description="None")] = None, param_callback : Annotated[Optional[StrictStr], Field(description="None")] = None, **kwargs) -> None: # noqa: E501
"""Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 # noqa: E501
Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 # noqa: E501
@@ -2130,7 +2130,7 @@ class FakeApi:
return await self.test_endpoint_parameters_with_http_info(number, double, pattern_without_delimiter, byte, integer, int32, int64, float, string, binary, byte_with_max_length, var_date, date_time, password, param_callback, **kwargs) # noqa: E501
@validate_arguments
async def test_endpoint_parameters_with_http_info(self, number : Annotated[confloat(le=543.2, ge=32.1), Field(..., description="None")], double : Annotated[confloat(le=123.4, ge=67.8), Field(..., description="None")], pattern_without_delimiter : Annotated[constr(strict=True), Field(..., description="None")], byte : Annotated[Union[StrictBytes, StrictStr], Field(..., description="None")], integer : Annotated[Optional[conint(strict=True, le=100, ge=10)], Field(description="None")] = None, int32 : Annotated[Optional[conint(strict=True, le=200, ge=20)], Field(description="None")] = None, int64 : Annotated[Optional[StrictInt], Field(description="None")] = None, float : Annotated[Optional[confloat(le=987.6)], Field(description="None")] = None, string : Annotated[Optional[constr(strict=True)], Field(description="None")] = None, binary : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="None")] = None, byte_with_max_length : Annotated[Optional[Union[conbytes(strict=True, max_length=64), constr(strict=True, max_length=64)]], Field(description="None")] = None, var_date : Annotated[Optional[date], Field(description="None")] = None, date_time : Annotated[Optional[datetime], Field(description="None")] = None, password : Annotated[Optional[constr(strict=True, max_length=64, min_length=10)], Field(description="None")] = None, param_callback : Annotated[Optional[StrictStr], Field(description="None")] = None, **kwargs) -> ApiResponse: # noqa: E501
async def test_endpoint_parameters_with_http_info(self, number : Annotated[float, Field(le=543.2, ge=32.1, description="None")], double : Annotated[float, Field(le=123.4, ge=67.8, description="None")], pattern_without_delimiter : Annotated[str, Field(strict=True, description="None")], byte : Annotated[Union[StrictBytes, StrictStr], Field(description="None")], integer : Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=10)]], Field(description="None")] = None, int32 : Annotated[Optional[Annotated[int, Field(le=200, strict=True, ge=20)]], Field(description="None")] = None, int64 : Annotated[Optional[StrictInt], Field(description="None")] = None, float : Annotated[Optional[Annotated[float, Field(le=987.6)]], Field(description="None")] = None, string : Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="None")] = None, binary : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="None")] = None, byte_with_max_length : Annotated[Optional[Union[Annotated[bytes, Field(strict=True, max_length=64)], Annotated[str, Field(strict=True, max_length=64)]]], Field(description="None")] = None, var_date : Annotated[Optional[date], Field(description="None")] = None, date_time : Annotated[Optional[datetime], Field(description="None")] = None, password : Annotated[Optional[Annotated[str, Field(min_length=10, strict=True, max_length=64)]], Field(description="None")] = None, param_callback : Annotated[Optional[StrictStr], Field(description="None")] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 # noqa: E501
Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트 # noqa: E501
@@ -2316,7 +2316,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def test_group_parameters(self, required_string_group : Annotated[StrictInt, Field(..., description="Required String in group parameters")], required_boolean_group : Annotated[StrictBool, Field(..., description="Required Boolean in group parameters")], required_int64_group : Annotated[StrictInt, Field(..., description="Required Integer in group parameters")], string_group : Annotated[Optional[StrictInt], Field(description="String in group parameters")] = None, boolean_group : Annotated[Optional[StrictBool], Field(description="Boolean in group parameters")] = None, int64_group : Annotated[Optional[StrictInt], Field(description="Integer in group parameters")] = None, **kwargs) -> None: # noqa: E501
async def test_group_parameters(self, required_string_group : Annotated[StrictInt, Field(description="Required String in group parameters")], required_boolean_group : Annotated[StrictBool, Field(description="Required Boolean in group parameters")], required_int64_group : Annotated[StrictInt, Field(description="Required Integer in group parameters")], string_group : Annotated[Optional[StrictInt], Field(description="String in group parameters")] = None, boolean_group : Annotated[Optional[StrictBool], Field(description="Boolean in group parameters")] = None, int64_group : Annotated[Optional[StrictInt], Field(description="Integer in group parameters")] = None, **kwargs) -> None: # noqa: E501
"""Fake endpoint to test group parameters (optional) # noqa: E501
Fake endpoint to test group parameters (optional) # noqa: E501
@@ -2349,7 +2349,7 @@ class FakeApi:
return await self.test_group_parameters_with_http_info(required_string_group, required_boolean_group, required_int64_group, string_group, boolean_group, int64_group, **kwargs) # noqa: E501
@validate_arguments
async def test_group_parameters_with_http_info(self, required_string_group : Annotated[StrictInt, Field(..., description="Required String in group parameters")], required_boolean_group : Annotated[StrictBool, Field(..., description="Required Boolean in group parameters")], required_int64_group : Annotated[StrictInt, Field(..., description="Required Integer in group parameters")], string_group : Annotated[Optional[StrictInt], Field(description="String in group parameters")] = None, boolean_group : Annotated[Optional[StrictBool], Field(description="Boolean in group parameters")] = None, int64_group : Annotated[Optional[StrictInt], Field(description="Integer in group parameters")] = None, **kwargs) -> ApiResponse: # noqa: E501
async def test_group_parameters_with_http_info(self, required_string_group : Annotated[StrictInt, Field(description="Required String in group parameters")], required_boolean_group : Annotated[StrictBool, Field(description="Required Boolean in group parameters")], required_int64_group : Annotated[StrictInt, Field(description="Required Integer in group parameters")], string_group : Annotated[Optional[StrictInt], Field(description="String in group parameters")] = None, boolean_group : Annotated[Optional[StrictBool], Field(description="Boolean in group parameters")] = None, int64_group : Annotated[Optional[StrictInt], Field(description="Integer in group parameters")] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Fake endpoint to test group parameters (optional) # noqa: E501
Fake endpoint to test group parameters (optional) # noqa: E501
@@ -2474,7 +2474,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def test_inline_additional_properties(self, request_body : Annotated[Dict[str, StrictStr], Field(..., description="request body")], **kwargs) -> None: # noqa: E501
async def test_inline_additional_properties(self, request_body : Annotated[Dict[str, StrictStr], Field(description="request body")], **kwargs) -> None: # noqa: E501
"""test inline additionalProperties # noqa: E501
# noqa: E501
@@ -2497,7 +2497,7 @@ class FakeApi:
return await self.test_inline_additional_properties_with_http_info(request_body, **kwargs) # noqa: E501
@validate_arguments
async def test_inline_additional_properties_with_http_info(self, request_body : Annotated[Dict[str, StrictStr], Field(..., description="request body")], **kwargs) -> ApiResponse: # noqa: E501
async def test_inline_additional_properties_with_http_info(self, request_body : Annotated[Dict[str, StrictStr], Field(description="request body")], **kwargs) -> ApiResponse: # noqa: E501
"""test inline additionalProperties # noqa: E501
# noqa: E501
@@ -2599,7 +2599,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def test_inline_freeform_additional_properties(self, test_inline_freeform_additional_properties_request : Annotated[TestInlineFreeformAdditionalPropertiesRequest, Field(..., description="request body")], **kwargs) -> None: # noqa: E501
async def test_inline_freeform_additional_properties(self, test_inline_freeform_additional_properties_request : Annotated[TestInlineFreeformAdditionalPropertiesRequest, Field(description="request body")], **kwargs) -> None: # noqa: E501
"""test inline free-form additionalProperties # noqa: E501
# noqa: E501
@@ -2622,7 +2622,7 @@ class FakeApi:
return await self.test_inline_freeform_additional_properties_with_http_info(test_inline_freeform_additional_properties_request, **kwargs) # noqa: E501
@validate_arguments
async def test_inline_freeform_additional_properties_with_http_info(self, test_inline_freeform_additional_properties_request : Annotated[TestInlineFreeformAdditionalPropertiesRequest, Field(..., description="request body")], **kwargs) -> ApiResponse: # noqa: E501
async def test_inline_freeform_additional_properties_with_http_info(self, test_inline_freeform_additional_properties_request : Annotated[TestInlineFreeformAdditionalPropertiesRequest, Field(description="request body")], **kwargs) -> ApiResponse: # noqa: E501
"""test inline free-form additionalProperties # noqa: E501
# noqa: E501
@@ -2724,7 +2724,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def test_json_form_data(self, param : Annotated[StrictStr, Field(..., description="field1")], param2 : Annotated[StrictStr, Field(..., description="field2")], **kwargs) -> None: # noqa: E501
async def test_json_form_data(self, param : Annotated[StrictStr, Field(description="field1")], param2 : Annotated[StrictStr, Field(description="field2")], **kwargs) -> None: # noqa: E501
"""test json serialization of form data # noqa: E501
# noqa: E501
@@ -2749,7 +2749,7 @@ class FakeApi:
return await self.test_json_form_data_with_http_info(param, param2, **kwargs) # noqa: E501
@validate_arguments
async def test_json_form_data_with_http_info(self, param : Annotated[StrictStr, Field(..., description="field1")], param2 : Annotated[StrictStr, Field(..., description="field2")], **kwargs) -> ApiResponse: # noqa: E501
async def test_json_form_data_with_http_info(self, param : Annotated[StrictStr, Field(description="field1")], param2 : Annotated[StrictStr, Field(description="field2")], **kwargs) -> ApiResponse: # noqa: E501
"""test json serialization of form data # noqa: E501
# noqa: E501
@@ -2857,7 +2857,7 @@ class FakeApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def test_query_parameter_collection_format(self, pipe : conlist(StrictStr), ioutil : conlist(StrictStr), http : conlist(StrictStr), url : conlist(StrictStr), context : conlist(StrictStr), allow_empty : StrictStr, language : Optional[Dict[str, StrictStr]] = None, **kwargs) -> None: # noqa: E501
async def test_query_parameter_collection_format(self, pipe : List[StrictStr], ioutil : List[StrictStr], http : List[StrictStr], url : List[StrictStr], context : List[StrictStr], allow_empty : StrictStr, language : Optional[Dict[str, StrictStr]] = None, **kwargs) -> None: # noqa: E501
"""test_query_parameter_collection_format # noqa: E501
To test the collection format in query parameters # noqa: E501
@@ -2892,7 +2892,7 @@ class FakeApi:
return await self.test_query_parameter_collection_format_with_http_info(pipe, ioutil, http, url, context, allow_empty, language, **kwargs) # noqa: E501
@validate_arguments
async def test_query_parameter_collection_format_with_http_info(self, pipe : conlist(StrictStr), ioutil : conlist(StrictStr), http : conlist(StrictStr), url : conlist(StrictStr), context : conlist(StrictStr), allow_empty : StrictStr, language : Optional[Dict[str, StrictStr]] = None, **kwargs) -> ApiResponse: # noqa: E501
async def test_query_parameter_collection_format_with_http_info(self, pipe : List[StrictStr], ioutil : List[StrictStr], http : List[StrictStr], url : List[StrictStr], context : List[StrictStr], allow_empty : StrictStr, language : Optional[Dict[str, StrictStr]] = None, **kwargs) -> ApiResponse: # noqa: E501
"""test_query_parameter_collection_format # noqa: E501
To test the collection format in query parameters # noqa: E501

View File

@@ -17,11 +17,9 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing import overload, Optional, Union, Awaitable
from typing_extensions import Annotated
from pydantic import Field
from typing_extensions import Annotated
from petstore_api.models.client import Client
from petstore_api.api_client import ApiClient
@@ -45,7 +43,7 @@ class FakeClassnameTags123Api:
self.api_client = api_client
@validate_arguments
async def test_classname(self, client : Annotated[Client, Field(..., description="client model")], **kwargs) -> Client: # noqa: E501
async def test_classname(self, client : Annotated[Client, Field(description="client model")], **kwargs) -> Client: # noqa: E501
"""To test class name in snake case # noqa: E501
To test class name in snake case # noqa: E501
@@ -68,7 +66,7 @@ class FakeClassnameTags123Api:
return await self.test_classname_with_http_info(client, **kwargs) # noqa: E501
@validate_arguments
async def test_classname_with_http_info(self, client : Annotated[Client, Field(..., description="client model")], **kwargs) -> ApiResponse: # noqa: E501
async def test_classname_with_http_info(self, client : Annotated[Client, Field(description="client model")], **kwargs) -> ApiResponse: # noqa: E501
"""To test class name in snake case # noqa: E501
To test class name in snake case # noqa: E501

View File

@@ -17,10 +17,10 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing import overload, Optional, Union, Awaitable
from pydantic import Field
from typing_extensions import Annotated
from pydantic import Field, StrictBytes, StrictInt, StrictStr, conlist, validator
from pydantic import StrictBytes, StrictInt, StrictStr, validator
from typing import List, Optional, Union
@@ -48,7 +48,7 @@ class PetApi:
self.api_client = api_client
@validate_arguments
async def add_pet(self, pet : Annotated[Pet, Field(..., description="Pet object that needs to be added to the store")], **kwargs) -> None: # noqa: E501
async def add_pet(self, pet : Annotated[Pet, Field(description="Pet object that needs to be added to the store")], **kwargs) -> None: # noqa: E501
"""Add a new pet to the store # noqa: E501
# noqa: E501
@@ -71,7 +71,7 @@ class PetApi:
return await self.add_pet_with_http_info(pet, **kwargs) # noqa: E501
@validate_arguments
async def add_pet_with_http_info(self, pet : Annotated[Pet, Field(..., description="Pet object that needs to be added to the store")], **kwargs) -> ApiResponse: # noqa: E501
async def add_pet_with_http_info(self, pet : Annotated[Pet, Field(description="Pet object that needs to be added to the store")], **kwargs) -> ApiResponse: # noqa: E501
"""Add a new pet to the store # noqa: E501
# noqa: E501
@@ -173,7 +173,7 @@ class PetApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def delete_pet(self, pet_id : Annotated[StrictInt, Field(..., description="Pet id to delete")], api_key : Optional[StrictStr] = None, **kwargs) -> None: # noqa: E501
async def delete_pet(self, pet_id : Annotated[StrictInt, Field(description="Pet id to delete")], api_key : Optional[StrictStr] = None, **kwargs) -> None: # noqa: E501
"""Deletes a pet # noqa: E501
# noqa: E501
@@ -198,7 +198,7 @@ class PetApi:
return await self.delete_pet_with_http_info(pet_id, api_key, **kwargs) # noqa: E501
@validate_arguments
async def delete_pet_with_http_info(self, pet_id : Annotated[StrictInt, Field(..., description="Pet id to delete")], api_key : Optional[StrictStr] = None, **kwargs) -> ApiResponse: # noqa: E501
async def delete_pet_with_http_info(self, pet_id : Annotated[StrictInt, Field(description="Pet id to delete")], api_key : Optional[StrictStr] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Deletes a pet # noqa: E501
# noqa: E501
@@ -299,7 +299,7 @@ class PetApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def find_pets_by_status(self, status : Annotated[conlist(StrictStr), Field(..., description="Status values that need to be considered for filter")], **kwargs) -> List[Pet]: # noqa: E501
async def find_pets_by_status(self, status : Annotated[List[StrictStr], Field(description="Status values that need to be considered for filter")], **kwargs) -> List[Pet]: # noqa: E501
"""Finds Pets by status # noqa: E501
Multiple status values can be provided with comma separated strings # noqa: E501
@@ -322,7 +322,7 @@ class PetApi:
return await self.find_pets_by_status_with_http_info(status, **kwargs) # noqa: E501
@validate_arguments
async def find_pets_by_status_with_http_info(self, status : Annotated[conlist(StrictStr), Field(..., description="Status values that need to be considered for filter")], **kwargs) -> ApiResponse: # noqa: E501
async def find_pets_by_status_with_http_info(self, status : Annotated[List[StrictStr], Field(description="Status values that need to be considered for filter")], **kwargs) -> ApiResponse: # noqa: E501
"""Finds Pets by status # noqa: E501
Multiple status values can be provided with comma separated strings # noqa: E501
@@ -425,7 +425,7 @@ class PetApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def find_pets_by_tags(self, tags : Annotated[conlist(StrictStr, unique_items=True), Field(..., description="Tags to filter by")], **kwargs) -> List[Pet]: # noqa: E501
async def find_pets_by_tags(self, tags : Annotated[List[StrictStr], Field(description="Tags to filter by")], **kwargs) -> List[Pet]: # noqa: E501
"""(Deprecated) Finds Pets by tags # noqa: E501
Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. # noqa: E501
@@ -448,7 +448,7 @@ class PetApi:
return await self.find_pets_by_tags_with_http_info(tags, **kwargs) # noqa: E501
@validate_arguments
async def find_pets_by_tags_with_http_info(self, tags : Annotated[conlist(StrictStr, unique_items=True), Field(..., description="Tags to filter by")], **kwargs) -> ApiResponse: # noqa: E501
async def find_pets_by_tags_with_http_info(self, tags : Annotated[List[StrictStr], Field(description="Tags to filter by")], **kwargs) -> ApiResponse: # noqa: E501
"""(Deprecated) Finds Pets by tags # noqa: E501
Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. # noqa: E501
@@ -553,7 +553,7 @@ class PetApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def get_pet_by_id(self, pet_id : Annotated[StrictInt, Field(..., description="ID of pet to return")], **kwargs) -> Pet: # noqa: E501
async def get_pet_by_id(self, pet_id : Annotated[StrictInt, Field(description="ID of pet to return")], **kwargs) -> Pet: # noqa: E501
"""Find pet by ID # noqa: E501
Returns a single pet # noqa: E501
@@ -576,7 +576,7 @@ class PetApi:
return await self.get_pet_by_id_with_http_info(pet_id, **kwargs) # noqa: E501
@validate_arguments
async def get_pet_by_id_with_http_info(self, pet_id : Annotated[StrictInt, Field(..., description="ID of pet to return")], **kwargs) -> ApiResponse: # noqa: E501
async def get_pet_by_id_with_http_info(self, pet_id : Annotated[StrictInt, Field(description="ID of pet to return")], **kwargs) -> ApiResponse: # noqa: E501
"""Find pet by ID # noqa: E501
Returns a single pet # noqa: E501
@@ -679,7 +679,7 @@ class PetApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def update_pet(self, pet : Annotated[Pet, Field(..., description="Pet object that needs to be added to the store")], **kwargs) -> None: # noqa: E501
async def update_pet(self, pet : Annotated[Pet, Field(description="Pet object that needs to be added to the store")], **kwargs) -> None: # noqa: E501
"""Update an existing pet # noqa: E501
# noqa: E501
@@ -702,7 +702,7 @@ class PetApi:
return await self.update_pet_with_http_info(pet, **kwargs) # noqa: E501
@validate_arguments
async def update_pet_with_http_info(self, pet : Annotated[Pet, Field(..., description="Pet object that needs to be added to the store")], **kwargs) -> ApiResponse: # noqa: E501
async def update_pet_with_http_info(self, pet : Annotated[Pet, Field(description="Pet object that needs to be added to the store")], **kwargs) -> ApiResponse: # noqa: E501
"""Update an existing pet # noqa: E501
# noqa: E501
@@ -804,7 +804,7 @@ class PetApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def update_pet_with_form(self, pet_id : Annotated[StrictInt, Field(..., description="ID of pet that needs to be updated")], name : Annotated[Optional[StrictStr], Field(description="Updated name of the pet")] = None, status : Annotated[Optional[StrictStr], Field(description="Updated status of the pet")] = None, **kwargs) -> None: # noqa: E501
async def update_pet_with_form(self, pet_id : Annotated[StrictInt, Field(description="ID of pet that needs to be updated")], name : Annotated[Optional[StrictStr], Field(description="Updated name of the pet")] = None, status : Annotated[Optional[StrictStr], Field(description="Updated status of the pet")] = None, **kwargs) -> None: # noqa: E501
"""Updates a pet in the store with form data # noqa: E501
# noqa: E501
@@ -831,7 +831,7 @@ class PetApi:
return await self.update_pet_with_form_with_http_info(pet_id, name, status, **kwargs) # noqa: E501
@validate_arguments
async def update_pet_with_form_with_http_info(self, pet_id : Annotated[StrictInt, Field(..., description="ID of pet that needs to be updated")], name : Annotated[Optional[StrictStr], Field(description="Updated name of the pet")] = None, status : Annotated[Optional[StrictStr], Field(description="Updated status of the pet")] = None, **kwargs) -> ApiResponse: # noqa: E501
async def update_pet_with_form_with_http_info(self, pet_id : Annotated[StrictInt, Field(description="ID of pet that needs to be updated")], name : Annotated[Optional[StrictStr], Field(description="Updated name of the pet")] = None, status : Annotated[Optional[StrictStr], Field(description="Updated status of the pet")] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Updates a pet in the store with form data # noqa: E501
# noqa: E501
@@ -945,7 +945,7 @@ class PetApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def upload_file(self, pet_id : Annotated[StrictInt, Field(..., description="ID of pet to update")], additional_metadata : Annotated[Optional[StrictStr], Field(description="Additional data to pass to server")] = None, file : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="file to upload")] = None, **kwargs) -> ApiResponse: # noqa: E501
async def upload_file(self, pet_id : Annotated[StrictInt, Field(description="ID of pet to update")], additional_metadata : Annotated[Optional[StrictStr], Field(description="Additional data to pass to server")] = None, file : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="file to upload")] = None, **kwargs) -> ApiResponse: # noqa: E501
"""uploads an image # noqa: E501
# noqa: E501
@@ -972,7 +972,7 @@ class PetApi:
return await self.upload_file_with_http_info(pet_id, additional_metadata, file, **kwargs) # noqa: E501
@validate_arguments
async def upload_file_with_http_info(self, pet_id : Annotated[StrictInt, Field(..., description="ID of pet to update")], additional_metadata : Annotated[Optional[StrictStr], Field(description="Additional data to pass to server")] = None, file : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="file to upload")] = None, **kwargs) -> ApiResponse: # noqa: E501
async def upload_file_with_http_info(self, pet_id : Annotated[StrictInt, Field(description="ID of pet to update")], additional_metadata : Annotated[Optional[StrictStr], Field(description="Additional data to pass to server")] = None, file : Annotated[Optional[Union[StrictBytes, StrictStr]], Field(description="file to upload")] = None, **kwargs) -> ApiResponse: # noqa: E501
"""uploads an image # noqa: E501
# noqa: E501
@@ -1092,7 +1092,7 @@ class PetApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def upload_file_with_required_file(self, pet_id : Annotated[StrictInt, Field(..., description="ID of pet to update")], required_file : Annotated[Union[StrictBytes, StrictStr], Field(..., description="file to upload")], additional_metadata : Annotated[Optional[StrictStr], Field(description="Additional data to pass to server")] = None, **kwargs) -> ApiResponse: # noqa: E501
async def upload_file_with_required_file(self, pet_id : Annotated[StrictInt, Field(description="ID of pet to update")], required_file : Annotated[Union[StrictBytes, StrictStr], Field(description="file to upload")], additional_metadata : Annotated[Optional[StrictStr], Field(description="Additional data to pass to server")] = None, **kwargs) -> ApiResponse: # noqa: E501
"""uploads an image (required) # noqa: E501
# noqa: E501
@@ -1119,7 +1119,7 @@ class PetApi:
return await self.upload_file_with_required_file_with_http_info(pet_id, required_file, additional_metadata, **kwargs) # noqa: E501
@validate_arguments
async def upload_file_with_required_file_with_http_info(self, pet_id : Annotated[StrictInt, Field(..., description="ID of pet to update")], required_file : Annotated[Union[StrictBytes, StrictStr], Field(..., description="file to upload")], additional_metadata : Annotated[Optional[StrictStr], Field(description="Additional data to pass to server")] = None, **kwargs) -> ApiResponse: # noqa: E501
async def upload_file_with_required_file_with_http_info(self, pet_id : Annotated[StrictInt, Field(description="ID of pet to update")], required_file : Annotated[Union[StrictBytes, StrictStr], Field(description="file to upload")], additional_metadata : Annotated[Optional[StrictStr], Field(description="Additional data to pass to server")] = None, **kwargs) -> ApiResponse: # noqa: E501
"""uploads an image (required) # noqa: E501
# noqa: E501

View File

@@ -17,10 +17,10 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing import overload, Optional, Union, Awaitable
from pydantic import Field
from typing_extensions import Annotated
from pydantic import Field, StrictStr, conint
from pydantic import StrictStr
from typing import Dict
@@ -47,7 +47,7 @@ class StoreApi:
self.api_client = api_client
@validate_arguments
async def delete_order(self, order_id : Annotated[StrictStr, Field(..., description="ID of the order that needs to be deleted")], **kwargs) -> None: # noqa: E501
async def delete_order(self, order_id : Annotated[StrictStr, Field(description="ID of the order that needs to be deleted")], **kwargs) -> None: # noqa: E501
"""Delete purchase order by ID # noqa: E501
For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors # noqa: E501
@@ -70,7 +70,7 @@ class StoreApi:
return await self.delete_order_with_http_info(order_id, **kwargs) # noqa: E501
@validate_arguments
async def delete_order_with_http_info(self, order_id : Annotated[StrictStr, Field(..., description="ID of the order that needs to be deleted")], **kwargs) -> ApiResponse: # noqa: E501
async def delete_order_with_http_info(self, order_id : Annotated[StrictStr, Field(description="ID of the order that needs to be deleted")], **kwargs) -> ApiResponse: # noqa: E501
"""Delete purchase order by ID # noqa: E501
For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors # noqa: E501
@@ -281,7 +281,7 @@ class StoreApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def get_order_by_id(self, order_id : Annotated[conint(strict=True, le=5, ge=1), Field(..., description="ID of pet that needs to be fetched")], **kwargs) -> Order: # noqa: E501
async def get_order_by_id(self, order_id : Annotated[int, Field(le=5, strict=True, ge=1, description="ID of pet that needs to be fetched")], **kwargs) -> Order: # noqa: E501
"""Find purchase order by ID # noqa: E501
For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions # noqa: E501
@@ -304,7 +304,7 @@ class StoreApi:
return await self.get_order_by_id_with_http_info(order_id, **kwargs) # noqa: E501
@validate_arguments
async def get_order_by_id_with_http_info(self, order_id : Annotated[conint(strict=True, le=5, ge=1), Field(..., description="ID of pet that needs to be fetched")], **kwargs) -> ApiResponse: # noqa: E501
async def get_order_by_id_with_http_info(self, order_id : Annotated[int, Field(le=5, strict=True, ge=1, description="ID of pet that needs to be fetched")], **kwargs) -> ApiResponse: # noqa: E501
"""Find purchase order by ID # noqa: E501
For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions # noqa: E501
@@ -407,7 +407,7 @@ class StoreApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def place_order(self, order : Annotated[Order, Field(..., description="order placed for purchasing the pet")], **kwargs) -> Order: # noqa: E501
async def place_order(self, order : Annotated[Order, Field(description="order placed for purchasing the pet")], **kwargs) -> Order: # noqa: E501
"""Place an order for a pet # noqa: E501
# noqa: E501
@@ -430,7 +430,7 @@ class StoreApi:
return await self.place_order_with_http_info(order, **kwargs) # noqa: E501
@validate_arguments
async def place_order_with_http_info(self, order : Annotated[Order, Field(..., description="order placed for purchasing the pet")], **kwargs) -> ApiResponse: # noqa: E501
async def place_order_with_http_info(self, order : Annotated[Order, Field(description="order placed for purchasing the pet")], **kwargs) -> ApiResponse: # noqa: E501
"""Place an order for a pet # noqa: E501
# noqa: E501

View File

@@ -17,10 +17,12 @@ import io
import warnings
from pydantic import validate_arguments, ValidationError
from typing import overload, Optional, Union, Awaitable
from pydantic import Field
from typing_extensions import Annotated
from pydantic import Field, StrictStr, conlist
from pydantic import StrictStr
from typing import List
from petstore_api.models.user import User
@@ -45,7 +47,7 @@ class UserApi:
self.api_client = api_client
@validate_arguments
async def create_user(self, user : Annotated[User, Field(..., description="Created user object")], **kwargs) -> None: # noqa: E501
async def create_user(self, user : Annotated[User, Field(description="Created user object")], **kwargs) -> None: # noqa: E501
"""Create user # noqa: E501
This can only be done by the logged in user. # noqa: E501
@@ -68,7 +70,7 @@ class UserApi:
return await self.create_user_with_http_info(user, **kwargs) # noqa: E501
@validate_arguments
async def create_user_with_http_info(self, user : Annotated[User, Field(..., description="Created user object")], **kwargs) -> ApiResponse: # noqa: E501
async def create_user_with_http_info(self, user : Annotated[User, Field(description="Created user object")], **kwargs) -> ApiResponse: # noqa: E501
"""Create user # noqa: E501
This can only be done by the logged in user. # noqa: E501
@@ -185,7 +187,7 @@ class UserApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def create_users_with_array_input(self, user : Annotated[conlist(User), Field(..., description="List of user object")], **kwargs) -> None: # noqa: E501
async def create_users_with_array_input(self, user : Annotated[List[User], Field(description="List of user object")], **kwargs) -> None: # noqa: E501
"""Creates list of users with given input array # noqa: E501
# noqa: E501
@@ -208,7 +210,7 @@ class UserApi:
return await self.create_users_with_array_input_with_http_info(user, **kwargs) # noqa: E501
@validate_arguments
async def create_users_with_array_input_with_http_info(self, user : Annotated[conlist(User), Field(..., description="List of user object")], **kwargs) -> ApiResponse: # noqa: E501
async def create_users_with_array_input_with_http_info(self, user : Annotated[List[User], Field(description="List of user object")], **kwargs) -> ApiResponse: # noqa: E501
"""Creates list of users with given input array # noqa: E501
# noqa: E501
@@ -310,7 +312,7 @@ class UserApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def create_users_with_list_input(self, user : Annotated[conlist(User), Field(..., description="List of user object")], **kwargs) -> None: # noqa: E501
async def create_users_with_list_input(self, user : Annotated[List[User], Field(description="List of user object")], **kwargs) -> None: # noqa: E501
"""Creates list of users with given input array # noqa: E501
# noqa: E501
@@ -333,7 +335,7 @@ class UserApi:
return await self.create_users_with_list_input_with_http_info(user, **kwargs) # noqa: E501
@validate_arguments
async def create_users_with_list_input_with_http_info(self, user : Annotated[conlist(User), Field(..., description="List of user object")], **kwargs) -> ApiResponse: # noqa: E501
async def create_users_with_list_input_with_http_info(self, user : Annotated[List[User], Field(description="List of user object")], **kwargs) -> ApiResponse: # noqa: E501
"""Creates list of users with given input array # noqa: E501
# noqa: E501
@@ -435,7 +437,7 @@ class UserApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def delete_user(self, username : Annotated[StrictStr, Field(..., description="The name that needs to be deleted")], **kwargs) -> None: # noqa: E501
async def delete_user(self, username : Annotated[StrictStr, Field(description="The name that needs to be deleted")], **kwargs) -> None: # noqa: E501
"""Delete user # noqa: E501
This can only be done by the logged in user. # noqa: E501
@@ -458,7 +460,7 @@ class UserApi:
return await self.delete_user_with_http_info(username, **kwargs) # noqa: E501
@validate_arguments
async def delete_user_with_http_info(self, username : Annotated[StrictStr, Field(..., description="The name that needs to be deleted")], **kwargs) -> ApiResponse: # noqa: E501
async def delete_user_with_http_info(self, username : Annotated[StrictStr, Field(description="The name that needs to be deleted")], **kwargs) -> ApiResponse: # noqa: E501
"""Delete user # noqa: E501
This can only be done by the logged in user. # noqa: E501
@@ -553,7 +555,7 @@ class UserApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def get_user_by_name(self, username : Annotated[StrictStr, Field(..., description="The name that needs to be fetched. Use user1 for testing.")], **kwargs) -> User: # noqa: E501
async def get_user_by_name(self, username : Annotated[StrictStr, Field(description="The name that needs to be fetched. Use user1 for testing.")], **kwargs) -> User: # noqa: E501
"""Get user by user name # noqa: E501
# noqa: E501
@@ -576,7 +578,7 @@ class UserApi:
return await self.get_user_by_name_with_http_info(username, **kwargs) # noqa: E501
@validate_arguments
async def get_user_by_name_with_http_info(self, username : Annotated[StrictStr, Field(..., description="The name that needs to be fetched. Use user1 for testing.")], **kwargs) -> ApiResponse: # noqa: E501
async def get_user_by_name_with_http_info(self, username : Annotated[StrictStr, Field(description="The name that needs to be fetched. Use user1 for testing.")], **kwargs) -> ApiResponse: # noqa: E501
"""Get user by user name # noqa: E501
# noqa: E501
@@ -679,7 +681,7 @@ class UserApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def login_user(self, username : Annotated[StrictStr, Field(..., description="The user name for login")], password : Annotated[StrictStr, Field(..., description="The password for login in clear text")], **kwargs) -> str: # noqa: E501
async def login_user(self, username : Annotated[StrictStr, Field(description="The user name for login")], password : Annotated[StrictStr, Field(description="The password for login in clear text")], **kwargs) -> str: # noqa: E501
"""Logs user into the system # noqa: E501
# noqa: E501
@@ -704,7 +706,7 @@ class UserApi:
return await self.login_user_with_http_info(username, password, **kwargs) # noqa: E501
@validate_arguments
async def login_user_with_http_info(self, username : Annotated[StrictStr, Field(..., description="The user name for login")], password : Annotated[StrictStr, Field(..., description="The password for login in clear text")], **kwargs) -> ApiResponse: # noqa: E501
async def login_user_with_http_info(self, username : Annotated[StrictStr, Field(description="The user name for login")], password : Annotated[StrictStr, Field(description="The password for login in clear text")], **kwargs) -> ApiResponse: # noqa: E501
"""Logs user into the system # noqa: E501
# noqa: E501
@@ -922,7 +924,7 @@ class UserApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
async def update_user(self, username : Annotated[StrictStr, Field(..., description="name that need to be deleted")], user : Annotated[User, Field(..., description="Updated user object")], **kwargs) -> None: # noqa: E501
async def update_user(self, username : Annotated[StrictStr, Field(description="name that need to be deleted")], user : Annotated[User, Field(description="Updated user object")], **kwargs) -> None: # noqa: E501
"""Updated user # noqa: E501
This can only be done by the logged in user. # noqa: E501
@@ -947,7 +949,7 @@ class UserApi:
return await self.update_user_with_http_info(username, user, **kwargs) # noqa: E501
@validate_arguments
async def update_user_with_http_info(self, username : Annotated[StrictStr, Field(..., description="name that need to be deleted")], user : Annotated[User, Field(..., description="Updated user object")], **kwargs) -> ApiResponse: # noqa: E501
async def update_user_with_http_info(self, username : Annotated[StrictStr, Field(description="name that need to be deleted")], user : Annotated[User, Field(description="Updated user object")], **kwargs) -> ApiResponse: # noqa: E501
"""Updated user # noqa: E501
This can only be done by the logged in user. # noqa: E501

View File

@@ -40,6 +40,7 @@ class AdditionalPropertiesAnyType(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -75,7 +76,7 @@ class AdditionalPropertiesAnyType(BaseModel):
})
# store additional fields in additional_properties
for _key in obj.keys():
if _key not in cls.__properties:
if _key not in cls.__properties.default:
_obj.additional_properties[_key] = obj.get(_key)
return _obj

View File

@@ -40,6 +40,7 @@ class AdditionalPropertiesClass(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -40,6 +40,7 @@ class AdditionalPropertiesObject(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -75,7 +76,7 @@ class AdditionalPropertiesObject(BaseModel):
})
# store additional fields in additional_properties
for _key in obj.keys():
if _key not in cls.__properties:
if _key not in cls.__properties.default:
_obj.additional_properties[_key] = obj.get(_key)
return _obj

View File

@@ -40,6 +40,7 @@ class AdditionalPropertiesWithDescriptionOnly(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -75,7 +76,7 @@ class AdditionalPropertiesWithDescriptionOnly(BaseModel):
})
# store additional fields in additional_properties
for _key in obj.keys():
if _key not in cls.__properties:
if _key not in cls.__properties.default:
_obj.additional_properties[_key] = obj.get(_key)
return _obj

View File

@@ -19,7 +19,8 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
from petstore_api.models.single_ref_type import SingleRefType
class AllOfWithSingleRef(BaseModel):
@@ -27,7 +28,7 @@ class AllOfWithSingleRef(BaseModel):
AllOfWithSingleRef
"""
username: Optional[StrictStr] = None
single_ref_type: Optional[SingleRefType] = Field(None, alias="SingleRefType")
single_ref_type: Optional[SingleRefType] = Field(default=None, alias="SingleRefType")
__properties = ["username", "SingleRefType"]
class Config:
@@ -41,6 +42,7 @@ class AllOfWithSingleRef(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -67,7 +69,7 @@ class AllOfWithSingleRef(BaseModel):
_obj = AllOfWithSingleRef.parse_obj({
"username": obj.get("username"),
"single_ref_type": obj.get("SingleRefType")
"SingleRefType": obj.get("SingleRefType")
})
return _obj

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional, Union
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
class Animal(BaseModel):
"""
Animal
"""
class_name: StrictStr = Field(..., alias="className")
class_name: StrictStr = Field(alias="className")
color: Optional[StrictStr] = 'red'
__properties = ["className", "color"]
@@ -46,9 +47,9 @@ class Animal(BaseModel):
@classmethod
def get_discriminator_value(cls, obj: dict) -> str:
"""Returns the discriminator value (object type) of the data"""
discriminator_value = obj[cls.__discriminator_property_name]
discriminator_value = obj[cls.__discriminator_property_name.default]
if discriminator_value:
return cls.__discriminator_value_class_map.get(discriminator_value)
return cls.__discriminator_value_class_map.default.get(discriminator_value)
else:
return None
@@ -58,6 +59,7 @@ class Animal(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -83,10 +85,14 @@ class Animal(BaseModel):
return klass.from_dict(obj)
else:
raise ValueError("Animal failed to lookup discriminator value from " +
json.dumps(obj) + ". Discriminator property name: " + cls.__discriminator_property_name +
", mapping: " + json.dumps(cls.__discriminator_value_class_map))
json.dumps(obj) + ". Discriminator property name: " + cls.__discriminator_property_name.default +
", mapping: " + json.dumps(cls.__discriminator_value_class_map.default))
from petstore_api.models.cat import Cat
from petstore_api.models.dog import Dog
Animal.update_forward_refs()
from typing import TYPE_CHECKING
if TYPE_CHECKING:
# TODO: pydantic v2
# Animal.model_rebuild()
pass

View File

@@ -19,8 +19,11 @@ import pprint
import re # noqa: F401
from typing import List, Optional
from pydantic import BaseModel, Field, StrictStr, ValidationError, conint, conlist, constr, validator
from typing import Union, Any, List, TYPE_CHECKING
from pydantic import BaseModel, Field, StrictStr, ValidationError, validator
from pydantic import Field
from typing_extensions import Annotated
from typing import Union, Any, List, TYPE_CHECKING, Optional, Dict
from typing_extensions import Literal
from pydantic import StrictStr, Field
ANYOFCOLOR_ANY_OF_SCHEMAS = ["List[int]", "str"]
@@ -31,16 +34,16 @@ class AnyOfColor(BaseModel):
"""
# data type: List[int]
anyof_schema_1_validator: Optional[conlist(conint(strict=True, le=255, ge=0), max_items=3, min_items=3)] = Field(None, description="RGB three element array with values 0-255.")
anyof_schema_1_validator: Optional[Annotated[List[Annotated[int, Field(le=255, strict=True, ge=0)]], Field(min_items=3, max_items=3)]] = Field(default=None, description="RGB three element array with values 0-255.")
# data type: List[int]
anyof_schema_2_validator: Optional[conlist(conint(strict=True, le=255, ge=0), max_items=4, min_items=4)] = Field(None, description="RGBA four element array with values 0-255.")
anyof_schema_2_validator: Optional[Annotated[List[Annotated[int, Field(le=255, strict=True, ge=0)]], Field(min_items=4, max_items=4)]] = Field(default=None, description="RGBA four element array with values 0-255.")
# data type: str
anyof_schema_3_validator: Optional[constr(strict=True, max_length=7, min_length=7)] = Field(None, description="Hex color string, such as #00FF00.")
anyof_schema_3_validator: Optional[Annotated[str, Field(min_length=7, strict=True, max_length=7)]] = Field(default=None, description="Hex color string, such as #00FF00.")
if TYPE_CHECKING:
actual_instance: Union[List[int], str]
actual_instance: Optional[Union[List[int], str]] = None
else:
actual_instance: Any
any_of_schemas: List[str] = Field(ANYOFCOLOR_ANY_OF_SCHEMAS, const=True)
actual_instance: Any = None
any_of_schemas: List[str] = Literal[ANYOFCOLOR_ANY_OF_SCHEMAS]
class Config:
validate_assignment = True

View File

@@ -22,7 +22,8 @@ from typing import Optional
from pydantic import BaseModel, Field, StrictStr, ValidationError, validator
from petstore_api.models.basque_pig import BasquePig
from petstore_api.models.danish_pig import DanishPig
from typing import Union, Any, List, TYPE_CHECKING
from typing import Union, Any, List, TYPE_CHECKING, Optional, Dict
from typing_extensions import Literal
from pydantic import StrictStr, Field
ANYOFPIG_ANY_OF_SCHEMAS = ["BasquePig", "DanishPig"]
@@ -37,10 +38,10 @@ class AnyOfPig(BaseModel):
# data type: DanishPig
anyof_schema_2_validator: Optional[DanishPig] = None
if TYPE_CHECKING:
actual_instance: Union[BasquePig, DanishPig]
actual_instance: Optional[Union[BasquePig, DanishPig]] = None
else:
actual_instance: Any
any_of_schemas: List[str] = Field(ANYOFPIG_ANY_OF_SCHEMAS, const=True)
actual_instance: Any = None
any_of_schemas: List[str] = Literal[ANYOFPIG_ANY_OF_SCHEMAS]
class Config:
validate_assignment = True

View File

@@ -41,6 +41,7 @@ class ApiResponse(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,14 +19,14 @@ import json
from typing import List, Optional
from pydantic import BaseModel, conlist
from pydantic import BaseModel
from petstore_api.models.tag import Tag
class ArrayOfArrayOfModel(BaseModel):
"""
ArrayOfArrayOfModel
"""
another_property: Optional[conlist(conlist(Tag))] = None
another_property: Optional[List[List[Tag]]] = None
__properties = ["another_property"]
class Config:
@@ -40,6 +40,7 @@ class ArrayOfArrayOfModel(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,13 +19,14 @@ import json
from typing import List, Optional
from pydantic import BaseModel, Field, conlist
from pydantic import BaseModel
from pydantic import Field
class ArrayOfArrayOfNumberOnly(BaseModel):
"""
ArrayOfArrayOfNumberOnly
"""
array_array_number: Optional[conlist(conlist(float))] = Field(None, alias="ArrayArrayNumber")
array_array_number: Optional[List[List[float]]] = Field(default=None, alias="ArrayArrayNumber")
__properties = ["ArrayArrayNumber"]
class Config:
@@ -39,6 +40,7 @@ class ArrayOfArrayOfNumberOnly(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -64,7 +66,7 @@ class ArrayOfArrayOfNumberOnly(BaseModel):
return ArrayOfArrayOfNumberOnly.parse_obj(obj)
_obj = ArrayOfArrayOfNumberOnly.parse_obj({
"array_array_number": obj.get("ArrayArrayNumber")
"ArrayArrayNumber": obj.get("ArrayArrayNumber")
})
return _obj

View File

@@ -19,13 +19,14 @@ import json
from typing import List, Optional
from pydantic import BaseModel, Field, conlist
from pydantic import BaseModel
from pydantic import Field
class ArrayOfNumberOnly(BaseModel):
"""
ArrayOfNumberOnly
"""
array_number: Optional[conlist(float)] = Field(None, alias="ArrayNumber")
array_number: Optional[List[float]] = Field(default=None, alias="ArrayNumber")
__properties = ["ArrayNumber"]
class Config:
@@ -39,6 +40,7 @@ class ArrayOfNumberOnly(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -64,7 +66,7 @@ class ArrayOfNumberOnly(BaseModel):
return ArrayOfNumberOnly.parse_obj(obj)
_obj = ArrayOfNumberOnly.parse_obj({
"array_number": obj.get("ArrayNumber")
"ArrayNumber": obj.get("ArrayNumber")
})
return _obj

View File

@@ -19,16 +19,18 @@ import json
from typing import List, Optional
from pydantic import BaseModel, StrictInt, StrictStr, conlist
from pydantic import BaseModel, StrictInt, StrictStr
from pydantic import Field
from typing_extensions import Annotated
from petstore_api.models.read_only_first import ReadOnlyFirst
class ArrayTest(BaseModel):
"""
ArrayTest
"""
array_of_string: Optional[conlist(StrictStr, max_items=3, min_items=0)] = None
array_array_of_integer: Optional[conlist(conlist(StrictInt))] = None
array_array_of_model: Optional[conlist(conlist(ReadOnlyFirst))] = None
array_of_string: Optional[Annotated[List[StrictStr], Field(min_items=0, max_items=3)]] = None
array_array_of_integer: Optional[List[List[StrictInt]]] = None
array_array_of_model: Optional[List[List[ReadOnlyFirst]]] = None
__properties = ["array_of_string", "array_array_of_integer", "array_array_of_model"]
class Config:
@@ -42,6 +44,7 @@ class ArrayTest(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,14 +19,15 @@ import json
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
class BasquePig(BaseModel):
"""
BasquePig
"""
class_name: StrictStr = Field(..., alias="className")
color: StrictStr = Field(...)
class_name: StrictStr = Field(alias="className")
color: StrictStr
__properties = ["className", "color"]
class Config:
@@ -40,6 +41,7 @@ class BasquePig(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -65,7 +67,7 @@ class BasquePig(BaseModel):
return BasquePig.parse_obj(obj)
_obj = BasquePig.parse_obj({
"class_name": obj.get("className"),
"className": obj.get("className"),
"color": obj.get("color")
})
return _obj

View File

@@ -19,18 +19,19 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
class Capitalization(BaseModel):
"""
Capitalization
"""
small_camel: Optional[StrictStr] = Field(None, alias="smallCamel")
capital_camel: Optional[StrictStr] = Field(None, alias="CapitalCamel")
small_snake: Optional[StrictStr] = Field(None, alias="small_Snake")
capital_snake: Optional[StrictStr] = Field(None, alias="Capital_Snake")
sca_eth_flow_points: Optional[StrictStr] = Field(None, alias="SCA_ETH_Flow_Points")
att_name: Optional[StrictStr] = Field(None, alias="ATT_NAME", description="Name of the pet ")
small_camel: Optional[StrictStr] = Field(default=None, alias="smallCamel")
capital_camel: Optional[StrictStr] = Field(default=None, alias="CapitalCamel")
small_snake: Optional[StrictStr] = Field(default=None, alias="small_Snake")
capital_snake: Optional[StrictStr] = Field(default=None, alias="Capital_Snake")
sca_eth_flow_points: Optional[StrictStr] = Field(default=None, alias="SCA_ETH_Flow_Points")
att_name: Optional[StrictStr] = Field(default=None, description="Name of the pet ", alias="ATT_NAME")
__properties = ["smallCamel", "CapitalCamel", "small_Snake", "Capital_Snake", "SCA_ETH_Flow_Points", "ATT_NAME"]
class Config:
@@ -44,6 +45,7 @@ class Capitalization(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -69,12 +71,12 @@ class Capitalization(BaseModel):
return Capitalization.parse_obj(obj)
_obj = Capitalization.parse_obj({
"small_camel": obj.get("smallCamel"),
"capital_camel": obj.get("CapitalCamel"),
"small_snake": obj.get("small_Snake"),
"capital_snake": obj.get("Capital_Snake"),
"sca_eth_flow_points": obj.get("SCA_ETH_Flow_Points"),
"att_name": obj.get("ATT_NAME")
"smallCamel": obj.get("smallCamel"),
"CapitalCamel": obj.get("CapitalCamel"),
"small_Snake": obj.get("small_Snake"),
"Capital_Snake": obj.get("Capital_Snake"),
"SCA_ETH_Flow_Points": obj.get("SCA_ETH_Flow_Points"),
"ATT_NAME": obj.get("ATT_NAME")
})
return _obj

View File

@@ -40,6 +40,7 @@ class Cat(Animal):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -65,7 +66,7 @@ class Cat(Animal):
return Cat.parse_obj(obj)
_obj = Cat.parse_obj({
"class_name": obj.get("className"),
"className": obj.get("className"),
"color": obj.get("color") if obj.get("color") is not None else 'red',
"declawed": obj.get("declawed")
})

View File

@@ -19,14 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr
from pydantic import BaseModel, StrictInt, StrictStr
class Category(BaseModel):
"""
Category
"""
id: Optional[StrictInt] = None
name: StrictStr = Field(...)
name: StrictStr
__properties = ["id", "name"]
class Config:
@@ -40,6 +40,7 @@ class Category(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -40,6 +40,7 @@ class CircularReferenceModel(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -74,5 +75,9 @@ class CircularReferenceModel(BaseModel):
return _obj
from petstore_api.models.first_ref import FirstRef
CircularReferenceModel.update_forward_refs()
from typing import TYPE_CHECKING
if TYPE_CHECKING:
# TODO: pydantic v2
# CircularReferenceModel.model_rebuild()
pass

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
class ClassModel(BaseModel):
"""
Model for testing model with \"_class\" property # noqa: E501
"""
var_class: Optional[StrictStr] = Field(None, alias="_class")
var_class: Optional[StrictStr] = Field(default=None, alias="_class")
__properties = ["_class"]
class Config:
@@ -39,6 +40,7 @@ class ClassModel(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -64,7 +66,7 @@ class ClassModel(BaseModel):
return ClassModel.parse_obj(obj)
_obj = ClassModel.parse_obj({
"var_class": obj.get("_class")
"_class": obj.get("_class")
})
return _obj

View File

@@ -39,6 +39,7 @@ class Client(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,8 +19,11 @@ import pprint
import re # noqa: F401
from typing import Any, List, Optional
from pydantic import BaseModel, Field, StrictStr, ValidationError, conint, conlist, constr, validator
from typing import Union, Any, List, TYPE_CHECKING
from pydantic import BaseModel, Field, StrictStr, ValidationError, validator
from pydantic import Field
from typing_extensions import Annotated
from typing import Union, Any, List, TYPE_CHECKING, Optional, Dict
from typing_extensions import Literal
from pydantic import StrictStr, Field
COLOR_ONE_OF_SCHEMAS = ["List[int]", "str"]
@@ -30,16 +33,13 @@ class Color(BaseModel):
RGB array, RGBA array, or hex string.
"""
# data type: List[int]
oneof_schema_1_validator: Optional[conlist(conint(strict=True, le=255, ge=0), max_items=3, min_items=3)] = Field(None, description="RGB three element array with values 0-255.")
oneof_schema_1_validator: Optional[Annotated[List[Annotated[int, Field(le=255, strict=True, ge=0)]], Field(min_items=3, max_items=3)]] = Field(default=None, description="RGB three element array with values 0-255.")
# data type: List[int]
oneof_schema_2_validator: Optional[conlist(conint(strict=True, le=255, ge=0), max_items=4, min_items=4)] = Field(None, description="RGBA four element array with values 0-255.")
oneof_schema_2_validator: Optional[Annotated[List[Annotated[int, Field(le=255, strict=True, ge=0)]], Field(min_items=4, max_items=4)]] = Field(default=None, description="RGBA four element array with values 0-255.")
# data type: str
oneof_schema_3_validator: Optional[constr(strict=True, max_length=7, min_length=7)] = Field(None, description="Hex color string, such as #00FF00.")
if TYPE_CHECKING:
actual_instance: Union[List[int], str]
else:
actual_instance: Any
one_of_schemas: List[str] = Field(COLOR_ONE_OF_SCHEMAS, const=True)
oneof_schema_3_validator: Optional[Annotated[str, Field(min_length=7, strict=True, max_length=7)]] = Field(default=None, description="Hex color string, such as #00FF00.")
actual_instance: Optional[Union[List[int], str]] = None
one_of_schemas: List[str] = Literal[COLOR_ONE_OF_SCHEMAS]
class Config:
validate_assignment = True

View File

@@ -19,15 +19,15 @@ import json
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from petstore_api.models.creature_info import CreatureInfo
class Creature(BaseModel):
"""
Creature
"""
info: CreatureInfo = Field(...)
type: StrictStr = Field(...)
info: CreatureInfo
type: StrictStr
__properties = ["info", "type"]
class Config:
@@ -41,6 +41,7 @@ class Creature(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,13 +19,13 @@ import json
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
class CreatureInfo(BaseModel):
"""
CreatureInfo
"""
name: StrictStr = Field(...)
name: StrictStr
__properties = ["name"]
class Config:
@@ -39,6 +39,7 @@ class CreatureInfo(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,14 +19,15 @@ import json
from pydantic import BaseModel, Field, StrictInt, StrictStr
from pydantic import BaseModel, StrictInt, StrictStr
from pydantic import Field
class DanishPig(BaseModel):
"""
DanishPig
"""
class_name: StrictStr = Field(..., alias="className")
size: StrictInt = Field(...)
class_name: StrictStr = Field(alias="className")
size: StrictInt
__properties = ["className", "size"]
class Config:
@@ -40,6 +41,7 @@ class DanishPig(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -65,7 +67,7 @@ class DanishPig(BaseModel):
return DanishPig.parse_obj(obj)
_obj = DanishPig.parse_obj({
"class_name": obj.get("className"),
"className": obj.get("className"),
"size": obj.get("size")
})
return _obj

View File

@@ -39,6 +39,7 @@ class DeprecatedObject(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -40,6 +40,7 @@ class Dog(Animal):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -65,7 +66,7 @@ class Dog(Animal):
return Dog.parse_obj(obj)
_obj = Dog.parse_obj({
"class_name": obj.get("className"),
"className": obj.get("className"),
"color": obj.get("color") if obj.get("color") is not None else 'red',
"breed": obj.get("breed")
})

View File

@@ -40,6 +40,7 @@ class DummyModel(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -74,5 +75,9 @@ class DummyModel(BaseModel):
return _obj
from petstore_api.models.self_reference_model import SelfReferenceModel
DummyModel.update_forward_refs()
from typing import TYPE_CHECKING
if TYPE_CHECKING:
# TODO: pydantic v2
# DummyModel.model_rebuild()
pass

View File

@@ -19,14 +19,14 @@ import json
from typing import List, Optional
from pydantic import BaseModel, StrictStr, conlist, validator
from pydantic import BaseModel, StrictStr, validator
class EnumArrays(BaseModel):
"""
EnumArrays
"""
just_symbol: Optional[StrictStr] = None
array_enum: Optional[conlist(StrictStr)] = None
array_enum: Optional[List[StrictStr]] = None
__properties = ["just_symbol", "array_enum"]
@validator('just_symbol')
@@ -61,6 +61,7 @@ class EnumArrays(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,7 +19,8 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr, validator
from pydantic import BaseModel, StrictInt, StrictStr, validator
from pydantic import Field
from petstore_api.models.outer_enum import OuterEnum
from petstore_api.models.outer_enum_default_value import OuterEnumDefaultValue
from petstore_api.models.outer_enum_integer import OuterEnumInteger
@@ -30,14 +31,14 @@ class EnumTest(BaseModel):
EnumTest
"""
enum_string: Optional[StrictStr] = None
enum_string_required: StrictStr = Field(...)
enum_string_required: StrictStr
enum_integer_default: Optional[StrictInt] = 5
enum_integer: Optional[StrictInt] = None
enum_number: Optional[float] = None
outer_enum: Optional[OuterEnum] = Field(None, alias="outerEnum")
outer_enum_integer: Optional[OuterEnumInteger] = Field(None, alias="outerEnumInteger")
outer_enum_default_value: Optional[OuterEnumDefaultValue] = Field(None, alias="outerEnumDefaultValue")
outer_enum_integer_default_value: Optional[OuterEnumIntegerDefaultValue] = Field(None, alias="outerEnumIntegerDefaultValue")
outer_enum: Optional[OuterEnum] = Field(default=None, alias="outerEnum")
outer_enum_integer: Optional[OuterEnumInteger] = Field(default=None, alias="outerEnumInteger")
outer_enum_default_value: Optional[OuterEnumDefaultValue] = Field(default=None, alias="outerEnumDefaultValue")
outer_enum_integer_default_value: Optional[OuterEnumIntegerDefaultValue] = Field(default=None, alias="outerEnumIntegerDefaultValue")
__properties = ["enum_string", "enum_string_required", "enum_integer_default", "enum_integer", "enum_number", "outerEnum", "outerEnumInteger", "outerEnumDefaultValue", "outerEnumIntegerDefaultValue"]
@validator('enum_string')
@@ -98,6 +99,7 @@ class EnumTest(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -133,10 +135,10 @@ class EnumTest(BaseModel):
"enum_integer_default": obj.get("enum_integer_default") if obj.get("enum_integer_default") is not None else 5,
"enum_integer": obj.get("enum_integer"),
"enum_number": obj.get("enum_number"),
"outer_enum": obj.get("outerEnum"),
"outer_enum_integer": obj.get("outerEnumInteger"),
"outer_enum_default_value": obj.get("outerEnumDefaultValue"),
"outer_enum_integer_default_value": obj.get("outerEnumIntegerDefaultValue")
"outerEnum": obj.get("outerEnum"),
"outerEnumInteger": obj.get("outerEnumInteger"),
"outerEnumDefaultValue": obj.get("outerEnumDefaultValue"),
"outerEnumIntegerDefaultValue": obj.get("outerEnumIntegerDefaultValue")
})
return _obj

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
class File(BaseModel):
"""
Must be named `File` for test. # noqa: E501
"""
source_uri: Optional[StrictStr] = Field(None, alias="sourceURI", description="Test capitalization")
source_uri: Optional[StrictStr] = Field(default=None, description="Test capitalization", alias="sourceURI")
__properties = ["sourceURI"]
class Config:
@@ -39,6 +40,7 @@ class File(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -64,7 +66,7 @@ class File(BaseModel):
return File.parse_obj(obj)
_obj = File.parse_obj({
"source_uri": obj.get("sourceURI")
"sourceURI": obj.get("sourceURI")
})
return _obj

View File

@@ -19,7 +19,7 @@ import json
from typing import List, Optional
from pydantic import BaseModel, conlist
from pydantic import BaseModel
from petstore_api.models.file import File
class FileSchemaTestClass(BaseModel):
@@ -27,7 +27,7 @@ class FileSchemaTestClass(BaseModel):
FileSchemaTestClass
"""
file: Optional[File] = None
files: Optional[conlist(File)] = None
files: Optional[List[File]] = None
__properties = ["file", "files"]
class Config:
@@ -41,6 +41,7 @@ class FileSchemaTestClass(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -40,6 +40,7 @@ class FirstRef(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -74,5 +75,9 @@ class FirstRef(BaseModel):
return _obj
from petstore_api.models.second_ref import SecondRef
FirstRef.update_forward_refs()
from typing import TYPE_CHECKING
if TYPE_CHECKING:
# TODO: pydantic v2
# FirstRef.model_rebuild()
pass

View File

@@ -39,6 +39,7 @@ class Foo(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -40,6 +40,7 @@ class FooGetDefaultResponse(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,30 +19,32 @@ import json
from datetime import date, datetime
from typing import Optional, Union
from pydantic import BaseModel, Field, StrictBytes, StrictInt, StrictStr, condecimal, confloat, conint, constr, validator
from pydantic import BaseModel, StrictBytes, StrictInt, StrictStr, validator
from decimal import Decimal
from pydantic import Field
from typing_extensions import Annotated
class FormatTest(BaseModel):
"""
FormatTest
"""
integer: Optional[conint(strict=True, le=100, ge=10)] = None
int32: Optional[conint(strict=True, le=200, ge=20)] = None
integer: Optional[Annotated[int, Field(le=100, strict=True, ge=10)]] = None
int32: Optional[Annotated[int, Field(le=200, strict=True, ge=20)]] = None
int64: Optional[StrictInt] = None
number: confloat(le=543.2, ge=32.1) = Field(...)
float: Optional[confloat(le=987.6, ge=54.3)] = None
double: Optional[confloat(le=123.4, ge=67.8)] = None
decimal: Optional[condecimal()] = None
string: Optional[constr(strict=True)] = None
string_with_double_quote_pattern: Optional[constr(strict=True)] = None
number: Annotated[float, Field(le=543.2, ge=32.1)]
double: Optional[Annotated[float, Field(le=123.4, ge=67.8)]] = None
decimal: Optional[Decimal] = None
string: Optional[Annotated[str, Field(strict=True)]] = None
string_with_double_quote_pattern: Optional[Annotated[str, Field(strict=True)]] = None
byte: Optional[Union[StrictBytes, StrictStr]] = None
binary: Optional[Union[StrictBytes, StrictStr]] = None
var_date: date = Field(..., alias="date")
date_time: Optional[datetime] = Field(None, alias="dateTime")
var_date: date = Field(alias="date")
date_time: Optional[datetime] = Field(default=None, alias="dateTime")
uuid: Optional[StrictStr] = None
password: constr(strict=True, max_length=64, min_length=10) = Field(...)
pattern_with_digits: Optional[constr(strict=True)] = Field(None, description="A string that is a 10 digit number. Can have leading zeros.")
pattern_with_digits_and_delimiter: Optional[constr(strict=True)] = Field(None, description="A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01.")
__properties = ["integer", "int32", "int64", "number", "float", "double", "decimal", "string", "string_with_double_quote_pattern", "byte", "binary", "date", "dateTime", "uuid", "password", "pattern_with_digits", "pattern_with_digits_and_delimiter"]
password: Annotated[str, Field(min_length=10, strict=True, max_length=64)]
pattern_with_digits: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="A string that is a 10 digit number. Can have leading zeros.")
pattern_with_digits_and_delimiter: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="A string starting with 'image_' (case insensitive) and one to three digits following i.e. Image_01.")
__properties = ["integer", "int32", "int64", "number", "double", "decimal", "string", "string_with_double_quote_pattern", "byte", "binary", "date", "dateTime", "uuid", "password", "pattern_with_digits", "pattern_with_digits_and_delimiter"]
@validator('string')
def string_validate_regular_expression(cls, value):
@@ -95,6 +97,7 @@ class FormatTest(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -124,15 +127,14 @@ class FormatTest(BaseModel):
"int32": obj.get("int32"),
"int64": obj.get("int64"),
"number": obj.get("number"),
"float": obj.get("float"),
"double": obj.get("double"),
"decimal": obj.get("decimal"),
"string": obj.get("string"),
"string_with_double_quote_pattern": obj.get("string_with_double_quote_pattern"),
"byte": obj.get("byte"),
"binary": obj.get("binary"),
"var_date": obj.get("date"),
"date_time": obj.get("dateTime"),
"date": obj.get("date"),
"dateTime": obj.get("dateTime"),
"uuid": obj.get("uuid"),
"password": obj.get("password"),
"pattern_with_digits": obj.get("pattern_with_digits"),

View File

@@ -40,6 +40,7 @@ class HasOnlyReadOnly(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
class HealthCheckResult(BaseModel):
"""
Just a string to inform instance is up and running. Make it nullable in hope to get it as pointer in generated model. # noqa: E501
"""
nullable_message: Optional[StrictStr] = Field(None, alias="NullableMessage")
nullable_message: Optional[StrictStr] = Field(default=None, alias="NullableMessage")
__properties = ["NullableMessage"]
class Config:
@@ -39,6 +40,7 @@ class HealthCheckResult(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -69,7 +71,7 @@ class HealthCheckResult(BaseModel):
return HealthCheckResult.parse_obj(obj)
_obj = HealthCheckResult.parse_obj({
"nullable_message": obj.get("NullableMessage")
"NullableMessage": obj.get("NullableMessage")
})
return _obj

View File

@@ -18,14 +18,15 @@ import re # noqa: F401
import json
from typing import Any, Dict, Optional
from pydantic import BaseModel, Field
from typing import Any, Dict, Optional, Union
from pydantic import BaseModel
from pydantic import Field
class InnerDictWithProperty(BaseModel):
"""
InnerDictWithProperty
"""
a_property: Optional[Dict[str, Any]] = Field(None, alias="aProperty")
a_property: Optional[Union[str, Any]] = Field(default=None, alias="aProperty")
__properties = ["aProperty"]
class Config:
@@ -39,6 +40,7 @@ class InnerDictWithProperty(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -64,7 +66,7 @@ class InnerDictWithProperty(BaseModel):
return InnerDictWithProperty.parse_obj(obj)
_obj = InnerDictWithProperty.parse_obj({
"a_property": obj.get("aProperty")
"aProperty": obj.get("aProperty")
})
return _obj

View File

@@ -19,8 +19,11 @@ import pprint
import re # noqa: F401
from typing import Any, List, Optional
from pydantic import BaseModel, Field, StrictStr, ValidationError, conint, validator
from typing import Union, Any, List, TYPE_CHECKING
from pydantic import BaseModel, Field, StrictStr, ValidationError, validator
from pydantic import Field
from typing_extensions import Annotated
from typing import Union, Any, List, TYPE_CHECKING, Optional, Dict
from typing_extensions import Literal
from pydantic import StrictStr, Field
INTORSTRING_ONE_OF_SCHEMAS = ["int", "str"]
@@ -30,14 +33,11 @@ class IntOrString(BaseModel):
IntOrString
"""
# data type: int
oneof_schema_1_validator: Optional[conint(strict=True, ge=10)] = None
oneof_schema_1_validator: Optional[Annotated[int, Field(strict=True, ge=10)]] = None
# data type: str
oneof_schema_2_validator: Optional[StrictStr] = None
if TYPE_CHECKING:
actual_instance: Union[int, str]
else:
actual_instance: Any
one_of_schemas: List[str] = Field(INTORSTRING_ONE_OF_SCHEMAS, const=True)
actual_instance: Optional[Union[int, str]] = None
one_of_schemas: List[str] = Literal[INTORSTRING_ONE_OF_SCHEMAS]
class Config:
validate_assignment = True

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
class List(BaseModel):
"""
List
"""
var_123_list: Optional[StrictStr] = Field(None, alias="123-list")
var_123_list: Optional[StrictStr] = Field(default=None, alias="123-list")
__properties = ["123-list"]
class Config:
@@ -39,6 +40,7 @@ class List(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -64,7 +66,7 @@ class List(BaseModel):
return List.parse_obj(obj)
_obj = List.parse_obj({
"var_123_list": obj.get("123-list")
"123-list": obj.get("123-list")
})
return _obj

View File

@@ -19,14 +19,15 @@ import json
from typing import Dict, List, Optional
from pydantic import BaseModel, Field, conlist
from pydantic import BaseModel
from pydantic import Field
from petstore_api.models.tag import Tag
class MapOfArrayOfModel(BaseModel):
"""
MapOfArrayOfModel
"""
shop_id_to_org_online_lip_map: Optional[Dict[str, conlist(Tag)]] = Field(None, alias="shopIdToOrgOnlineLipMap")
shop_id_to_org_online_lip_map: Optional[Dict[str, List[Tag]]] = Field(default=None, alias="shopIdToOrgOnlineLipMap")
__properties = ["shopIdToOrgOnlineLipMap"]
class Config:
@@ -40,6 +41,7 @@ class MapOfArrayOfModel(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -74,7 +76,7 @@ class MapOfArrayOfModel(BaseModel):
return MapOfArrayOfModel.parse_obj(obj)
_obj = MapOfArrayOfModel.parse_obj({
"shop_id_to_org_online_lip_map": dict(
"shopIdToOrgOnlineLipMap": dict(
(_k,
[Tag.from_dict(_item) for _item in _v]
if _v is not None

View File

@@ -52,6 +52,7 @@ class MapTest(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,7 +19,8 @@ import json
from datetime import datetime
from typing import Dict, Optional
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
from petstore_api.models.animal import Animal
class MixedPropertiesAndAdditionalPropertiesClass(BaseModel):
@@ -27,7 +28,7 @@ class MixedPropertiesAndAdditionalPropertiesClass(BaseModel):
MixedPropertiesAndAdditionalPropertiesClass
"""
uuid: Optional[StrictStr] = None
date_time: Optional[datetime] = Field(None, alias="dateTime")
date_time: Optional[datetime] = Field(default=None, alias="dateTime")
map: Optional[Dict[str, Animal]] = None
__properties = ["uuid", "dateTime", "map"]
@@ -42,6 +43,7 @@ class MixedPropertiesAndAdditionalPropertiesClass(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -75,7 +77,7 @@ class MixedPropertiesAndAdditionalPropertiesClass(BaseModel):
_obj = MixedPropertiesAndAdditionalPropertiesClass.parse_obj({
"uuid": obj.get("uuid"),
"date_time": obj.get("dateTime"),
"dateTime": obj.get("dateTime"),
"map": dict(
(_k, Animal.from_dict(_v))
for _k, _v in obj.get("map").items()

View File

@@ -19,14 +19,15 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr
from pydantic import BaseModel, StrictInt, StrictStr
from pydantic import Field
class Model200Response(BaseModel):
"""
Model for testing model name starting with number # noqa: E501
"""
name: Optional[StrictInt] = None
var_class: Optional[StrictStr] = Field(None, alias="class")
var_class: Optional[StrictStr] = Field(default=None, alias="class")
__properties = ["name", "class"]
class Config:
@@ -40,6 +41,7 @@ class Model200Response(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -66,7 +68,7 @@ class Model200Response(BaseModel):
_obj = Model200Response.parse_obj({
"name": obj.get("name"),
"var_class": obj.get("class")
"class": obj.get("class")
})
return _obj

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictInt
from pydantic import BaseModel, StrictInt
from pydantic import Field
class ModelReturn(BaseModel):
"""
Model for testing reserved words # noqa: E501
"""
var_return: Optional[StrictInt] = Field(None, alias="return")
var_return: Optional[StrictInt] = Field(default=None, alias="return")
__properties = ["return"]
class Config:
@@ -39,6 +40,7 @@ class ModelReturn(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -64,7 +66,7 @@ class ModelReturn(BaseModel):
return ModelReturn.parse_obj(obj)
_obj = ModelReturn.parse_obj({
"var_return": obj.get("return")
"return": obj.get("return")
})
return _obj

View File

@@ -19,16 +19,17 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr
from pydantic import BaseModel, StrictInt, StrictStr
from pydantic import Field
class Name(BaseModel):
"""
Model for testing model name same as property name # noqa: E501
"""
name: StrictInt = Field(...)
name: StrictInt
snake_case: Optional[StrictInt] = None
var_property: Optional[StrictStr] = Field(None, alias="property")
var_123_number: Optional[StrictInt] = Field(None, alias="123Number")
var_property: Optional[StrictStr] = Field(default=None, alias="property")
var_123_number: Optional[StrictInt] = Field(default=None, alias="123Number")
__properties = ["name", "snake_case", "property", "123Number"]
class Config:
@@ -42,6 +43,7 @@ class Name(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -71,8 +73,8 @@ class Name(BaseModel):
_obj = Name.parse_obj({
"name": obj.get("name"),
"snake_case": obj.get("snake_case"),
"var_property": obj.get("property"),
"var_123_number": obj.get("123Number")
"property": obj.get("property"),
"123Number": obj.get("123Number")
})
return _obj

View File

@@ -18,26 +18,26 @@ import re # noqa: F401
import json
from datetime import date, datetime
from typing import Any, Dict, List, Optional
from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr, conlist
from typing import Any, Dict, List, Optional, Union
from pydantic import BaseModel, StrictBool, StrictInt, StrictStr
class NullableClass(BaseModel):
"""
NullableClass
"""
required_integer_prop: Optional[StrictInt] = Field(...)
required_integer_prop: Optional[StrictInt]
integer_prop: Optional[StrictInt] = None
number_prop: Optional[float] = None
boolean_prop: Optional[StrictBool] = None
string_prop: Optional[StrictStr] = None
date_prop: Optional[date] = None
datetime_prop: Optional[datetime] = None
array_nullable_prop: Optional[conlist(Dict[str, Any])] = None
array_and_items_nullable_prop: Optional[conlist(Dict[str, Any])] = None
array_items_nullable: Optional[conlist(Dict[str, Any])] = None
object_nullable_prop: Optional[Dict[str, Dict[str, Any]]] = None
object_and_items_nullable_prop: Optional[Dict[str, Dict[str, Any]]] = None
object_items_nullable: Optional[Dict[str, Dict[str, Any]]] = None
array_nullable_prop: Optional[List[Union[str, Any]]] = None
array_and_items_nullable_prop: Optional[List[Union[str, Any]]] = None
array_items_nullable: Optional[List[Union[str, Any]]] = None
object_nullable_prop: Optional[Dict[str, Union[str, Any]]] = None
object_and_items_nullable_prop: Optional[Dict[str, Union[str, Any]]] = None
object_items_nullable: Optional[Dict[str, Union[str, Any]]] = None
additional_properties: Dict[str, Any] = {}
__properties = ["required_integer_prop", "integer_prop", "number_prop", "boolean_prop", "string_prop", "date_prop", "datetime_prop", "array_nullable_prop", "array_and_items_nullable_prop", "array_items_nullable", "object_nullable_prop", "object_and_items_nullable_prop", "object_items_nullable"]
@@ -52,6 +52,7 @@ class NullableClass(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -154,7 +155,7 @@ class NullableClass(BaseModel):
})
# store additional fields in additional_properties
for _key in obj.keys():
if _key not in cls.__properties:
if _key not in cls.__properties.default:
_obj.additional_properties[_key] = obj.get(_key)
return _obj

View File

@@ -19,14 +19,16 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictInt, constr, validator
from pydantic import BaseModel, StrictInt, validator
from pydantic import Field
from typing_extensions import Annotated
class NullableProperty(BaseModel):
"""
NullableProperty
"""
id: StrictInt = Field(...)
name: Optional[constr(strict=True)] = Field(...)
id: StrictInt
name: Optional[Annotated[str, Field(strict=True)]]
__properties = ["id", "name"]
@validator('name')
@@ -50,6 +52,7 @@ class NullableProperty(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field
from pydantic import BaseModel
from pydantic import Field
class NumberOnly(BaseModel):
"""
NumberOnly
"""
just_number: Optional[float] = Field(None, alias="JustNumber")
just_number: Optional[float] = Field(default=None, alias="JustNumber")
__properties = ["JustNumber"]
class Config:
@@ -39,6 +40,7 @@ class NumberOnly(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -64,7 +66,7 @@ class NumberOnly(BaseModel):
return NumberOnly.parse_obj(obj)
_obj = NumberOnly.parse_obj({
"just_number": obj.get("JustNumber")
"JustNumber": obj.get("JustNumber")
})
return _obj

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictBool
from pydantic import BaseModel, StrictBool
from pydantic import Field
class ObjectToTestAdditionalProperties(BaseModel):
"""
Minimal object # noqa: E501
"""
var_property: Optional[StrictBool] = Field(False, alias="property", description="Property")
var_property: Optional[StrictBool] = Field(default=False, description="Property", alias="property")
__properties = ["property"]
class Config:
@@ -39,6 +40,7 @@ class ObjectToTestAdditionalProperties(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -64,7 +66,7 @@ class ObjectToTestAdditionalProperties(BaseModel):
return ObjectToTestAdditionalProperties.parse_obj(obj)
_obj = ObjectToTestAdditionalProperties.parse_obj({
"var_property": obj.get("property") if obj.get("property") is not None else False
"property": obj.get("property") if obj.get("property") is not None else False
})
return _obj

View File

@@ -19,7 +19,8 @@ import json
from typing import List, Optional
from pydantic import BaseModel, Field, StrictStr, conlist
from pydantic import BaseModel, StrictStr
from pydantic import Field
from petstore_api.models.deprecated_object import DeprecatedObject
class ObjectWithDeprecatedFields(BaseModel):
@@ -28,8 +29,8 @@ class ObjectWithDeprecatedFields(BaseModel):
"""
uuid: Optional[StrictStr] = None
id: Optional[float] = None
deprecated_ref: Optional[DeprecatedObject] = Field(None, alias="deprecatedRef")
bars: Optional[conlist(StrictStr)] = None
deprecated_ref: Optional[DeprecatedObject] = Field(default=None, alias="deprecatedRef")
bars: Optional[List[StrictStr]] = None
__properties = ["uuid", "id", "deprecatedRef", "bars"]
class Config:
@@ -43,6 +44,7 @@ class ObjectWithDeprecatedFields(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -73,7 +75,7 @@ class ObjectWithDeprecatedFields(BaseModel):
_obj = ObjectWithDeprecatedFields.parse_obj({
"uuid": obj.get("uuid"),
"id": obj.get("id"),
"deprecated_ref": DeprecatedObject.from_dict(obj.get("deprecatedRef")) if obj.get("deprecatedRef") is not None else None,
"deprecatedRef": DeprecatedObject.from_dict(obj.get("deprecatedRef")) if obj.get("deprecatedRef") is not None else None,
"bars": obj.get("bars")
})
return _obj

View File

@@ -22,7 +22,8 @@ from typing import Any, List, Optional
from pydantic import BaseModel, Field, StrictStr, ValidationError, validator
from petstore_api.models.enum_string1 import EnumString1
from petstore_api.models.enum_string2 import EnumString2
from typing import Union, Any, List, TYPE_CHECKING
from typing import Union, Any, List, TYPE_CHECKING, Optional, Dict
from typing_extensions import Literal
from pydantic import StrictStr, Field
ONEOFENUMSTRING_ONE_OF_SCHEMAS = ["EnumString1", "EnumString2"]
@@ -35,11 +36,8 @@ class OneOfEnumString(BaseModel):
oneof_schema_1_validator: Optional[EnumString1] = None
# data type: EnumString2
oneof_schema_2_validator: Optional[EnumString2] = None
if TYPE_CHECKING:
actual_instance: Union[EnumString1, EnumString2]
else:
actual_instance: Any
one_of_schemas: List[str] = Field(ONEOFENUMSTRING_ONE_OF_SCHEMAS, const=True)
actual_instance: Optional[Union[EnumString1, EnumString2]] = None
one_of_schemas: List[str] = Literal[ONEOFENUMSTRING_ONE_OF_SCHEMAS]
class Config:
validate_assignment = True

View File

@@ -19,17 +19,18 @@ import json
from datetime import datetime
from typing import Optional
from pydantic import BaseModel, Field, StrictBool, StrictInt, StrictStr, validator
from pydantic import BaseModel, StrictBool, StrictInt, StrictStr, validator
from pydantic import Field
class Order(BaseModel):
"""
Order
"""
id: Optional[StrictInt] = None
pet_id: Optional[StrictInt] = Field(None, alias="petId")
pet_id: Optional[StrictInt] = Field(default=None, alias="petId")
quantity: Optional[StrictInt] = None
ship_date: Optional[datetime] = Field(None, alias="shipDate")
status: Optional[StrictStr] = Field(None, description="Order Status")
ship_date: Optional[datetime] = Field(default=None, alias="shipDate")
status: Optional[StrictStr] = Field(default=None, description="Order Status")
complete: Optional[StrictBool] = False
__properties = ["id", "petId", "quantity", "shipDate", "status", "complete"]
@@ -54,6 +55,7 @@ class Order(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -80,9 +82,9 @@ class Order(BaseModel):
_obj = Order.parse_obj({
"id": obj.get("id"),
"pet_id": obj.get("petId"),
"petId": obj.get("petId"),
"quantity": obj.get("quantity"),
"ship_date": obj.get("shipDate"),
"shipDate": obj.get("shipDate"),
"status": obj.get("status"),
"complete": obj.get("complete") if obj.get("complete") is not None else False
})

View File

@@ -41,6 +41,7 @@ class OuterComposite(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,7 +19,7 @@ import json
from typing import Optional
from pydantic import BaseModel, Field
from pydantic import BaseModel
from petstore_api.models.outer_enum import OuterEnum
from petstore_api.models.outer_enum_integer import OuterEnumInteger
@@ -28,7 +28,7 @@ class OuterObjectWithEnumProperty(BaseModel):
OuterObjectWithEnumProperty
"""
str_value: Optional[OuterEnum] = None
value: OuterEnumInteger = Field(...)
value: OuterEnumInteger
__properties = ["str_value", "value"]
class Config:
@@ -42,6 +42,7 @@ class OuterObjectWithEnumProperty(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,14 +19,15 @@ import json
from typing import Dict, Optional
from pydantic import BaseModel, Field
from pydantic import BaseModel
from pydantic import Field
from petstore_api.models.inner_dict_with_property import InnerDictWithProperty
class Parent(BaseModel):
"""
Parent
"""
optional_dict: Optional[Dict[str, InnerDictWithProperty]] = Field(None, alias="optionalDict")
optional_dict: Optional[Dict[str, InnerDictWithProperty]] = Field(default=None, alias="optionalDict")
__properties = ["optionalDict"]
class Config:
@@ -40,6 +41,7 @@ class Parent(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -72,7 +74,7 @@ class Parent(BaseModel):
return Parent.parse_obj(obj)
_obj = Parent.parse_obj({
"optional_dict": dict(
"optionalDict": dict(
(_k, InnerDictWithProperty.from_dict(_v))
for _k, _v in obj.get("optionalDict").items()
)

View File

@@ -19,14 +19,15 @@ import json
from typing import Dict, Optional
from pydantic import BaseModel, Field
from pydantic import BaseModel
from pydantic import Field
from petstore_api.models.inner_dict_with_property import InnerDictWithProperty
class ParentWithOptionalDict(BaseModel):
"""
ParentWithOptionalDict
"""
optional_dict: Optional[Dict[str, InnerDictWithProperty]] = Field(None, alias="optionalDict")
optional_dict: Optional[Dict[str, InnerDictWithProperty]] = Field(default=None, alias="optionalDict")
__properties = ["optionalDict"]
class Config:
@@ -40,6 +41,7 @@ class ParentWithOptionalDict(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -72,7 +74,7 @@ class ParentWithOptionalDict(BaseModel):
return ParentWithOptionalDict.parse_obj(obj)
_obj = ParentWithOptionalDict.parse_obj({
"optional_dict": dict(
"optionalDict": dict(
(_k, InnerDictWithProperty.from_dict(_v))
for _k, _v in obj.get("optionalDict").items()
)

View File

@@ -19,7 +19,9 @@ import json
from typing import List, Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr, conlist, validator
from pydantic import BaseModel, StrictInt, StrictStr, validator
from pydantic import Field
from typing_extensions import Annotated
from petstore_api.models.category import Category
from petstore_api.models.tag import Tag
@@ -29,10 +31,10 @@ class Pet(BaseModel):
"""
id: Optional[StrictInt] = None
category: Optional[Category] = None
name: StrictStr = Field(...)
photo_urls: conlist(StrictStr, min_items=0, unique_items=True) = Field(..., alias="photoUrls")
tags: Optional[conlist(Tag)] = None
status: Optional[StrictStr] = Field(None, description="pet status in the store")
name: StrictStr
photo_urls: Annotated[List[StrictStr], Field(min_items=0)] = Field(alias="photoUrls")
tags: Optional[List[Tag]] = None
status: Optional[StrictStr] = Field(default=None, description="pet status in the store")
__properties = ["id", "category", "name", "photoUrls", "tags", "status"]
@validator('status')
@@ -56,6 +58,7 @@ class Pet(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -94,7 +97,7 @@ class Pet(BaseModel):
"id": obj.get("id"),
"category": Category.from_dict(obj.get("category")) if obj.get("category") is not None else None,
"name": obj.get("name"),
"photo_urls": obj.get("photoUrls"),
"photoUrls": obj.get("photoUrls"),
"tags": [Tag.from_dict(_item) for _item in obj.get("tags")] if obj.get("tags") is not None else None,
"status": obj.get("status")
})

View File

@@ -22,7 +22,8 @@ from typing import Any, List, Optional
from pydantic import BaseModel, Field, StrictStr, ValidationError, validator
from petstore_api.models.basque_pig import BasquePig
from petstore_api.models.danish_pig import DanishPig
from typing import Union, Any, List, TYPE_CHECKING
from typing import Union, Any, List, TYPE_CHECKING, Optional, Dict
from typing_extensions import Literal
from pydantic import StrictStr, Field
PIG_ONE_OF_SCHEMAS = ["BasquePig", "DanishPig"]
@@ -35,16 +36,13 @@ class Pig(BaseModel):
oneof_schema_1_validator: Optional[BasquePig] = None
# data type: DanishPig
oneof_schema_2_validator: Optional[DanishPig] = None
if TYPE_CHECKING:
actual_instance: Union[BasquePig, DanishPig]
else:
actual_instance: Any
one_of_schemas: List[str] = Field(PIG_ONE_OF_SCHEMAS, const=True)
actual_instance: Optional[Union[BasquePig, DanishPig]] = None
one_of_schemas: List[str] = Literal[PIG_ONE_OF_SCHEMAS]
class Config:
validate_assignment = True
discriminator_value_class_map = {
discriminator_value_class_map: Dict[str, str] = {
}
def __init__(self, *args, **kwargs) -> None:

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
class PropertyNameCollision(BaseModel):
"""
PropertyNameCollision
"""
type: Optional[StrictStr] = Field(None, alias="_type")
type: Optional[StrictStr] = Field(default=None, alias="_type")
type: Optional[StrictStr] = None
type_: Optional[StrictStr] = None
__properties = ["_type", "type", "type_"]
@@ -41,6 +42,7 @@ class PropertyNameCollision(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -66,7 +68,7 @@ class PropertyNameCollision(BaseModel):
return PropertyNameCollision.parse_obj(obj)
_obj = PropertyNameCollision.parse_obj({
"type": obj.get("_type"),
"_type": obj.get("_type"),
"type": obj.get("type"),
"type_": obj.get("type_")
})

View File

@@ -40,6 +40,7 @@ class ReadOnlyFirst(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -40,6 +40,7 @@ class SecondRef(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -74,5 +75,9 @@ class SecondRef(BaseModel):
return _obj
from petstore_api.models.circular_reference_model import CircularReferenceModel
SecondRef.update_forward_refs()
from typing import TYPE_CHECKING
if TYPE_CHECKING:
# TODO: pydantic v2
# SecondRef.model_rebuild()
pass

View File

@@ -40,6 +40,7 @@ class SelfReferenceModel(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -74,5 +75,9 @@ class SelfReferenceModel(BaseModel):
return _obj
from petstore_api.models.dummy_model import DummyModel
SelfReferenceModel.update_forward_refs()
from typing import TYPE_CHECKING
if TYPE_CHECKING:
# TODO: pydantic v2
# SelfReferenceModel.model_rebuild()
pass

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictInt
from pydantic import BaseModel, StrictInt
from pydantic import Field
class SpecialModelName(BaseModel):
"""
SpecialModelName
"""
special_property_name: Optional[StrictInt] = Field(None, alias="$special[property.name]")
special_property_name: Optional[StrictInt] = Field(default=None, alias="$special[property.name]")
__properties = ["$special[property.name]"]
class Config:
@@ -39,6 +40,7 @@ class SpecialModelName(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -64,7 +66,7 @@ class SpecialModelName(BaseModel):
return SpecialModelName.parse_obj(obj)
_obj = SpecialModelName.parse_obj({
"special_property_name": obj.get("$special[property.name]")
"$special[property.name]": obj.get("$special[property.name]")
})
return _obj

View File

@@ -19,16 +19,17 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr, validator
from pydantic import BaseModel, StrictInt, StrictStr, validator
from pydantic import Field
from petstore_api.models.category import Category
class SpecialName(BaseModel):
"""
SpecialName
"""
var_property: Optional[StrictInt] = Field(None, alias="property")
var_async: Optional[Category] = Field(None, alias="async")
var_schema: Optional[StrictStr] = Field(None, alias="schema", description="pet status in the store")
var_property: Optional[StrictInt] = Field(default=None, alias="property")
var_async: Optional[Category] = Field(default=None, alias="async")
var_schema: Optional[StrictStr] = Field(default=None, description="pet status in the store", alias="schema")
__properties = ["property", "async", "schema"]
@validator('var_schema')
@@ -52,6 +53,7 @@ class SpecialName(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -80,9 +82,9 @@ class SpecialName(BaseModel):
return SpecialName.parse_obj(obj)
_obj = SpecialName.parse_obj({
"var_property": obj.get("property"),
"var_async": Category.from_dict(obj.get("async")) if obj.get("async") is not None else None,
"var_schema": obj.get("schema")
"property": obj.get("property"),
"async": Category.from_dict(obj.get("async")) if obj.get("async") is not None else None,
"schema": obj.get("schema")
})
return _obj

View File

@@ -40,6 +40,7 @@ class Tag(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,13 +19,14 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictStr
from pydantic import BaseModel, StrictStr
from pydantic import Field
class TestInlineFreeformAdditionalPropertiesRequest(BaseModel):
"""
TestInlineFreeformAdditionalPropertiesRequest
"""
some_property: Optional[StrictStr] = Field(None, alias="someProperty")
some_property: Optional[StrictStr] = Field(default=None, alias="someProperty")
additional_properties: Dict[str, Any] = {}
__properties = ["someProperty"]
@@ -40,6 +41,7 @@ class TestInlineFreeformAdditionalPropertiesRequest(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -71,11 +73,11 @@ class TestInlineFreeformAdditionalPropertiesRequest(BaseModel):
return TestInlineFreeformAdditionalPropertiesRequest.parse_obj(obj)
_obj = TestInlineFreeformAdditionalPropertiesRequest.parse_obj({
"some_property": obj.get("someProperty")
"someProperty": obj.get("someProperty")
})
# store additional fields in additional_properties
for _key in obj.keys():
if _key not in cls.__properties:
if _key not in cls.__properties.default:
_obj.additional_properties[_key] = obj.get(_key)
return _obj

View File

@@ -39,6 +39,7 @@ class Tiger(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -19,7 +19,8 @@ import json
from typing import Optional
from pydantic import BaseModel, Field, StrictInt, StrictStr
from pydantic import BaseModel, StrictInt, StrictStr
from pydantic import Field
class User(BaseModel):
"""
@@ -27,12 +28,12 @@ class User(BaseModel):
"""
id: Optional[StrictInt] = None
username: Optional[StrictStr] = None
first_name: Optional[StrictStr] = Field(None, alias="firstName")
last_name: Optional[StrictStr] = Field(None, alias="lastName")
first_name: Optional[StrictStr] = Field(default=None, alias="firstName")
last_name: Optional[StrictStr] = Field(default=None, alias="lastName")
email: Optional[StrictStr] = None
password: Optional[StrictStr] = None
phone: Optional[StrictStr] = None
user_status: Optional[StrictInt] = Field(None, alias="userStatus", description="User Status")
user_status: Optional[StrictInt] = Field(default=None, description="User Status", alias="userStatus")
__properties = ["id", "username", "firstName", "lastName", "email", "password", "phone", "userStatus"]
class Config:
@@ -46,6 +47,7 @@ class User(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod
@@ -73,12 +75,12 @@ class User(BaseModel):
_obj = User.parse_obj({
"id": obj.get("id"),
"username": obj.get("username"),
"first_name": obj.get("firstName"),
"last_name": obj.get("lastName"),
"firstName": obj.get("firstName"),
"lastName": obj.get("lastName"),
"email": obj.get("email"),
"password": obj.get("password"),
"phone": obj.get("phone"),
"user_status": obj.get("userStatus")
"userStatus": obj.get("userStatus")
})
return _obj

View File

@@ -43,6 +43,7 @@ class WithNestedOneOf(BaseModel):
def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())
@classmethod

View File

@@ -17,8 +17,9 @@ python-dateutil = ">=2.8.2"
aiohttp = ">= 3.8.4"
pem = ">= 19.3.0"
pycryptodome = ">= 3.9.0"
pydantic = "^1.10.5, <2"
pydantic = ">=2"
aenum = ">=3.1.11"
typing-extensions = ">=4.7.1"
[tool.poetry.dev-dependencies]
pytest = ">=7.2.1"

View File

@@ -1,7 +1,8 @@
python_dateutil >= 2.5.3
setuptools >= 21.0.0
urllib3 >= 1.25.3, < 2.1.0
pydantic >= 1.10.5, < 2
pydantic >= 2
aenum >= 3.1.11
typing-extensions >= 4.7.1
aiohttp >= 3.0.0
pycryptodome >= 3.9.0

View File

@@ -29,8 +29,9 @@ REQUIRES = [
"aiohttp >= 3.0.0",
"pem>=19.3.0",
"pycryptodome>=3.9.0",
"pydantic >= 1.10.5, < 2",
"aenum"
"pydantic >= 2",
"aenum",
"typing-extensions >= 4.7.1",
]
setup(

View File

@@ -7,13 +7,15 @@ import os
import time
import unittest
from pydantic import ValidationError
import petstore_api
class ModelTests(unittest.TestCase):
def setUp(self):
self.pet = petstore_api.Pet(name="test name", photo_urls=["string"])
self.pet = petstore_api.Pet(name="test name", photoUrls=["string"])
self.pet.id = 1
self.pet.status = "available"
cate = petstore_api.Category(name="dog")
@@ -25,7 +27,7 @@ class ModelTests(unittest.TestCase):
self.pet.tags = [tag]
def test_cat(self):
self.cat = petstore_api.Cat(class_name="cat")
self.cat = petstore_api.Cat(className="cat")
self.assertEqual("cat", self.cat.class_name)
self.assertEqual("red", self.cat.color)
cat_str = "{'className': 'cat', 'color': 'red', 'declawed': None}"
@@ -41,7 +43,7 @@ class ModelTests(unittest.TestCase):
self.assertEqual(data, self.pet.to_str())
def test_equal(self):
self.pet1 = petstore_api.Pet(name="test name", photo_urls=["string"])
self.pet1 = petstore_api.Pet(name="test name", photoUrls=["string"])
self.pet1.id = 1
self.pet1.status = "available"
cate1 = petstore_api.Category(name="dog")
@@ -52,7 +54,7 @@ class ModelTests(unittest.TestCase):
tag1.id = 1
self.pet1.tags = [tag1]
self.pet2 = petstore_api.Pet(name="test name", photo_urls=["string"])
self.pet2 = petstore_api.Pet(name="test name", photoUrls=["string"])
self.pet2.id = 1
self.pet2.status = "available"
cate2 = petstore_api.Category(name="dog")
@@ -90,22 +92,22 @@ class ModelTests(unittest.TestCase):
pig3 = petstore_api.Pig(actual_instance="123")
self.assertTrue(False) # this line shouldn't execute
except ValueError as e:
self.assertTrue(
"No match found when setting `actual_instance` in Pig with oneOf schemas: BasquePig, DanishPig" in str(e))
self.assertIn("or instance of BasquePig", str(e))
self.assertIn("or instance of DanishPig", str(e))
# failure
try:
p2 = petstore_api.Pig.from_json("1")
self.assertTrue(False) # this line shouldn't execute
except ValueError as e:
error_message = (
"No match found when deserializing the JSON string into Pig with oneOf schemas: BasquePig, DanishPig. "
"Details: 1 validation error for BasquePig\n"
"__root__\n"
" BasquePig expected dict not int (type=type_error), 1 validation error for DanishPig\n"
"__root__\n"
" DanishPig expected dict not int (type=type_error)")
self.assertEqual(str(e), error_message)
# No match found when deserializing the JSON string into Pig with oneOf schemas: BasquePig, DanishPig. Details: 1 validation error for BasquePig
# Input should be a valid dictionary or instance of BasquePig [type=model_type, input_value=1, input_type=int]
# For further information visit https://errors.pydantic.dev/2.3/v/model_type, 1 validation error for DanishPig
# Input should be a valid dictionary or instance of DanishPig [type=model_type, input_value=1, input_type=int]
# For further information visit https://errors.pydantic.dev/2.3/v/model_type
self.assertIn("No match found when deserializing the JSON string into Pig with oneOf schemas: BasquePig, DanishPig.", str(e))
self.assertIn("Input should be a valid dictionary or instance of BasquePig", str(e))
self.assertIn("Input should be a valid dictionary or instance of DanishPig", str(e))
# test to_json
self.assertEqual(p.to_json(), '{"className": "BasquePig", "color": "red"}')
@@ -139,23 +141,27 @@ class ModelTests(unittest.TestCase):
pig3 = petstore_api.AnyOfPig(actual_instance="123")
self.assertTrue(False) # this line shouldn't execute
except ValueError as e:
self.assertTrue(
"No match found when setting the actual_instance in AnyOfPig with anyOf schemas: BasquePig, "
"DanishPig" in str(e))
# pydantic_core._pydantic_core.ValidationError: 1 validation error for AnyOfPig
# actual_instance
# Value error, No match found when setting the actual_instance in AnyOfPig with anyOf schemas: BasquePig, DanishPig. Details: Error! Input type `<class 'str'>` is not `BasquePig`, Error! Input type `<class 'str'>` is not `DanishPig` [type=value_error, input_value='123', input_type=str]
# For further information visit https://errors.pydantic.dev/2.4/v/value_error
self.assertIn("No match found when setting the actual_instance in AnyOfPig with anyOf schemas: BasquePig, DanishPig.", str(e))
self.assertIn("Input type `<class 'str'>` is not `BasquePig`", str(e))
self.assertIn("Input type `<class 'str'>` is not `DanishPig`", str(e))
# failure
try:
p2 = petstore_api.AnyOfPig.from_json("1")
self.assertTrue(False) # this line shouldn't execute
except ValueError as e:
error_message = (
"No match found when deserializing the JSON string into AnyOfPig with anyOf schemas: BasquePig, "
"DanishPig. Details: 1 validation error for BasquePig\n"
"__root__\n"
" BasquePig expected dict not int (type=type_error), 1 validation error for DanishPig\n"
"__root__\n"
" DanishPig expected dict not int (type=type_error)")
self.assertEqual(str(e), error_message)
# No match found when deserializing the JSON string into AnyOfPig with anyOf schemas: BasquePig, DanishPig. Details: 1 validation error for BasquePig
# Input should be a valid dictionary or instance of BasquePig [type=model_type, input_value=1, input_type=int]
# For further information visit https://errors.pydantic.dev/2.3/v/model_type, 1 validation error for DanishPig
# Input should be a valid dictionary or instance of DanishPig [type=model_type, input_value=1, input_type=int]
# For further information visit https://errors.pydantic.dev/2.3/v/model_type
self.assertIn( "No match found when deserializing the JSON string into AnyOfPig with anyOf schemas: BasquePig, DanishPig", str(e))
self.assertIn("Input should be a valid dictionary or instance of BasquePig", str(e))
self.assertIn("Input should be a valid dictionary or instance of DanishPig", str(e))
# test to_json
self.assertEqual(p.to_json(), '{"className": "BasquePig", "color": "red"}')
@@ -170,6 +176,7 @@ class ModelTests(unittest.TestCase):
self.assertEqual(dog2.class_name, "dog")
self.assertEqual(dog2.color, 'white')
@unittest.skip("TODO: pydantic v2: Optional[StrictStr] is not strict like StrictStr")
def test_list(self):
# should throw exception as var_123_list should be string
try:
@@ -183,7 +190,7 @@ class ModelTests(unittest.TestCase):
self.assertTrue("str type expected" in str(e))
l = petstore_api.List(var_123_list="bulldog")
self.assertEqual(l.to_json(), '{"123-list": "bulldog"}')
self.assertEqual(l.to_json(), '{"123-list":"bulldog"}')
self.assertEqual(l.to_dict(), {'123-list': 'bulldog'})
l2 = petstore_api.List.from_json(l.to_json())
self.assertEqual(l2.var_123_list, 'bulldog')
@@ -203,6 +210,7 @@ class ModelTests(unittest.TestCase):
self.assertEqual(d3.value, petstore_api.OuterEnumInteger.NUMBER_1)
self.assertEqual(d3.to_json(), '{"str_value": "delivered", "value": 1}')
@unittest.skip("TODO: pydantic v2: 'float' field alias the 'float' type used by 'number'")
def test_float_strict_type(self):
# assigning 123 to float shouldn't throw an exception
a = petstore_api.FormatTest(number=39.8, float=123, byte=bytes("string", 'utf-8'), date="2013-09-17", password="testing09876")
@@ -228,10 +236,43 @@ class ModelTests(unittest.TestCase):
self.assertEqual(a.pattern_with_digits_and_delimiter, "image_123")
def test_inline_enum_validator(self):
self.pet = petstore_api.Pet(name="test name", photo_urls=["string"])
self.pet = petstore_api.Pet(name="test name", photoUrls=["string"])
self.pet.id = 1
try:
self.pet.status = "error"
self.assertTrue(False) # this line shouldn't execute
except ValueError as e:
self.assertTrue("must be one of enum values ('available', 'pending', 'sold')" in str(e))
def test_constraints(self):
rgb = [128, 128, 128]
rgba = [128, 128, 128, 128]
hex_color = "#00FF00"
# These should all pass
color = petstore_api.Color(oneof_schema_1_validator=rgb)
self.assertEqual(rgb, color.oneof_schema_1_validator)
color = petstore_api.Color(oneof_schema_2_validator=rgba)
self.assertEqual(rgba, color.oneof_schema_2_validator)
color = petstore_api.Color(oneof_schema_3_validator=hex_color)
self.assertEqual(hex_color, color.oneof_schema_3_validator)
try:
petstore_api.Color(oneof_schema_1_validator=rgba)
self.fail("invalid validation")
except ValidationError as e:
self.assertIn("List should have at most 3 items after validation, not 4", str(e))
try:
petstore_api.Color(oneof_schema_2_validator=rgb)
self.fail("invalid validation")
except ValidationError as e:
self.assertIn("List should have at least 4 items after validation, not 3", str(e))
try:
petstore_api.Color(oneof_schema_3_validator="too long string")
self.fail("invalid validation")
except ValidationError as e:
self.assertIn("String should have at most 7 characters", str(e))

View File

@@ -45,7 +45,7 @@ class TestPetApiTests(unittest.TestCase):
self.tag = petstore_api.Tag()
self.tag.id = id_gen()
self.tag.name = "openapi-generator-python-pet-tag"
self.pet = petstore_api.Pet(name="hello kity", photo_urls=["http://foo.bar.com/1", "http://foo.bar.com/2"])
self.pet = petstore_api.Pet(name="hello kity", photoUrls=["http://foo.bar.com/1", "http://foo.bar.com/2"])
self.pet.id = id_gen()
self.pet.status = "sold"
self.pet.category = self.category

View File

@@ -14,7 +14,7 @@ from pydantic import ValidationError
class PetModelTests(unittest.TestCase):
def setUp(self):
self.pet = petstore_api.Pet(name="test name", photo_urls=["string"])
self.pet = petstore_api.Pet(name="test name", photoUrls=["string"])
self.pet.id = 1
self.pet.status = "available"
cate = petstore_api.Category(name="dog")
@@ -35,7 +35,7 @@ class PetModelTests(unittest.TestCase):
self.assertEqual(data, self.pet.to_str())
def test_equal(self):
self.pet1 = petstore_api.Pet(name="test name", photo_urls=["string"])
self.pet1 = petstore_api.Pet(name="test name", photoUrls=["string"])
self.pet1.id = 1
self.pet1.status = "available"
cate1 = petstore_api.Category(name="dog")
@@ -46,7 +46,7 @@ class PetModelTests(unittest.TestCase):
tag1.id = 1
self.pet1.tags = [tag1]
self.pet2 = petstore_api.Pet(name="test name", photo_urls=["string"])
self.pet2 = petstore_api.Pet(name="test name", photoUrls=["string"])
self.pet2.id = 1
self.pet2.status = "available"
cate2 = petstore_api.Category(name="dog")
@@ -102,7 +102,6 @@ class PetModelTests(unittest.TestCase):
pet = petstore_api.Pet(**d)
self.assertEqual(pet.to_json(), '{"id": 123, "name": "required name", "photoUrls": ["https://a.com", "https://b.com"]}')
self.assertEqual(pet.to_dict(), {"id": 123, "name": "required name", "photoUrls": ["https://a.com", "https://b.com"]})
def test_optional_fields(self):
pet = petstore_api.Pet(name="required name",
photoUrls=["https://a.com",