Skip to content

Commit 47456d3

Browse files
authored
feat: add dbt v1.8 support without pydantic v2 (#39)
* add dbt v1.8 support without pydantic v2 * change version
1 parent e3c43da commit 47456d3

File tree

8 files changed

+467
-1
lines changed

8 files changed

+467
-1
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def read(*names, **kwargs):
6363
python_requires=">=3.8",
6464
install_requires=[
6565
"click==8.1.7",
66-
"dbt-artifacts-parser==0.5.1",
66+
"dbt-artifacts-parser==0.6.0",
6767
"ruamel.yaml==0.18.6",
6868
"tabulate==0.9.0",
6969
"requests==2.31.0",

src/datapilot/core/platforms/dbt/factory.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
11
from dbt_artifacts_parser.parsers.catalog.catalog_v1 import CatalogV1
22
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import ManifestV10
33
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import ManifestV11
4+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import ManifestV12
45

56
from datapilot.core.platforms.dbt.schemas.manifest import Catalog
67
from datapilot.core.platforms.dbt.schemas.manifest import Manifest
78
from datapilot.core.platforms.dbt.wrappers.catalog.v1.wrapper import CatalogV1Wrapper
89
from datapilot.core.platforms.dbt.wrappers.manifest.v10.wrapper import ManifestV10Wrapper
910
from datapilot.core.platforms.dbt.wrappers.manifest.v11.wrapper import ManifestV11Wrapper
11+
from datapilot.core.platforms.dbt.wrappers.manifest.v12.wrapper import ManifestV12Wrapper
1012
from datapilot.exceptions.exceptions import AltimateNotSupportedError
1113

1214

1315
class DBTFactory:
1416
@classmethod
1517
def get_manifest_wrapper(cls, manifest: Manifest):
18+
if isinstance(manifest, ManifestV12):
19+
return ManifestV12Wrapper(manifest)
1620
if isinstance(manifest, ManifestV11):
1721
return ManifestV11Wrapper(manifest)
1822
if isinstance(manifest, ManifestV10):

src/datapilot/core/platforms/dbt/wrappers/manifest/v12/__init__.py

Whitespace-only changes.
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
from typing import Dict
2+
from typing import Type
3+
from typing import Union
4+
5+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Exposures
6+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Macros
7+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Node
8+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Node1
9+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Node2
10+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Node3
11+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Node4
12+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Node5
13+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Node6
14+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Node7
15+
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Sources
16+
17+
from datapilot.core.platforms.dbt.constants import GENERIC
18+
from datapilot.core.platforms.dbt.constants import SINGULAR
19+
20+
ManifestNode = Union[Node, Node1, Node2, Node3, Node4, Node5, Node6, Node7]
21+
22+
SourceNode = Sources
23+
24+
ExposureNode = Exposures
25+
26+
TestNode = Union[Node6, Node2]
27+
28+
MacroNode = Macros
29+
30+
TEST_TYPE_TO_NODE_MAP: Dict[str, Type] = {
31+
GENERIC: [Node6],
32+
SINGULAR: [Node2],
33+
}
34+
35+
36+
SeedNodeMap = Node

0 commit comments

Comments
 (0)