Skip to content

Commit 0af4534

Browse files
committed
Minor python generation improvements
1 parent a7796b3 commit 0af4534

File tree

2 files changed

+71
-69
lines changed

2 files changed

+71
-69
lines changed

Containers/Containerfile-python-codegen

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM python:3.9-slim
1+
FROM python:3.11-slim
22

33
WORKDIR /app
44

@@ -16,6 +16,8 @@ RUN datamodel-codegen --input api.json --input-file-type openapi --output /app/m
1616
--disable-timestamp \
1717
--use-union-operator \
1818
--use-schema-description \
19-
--use-title-as-name
19+
--use-title-as-name \
20+
--strip-default-none \
21+
--use-standard-collections
2022

2123
CMD ["cat", "/app/models.py"]

python/api_model/types/models.py

Lines changed: 67 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from __future__ import annotations
55

66
from enum import Enum
7-
from typing import Any, Dict, List
7+
from typing import Any
88

99
from pydantic import BaseModel, Field, RootModel
1010

@@ -77,8 +77,8 @@ class EQModeItem(BaseModel):
7777
Deprecated
7878
"""
7979

80-
title: str | None = None
81-
value: str | None = None
80+
title: str | None
81+
value: str | None
8282

8383

8484
class EmptyStructure(BaseModel):
@@ -110,20 +110,20 @@ class EqLegalCard(BaseModel):
110110

111111
class EqMoneyCard(BaseModel):
112112
majorNumber: str
113-
paidAfterList: List[str] | None = None
113+
paidAfterList: list[str] | None
114114

115115

116116
class FixedTermValue(BaseModel):
117117
unit: str
118118
value: str
119-
name: str | None = None
120-
numericValue: float | None = None
121-
condition: str | None = None
119+
name: str | None
120+
numericValue: float | None
121+
condition: str | None
122122

123123

124124
class FixedValueTermInference(BaseModel):
125125
primary: FixedTermValue
126-
subterms: List[FixedTermValue] | None = None
126+
subterms: list[FixedTermValue] | None
127127

128128

129129
class GetContractReadURLRequestContent(BaseModel):
@@ -162,7 +162,7 @@ class GetSpecialContractResponseContent(BaseModel):
162162
sections: Any
163163
isOwner: bool
164164
ownerId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
165-
sharedWith: List[SharedWithItem]
165+
sharedWith: list[SharedWithItem]
166166

167167

168168
class GetTTSURLsRequestContent(BaseModel):
@@ -197,7 +197,7 @@ class QA(BaseModel):
197197

198198
class QASection(BaseModel):
199199
section: str
200-
qa: List[QA]
200+
qa: list[QA]
201201

202202

203203
class ResourceNotFoundErrorResponseContent(BaseModel):
@@ -214,8 +214,8 @@ class EmailsToRemoveItem(RootModel[str]):
214214

215215
class ShareContractRequestContent(BaseModel):
216216
contractId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
217-
emailsToAdd: List[EmailsToAddItem] | None = None
218-
emailsToRemove: List[EmailsToRemoveItem] | None = None
217+
emailsToAdd: list[EmailsToAddItem] | None
218+
emailsToRemove: list[EmailsToRemoveItem] | None
219219

220220

221221
class AddedItem(RootModel[str]):
@@ -241,16 +241,16 @@ class SimpleTermDescription(BaseModel):
241241
description: str
242242

243243

244-
class TTSPresignedUrlMap(RootModel[Dict[str, str] | None]):
245-
root: Dict[str, str] | None = None
244+
class TTSPresignedUrlMap(RootModel[dict[str, str] | None]):
245+
root: dict[str, str] | None
246246

247247

248248
class Term(BaseModel):
249249
name: str
250250
definition: str
251251
unitType: str
252-
citation: str | None = None
253-
fixedValues: FixedValueTermInference | None = None
252+
citation: str | None
253+
fixedValues: FixedValueTermInference | None
254254

255255

256256
class UpdateContractRequestContent(BaseModel):
@@ -263,39 +263,39 @@ class UpdateContractResponseContent(BaseModel):
263263

264264

265265
class UpdateProfileRequestContent(BaseModel):
266-
firstName: str | None = None
267-
lastName: str | None = None
268-
displayName: str | None = None
269-
accountType: AccountType | None = None
270-
bio: str | None = None
271-
isOver18: bool | None = None
266+
firstName: str | None
267+
lastName: str | None
268+
displayName: str | None
269+
accountType: AccountType | None
270+
bio: str | None
271+
isOver18: bool | None
272272

273273

274274
class UpdateProfileResponseContent(BaseModel):
275275
success: bool
276276
message: str
277277
userId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
278-
updatedFields: List[str] | None = None
278+
updatedFields: list[str] | None
279279

280280

281281
class UploadProfilePictureRequestContent(BaseModel):
282-
image: str | None = None
282+
image: str | None
283283
userId: str | None = Field(None, pattern='^[A-Za-z0-9-]+$')
284284

285285

286286
class UploadProfilePictureResponseContent(BaseModel):
287-
message: str | None = None
288-
picture_id: str | None = None
287+
message: str | None
288+
picture_id: str | None
289289

290290

291291
class UserProfile(BaseModel):
292292
userId: str | None = Field(None, pattern='^[A-Za-z0-9-]+$')
293-
firstName: str | None = None
294-
lastName: str | None = None
295-
displayName: str | None = None
293+
firstName: str | None
294+
lastName: str | None
295+
displayName: str | None
296296
email: str | None = Field(None, pattern='^[\\w-\\.]+@[\\w-\\.]+\\.+[\\w-]{1,63}$')
297-
accountType: AccountType | None = None
298-
bio: str | None = None
297+
accountType: AccountType | None
298+
bio: str | None
299299

300300

301301
class ValidationErrorResponseContent(BaseModel):
@@ -310,23 +310,23 @@ class ContractSummaryItem(BaseModel):
310310
status: ContractStatus
311311
isOwner: bool
312312
ownerId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
313-
sharedWith: List[SharedWithItem] | None = None
314-
sharedUsers: List[SharedUser] | None = None
315-
sharedEmails: List[SharedEmail] | None = None
313+
sharedWith: list[SharedWithItem] | None
314+
sharedUsers: list[SharedUser] | None
315+
sharedEmails: list[SharedEmail] | None
316316

317317

318318
class ContractVariable(BaseModel):
319319
name: str
320320
type: ContractVariableType
321321
id: str
322-
value: str | None = None
323-
level: float | None = None
324-
confidence: float | None = None
325-
firstOccurrence: float | None = None
326-
context: str | None = None
327-
variations: List[str] | None = None
328-
referencedSection: str | None = None
329-
definitionCitation: str | None = None
322+
value: str | None
323+
level: float | None
324+
confidence: float | None
325+
firstOccurrence: float | None
326+
context: str | None
327+
variations: list[str] | None
328+
referencedSection: str | None
329+
definitionCitation: str | None
330330

331331

332332
class MONEYRECEIVED(BaseModel):
@@ -339,20 +339,20 @@ class LEGAL(BaseModel):
339339

340340
class EqDurationCard(BaseModel):
341341
durationType: DurationType
342-
durationText: str | None = None
343-
durationDetails: List[SimpleTermDescription] | None = None
342+
durationText: str | None
343+
durationDetails: list[SimpleTermDescription] | None
344344

345345

346346
class EqOwnershipCard(BaseModel):
347-
ownershipTerms: List[SimpleTermDescription]
347+
ownershipTerms: list[SimpleTermDescription]
348348

349349

350350
class EqResponsibilitesCard(BaseModel):
351-
resposibilites: List[SimpleTermDescription]
351+
resposibilites: list[SimpleTermDescription]
352352

353353

354354
class ExposeTypesResponseContent(BaseModel):
355-
QASectionsList: List[QASection] | None = None
355+
QASectionsList: list[QASection] | None
356356
ContractVariable_1: ContractVariable | None = Field(None, alias='ContractVariable')
357357
ContractVariableType_1: ContractVariableType | None = Field(
358358
None, alias='ContractVariableType'
@@ -374,28 +374,28 @@ class GetUploadURLResponseContent(BaseModel):
374374

375375

376376
class IqSection(BaseModel):
377-
qa_sections: List[QASection] | None = Field(
377+
qa_sections: list[QASection] | None = Field(
378378
None, description='deprecation path (v0.5)'
379379
)
380380

381381

382382
class ListContractsResponseContent(BaseModel):
383-
owned: List[ContractSummaryItem]
384-
shared: List[ContractSummaryItem]
383+
owned: list[ContractSummaryItem]
384+
shared: list[ContractSummaryItem]
385385

386386

387387
class ListSpecialContractsResponseContent(BaseModel):
388-
owned: List[ContractSummaryItem]
389-
shared: List[ContractSummaryItem]
388+
owned: list[ContractSummaryItem]
389+
shared: list[ContractSummaryItem]
390390

391391

392392
class ShareContractResponseContent(BaseModel):
393393
success: bool
394394
contractId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
395-
sharedWith: List[SharedUserDetails]
396-
added: List[AddedItem] | None = None
397-
removed: List[RemovedItem] | None = None
398-
invalidRemoves: List[InvalidRemove] | None = None
395+
sharedWith: list[SharedUserDetails]
396+
added: list[AddedItem] | None
397+
removed: list[RemovedItem] | None
398+
invalidRemoves: list[InvalidRemove] | None
399399

400400

401401
class OWNERSHIP(BaseModel):
@@ -422,34 +422,34 @@ class EQModeCard(BaseModel):
422422
type: EqCardType
423423
cardUniqueData: EqCardUniqueData
424424
eqTitle: str | None = Field(None, description='Deprecated, use subTitle Instead')
425-
subTitle: str | None = None
425+
subTitle: str | None
426426
totalAdvance: str | None = Field(
427427
None, description='Deprecated, this should be in the in a custom subtype'
428428
)
429-
items: List[EQModeItem] | None = Field(
429+
items: list[EQModeItem] | None = Field(
430430
None, description='Deprecated, this should be in the in a custom subtype'
431431
)
432432
audioSrc: str | None = Field(None, description='Deprecated, use the ttsSrcUrl')
433-
ttsSrcUrl: str | None = None
433+
ttsSrcUrl: str | None
434434

435435

436-
class EQModeData(RootModel[Dict[str, EQModeCard] | None]):
437-
root: Dict[str, EQModeCard] | None = None
436+
class EQModeData(RootModel[dict[str, EQModeCard] | None]):
437+
root: dict[str, EQModeCard] | None
438438

439439

440440
class EqSection(BaseModel):
441-
terms: List[Term] | None = Field(None, description='deprecation path (v0.5)')
442-
eqModeData: EQModeData | None = None
441+
terms: list[Term] | None = Field(None, description='deprecation path (v0.5)')
442+
eqModeData: EQModeData | None
443443

444444

445445
class GetContractResponseContent(BaseModel):
446446
contractId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
447447
name: str
448448
type: ContractType
449-
terms: List[Term] | None = Field(None, description='deprecation path (v0)')
449+
terms: list[Term] | None = Field(None, description='deprecation path (v0)')
450450
qa_sections: str | None = Field(None, description='deprecation path (v0)')
451-
eq_section: EqSection | None = None
452-
iq_section: IqSection | None = None
451+
eq_section: EqSection | None
452+
iq_section: IqSection | None
453453
isOwner: bool
454454
ownerId: str = Field(..., pattern='^[A-Za-z0-9-]+$')
455-
sharedWith: List[SharedWithItem]
455+
sharedWith: list[SharedWithItem]

0 commit comments

Comments
 (0)