Skip to content

Commit ef1919d

Browse files
committed
mypy - reduce None for models
do not use Optional for complex data types with default_factory
1 parent 47ace37 commit ef1919d

File tree

17 files changed

+89
-93
lines changed

17 files changed

+89
-93
lines changed

aiopenapi3/v20/paths.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class Response(ObjectExtended):
1919

2020
description: str = Field(...)
2121
schema_: Optional[Schema] = Field(default=None, alias="schema")
22-
headers: Optional[Dict[str, Header]] = Field(default_factory=dict)
22+
headers: Dict[str, Header] = Field(default_factory=dict)
2323
examples: Optional[Dict[str, Any]] = Field(default=None)
2424

2525

@@ -35,11 +35,11 @@ class Operation(ObjectExtended, OperationBase):
3535
description: Optional[str] = Field(default=None)
3636
externalDocs: Optional[ExternalDocumentation] = Field(default=None)
3737
operationId: Optional[str] = Field(default=None)
38-
consumes: Optional[List[str]] = Field(default_factory=list)
39-
produces: Optional[List[str]] = Field(default_factory=list)
40-
parameters: Optional[List[Union[Parameter, Reference]]] = Field(default_factory=list)
38+
consumes: List[str] = Field(default_factory=list)
39+
produces: List[str] = Field(default_factory=list)
40+
parameters: List[Union[Parameter, Reference]] = Field(default_factory=list)
4141
responses: Dict[str, Union[Reference, Response]] = Field(default_factory=dict)
42-
schemes: Optional[List[str]] = Field(default_factory=list)
42+
schemes: List[str] = Field(default_factory=list)
4343
deprecated: Optional[bool] = Field(default=None)
4444
security: Optional[List[SecurityRequirement]] = Field(default=None)
4545

@@ -60,7 +60,7 @@ class PathItem(ObjectExtended):
6060
options: Optional[Operation] = Field(default=None)
6161
head: Optional[Operation] = Field(default=None)
6262
patch: Optional[Operation] = Field(default=None)
63-
parameters: Optional[List[Union[Parameter, Reference]]] = Field(default_factory=list)
63+
parameters: List[Union[Parameter, Reference]] = Field(default_factory=list)
6464

6565

6666
class Paths(PathsBase):

aiopenapi3/v20/root.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ class Root(ObjectExtended, RootBase):
2323
info: Info = Field(...)
2424
host: Optional[str] = Field(default=None)
2525
basePath: Optional[str] = Field(default=None)
26-
schemes: Optional[List[str]] = Field(default_factory=list)
27-
consumes: Optional[List[str]] = Field(default_factory=list)
28-
produces: Optional[List[str]] = Field(default_factory=list)
26+
schemes: List[str] = Field(default_factory=list)
27+
consumes: List[str] = Field(default_factory=list)
28+
produces: List[str] = Field(default_factory=list)
2929
paths: Paths = Field(default_factory=dict)
30-
definitions: Optional[Dict[str, Schema]] = Field(default_factory=dict)
31-
parameters: Optional[Dict[str, Parameter]] = Field(default_factory=dict)
32-
responses: Optional[Dict[str, Response]] = Field(default_factory=dict)
33-
securityDefinitions: Optional[Dict[str, SecurityScheme]] = Field(default_factory=dict)
30+
definitions: Dict[str, Schema] = Field(default_factory=dict)
31+
parameters: Dict[str, Parameter] = Field(default_factory=dict)
32+
responses: Dict[str, Response] = Field(default_factory=dict)
33+
securityDefinitions: Dict[str, SecurityScheme] = Field(default_factory=dict)
3434
security: Optional[List[SecurityRequirement]] = Field(default=None)
35-
tags: Optional[List[Tag]] = Field(default_factory=list)
35+
tags: List[Tag] = Field(default_factory=list)
3636
externalDocs: Optional[ExternalDocumentation] = Field(default=None)
3737

3838
def _resolve_references(self, api):

aiopenapi3/v20/schemas.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ class Schema(ObjectExtended, SchemaBase):
3333
uniqueItems: Optional[bool] = Field(default=None)
3434
maxProperties: Optional[int] = Field(default=None)
3535
minProperties: Optional[int] = Field(default=None)
36-
required: Optional[List[str]] = Field(default_factory=list)
36+
required: List[str] = Field(default_factory=list)
3737
enum: Optional[List[Any]] = Field(default=None)
3838
type: Optional[str] = Field(default=None)
3939

4040
items: Optional[Union[List[Union["Schema", Reference]], Union["Schema", Reference]]] = Field(default=None)
41-
allOf: Optional[List[Union["Schema", Reference]]] = Field(default_factory=list)
42-
properties: Optional[Dict[str, Union["Schema", Reference]]] = Field(default_factory=dict)
41+
allOf: List[Union["Schema", Reference]] = Field(default_factory=list)
42+
properties: Dict[str, Union["Schema", Reference]] = Field(default_factory=dict)
4343
additionalProperties: Optional[Union[bool, "Schema", Reference]] = Field(default=None)
4444

