Skip to content

Commit ab3ab74

Browse files
authored
Upgrade datamodel-code-generator and manifest v12 (#154)
Signed-off-by: Yu Ishikawa <yu-iskw@users.noreply.github.com>
1 parent c4672fd commit ab3ab74

22 files changed

+2109
-289
lines changed

dbt_artifacts_parser/parsers/manifest/manifest_v1.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33

44
from __future__ import annotations
55

6+
from datetime import datetime
67
from enum import Enum
78
from typing import Any, Dict, List, Optional, Union
89

9-
from pydantic import AwareDatetime, ConfigDict, Field, constr
10+
from pydantic import ConfigDict, Field, constr
1011

1112
from dbt_artifacts_parser.parsers.base import BaseParserModel
1213

@@ -15,11 +16,11 @@ class ManifestMetadata(BaseParserModel):
1516
model_config = ConfigDict(
1617
extra='forbid',
1718
)
18-
dbt_schema_version: Optional[
19-
str
20-
] = 'https://schemas.getdbt.com/dbt/manifest/v1.json'
19+
dbt_schema_version: Optional[str] = (
20+
'https://schemas.getdbt.com/dbt/manifest/v1.json'
21+
)
2122
dbt_version: Optional[str] = '0.19.0'
22-
generated_at: Optional[AwareDatetime] = '2021-02-10T04:42:33.683996Z'
23+
generated_at: Optional[datetime] = '2021-02-10T04:42:33.683996Z'
2324
invocation_id: Optional[str] = None
2425
env: Optional[Dict[str, str]] = {}
2526
project_id: Optional[str] = Field(
@@ -113,9 +114,9 @@ class TestConfig(BaseParserModel):
113114
database: Optional[str] = None
114115
tags: Optional[Union[List[str], str]] = []
115116
full_refresh: Optional[bool] = None
116-
severity: Optional[
117-
constr(pattern=r'^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$')
118-
] = 'ERROR'
117+
severity: Optional[constr(pattern=r'^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$')] = (
118+
'ERROR'
119+
)
119120

120121

121122
class ResourceType2(Enum):
@@ -430,8 +431,7 @@ class CheckSnapshotConfig(BaseParserModel):
430431
check_cols: Union[CheckCols, List[str]]
431432

432433

433-
class Strategy2(BaseParserModel):
434-
pass
434+
Strategy2 = BaseParserModel
435435

436436

437437
class GenericSnapshotConfig(BaseParserModel):
@@ -477,7 +477,7 @@ class FreshnessMetadata(BaseParserModel):
477477
)
478478
dbt_schema_version: Optional[str] = 'https://schemas.getdbt.com/dbt/sources/v1.json'
479479
dbt_version: Optional[str] = '0.19.0'
480-
generated_at: Optional[AwareDatetime] = '2021-02-10T04:42:33.675309Z'
480+
generated_at: Optional[datetime] = '2021-02-10T04:42:33.675309Z'
481481
invocation_id: Optional[str] = None
482482
env: Optional[Dict[str, str]] = {}
483483

@@ -1307,8 +1307,8 @@ class SourceFreshnessOutput(BaseParserModel):
13071307
extra='forbid',
13081308
)
13091309
unique_id: str
1310-
max_loaded_at: AwareDatetime
1311-
snapshotted_at: AwareDatetime
1310+
max_loaded_at: datetime
1311+
snapshotted_at: datetime
13121312
max_loaded_at_time_ago_in_s: float
13131313
status: Status1
13141314
criteria: FreshnessThreshold

dbt_artifacts_parser/parsers/manifest/manifest_v10.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33

44
from __future__ import annotations
55

6+
from datetime import datetime
67
from enum import Enum
78
from typing import Any, Dict, List, Optional, Union
89

9-
from pydantic import AwareDatetime, ConfigDict, Field, constr
10+
from pydantic import ConfigDict, Field, constr
1011

1112
from dbt_artifacts_parser.parsers.base import BaseParserModel
1213

@@ -15,11 +16,11 @@ class ManifestMetadata(BaseParserModel):
1516
model_config = ConfigDict(
1617
extra='forbid',
1718
)
18-
dbt_schema_version: Optional[
19-
str
20-
] = 'https://schemas.getdbt.com/dbt/manifest/v10.json'
19+
dbt_schema_version: Optional[str] = (
20+
'https://schemas.getdbt.com/dbt/manifest/v10.json'
21+
)
2122
dbt_version: Optional[str] = '1.6.0'
22-
generated_at: Optional[AwareDatetime] = '2023-08-07T20:10:03.381822Z'
23+
generated_at: Optional[datetime] = '2023-08-07T20:10:03.381822Z'
2324
invocation_id: Optional[str] = '03dee192-ff77-43cc-bc3f-5eeaf6d36344'
2425
env: Optional[Dict[str, str]] = {}
2526
project_name: Optional[str] = Field(None, description='Name of the root project')
@@ -149,9 +150,9 @@ class TestConfig(BaseParserModel):
149150
meta: Optional[Dict[str, Any]] = {}
150151
group: Optional[str] = None
151152
materialized: Optional[str] = 'test'
152-
severity: Optional[
153-
constr(pattern=r'^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$')
154-
] = 'ERROR'
153+
severity: Optional[constr(pattern=r'^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$')] = (
154+
'ERROR'
155+
)
155156
store_failures: Optional[bool] = None
156157
where: Optional[str] = None
157158
limit: Optional[int] = None
@@ -898,7 +899,7 @@ class ModelNode(BaseParserModel):
898899
constraints: Optional[List[ModelLevelConstraint]] = []
899900
version: Optional[Union[str, float]] = None
900901
latest_version: Optional[Union[str, float]] = None
901-
deprecation_date: Optional[AwareDatetime] = None
902+
deprecation_date: Optional[datetime] = None
902903
defer_relation: Optional[DeferRelation] = None
903904

904905

dbt_artifacts_parser/parsers/manifest/manifest_v11.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -231,9 +231,9 @@ class TestConfig(BaseParserModel):
231231
meta: Optional[Dict[str, Any]] = None
232232
group: Optional[str] = None
233233
materialized: Optional[str] = 'test'
234-
severity: Optional[
235-
constr(pattern=r'^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$')
236-
] = 'ERROR'
234+
severity: Optional[constr(pattern=r'^([Ww][Aa][Rr][Nn]|[Ee][Rr][Rr][Oo][Rr])$')] = (
235+
'ERROR'
236+
)
237237
store_failures: Optional[bool] = None
238238
store_failures_as: Optional[str] = None
239239
where: Optional[str] = None
@@ -1447,8 +1447,3 @@ class ManifestV11(BaseParserModel):
14471447
semantic_models: Dict[str, SemanticModel] = Field(
14481448
..., description='The semantic models defined in the dbt project'
14491449
)
1450-
1451-
1452-
# NOTE: We manually change the class, as the generated code is not correct.
1453-
# class ManifestV11(RootModel[WritableManifest]):
1454-
# root: WritableManifest

0 commit comments

Comments
 (0)