mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-12 10:33:20 +00:00
bsdd classes - typing for not required attributes
This commit is contained in:
+240
-242
@@ -24,6 +24,7 @@ import requests
|
||||
import webbrowser
|
||||
import http.server
|
||||
from typing import TypedDict, Literal, Optional
|
||||
from typing_extensions import NotRequired
|
||||
|
||||
|
||||
__version__ = version = "0.0.0"
|
||||
@@ -31,9 +32,6 @@ __version__ = version = "0.0.0"
|
||||
Status = Literal["Preview", "Active", "Inactive"]
|
||||
ClassTypes = Literal["Class", "GroupOfProperties", "AlternativeUse", "Material"]
|
||||
|
||||
# NOTE: Some values in TypedDicts are actually not guaranteed to be provided
|
||||
# and should be typed with NotRequired.
|
||||
|
||||
|
||||
# Use yml_to_classes.py to update classes.
|
||||
class DictionaryContractV1(TypedDict):
|
||||
@@ -46,33 +44,33 @@ class DictionaryContractV1(TypedDict):
|
||||
defaultLanguageCode: str
|
||||
isLatestVersion: bool
|
||||
isVerified: bool
|
||||
license: str
|
||||
licenseUrl: str
|
||||
qualityAssuranceProcedure: str
|
||||
qualityAssuranceProcedureUrl: str
|
||||
status: str
|
||||
moreInfoUrl: str
|
||||
releaseDate: str
|
||||
lastUpdatedUtc: str
|
||||
availableLanguages: list[CodeNameDto]
|
||||
license: NotRequired[str]
|
||||
licenseUrl: NotRequired[str]
|
||||
qualityAssuranceProcedure: NotRequired[str]
|
||||
qualityAssuranceProcedureUrl: NotRequired[str]
|
||||
status: NotRequired[str]
|
||||
moreInfoUrl: NotRequired[str]
|
||||
releaseDate: NotRequired[str]
|
||||
lastUpdatedUtc: NotRequired[str]
|
||||
availableLanguages: NotRequired[list[CodeNameDto]]
|
||||
|
||||
|
||||
class DictionaryResponseContractV1(TypedDict):
|
||||
totalCount: int
|
||||
offset: int
|
||||
count: int
|
||||
dictionaries: list[DictionaryContractV1]
|
||||
totalCount: NotRequired[int]
|
||||
offset: NotRequired[int]
|
||||
count: NotRequired[int]
|
||||
dictionaries: NotRequired[list[DictionaryContractV1]]
|
||||
|
||||
|
||||
class ClassListItemContractV1(TypedDict):
|
||||
uri: str
|
||||
code: str
|
||||
name: str
|
||||
classType: str
|
||||
referenceCode: str
|
||||
parentClassCode: str
|
||||
descriptionPart: str
|
||||
children: list[ClassListItemContractV1]
|
||||
uri: NotRequired[str]
|
||||
code: NotRequired[str]
|
||||
name: NotRequired[str]
|
||||
classType: NotRequired[str]
|
||||
referenceCode: NotRequired[str]
|
||||
parentClassCode: NotRequired[str]
|
||||
descriptionPart: NotRequired[str]
|
||||
children: NotRequired[list[ClassListItemContractV1]]
|
||||
|
||||
|
||||
class DictionaryClassesResponseContractV1(TypedDict):
|
||||
@@ -85,25 +83,25 @@ class DictionaryClassesResponseContractV1(TypedDict):
|
||||
defaultLanguageCode: str
|
||||
isLatestVersion: bool
|
||||
isVerified: bool
|
||||
license: str
|
||||
licenseUrl: str
|
||||
qualityAssuranceProcedure: str
|
||||
qualityAssuranceProcedureUrl: str
|
||||
status: str
|
||||
moreInfoUrl: str
|
||||
releaseDate: str
|
||||
lastUpdatedUtc: str
|
||||
classes: list[ClassListItemContractV1]
|
||||
classesTotalCount: int
|
||||
classesOffset: int
|
||||
classesCount: int
|
||||
license: NotRequired[str]
|
||||
licenseUrl: NotRequired[str]
|
||||
qualityAssuranceProcedure: NotRequired[str]
|
||||
qualityAssuranceProcedureUrl: NotRequired[str]
|
||||
status: NotRequired[str]
|
||||
moreInfoUrl: NotRequired[str]
|
||||
releaseDate: NotRequired[str]
|
||||
lastUpdatedUtc: NotRequired[str]
|
||||
classes: NotRequired[list[ClassListItemContractV1]]
|
||||
classesTotalCount: NotRequired[int]
|
||||
classesOffset: NotRequired[int]
|
||||
classesCount: NotRequired[int]
|
||||
|
||||
|
||||
class PropertyListItemContractV1(TypedDict):
|
||||
uri: str
|
||||
code: str
|
||||
name: str
|
||||
descriptionPart: str
|
||||
uri: NotRequired[str]
|
||||
code: NotRequired[str]
|
||||
name: NotRequired[str]
|
||||
descriptionPart: NotRequired[str]
|
||||
|
||||
|
||||
class DictionaryPropertiesResponseContractV1(TypedDict):
|
||||
@@ -116,234 +114,234 @@ class DictionaryPropertiesResponseContractV1(TypedDict):
|
||||
defaultLanguageCode: str
|
||||
isLatestVersion: bool
|
||||
isVerified: bool
|
||||
license: str
|
||||
licenseUrl: str
|
||||
qualityAssuranceProcedure: str
|
||||
qualityAssuranceProcedureUrl: str
|
||||
status: str
|
||||
moreInfoUrl: str
|
||||
releaseDate: str
|
||||
lastUpdatedUtc: str
|
||||
properties: list[PropertyListItemContractV1]
|
||||
propertiesTotalCount: int
|
||||
propertiesOffset: int
|
||||
propertiesCount: int
|
||||
license: NotRequired[str]
|
||||
licenseUrl: NotRequired[str]
|
||||
qualityAssuranceProcedure: NotRequired[str]
|
||||
qualityAssuranceProcedureUrl: NotRequired[str]
|
||||
status: NotRequired[str]
|
||||
moreInfoUrl: NotRequired[str]
|
||||
releaseDate: NotRequired[str]
|
||||
lastUpdatedUtc: NotRequired[str]
|
||||
properties: NotRequired[list[PropertyListItemContractV1]]
|
||||
propertiesTotalCount: NotRequired[int]
|
||||
propertiesOffset: NotRequired[int]
|
||||
propertiesCount: NotRequired[int]
|
||||
|
||||
|
||||
class ClassReferenceContractV1(TypedDict):
|
||||
uri: str
|
||||
name: str
|
||||
code: str
|
||||
name: NotRequired[str]
|
||||
code: NotRequired[str]
|
||||
|
||||
|
||||
class ClassPropertyValueContractV1(TypedDict):
|
||||
uri: str
|
||||
code: str
|
||||
uri: NotRequired[str]
|
||||
code: NotRequired[str]
|
||||
value: str
|
||||
description: str
|
||||
sortNumber: int
|
||||
description: NotRequired[str]
|
||||
sortNumber: NotRequired[int]
|
||||
|
||||
|
||||
class ClassPropertyContractV1(TypedDict):
|
||||
name: str
|
||||
uri: str
|
||||
description: str
|
||||
definition: str
|
||||
dataType: str
|
||||
dimension: str
|
||||
dimensionLength: int
|
||||
dimensionMass: int
|
||||
dimensionTime: int
|
||||
dimensionElectricCurrent: int
|
||||
dimensionThermodynamicTemperature: int
|
||||
dimensionAmountOfSubstance: int
|
||||
dimensionLuminousIntensity: int
|
||||
dynamicParameterPropertyCodes: list[str]
|
||||
example: str
|
||||
isDynamic: bool
|
||||
isRequired: bool
|
||||
isWritable: bool
|
||||
maxExclusive: float
|
||||
maxInclusive: float
|
||||
minExclusive: float
|
||||
minInclusive: float
|
||||
pattern: str
|
||||
physicalQuantity: str
|
||||
allowedValues: list[ClassPropertyValueContractV1]
|
||||
predefinedValue: str
|
||||
propertyCode: str
|
||||
propertyDictionaryName: str
|
||||
propertyDictionaryUri: str
|
||||
propertyUri: str
|
||||
propertySet: str
|
||||
propertyStatus: str
|
||||
propertyValueKind: str
|
||||
symbol: str
|
||||
units: list[str]
|
||||
qudtCodes: list[str]
|
||||
uri: NotRequired[str]
|
||||
description: NotRequired[str]
|
||||
definition: NotRequired[str]
|
||||
dataType: NotRequired[str]
|
||||
dimension: NotRequired[str]
|
||||
dimensionLength: NotRequired[int]
|
||||
dimensionMass: NotRequired[int]
|
||||
dimensionTime: NotRequired[int]
|
||||
dimensionElectricCurrent: NotRequired[int]
|
||||
dimensionThermodynamicTemperature: NotRequired[int]
|
||||
dimensionAmountOfSubstance: NotRequired[int]
|
||||
dimensionLuminousIntensity: NotRequired[int]
|
||||
dynamicParameterPropertyCodes: NotRequired[list[str]]
|
||||
example: NotRequired[str]
|
||||
isDynamic: NotRequired[bool]
|
||||
isRequired: NotRequired[bool]
|
||||
isWritable: NotRequired[bool]
|
||||
maxExclusive: NotRequired[float]
|
||||
maxInclusive: NotRequired[float]
|
||||
minExclusive: NotRequired[float]
|
||||
minInclusive: NotRequired[float]
|
||||
pattern: NotRequired[str]
|
||||
physicalQuantity: NotRequired[str]
|
||||
allowedValues: NotRequired[list[ClassPropertyValueContractV1]]
|
||||
predefinedValue: NotRequired[str]
|
||||
propertyCode: NotRequired[str]
|
||||
propertyDictionaryName: NotRequired[str]
|
||||
propertyDictionaryUri: NotRequired[str]
|
||||
propertyUri: NotRequired[str]
|
||||
propertySet: NotRequired[str]
|
||||
propertyStatus: NotRequired[str]
|
||||
propertyValueKind: NotRequired[str]
|
||||
symbol: NotRequired[str]
|
||||
units: NotRequired[list[str]]
|
||||
qudtCodes: NotRequired[list[str]]
|
||||
|
||||
|
||||
class PropertyContractV4(TypedDict):
|
||||
dictionaryUri: str
|
||||
dictionaryUri: NotRequired[str]
|
||||
activationDateUtc: str
|
||||
code: str
|
||||
creatorLanguageCode: str
|
||||
countriesOfUse: list[str]
|
||||
countryOfOrigin: str
|
||||
deActivationDateUtc: str
|
||||
definition: str
|
||||
deprecationExplanation: str
|
||||
description: str
|
||||
documentReference: str
|
||||
creatorLanguageCode: NotRequired[str]
|
||||
countriesOfUse: NotRequired[list[str]]
|
||||
countryOfOrigin: NotRequired[str]
|
||||
deActivationDateUtc: NotRequired[str]
|
||||
definition: NotRequired[str]
|
||||
deprecationExplanation: NotRequired[str]
|
||||
description: NotRequired[str]
|
||||
documentReference: NotRequired[str]
|
||||
name: str
|
||||
uri: str
|
||||
replacedObjectCodes: list[str]
|
||||
replacingObjectCodes: list[str]
|
||||
revisionDateUtc: str
|
||||
revisionNumber: int
|
||||
replacedObjectCodes: NotRequired[list[str]]
|
||||
replacingObjectCodes: NotRequired[list[str]]
|
||||
revisionDateUtc: NotRequired[str]
|
||||
revisionNumber: NotRequired[int]
|
||||
status: str
|
||||
subdivisionsOfUse: list[str]
|
||||
uid: str
|
||||
subdivisionsOfUse: NotRequired[list[str]]
|
||||
uid: NotRequired[str]
|
||||
versionDateUtc: str
|
||||
versionNumber: int
|
||||
visualRepresentationUri: str
|
||||
connectedPropertyCodes: list[str]
|
||||
dataType: str
|
||||
dimension: str
|
||||
dimensionLength: int
|
||||
dimensionMass: int
|
||||
dimensionTime: int
|
||||
dimensionElectricCurrent: int
|
||||
dimensionThermodynamicTemperature: int
|
||||
dimensionAmountOfSubstance: int
|
||||
dimensionLuminousIntensity: int
|
||||
dynamicParameterPropertyCodes: list[str]
|
||||
example: str
|
||||
isDynamic: bool
|
||||
maxExclusive: float
|
||||
maxInclusive: float
|
||||
methodOfMeasurement: str
|
||||
minExclusive: float
|
||||
minInclusive: float
|
||||
pattern: str
|
||||
physicalQuantity: str
|
||||
allowedValues: list[PropertyValueContractV4]
|
||||
propertyValueKind: str
|
||||
propertyRelations: list[PropertyRelationContractV4]
|
||||
textFormat: str
|
||||
units: list[str]
|
||||
qudtCodes: list[str]
|
||||
propertyClasses: list[PropertyClassContractV4]
|
||||
versionNumber: NotRequired[int]
|
||||
visualRepresentationUri: NotRequired[str]
|
||||
connectedPropertyCodes: NotRequired[list[str]]
|
||||
dataType: NotRequired[str]
|
||||
dimension: NotRequired[str]
|
||||
dimensionLength: NotRequired[int]
|
||||
dimensionMass: NotRequired[int]
|
||||
dimensionTime: NotRequired[int]
|
||||
dimensionElectricCurrent: NotRequired[int]
|
||||
dimensionThermodynamicTemperature: NotRequired[int]
|
||||
dimensionAmountOfSubstance: NotRequired[int]
|
||||
dimensionLuminousIntensity: NotRequired[int]
|
||||
dynamicParameterPropertyCodes: NotRequired[list[str]]
|
||||
example: NotRequired[str]
|
||||
isDynamic: NotRequired[bool]
|
||||
maxExclusive: NotRequired[float]
|
||||
maxInclusive: NotRequired[float]
|
||||
methodOfMeasurement: NotRequired[str]
|
||||
minExclusive: NotRequired[float]
|
||||
minInclusive: NotRequired[float]
|
||||
pattern: NotRequired[str]
|
||||
physicalQuantity: NotRequired[str]
|
||||
allowedValues: NotRequired[list[PropertyValueContractV4]]
|
||||
propertyValueKind: NotRequired[str]
|
||||
propertyRelations: NotRequired[list[PropertyRelationContractV4]]
|
||||
textFormat: NotRequired[str]
|
||||
units: NotRequired[list[str]]
|
||||
qudtCodes: NotRequired[list[str]]
|
||||
propertyClasses: NotRequired[list[PropertyClassContractV4]]
|
||||
|
||||
|
||||
class PropertyValueContractV4(TypedDict):
|
||||
uri: str
|
||||
code: str
|
||||
uri: NotRequired[str]
|
||||
code: NotRequired[str]
|
||||
value: str
|
||||
description: str
|
||||
sortNumber: int
|
||||
description: NotRequired[str]
|
||||
sortNumber: NotRequired[int]
|
||||
|
||||
|
||||
class PropertyRelationContractV4(TypedDict):
|
||||
uri: str
|
||||
relationType: str
|
||||
relatedPropertyUri: str
|
||||
relatedPropertyName: str
|
||||
uri: NotRequired[str]
|
||||
relationType: NotRequired[str]
|
||||
relatedPropertyUri: NotRequired[str]
|
||||
relatedPropertyName: NotRequired[str]
|
||||
|
||||
|
||||
class PropertyClassContractV4(TypedDict):
|
||||
uri: str
|
||||
code: str
|
||||
uri: NotRequired[str]
|
||||
code: NotRequired[str]
|
||||
name: str
|
||||
definition: str
|
||||
description: str
|
||||
propertySet: str
|
||||
definition: NotRequired[str]
|
||||
description: NotRequired[str]
|
||||
propertySet: NotRequired[str]
|
||||
|
||||
|
||||
class ClassRelationContractV1(TypedDict):
|
||||
uri: str
|
||||
uri: NotRequired[str]
|
||||
relationType: str
|
||||
relatedClassUri: str
|
||||
relatedClassName: str
|
||||
fraction: float
|
||||
relatedClassName: NotRequired[str]
|
||||
fraction: NotRequired[float]
|
||||
|
||||
|
||||
class TextSearchResponseContractV1(TypedDict):
|
||||
totalCount: int
|
||||
offset: int
|
||||
count: int
|
||||
classes: list[TextSearchResponseClassContractV1]
|
||||
dictionaries: list[TextSearchResponseDictionaryContractV1]
|
||||
properties: list[TextSearchResponsePropertyContractV1]
|
||||
totalCount: NotRequired[int]
|
||||
offset: NotRequired[int]
|
||||
count: NotRequired[int]
|
||||
classes: NotRequired[list[TextSearchResponseClassContractV1]]
|
||||
dictionaries: NotRequired[list[TextSearchResponseDictionaryContractV1]]
|
||||
properties: NotRequired[list[TextSearchResponsePropertyContractV1]]
|
||||
|
||||
|
||||
class TextSearchResponseClassContractV1(TypedDict):
|
||||
dictionaryUri: str
|
||||
dictionaryName: str
|
||||
name: str
|
||||
referenceCode: str
|
||||
uri: str
|
||||
classType: str
|
||||
description: str
|
||||
parentClassName: str
|
||||
relatedIfcEntityNames: list[str]
|
||||
dictionaryUri: NotRequired[str]
|
||||
dictionaryName: NotRequired[str]
|
||||
name: NotRequired[str]
|
||||
referenceCode: NotRequired[str]
|
||||
uri: NotRequired[str]
|
||||
classType: NotRequired[str]
|
||||
description: NotRequired[str]
|
||||
parentClassName: NotRequired[str]
|
||||
relatedIfcEntityNames: NotRequired[list[str]]
|
||||
|
||||
|
||||
class TextSearchResponseDictionaryContractV1(TypedDict):
|
||||
uri: str
|
||||
name: str
|
||||
uri: NotRequired[str]
|
||||
name: NotRequired[str]
|
||||
|
||||
|
||||
class TextSearchResponsePropertyContractV1(TypedDict):
|
||||
dictionaryUri: str
|
||||
dictionaryName: str
|
||||
uri: str
|
||||
name: str
|
||||
description: str
|
||||
dictionaryUri: NotRequired[str]
|
||||
dictionaryName: NotRequired[str]
|
||||
uri: NotRequired[str]
|
||||
name: NotRequired[str]
|
||||
description: NotRequired[str]
|
||||
|
||||
|
||||
class ClassContractV1(TypedDict):
|
||||
dictionaryUri: str
|
||||
dictionaryUri: NotRequired[str]
|
||||
activationDateUtc: str
|
||||
code: str
|
||||
creatorLanguageCode: str
|
||||
countriesOfUse: list[str]
|
||||
countryOfOrigin: str
|
||||
deActivationDateUtc: str
|
||||
definition: str
|
||||
deprecationExplanation: str
|
||||
description: str
|
||||
documentReference: str
|
||||
creatorLanguageCode: NotRequired[str]
|
||||
countriesOfUse: NotRequired[list[str]]
|
||||
countryOfOrigin: NotRequired[str]
|
||||
deActivationDateUtc: NotRequired[str]
|
||||
definition: NotRequired[str]
|
||||
deprecationExplanation: NotRequired[str]
|
||||
description: NotRequired[str]
|
||||
documentReference: NotRequired[str]
|
||||
name: str
|
||||
uri: str
|
||||
replacedObjectCodes: list[str]
|
||||
replacingObjectCodes: list[str]
|
||||
revisionDateUtc: str
|
||||
revisionNumber: int
|
||||
replacedObjectCodes: NotRequired[list[str]]
|
||||
replacingObjectCodes: NotRequired[list[str]]
|
||||
revisionDateUtc: NotRequired[str]
|
||||
revisionNumber: NotRequired[int]
|
||||
status: str
|
||||
subdivisionsOfUse: list[str]
|
||||
uid: str
|
||||
subdivisionsOfUse: NotRequired[list[str]]
|
||||
uid: NotRequired[str]
|
||||
versionDateUtc: str
|
||||
versionNumber: int
|
||||
visualRepresentationUri: str
|
||||
classType: str
|
||||
referenceCode: str
|
||||
synonyms: list[str]
|
||||
relatedIfcEntityNames: list[str]
|
||||
parentClassReference: ClassReferenceContractV1
|
||||
classProperties: list[ClassPropertyContractV1]
|
||||
classRelations: list[ClassRelationContractV1]
|
||||
childClassReferences: list[ClassReferenceContractV1]
|
||||
reverseClassRelations: list[ClassReverseRelationContractV1]
|
||||
hierarchy: list[HierarchyItemContractV1]
|
||||
versionNumber: NotRequired[int]
|
||||
visualRepresentationUri: NotRequired[str]
|
||||
classType: NotRequired[str]
|
||||
referenceCode: NotRequired[str]
|
||||
synonyms: NotRequired[list[str]]
|
||||
relatedIfcEntityNames: NotRequired[list[str]]
|
||||
parentClassReference: NotRequired[ClassReferenceContractV1]
|
||||
classProperties: NotRequired[list[ClassPropertyContractV1]]
|
||||
classRelations: NotRequired[list[ClassRelationContractV1]]
|
||||
childClassReferences: NotRequired[list[ClassReferenceContractV1]]
|
||||
reverseClassRelations: NotRequired[list[ClassReverseRelationContractV1]]
|
||||
hierarchy: NotRequired[list[HierarchyItemContractV1]]
|
||||
|
||||
|
||||
class ClassReverseRelationContractV1(TypedDict):
|
||||
relationType: str
|
||||
classUri: str
|
||||
className: str
|
||||
fraction: float
|
||||
dictionaryUri: str
|
||||
className: NotRequired[str]
|
||||
fraction: NotRequired[float]
|
||||
dictionaryUri: NotRequired[str]
|
||||
|
||||
|
||||
class HierarchyItemContractV1(TypedDict):
|
||||
@@ -354,49 +352,49 @@ class HierarchyItemContractV1(TypedDict):
|
||||
|
||||
|
||||
class SearchInDictionaryResponseContractV1(TypedDict):
|
||||
totalCount: int
|
||||
offset: int
|
||||
count: int
|
||||
dictionary: DictionarySearchResultContractV1
|
||||
totalCount: NotRequired[int]
|
||||
offset: NotRequired[int]
|
||||
count: NotRequired[int]
|
||||
dictionary: NotRequired[DictionarySearchResultContractV1]
|
||||
|
||||
|
||||
class DictionarySearchResultContractV1(TypedDict):
|
||||
name: str
|
||||
uri: str
|
||||
classes: list[ClassSearchResultContractV1]
|
||||
name: NotRequired[str]
|
||||
uri: NotRequired[str]
|
||||
classes: NotRequired[list[ClassSearchResultContractV1]]
|
||||
|
||||
|
||||
class ClassSearchResultContractV1(TypedDict):
|
||||
name: str
|
||||
uri: str
|
||||
referenceCode: str
|
||||
classType: str
|
||||
definition: str
|
||||
synonyms: list[str]
|
||||
name: NotRequired[str]
|
||||
uri: NotRequired[str]
|
||||
referenceCode: NotRequired[str]
|
||||
classType: NotRequired[str]
|
||||
definition: NotRequired[str]
|
||||
synonyms: NotRequired[list[str]]
|
||||
|
||||
|
||||
class ClassSearchResponseContractV1(TypedDict):
|
||||
totalCount: int
|
||||
offset: int
|
||||
count: int
|
||||
classes: list[ClassSearchResponseClassContractV1]
|
||||
totalCount: NotRequired[int]
|
||||
offset: NotRequired[int]
|
||||
count: NotRequired[int]
|
||||
classes: NotRequired[list[ClassSearchResponseClassContractV1]]
|
||||
|
||||
|
||||
class ClassSearchResponseClassContractV1(TypedDict):
|
||||
dictionaryUri: str
|
||||
dictionaryName: str
|
||||
name: str
|
||||
referenceCode: str
|
||||
uri: str
|
||||
classType: str
|
||||
description: str
|
||||
parentClassName: str
|
||||
relatedIfcEntityNames: list[str]
|
||||
dictionaryUri: NotRequired[str]
|
||||
dictionaryName: NotRequired[str]
|
||||
name: NotRequired[str]
|
||||
referenceCode: NotRequired[str]
|
||||
uri: NotRequired[str]
|
||||
classType: NotRequired[str]
|
||||
description: NotRequired[str]
|
||||
parentClassName: NotRequired[str]
|
||||
relatedIfcEntityNames: NotRequired[list[str]]
|
||||
|
||||
|
||||
class CountryContractV1(TypedDict):
|
||||
code: str
|
||||
name: str
|
||||
code: NotRequired[str]
|
||||
name: NotRequired[str]
|
||||
|
||||
|
||||
class LanguageContractV1(TypedDict):
|
||||
@@ -405,21 +403,21 @@ class LanguageContractV1(TypedDict):
|
||||
|
||||
|
||||
class ReferenceDocumentContractV1(TypedDict):
|
||||
title: str
|
||||
name: str
|
||||
date: str
|
||||
title: NotRequired[str]
|
||||
name: NotRequired[str]
|
||||
date: NotRequired[str]
|
||||
|
||||
|
||||
class UnitContractV1(TypedDict):
|
||||
code: str
|
||||
name: str
|
||||
symbol: str
|
||||
qudtUri: str
|
||||
code: NotRequired[str]
|
||||
name: NotRequired[str]
|
||||
symbol: NotRequired[str]
|
||||
qudtUri: NotRequired[str]
|
||||
|
||||
|
||||
class CodeNameDto(TypedDict):
|
||||
code: str
|
||||
name: str
|
||||
code: NotRequired[str]
|
||||
name: NotRequired[str]
|
||||
|
||||
|
||||
class OAuthReceiver(http.server.BaseHTTPRequestHandler):
|
||||
|
||||
@@ -23,7 +23,10 @@ classifiers = [
|
||||
"Programming Language :: Python :: Implementation :: PyPy",
|
||||
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
|
||||
]
|
||||
dependencies = ["requests"]
|
||||
dependencies = [
|
||||
"requests",
|
||||
"typing-extensions",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = [
|
||||
|
||||
@@ -59,8 +59,8 @@ if __name__ == "__main__":
|
||||
props_str = ""
|
||||
for prop_name, prop_data in props.items():
|
||||
python_type = get_python_type(prop_data)
|
||||
# if prop_name not in required:
|
||||
# python_type = f"NotRequired[{python_type}]"
|
||||
if prop_name not in required:
|
||||
python_type = f"NotRequired[{python_type}]"
|
||||
props_str += f" {prop_name}: {python_type}\n"
|
||||
class_strings[class_header] = props_str
|
||||
|
||||
|
||||
Reference in New Issue
Block a user