4545
discriminator: Optional[str] = Field(default=None) # 'Discriminator'

aiopenapi3/v30/components.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Union, Optional, Dict
1+
from typing import Union, Dict
22

33
from pydantic import Field
44

@@ -20,14 +20,12 @@ class Components(ObjectExtended):
2020
.. _Components Object: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.3.md#components-object
2121
"""
2222

23-
model_config = dict(undefined_types_warning=False)
24-
25-
schemas: Optional[Dict[str, Union[Schema, Reference]]] = Field(default_factory=dict)
26-
responses: Optional[Dict[str, Union[Response, Reference]]] = Field(default_factory=dict)
27-
parameters: Optional[Dict[str, Union[Parameter, Reference]]] = Field(default_factory=dict)
28-
examples: Optional[Dict[str, Union[Example, Reference]]] = Field(default_factory=dict)
29-
requestBodies: Optional[Dict[str, Union[RequestBody, Reference]]] = Field(default_factory=dict)
30-
headers: Optional[Dict[str, Union[Header, Reference]]] = Field(default_factory=dict)
31-
securitySchemes: Optional[Dict[str, Union[SecurityScheme, Reference]]] = Field(default_factory=dict)
32-
links: Optional[Dict[str, Union[Link, Reference]]] = Field(default_factory=dict)
33-
callbacks: Optional[Dict[str, Union[Callback, Reference]]] = Field(default_factory=dict)
23+
schemas: Dict[str, Union[Schema, Reference]] = Field(default_factory=dict)
24+
responses: Dict[str, Union[Response, Reference]] = Field(default_factory=dict)
25+
parameters: Dict[str, Union[Parameter, Reference]] = Field(default_factory=dict)
26+
examples: Dict[str, Union[Example, Reference]] = Field(default_factory=dict)
27+
requestBodies: Dict[str, Union[RequestBody, Reference]] = Field(default_factory=dict)
28+
headers: Dict[str, Union[Header, Reference]] = Field(default_factory=dict)
29+
securitySchemes: Dict[str, Union[SecurityScheme, Reference]] = Field(default_factory=dict)
30+
links: Dict[str, Union[Link, Reference]] = Field(default_factory=dict)
31+
callbacks: Dict[str, Union[Callback, Reference]] = Field(default_factory=dict)

aiopenapi3/v30/media.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class Encoding(ObjectExtended):
1919
model_config = dict(undefined_types_warning=False)
2020

2121
contentType: Optional[str] = Field(default=None)
22-
headers: Optional[Dict[str, Union["Header", Reference]]] = Field(default_factory=dict)
22+
headers: Dict[str, Union["Header", Reference]] = Field(default_factory=dict)
2323
style: Optional[str] = Field(default=None)
2424
explode: Optional[bool] = Field(default=None)
2525
allowReserved: Optional[bool] = Field(default=None)
@@ -37,5 +37,5 @@ class MediaType(ObjectExtended):
3737

3838
schema_: Optional[Union[Schema, Reference]] = Field(default=None, alias="schema")
3939
example: Optional[Any] = Field(default=None) # 'any' type
40-
examples: Optional[Dict[str, Union[Example, Reference]]] = Field(default_factory=dict)
41-
encoding: Optional[Dict[str, Encoding]] = Field(default_factory=dict)
40+
examples: Dict[str, Union[Example, Reference]] = Field(default_factory=dict)
41+
encoding: Dict[str, Encoding] = Field(default_factory=dict)

aiopenapi3/v30/parameter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -248,9 +248,9 @@ class ParameterBase(ObjectExtended, ParameterBase_):
248248
allowReserved: Optional[bool] = Field(default=None)
249249
schema_: Optional[Union[Schema, Reference]] = Field(default=None, alias="schema")
250250
example: Optional[Any] = Field(default=None)
251-
examples: Optional[Dict[str, Union["Example", Reference]]] = Field(default_factory=dict)
251+
examples: Dict[str, Union["Example", Reference]] = Field(default_factory=dict)
252252

253-
content: Optional[Dict[str, "MediaType"]] = Field(default_factory=dict)
253+
content: Dict[str, "MediaType"] = Field(default_factory=dict)
254254

255255

256256
class _In(str, enum.Enum):

aiopenapi3/v30/paths.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ class Response(ObjectExtended):
6262
model_config = dict(undefined_types_warning=False)
6363

6464
description: str = Field(...)
65-
headers: Optional[Dict[str, Union[Header, Reference]]] = Field(default_factory=dict)
66-
content: Optional[Dict[str, MediaType]] = Field(default_factory=dict)
67-
links: Optional[Dict[str, Union[Link, Reference]]] = Field(default_factory=dict)
65+
headers: Dict[str, Union[Header, Reference]] = Field(default_factory=dict)
66+
content: Dict[str, MediaType] = Field(default_factory=dict)
67+
links: Dict[str, Union[Link, Reference]] = Field(default_factory=dict)
6868

6969

7070
class Operation(ObjectExtended, OperationBase):
@@ -81,12 +81,12 @@ class Operation(ObjectExtended, OperationBase):
8181
description: Optional[str] = Field(default=None)
8282
externalDocs: Optional[ExternalDocumentation] = Field(default=None)
8383
operationId: Optional[str] = Field(default=None)
84-
parameters: Optional[List[Union[Parameter, Reference]]] = Field(default_factory=list)
84+
parameters: List[Union[Parameter, Reference]] = Field(default_factory=list)
8585
requestBody: Optional[Union[RequestBody, Reference]] = Field(default=None)
8686
responses: Dict[str, Union[Response, Reference]] = Field(...)
87-
callbacks: Optional[Dict[str, Union["Callback", Reference]]] = Field(default_factory=dict)
87+
callbacks: Dict[str, Union["Callback", Reference]] = Field(default_factory=dict)
8888
deprecated: Optional[bool] = Field(default=None)
89-
security: Optional[List[SecurityRequirement]] = Field(default_factory=list)
89+
security: List[SecurityRequirement] = Field(default_factory=list)
9090
servers: Optional[List[Server]] = Field(default=None)
9191

9292

@@ -112,7 +112,7 @@ class PathItem(ObjectExtended):
112112
patch: Optional[Operation] = Field(default=None)
113113
trace: Optional[Operation] = Field(default=None)
114114
servers: Optional[List[Server]] = Field(default=None)
115-
parameters: Optional[List[Union[Parameter, Reference]]] = Field(default_factory=list)
115+
parameters: List[Union[Parameter, Reference]] = Field(default_factory=list)
116116

117117

118118
class Paths(PathsBase):

aiopenapi3/v30/root.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, List, Optional, Dict
1+
from typing import Any, List, Dict
22

33

44
from pydantic import Field, validator
@@ -27,12 +27,12 @@ class Root(ObjectExtended, RootBase):
2727

2828
openapi: str = Field(...)
2929
info: Info = Field(...)
30-
servers: Optional[List[Server]] = Field(default_factory=list)
30+
servers: List[Server] = Field(default_factory=list)
3131
paths: Paths = Field(default_factory=dict)
32-
components: Optional[Components] = Field(default_factory=Components)
33-
security: Optional[List[SecurityRequirement]] = Field(default_factory=list)
34-
tags: Optional[List[Tag]] = Field(default_factory=list)
35-
externalDocs: Optional[Dict[Any, Any]] = Field(default_factory=dict)
32+
components: Components = Field(default_factory=Components)
33+
security: List[SecurityRequirement] = Field(default_factory=list)
34+
tags: List[Tag] = Field(default_factory=list)
35+
externalDocs: Dict[Any, Any] = Field(default_factory=dict)
3636

3737
def _resolve_references(self, api):
3838
RootBase.resolve(api, self, self, PathItem, Reference)

aiopenapi3/v30/schemas.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class Discriminator(ObjectExtended, DiscriminatorBase):
1414
"""
1515

