getindata/dbt-airflow-factory

View on GitHub

Showing 74 of 86 total issues

Import from dbt_graph_builder.gateway import GatewayConfiguration should be placed at the top of the module
Open

from dbt_graph_builder.gateway import GatewayConfiguration

Used when code and imports are mixed

Missing module docstring
Open

from collections.abc import Callable

Used when a module has no docstring.Empty modules do not require a docstring.

Too few public methods (0/2)
Open

class EcsExecutionParameters:

Used when class has too few public methods, so be sure it's really worth it.

third party import from dbt_graph_builder.gateway import GatewayConfiguration should be placed before from dbt_airflow_factory.constants import IS_FIRST_AIRFLOW_VERSION
Open

from dbt_graph_builder.gateway import GatewayConfiguration

Used when PEP8 import order is not respected (standard imports first, then third-party libraries, then local imports)

Imports from package dbt_airflow_factory are not grouped
Open

from dbt_airflow_factory.operator import DbtRunOperatorBuilder, EphemeralOperator

Used when imports are not grouped by packages

Missing function or method docstring
Open

    def create_config(

Used when a function or method has no docstring.Some special methods like init do not require a docstring.

Too few public methods (1/2)
Open

class BashOperatorBuilder(DbtRunOperatorBuilder):

Used when class has too few public methods, so be sure it's really worth it.

Import from airflow.models.baseoperator import BaseOperator should be placed at the top of the module
Open

from airflow.models.baseoperator import BaseOperator

Used when code and imports are mixed

Too many instance attributes (8/7)
Open

class MSTeamsWebhookHook(HttpHook):

Used when class has too many instance attributes, try to reduce this to get a simpler (and so easier to use) class.

Too many instance attributes (8/7)
Open

class MSTeamsWebhookOperator(SimpleHttpOperator):

Used when class has too many instance attributes, try to reduce this to get a simpler (and so easier to use) class.

Import from dbt_graph_builder.graph import DbtManifestGraph should be placed at the top of the module
Open

from dbt_graph_builder.graph import DbtManifestGraph

Used when code and imports are mixed

Variable name f doesn't conform to snake_case naming style
Open

        with open(manifest_path, "r") as f:

Used when the name doesn't conform to naming rules associated to its type (constant, variable, class...).

Unused argument 'kwargs'
Open

    def __init__(self, execution_script: str = "dbt --no-write-json", **kwargs: Any) -> None:

Used when a function or method argument is not used.

third party import from dbt_graph_builder.builder import GraphConfiguration, create_tasks_graph should be placed before from dbt_airflow_factory.constants import IS_FIRST_AIRFLOW_VERSION
Open

from dbt_graph_builder.builder import GraphConfiguration, create_tasks_graph

Used when PEP8 import order is not respected (standard imports first, then third-party libraries, then local imports)

Too few public methods (1/2)
Open

class KubernetesExecutionParametersLoader:

Used when class has too few public methods, so be sure it's really worth it.

Too many instance attributes (17/7)
Open

class KubernetesExecutionParameters:

Used when class has too many instance attributes, try to reduce this to get a simpler (and so easier to use) class.

Import from airflow.utils.decorators import apply_defaults should be placed at the top of the module
Open

from airflow.utils.decorators import apply_defaults

Used when code and imports are mixed

Too few public methods (0/2)
Open

class BashExecutionParameters:

Used when class has too few public methods, so be sure it's really worth it.

Imports from package dbt_airflow_factory are not grouped
Open

from dbt_airflow_factory.notifications.ms_teams_webhook_hook import MSTeamsWebhookHook

Used when imports are not grouped by packages

Unnecessary else after return
Open

        if IS_FIRST_AIRFLOW_VERSION:

Used in order to highlight an unnecessary block of code following an if containing a return statement. As such, it will warn when it encounters an else following a chain of ifs, all of them containing a return statement.

Severity
Category
Status
Source
Language