Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# pre-commit install --install-hooks
# To update the versions:
# pre-commit autoupdate
exclude: '^(\.tox|ci/templates|\.bumpversion\.cfg)(/|$)'
exclude: '^(\.tox|ci/templates|\.bumpversion\.cfg|src/vendor)(/|$)'
# Note the order is intentional to avoid multiple passes of the hooks
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def read(*names, **kwargs):
python_requires=">=3.8",
install_requires=[
"click~=8.1.7",
"dbt-artifacts-parser @ git+https://github.com/mdesmet/dbt-artifacts-parser.git@2c0810ee557feeeaca66a8c46a0b764bb8f3a0bc",
"pydantic >=2.0,<3.0",
"ruamel.yaml~=0.18.6",
"tabulate~=0.9.0",
"requests>=2.31",
Expand Down
9 changes: 4 additions & 5 deletions src/datapilot/core/platforms/dbt/factory.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
# Remove the import of CatalogV1 from dbt_artifacts_parser since we use our custom version
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import ManifestV10
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import ManifestV11
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import ManifestV12

# Remove the import of CatalogV1 from vendor.dbt_artifacts_parser since we use our custom version
from datapilot.core.platforms.dbt.schemas.catalog import Catalog
from datapilot.core.platforms.dbt.schemas.catalog import CatalogV1
from datapilot.core.platforms.dbt.schemas.manifest import Manifest
Expand All @@ -11,6 +7,9 @@
from datapilot.core.platforms.dbt.wrappers.manifest.v11.wrapper import ManifestV11Wrapper
from datapilot.core.platforms.dbt.wrappers.manifest.v12.wrapper import ManifestV12Wrapper
from datapilot.exceptions.exceptions import AltimateNotSupportedError
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import ManifestV10
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import ManifestV11
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import ManifestV12


class DBTFactory:
Expand Down
5 changes: 3 additions & 2 deletions src/datapilot/core/platforms/dbt/schemas/catalog.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@
from typing import Optional
from typing import Union

from dbt_artifacts_parser.parsers.catalog.catalog_v1 import CatalogV1 as BaseCatalogV1
from dbt_artifacts_parser.parsers.catalog.catalog_v1 import Metadata as BaseMetadata
from pydantic.main import BaseModel

from vendor.dbt_artifacts_parser.parsers.catalog.catalog_v1 import CatalogV1 as BaseCatalogV1
from vendor.dbt_artifacts_parser.parsers.catalog.catalog_v1 import Metadata as BaseMetadata


class AltimateCatalogMetadata(BaseModel):
dbt_schema_version: Optional[str] = "https://schemas.getdbt.com/dbt/catalog/v1.json"
Expand Down
27 changes: 14 additions & 13 deletions src/datapilot/core/platforms/dbt/schemas/manifest.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,22 @@
from typing import Optional
from typing import Union

from dbt_artifacts_parser.parsers.manifest.manifest_v1 import ManifestV1
from dbt_artifacts_parser.parsers.manifest.manifest_v2 import ManifestV2
from dbt_artifacts_parser.parsers.manifest.manifest_v3 import ManifestV3
from dbt_artifacts_parser.parsers.manifest.manifest_v4 import ManifestV4
from dbt_artifacts_parser.parsers.manifest.manifest_v5 import ManifestV5
from dbt_artifacts_parser.parsers.manifest.manifest_v6 import ManifestV6
from dbt_artifacts_parser.parsers.manifest.manifest_v7 import ManifestV7
from dbt_artifacts_parser.parsers.manifest.manifest_v8 import ManifestV8
from dbt_artifacts_parser.parsers.manifest.manifest_v9 import ManifestV9
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import ManifestV10
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import ManifestV11
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import SupportedLanguage
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import ManifestV12
from pydantic import BaseModel

from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v1 import ManifestV1
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v2 import ManifestV2
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v3 import ManifestV3
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v4 import ManifestV4
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v5 import ManifestV5
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v6 import ManifestV6
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v7 import ManifestV7
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v8 import ManifestV8
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v9 import ManifestV9
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import ManifestV10
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import ManifestV11
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import SupportedLanguage
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import ManifestV12


class DBTVersion(BaseModel):
MAJOR: int
Expand Down
3 changes: 1 addition & 2 deletions src/datapilot/core/platforms/dbt/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
from typing import Tuple
from typing import Union

from dbt_artifacts_parser.parser import parse_manifest

from datapilot.core.platforms.dbt.constants import BASE
from datapilot.core.platforms.dbt.constants import FOLDER
from datapilot.core.platforms.dbt.constants import INTERMEDIATE
Expand All @@ -30,6 +28,7 @@
from datapilot.utils.utils import extract_folders_in_path
from datapilot.utils.utils import is_superset_path
from datapilot.utils.utils import load_json
from vendor.dbt_artifacts_parser.parser import parse_manifest

MODEL_TYPE_PATTERNS = {
STAGING: r"^stg_.*", # Example: models starting with 'stg_'
Expand Down
25 changes: 12 additions & 13 deletions src/datapilot/core/platforms/dbt/wrappers/manifest/v10/schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,20 @@
from typing import Type
from typing import Union

from dbt_artifacts_parser.parsers.manifest.manifest_v10 import AnalysisNode
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import Exposure
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import GenericTestNode
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import HookNode
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import Macro
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import ModelNode
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import RPCNode
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import SeedNode
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import SingularTestNode
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import SnapshotNode
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import SourceDefinition
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import SqlNode

from datapilot.core.platforms.dbt.constants import GENERIC
from datapilot.core.platforms.dbt.constants import SINGULAR
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import AnalysisNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import Exposure
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import GenericTestNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import HookNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import Macro
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import ModelNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import RPCNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import SeedNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import SingularTestNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import SnapshotNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import SourceDefinition
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import SqlNode

ManifestNode = Union[
AnalysisNode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
from typing import Optional
from typing import Set

from dbt_artifacts_parser.parsers.manifest.manifest_v10 import GenericTestNode
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import ManifestV10
from dbt_artifacts_parser.parsers.manifest.manifest_v10 import SingularTestNode

from datapilot.core.platforms.dbt.constants import GENERIC
from datapilot.core.platforms.dbt.constants import OTHER_TEST_NODE
from datapilot.core.platforms.dbt.constants import SEED
Expand Down Expand Up @@ -42,6 +38,9 @@
from datapilot.core.platforms.dbt.wrappers.manifest.v10.schemas import SourceNode
from datapilot.core.platforms.dbt.wrappers.manifest.v10.schemas import TestNode
from datapilot.core.platforms.dbt.wrappers.manifest.wrapper import BaseManifestWrapper
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import GenericTestNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import ManifestV10
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v10 import SingularTestNode


class ManifestV10Wrapper(BaseManifestWrapper):
Expand Down
25 changes: 12 additions & 13 deletions src/datapilot/core/platforms/dbt/wrappers/manifest/v11/schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,20 @@
from typing import Type
from typing import Union

from dbt_artifacts_parser.parsers.manifest.manifest_v11 import AnalysisNode
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import Exposure
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import GenericTestNode
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import HookNode
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import Macro
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import ModelNode
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import RPCNode
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import SeedNode
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import SingularTestNode
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import SnapshotNode
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import SourceDefinition
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import SqlNode

from datapilot.core.platforms.dbt.constants import GENERIC
from datapilot.core.platforms.dbt.constants import SINGULAR
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import AnalysisNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import Exposure
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import GenericTestNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import HookNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import Macro
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import ModelNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import RPCNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import SeedNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import SingularTestNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import SnapshotNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import SourceDefinition
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import SqlNode

ManifestNode = Union[
AnalysisNode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
from typing import Optional
from typing import Set

from dbt_artifacts_parser.parsers.manifest.manifest_v11 import GenericTestNode
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import ManifestV11
from dbt_artifacts_parser.parsers.manifest.manifest_v11 import SingularTestNode

from datapilot.core.platforms.dbt.constants import GENERIC
from datapilot.core.platforms.dbt.constants import OTHER_TEST_NODE
from datapilot.core.platforms.dbt.constants import SEED
Expand Down Expand Up @@ -42,6 +38,9 @@
from datapilot.core.platforms.dbt.wrappers.manifest.v11.schemas import SourceNode
from datapilot.core.platforms.dbt.wrappers.manifest.v11.schemas import TestNode
from datapilot.core.platforms.dbt.wrappers.manifest.wrapper import BaseManifestWrapper
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import GenericTestNode
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import ManifestV11
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v11 import SingularTestNode


class ManifestV11Wrapper(BaseManifestWrapper):
Expand Down
23 changes: 11 additions & 12 deletions src/datapilot/core/platforms/dbt/wrappers/manifest/v12/schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,19 @@
from typing import Type
from typing import Union

from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Exposures
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Macros
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes1
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes2
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes3
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes4
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes5
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes6
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes7
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Sources

from datapilot.core.platforms.dbt.constants import GENERIC
from datapilot.core.platforms.dbt.constants import SINGULAR
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Exposures
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Macros
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes1
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes2
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes3
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes4
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes5
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes6
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes7
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Sources

ManifestNode = Union[Nodes, Nodes1, Nodes2, Nodes3, Nodes4, Nodes5, Nodes6, Nodes7]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
from typing import Optional
from typing import Set

from dbt_artifacts_parser.parsers.manifest.manifest_v12 import ManifestV12
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes2
from dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes6

from datapilot.core.platforms.dbt.constants import GENERIC
from datapilot.core.platforms.dbt.constants import OTHER_TEST_NODE
from datapilot.core.platforms.dbt.constants import SEED
Expand Down Expand Up @@ -44,6 +40,9 @@
from datapilot.core.platforms.dbt.wrappers.manifest.v12.schemas import SourceNode
from datapilot.core.platforms.dbt.wrappers.manifest.v12.schemas import TestNode
from datapilot.core.platforms.dbt.wrappers.manifest.wrapper import BaseManifestWrapper
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import ManifestV12
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes2
from vendor.dbt_artifacts_parser.parsers.manifest.manifest_v12 import Nodes6


class ManifestV12Wrapper(BaseManifestWrapper):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
from abc import ABC
from abc import abstractmethod

from dbt_artifacts_parser.parsers.run_results.run_results_v1 import RunResultsV1
from dbt_artifacts_parser.parsers.run_results.run_results_v2 import RunResultsV2
from dbt_artifacts_parser.parsers.run_results.run_results_v3 import RunResultsV3
from dbt_artifacts_parser.parsers.run_results.run_results_v4 import RunResultsV4
from dbt_artifacts_parser.parsers.run_results.run_results_v5 import RunResultsV5
from vendor.dbt_artifacts_parser.parsers.run_results.run_results_v1 import RunResultsV1
from vendor.dbt_artifacts_parser.parsers.run_results.run_results_v2 import RunResultsV2
from vendor.dbt_artifacts_parser.parsers.run_results.run_results_v3 import RunResultsV3
from vendor.dbt_artifacts_parser.parsers.run_results.run_results_v4 import RunResultsV4
from vendor.dbt_artifacts_parser.parsers.run_results.run_results_v5 import RunResultsV5


class BaseRunResultsWrapper(ABC):
Expand Down
3 changes: 1 addition & 2 deletions src/datapilot/utils/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,11 @@
from typing import List
from typing import Union

from dbt_artifacts_parser.parser import parse_manifest

from datapilot.config.config import load_config
from datapilot.core.platforms.dbt.schemas.catalog import CatalogV1
from datapilot.schemas.nodes import ModelNode
from datapilot.schemas.nodes import SourceNode
from vendor.dbt_artifacts_parser.parser import parse_manifest


def load_json(file_path: str) -> Dict:
Expand Down
Empty file added src/vendor/__init__.py
Empty file.
21 changes: 21 additions & 0 deletions src/vendor/dbt_artifacts_parser/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
"""
A dbt artifacts parser in python
"""

__version__ = "0.9.0"
Loading