1616
propertyName: str = Field(...)
17-
mapping: Optional[Dict[str, str]] = Field(default_factory=dict)
17+
mapping: Dict[str, str] = Field(default_factory=dict)
1818

1919

2020
class Schema(ObjectExtended, SchemaBase):
@@ -38,16 +38,16 @@ class Schema(ObjectExtended, SchemaBase):
3838
uniqueItems: Optional[bool] = Field(default=None)
3939
maxProperties: Optional[int] = Field(default=None)
4040
minProperties: Optional[int] = Field(default=None)
41-
required: Optional[List[str]] = Field(default_factory=list)
41+
required: List[str] = Field(default_factory=list)
4242
enum: Optional[List[Any]] = Field(default=None)
4343

4444
type: Optional[str] = Field(default=None)
45-
allOf: Optional[List[Union["Schema", Reference]]] = Field(default_factory=list)
46-
oneOf: Optional[List[Union["Schema", Reference]]] = Field(default_factory=list)
47-
anyOf: Optional[List[Union["Schema", Reference]]] = Field(default_factory=list)
45+
allOf: List[Union["Schema", Reference]] = Field(default_factory=list)
46+
oneOf: List[Union["Schema", Reference]] = Field(default_factory=list)
47+
anyOf: List[Union["Schema", Reference]] = Field(default_factory=list)
4848
not_: Optional[Union["Schema", Reference]] = Field(default=None, alias="not")
4949
items: Optional[Union["Schema", Reference]] = Field(default=None)
50-
properties: Optional[Dict[str, Union["Schema", Reference]]] = Field(default_factory=dict)
50+
properties: Dict[str, Union["Schema", Reference]] = Field(default_factory=dict)
5151
additionalProperties: Optional[Union[bool, "Schema", Reference]] = Field(default=None)
5252
description: Optional[str] = Field(default=None)
5353
format: Optional[str] = Field(default=None)

aiopenapi3/v30/servers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ class Server(ObjectExtended):
2626

2727
url: str = Field(...)
2828
description: Optional[str] = Field(default=None)
29-
variables: Optional[Dict[str, ServerVariable]] = Field(default_factory=dict)
29+
variables: Dict[str, ServerVariable] = Field(default_factory=dict)

0 commit comments

Comments
 (0)