Skip to content

Dlthub

ConfigurableDltResource

Bases: DltResource

Wrapper class to add aditional attributes to the DltResource class. These attributes are used in the factory to add aditional configuration such as automation conditions, asset checks, tags, and upstream external assets.

Source code in data_platform\lib\dlthub\__init__.py
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
class ConfigurableDltResource(DltResource):
    """Wrapper class to add aditional attributes to the DltResource class.  These
    attributes are used in the factory to add aditional configuration such as automation
    conditions, asset checks, tags, and upstream external assets.
    """

    meta: dict | None
    tags: list | None
    kinds: set | None

    @staticmethod
    def config(
        resource: DltResource,
        meta: dict | None = None,
        tags: list[str] | None = None,
        kinds: set[str] | None = None,
    ) -> "ConfigurableDltResource":
        """Returns a ConfigurableDltResource wrapped DltResource with aditional
        attributes used by the factory to generate enhanced definitions.
        """
        resource = ConfigurableDltResource._convert(resource, meta, tags, kinds)
        return resource  # type: ignore

    @staticmethod
    def _convert(
        dlt_resource: DltResource,
        meta: dict | None,
        tags: list[str] | None,
        kinds: set[str] | None,
    ) -> "ConfigurableDltResource":
        """Helper method to wrap a DltResource"""
        dlt_resource.tags = tags  # type: ignore
        dlt_resource.meta = meta  # type: ignore
        dlt_resource.kinds = kinds  # type: ignore
        return dlt_resource  # type: ignore

config(resource, meta=None, tags=None, kinds=None) staticmethod

Returns a ConfigurableDltResource wrapped DltResource with aditional attributes used by the factory to generate enhanced definitions.

Source code in data_platform\lib\dlthub\__init__.py
27
28
29
30
31
32
33
34
35
36
37
38
@staticmethod
def config(
    resource: DltResource,
    meta: dict | None = None,
    tags: list[str] | None = None,
    kinds: set[str] | None = None,
) -> "ConfigurableDltResource":
    """Returns a ConfigurableDltResource wrapped DltResource with aditional
    attributes used by the factory to generate enhanced definitions.
    """
    resource = ConfigurableDltResource._convert(resource, meta, tags, kinds)
    return resource  # type: ignore