Repository Analysis

dbt-labs/dbt-core

dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications.

12.2 Low AI signal View on GitHub
12.2
Adjusted Score
12.2
Raw Score
100%
Time Factor
2026-05-30
Last Push
12,876
Stars
Python
Language
259,272
Lines of Code
890
Files
2830
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 85MEDIUM 142LOW 2603

Pattern Findings

2830 matches across 17 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers2021 hits · 1863 pts
SeverityFileLineSnippet
LOWcore/dbt/version.py214def _get_adapter_plugin_names() -> Iterator[str]:
LOWcore/dbt/deprecations.py284def show_deprecations_summary() -> None:
LOWcore/dbt/deprecations.py356def fire_buffered_deprecations():
LOWcore/dbt/compilation.py526 def _recursively_prepend_ctes(
LOWcore/dbt/compilation.py708 def _compile_relation_for_foreign_key_constraint_to(
LOWcore/dbt/tracking.py316def get_base_invocation_context():
LOWcore/dbt/tracking.py371def track_behavior_change_warn(msg: EventMsg) -> None:
LOWcore/dbt/tracking.py413def track_experimental_parser_sample(options):
LOWcore/dbt/clients/registry.py50def _get_package_with_retries(
LOWcore/dbt/clients/jinja_static.py20def statically_check_has_jinja(source: Optional[str]) -> bool:
LOWcore/dbt/clients/jinja_static.py31def statically_extract_has_name_this(source: str) -> bool:
LOWcore/dbt/clients/jinja_static.py43def statically_extract_macro_calls(
LOWcore/dbt/clients/jinja_static.py102def statically_parse_adapter_dispatch(
LOWcore/dbt/clients/jinja_static.py169def statically_parse_ref_or_source(expression: str) -> Union[RefArgs, List[str]]:
LOWcore/dbt/clients/jinja_static.py205def statically_parse_unrendered_config(string: str) -> Optional[Dict[str, Any]]:
LOWcore/dbt/clients/jinja_static.py252def construct_static_kwarg_value(kwarg) -> str:
LOWcore/dbt/clients/yaml_helper.py42def contextualized_yaml_error(raw_contents, error):
LOWcore/dbt/clients/checked_load.py76def issue_deprecation_warnings_for_failures(failures: List[YamlCheckFailure], file: str):
LOW…bt/artifacts/resources/v1/semantic_layer_components.py32 def filter_expression_parameter_sets(
LOWcore/dbt/artifacts/resources/v1/semantic_model.py246 def checked_agg_time_dimension_for_measure(
LOWcore/dbt/artifacts/resources/v1/semantic_model.py270 def checked_agg_time_dimension_for_simple_metric(
LOWcore/dbt/artifacts/resources/v1/metric.py46 def post_aggregation_measure_reference(self) -> MeasureReference:
LOWcore/dbt/artifacts/resources/v1/metric.py75 def post_aggregation_reference(self) -> MetricReference:
LOWcore/dbt/artifacts/resources/v1/snapshot.py35 def snapshot_table_column_names(self):
LOWcore/dbt/artifacts/schemas/base.py171def get_artifact_schema_version(dct: dict) -> int:
LOWcore/dbt/artifacts/schemas/manifest/v12/manifest.py178 def compatible_previous_versions(cls) -> Iterable[Tuple[str, int]]:
LOW…facts/schemas/upgrades/upgrade_manifest_dbt_version.py1def upgrade_manifest_json_dbt_version(manifest: dict) -> dict:
LOWcore/dbt/artifacts/schemas/run/v5/run.py166 def compatible_previous_versions(cls) -> Iterable[Tuple[str, int]]:
LOWcore/dbt/materializations/incremental/microbatch.py104 def build_jinja_context_for_batch(model: ModelNode, incremental_batch: bool) -> Dict[str, Any]:
LOWcore/dbt/context/context_config.py194 def calculate_node_config_dict(
LOWcore/dbt/context/context_config.py245 def calculate_node_config_dict(
LOWcore/dbt/context/context_config.py274 def calculate_node_config_dict(
LOWcore/dbt/context/context_config.py326 def add_unrendered_config_call(self, opts: Dict[str, Any]) -> None:
LOWcore/dbt/context/exceptions_jinja.py59def raise_ambiguous_catalog_match(unique_id, match_1, match_2) -> NoReturn:
LOWcore/dbt/context/exceptions_jinja.py91def raise_duplicate_patch_name(patch_1, existing_patch_path) -> NoReturn:
LOWcore/dbt/context/exceptions_jinja.py95def raise_duplicate_resource_name(node_1, node_2) -> NoReturn:
LOWcore/dbt/context/exceptions_jinja.py99def raise_invalid_property_yml_version(path, issue) -> NoReturn:
LOWcore/dbt/context/exceptions_jinja.py119def warn_snapshot_timestamp_data_types(
LOWcore/dbt/context/docs.py74def generate_runtime_docs_context(
LOWcore/dbt/context/providers.py249 def _resolve_event_time_field_name(self, target: ManifestNode) -> str:
LOWcore/dbt/context/providers.py2015def generate_generate_name_macro_context(
LOWcore/dbt/context/providers.py2024def generate_runtime_model_context(
LOWcore/dbt/context/providers.py2033def generate_runtime_macro_context(
LOWcore/dbt/context/providers.py2043def generate_runtime_unit_test_context(
LOWcore/dbt/context/providers.py154 def _get_adapter_macro_prefixes(self) -> List[str]:
LOWcore/dbt/context/providers.py298 def resolve_event_time_filter(self, target: ManifestNode) -> Optional[EventTimeFilter]:
LOWcore/dbt/context/providers.py1985def generate_parser_model_context(
LOWcore/dbt/context/providers.py2000def generate_parser_unit_test_context(
LOWcore/dbt/context/providers.py2096def generate_runtime_function_context(
LOWcore/dbt/context/providers.py2193def generate_parse_semantic_models(
LOWcore/dbt/context/query_header.py11def generate_query_header_context(config: AdapterRequiredConfig, manifest: Manifest):
LOWcore/dbt/context/configured.py121def generate_schema_yml_context(
LOWcore/dbt/context/macro_resolver.py44 def _build_internal_packages_namespace(self) -> None:
LOWcore/dbt/context/macro_resolver.py172 def recursively_get_depends_on_macros(self, depends_on_macros, dep_macros):
LOWcore/dbt/context/base.py54def get_datetime_module_context() -> Dict[str, Any]:
LOWcore/dbt/context/base.py67def get_itertools_module_context() -> Dict[str, Any]:
LOWcore/dbt/context/base.py88 def deprecation_wrapper_inner(*args, **kwargs):
LOWcore/dbt/config/catalogs.py91def get_active_write_integration(catalog: Catalog) -> Optional[CatalogWriteIntegrationConfig]:
LOWcore/dbt/config/profile.py133 def _credentials_from_profile(
LOWcore/dbt/config/selectors.py107def selector_config_from_data(selectors_data: Dict[str, Any]) -> SelectorConfig:
1961 more matches not shown…
Cross-File Repetition62 hits · 310 pts
SeverityFileLineSnippet
HIGHtests/unit/test_version.py0now that adapters are decoupled from core, a higher minor version of a plugin is compatible with a lower minor version o
HIGHtests/unit/test_version.py0now that adapters are decoupled from core, a higher minor version of a plugin is compatible with a lower minor version o
HIGHtests/unit/test_version.py0now that adapters are decoupled from core, a higher minor version of a plugin is compatible with a lower minor version o
HIGHtests/unit/utils/__init__.py0on windows, neither is enough on its own: >>> normcase('c:\\documents/all caps/subdir\\..') 'c:\\documents\\all caps\\su
HIGHtests/functional/list/test_list.py0on windows, neither is enough on its own: >>> normcase('c:\\documents/all caps/subdir\\..') 'c:\\documents\\all caps\\su
HIGH…ts/functional/deprecations/test_config_deprecations.py0on windows, neither is enough on its own: >>> normcase('c:\\documents/all caps/subdir\\..') 'c:\\documents\\all caps\\su
HIGH…commit-hooks/no_versioned_artifact_resource_imports.py0on windows, neither is enough on its own: >>> normcase('c:\\documents/all caps/subdir\\..') 'c:\\documents\\all caps\\su
HIGHtests/functional/metrics/fixtures.py0select 1 as id, 'drew' as first_name, 'banin' as last_name, 'yellow' as favorite_color, true as loves_dbt, 5 as tenure,
HIGHtests/functional/time_spines/fixtures.py0select 1 as id, 'drew' as first_name, 'banin' as last_name, 'yellow' as favorite_color, true as loves_dbt, 5 as tenure,
HIGHtests/functional/semantic_models/fixtures.py0select 1 as id, 'drew' as first_name, 'banin' as last_name, 'yellow' as favorite_color, true as loves_dbt, 5 as tenure,
HIGHtests/functional/metrics/fixtures.py0version: 2 semantic_models: - name: semantic_people model: ref('people') dimensions: - name: favorite_color type: catego
HIGHtests/functional/time_spines/fixtures.py0version: 2 semantic_models: - name: semantic_people model: ref('people') dimensions: - name: favorite_color type: catego
HIGHtests/functional/partial_parsing/fixtures.py0version: 2 semantic_models: - name: semantic_people model: ref('people') dimensions: - name: favorite_color type: catego
HIGH…ts/functional/artifacts/test_previous_version_state.py0select to_date('02/20/2023', 'mm/dd/yyyy') as date_day
HIGH…check_for_spaces_in_source_and_semantic_model_names.py0select to_date('02/20/2023', 'mm/dd/yyyy') as date_day
HIGHtests/functional/access/test_access.py0select to_date('02/20/2023', 'mm/dd/yyyy') as date_day
HIGHtests/functional/exposures/fixtures.py0select to_date('02/20/2023', 'mm/dd/yyyy') as date_day
HIGHtests/functional/semantic_models/fixtures.py0select to_date('02/20/2023', 'mm/dd/yyyy') as date_day
HIGH…/functional/partial_parsing/test_pp_disabled_config.py0select to_date('02/20/2023', 'mm/dd/yyyy') as date_day
HIGHtests/functional/partial_parsing/fixtures.py0select to_date('02/20/2023', 'mm/dd/yyyy') as date_day
HIGHtests/functional/defer_state/fixtures.py0select to_date('02/20/2023', 'mm/dd/yyyy') as date_day
HIGHtests/functional/materializations/fixtures.py0{{ config(materialized = 'table') }} with foo as ( select * from {{ ref('foo') }} ), foo_1 as ( select * from {{ ref('fo
HIGHtests/functional/materializations/fixtures.py0{{ config(materialized = 'table') }} with foo as ( select * from {{ ref('foo') }} ), foo_1 as ( select * from {{ ref('fo
HIGHtests/functional/materializations/fixtures.py0{{ config(materialized = 'table') }} with foo as ( select * from {{ ref('foo') }} ), foo_1 as ( select * from {{ ref('fo
HIGHtests/functional/materializations/fixtures.py0{{ config(materialized = 'table') }} with foo as ( select * from {{ ref('foo') }} ), foo_1 as ( select * from {{ ref('fo
HIGHtests/functional/materializations/fixtures.py0{{ config(materialized = 'table') }} with foo as ( select * from {{ ref('foo') }} ), foo_1 as ( select * from {{ ref('fo
HIGHtests/functional/materializations/fixtures.py0{{ config(materialized = 'table') }} with foo as ( select * from {{ ref('foo') }} ), foo_1 as ( select * from {{ ref('fo
HIGHtests/functional/materializations/fixtures.py0{{ config(materialized = 'ephemeral') }} with source as ( select 1 as id ), renamed as ( select id as uid from source )
HIGHtests/functional/materializations/fixtures.py0{{ config(materialized = 'ephemeral') }} with source as ( select 1 as id ), renamed as ( select id as uid from source )
HIGHtests/functional/materializations/fixtures.py0{{ config(materialized = 'ephemeral') }} with source as ( select 1 as id ), renamed as ( select id as uid from source )
HIGHtests/functional/analysis/test_analysis_configs.py0{{ config(enabled=true) }} select * from {{ ref('my_model') }}
HIGHtests/functional/configs/fixtures.py0{{ config(enabled=true) }} select * from {{ ref('my_model') }}
HIGHtests/functional/configs/fixtures.py0{{ config(enabled=true) }} select * from {{ ref('my_model') }}
HIGH…/functional/invalid_model_tests/test_invalid_models.py0select * from {{ source('test_source', 'test_table') }}
HIGHtests/functional/sources/fixtures.py0select * from {{ source('test_source', 'test_table') }}
HIGHtests/functional/sources/fixtures.py0select * from {{ source('test_source', 'test_table') }}
HIGHtests/functional/sources/fixtures.py0select * from {{ source('test_source', 'test_table') }}
HIGHtests/functional/sources/fixtures.py0select * from {{ source('test_source', 'test_table') }}
HIGH…al/custom_singular_tests/test_custom_singular_tests.py0{{ config( materialized='table' ) }} select * from {{ this.schema }}.seed
HIGHtests/functional/schema_tests/fixtures.py0{{ config( materialized='table' ) }} select * from {{ this.schema }}.seed
HIGHtests/functional/schema_tests/fixtures.py0{{ config( materialized='table' ) }} select * from {{ this.schema }}.seed
HIGHtests/functional/schema_tests/fixtures.py0{{ config( materialized='table' ) }} select * from {{ this.schema }}.seed
HIGHtests/functional/schema_tests/fixtures.py0{{ config( materialized='table' ) }} select * from {{ this.schema }}.seed
HIGHtests/functional/run_on_error/fixtures.py0{{ config(materialized='table') }} select 1 / 0 as id
HIGHtests/functional/run_on_error/fixtures.py0{{ config(materialized='table') }} select 1 / 0 as id
HIGHtests/functional/run_on_error/fixtures.py0{{ config(materialized='table') }} select 1 / 0 as id
HIGHtests/functional/run_on_error/fixtures.py0{{ config(materialized='table') }} select 1 / 0 as id
HIGHtests/functional/run_on_error/fixtures.py0{{ config(materialized='table') }} select 1 / 0 as id
HIGHtests/functional/run_on_error/fixtures.py0{{ config(materialized='table') }} select 1 / 0 as id
HIGHtests/functional/sources/test_source_freshness.py0insert into {schema}.{source} ({quoted_columns}) values ( 'blue',{id},'jake','abc@example.com','192.168.1.1','{time}' )
HIGHtests/functional/sources/test_source_fresher_state.py0insert into {schema}.{source} ({quoted_columns}) values ( 'blue',{id},'jake','abc@example.com','192.168.1.1','{time}' )
HIGH…tional/source_overrides/test_simple_source_override.py0insert into {schema}.{source} ({quoted_columns}) values ( 'blue',{id},'jake','abc@example.com','192.168.1.1','{time}' )
HIGHtests/functional/functions/test_udfs.py0functions: - name: double_it description: doubles whatever number is passed in arguments: - name: value data_type: float
HIGHtests/functional/functions/test_udfs.py0functions: - name: double_it description: doubles whatever number is passed in arguments: - name: value data_type: float
HIGHtests/functional/unit_testing/test_unit_testing.py0functions: - name: double_it description: doubles whatever number is passed in arguments: - name: value data_type: float
HIGHtests/functional/defer_state/fixtures.py0functions: - name: double_it description: doubles whatever number is passed in arguments: - name: value data_type: float
HIGHtests/functional/partial_parsing/fixtures.py0id,first_name,last_name,email 1,michael,perez,mperez0@chronoengine.com 2,shawn,mccoy,smccoy1@reddit.com 3,kathleen,payne
HIGHtests/functional/partial_parsing/test_pp_docs.py0id,first_name,last_name,email 1,michael,perez,mperez0@chronoengine.com 2,shawn,mccoy,smccoy1@reddit.com 3,kathleen,payne
HIGHtests/functional/unit_testing/test_ut_sources.py0id,first_name,last_name,email 1,michael,perez,mperez0@chronoengine.com 2,shawn,mccoy,smccoy1@reddit.com 3,kathleen,payne
HIGHtests/functional/partial_parsing/fixtures.py0{% test type_one(model) %} select * from ( select * from {{ model }} union all select * from {{ ref('model_b') }} ) as f
2 more matches not shown…
Unused Imports308 hits · 252 pts
SeverityFileLineSnippet
LOWcore/dbt/_pydantic_shim.py20
LOWcore/dbt/_pydantic_shim.py22
LOWcore/dbt/exceptions.py22
LOWcore/dbt/node_types.py4
LOWcore/dbt/node_types.py4
LOWcore/dbt/node_types.py4
LOWcore/dbt/clients/jinja_static.py14
LOWcore/dbt/clients/yaml_helper.py10
LOWcore/dbt/clients/yaml_helper.py11
LOWcore/dbt/clients/yaml_helper.py14
LOWcore/dbt/clients/yaml_helper.py14
LOWcore/dbt/event_time/sample_window.py1
LOWcore/dbt/artifacts/resources/__init__.py1
LOWcore/dbt/artifacts/resources/__init__.py1
LOWcore/dbt/artifacts/resources/__init__.py1
LOWcore/dbt/artifacts/resources/__init__.py1
LOWcore/dbt/artifacts/resources/__init__.py2
LOWcore/dbt/artifacts/resources/__init__.py3
LOWcore/dbt/artifacts/resources/__init__.py3
LOWcore/dbt/artifacts/resources/__init__.py3
LOWcore/dbt/artifacts/resources/__init__.py3
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py11
LOWcore/dbt/artifacts/resources/__init__.py30
LOWcore/dbt/artifacts/resources/__init__.py30
LOWcore/dbt/artifacts/resources/__init__.py30
LOWcore/dbt/artifacts/resources/__init__.py30
LOWcore/dbt/artifacts/resources/__init__.py30
LOWcore/dbt/artifacts/resources/__init__.py30
LOWcore/dbt/artifacts/resources/__init__.py38
LOWcore/dbt/artifacts/resources/__init__.py39
LOWcore/dbt/artifacts/resources/__init__.py39
LOWcore/dbt/artifacts/resources/__init__.py39
LOWcore/dbt/artifacts/resources/__init__.py39
LOWcore/dbt/artifacts/resources/__init__.py45
LOWcore/dbt/artifacts/resources/__init__.py45
LOWcore/dbt/artifacts/resources/__init__.py45
LOWcore/dbt/artifacts/resources/__init__.py45
LOWcore/dbt/artifacts/resources/__init__.py45
LOWcore/dbt/artifacts/resources/__init__.py45
LOWcore/dbt/artifacts/resources/__init__.py45
LOWcore/dbt/artifacts/resources/__init__.py54
LOWcore/dbt/artifacts/resources/__init__.py54
LOWcore/dbt/artifacts/resources/__init__.py55
LOWcore/dbt/artifacts/resources/__init__.py55
248 more matches not shown…
Decorative Section Separators104 hits · 227 pts
SeverityFileLineSnippet
MEDIUMcore/dbt/artifacts/resources/v1/semantic_model.py62# ====================================
MEDIUMcore/dbt/artifacts/resources/v1/semantic_model.py65# ====================================
MEDIUMcore/dbt/artifacts/resources/v1/semantic_model.py111# ====================================
MEDIUMcore/dbt/artifacts/resources/v1/semantic_model.py114# ====================================
MEDIUMcore/dbt/artifacts/resources/v1/semantic_model.py136# ====================================
MEDIUMcore/dbt/artifacts/resources/v1/semantic_model.py139# ====================================
MEDIUMcore/dbt/artifacts/resources/v1/semantic_model.py160# ====================================
MEDIUMcore/dbt/artifacts/resources/v1/semantic_model.py162# ====================================
MEDIUMcore/dbt/artifacts/resources/v1/function.py9# =============
MEDIUMcore/dbt/artifacts/resources/v1/function.py11# =============
MEDIUMcore/dbt/artifacts/resources/v1/function.py31# =============
MEDIUMcore/dbt/artifacts/resources/v1/function.py33# =============
MEDIUMcore/dbt/contracts/graph/nodes.py132# =====================================================================
MEDIUMcore/dbt/contracts/graph/nodes.py135# ==================================================
MEDIUMcore/dbt/contracts/graph/nodes.py137# ==================================================
MEDIUMcore/dbt/contracts/graph/nodes.py117# =====================================================================
MEDIUMcore/dbt/contracts/graph/nodes.py463# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py465# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py976# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py978# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1098# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1100# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1128# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1130# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1219# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1221# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1253# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1255# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1276# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1278# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1299# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1301# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1499# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1501# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1577# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1579# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1644# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1646# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1663# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1665# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1710# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1712# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1776# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1778# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1854# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1856# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1913# ====================================
MEDIUMcore/dbt/contracts/graph/nodes.py1915# ====================================
MEDIUMcore/dbt/tests/util.py29# =============================================================================
MEDIUMcore/dbt/tests/util.py65# =============================================================================
MEDIUMcore/dbt/parser/schemas.py98# ===============================================================================
MEDIUMcore/dbt/parser/schemas.py125# ===============================================================================
MEDIUMcore/dbt/task/debug.py167 # ==============================
MEDIUMcore/dbt/task/debug.py169 # ==============================
MEDIUMcore/dbt/task/debug.py174 # ===============
MEDIUMcore/dbt/task/debug.py176 # ===============
MEDIUMcore/dbt/task/debug.py314 # ===============
MEDIUMcore/dbt/task/debug.py316 # ===============
MEDIUMcore/dbt/task/debug.py383 # ============
MEDIUMcore/dbt/task/debug.py385 # ============
44 more matches not shown…
Deep Nesting147 hits · 130 pts
SeverityFileLineSnippet
LOWcore/dbt/compilation.py844
LOWcore/dbt/compilation.py197
LOWcore/dbt/compilation.py243
LOWcore/dbt/compilation.py340
LOWcore/dbt/compilation.py397
LOWcore/dbt/compilation.py526
LOWcore/dbt/compilation.py646
LOWcore/dbt/exceptions.py1294
LOWcore/dbt/exceptions.py1381
LOWcore/dbt/tracking.py178
LOWcore/dbt/clients/jinja_static.py43
LOWcore/dbt/clients/jinja_static.py102
LOWcore/dbt/event_time/event_time.py9
LOWcore/dbt/artifacts/schemas/upgrades/upgrade_manifest.py10
LOWcore/dbt/materializations/incremental/microbatch.py125
LOWcore/dbt/materializations/incremental/microbatch.py166
LOWcore/dbt/context/context_config.py42
LOWcore/dbt/context/context_config.py78
LOWcore/dbt/context/context_config.py126
LOWcore/dbt/context/providers.py2043
LOWcore/dbt/context/providers.py162
LOWcore/dbt/context/providers.py249
LOWcore/dbt/context/providers.py1743
LOWcore/dbt/context/providers.py2240
LOWcore/dbt/context/macro_resolver.py144
LOWcore/dbt/context/base.py723
LOWcore/dbt/config/selectors.py178
LOWcore/dbt/config/project.py880
LOWcore/dbt/auth/oauth/callback_server.py20
LOWcore/dbt/auth/oauth/platform.py207
LOWcore/dbt/plugins/manager.py256
LOWcore/dbt/contracts/files.py288
LOWcore/dbt/contracts/files.py313
LOWcore/dbt/contracts/graph/manifest.py1331
LOWcore/dbt/contracts/graph/manifest.py1765
LOWcore/dbt/contracts/graph/nodes.py313
LOWcore/dbt/contracts/graph/nodes.py601
LOWcore/dbt/contracts/graph/nodes.py772
LOWcore/dbt/contracts/graph/nodes.py987
LOWcore/dbt/graph/queue.py72
LOWcore/dbt/graph/selector.py197
LOWcore/dbt/graph/selector.py238
LOWcore/dbt/graph/selector.py271
LOWcore/dbt/graph/selector.py330
LOWcore/dbt/graph/cli.py81
LOWcore/dbt/graph/cli.py198
LOWcore/dbt/graph/selector_methods.py549
LOWcore/dbt/graph/selector_methods.py600
LOWcore/dbt/graph/selector_methods.py613
LOWcore/dbt/graph/selector_methods.py775
LOWcore/dbt/graph/selector_methods.py871
LOWcore/dbt/graph/selector_methods.py925
LOWcore/dbt/tests/util.py516
LOWcore/dbt/utils/utils.py62
LOWcore/dbt/utils/utils.py392
LOWcore/dbt/utils/utils.py163
LOWcore/dbt/jsonschemas/jsonschemas.py139
LOWcore/dbt/jsonschemas/jsonschemas.py181
LOWcore/dbt/jsonschemas/jsonschemas.py300
LOWcore/dbt/cli/options.py38
87 more matches not shown…
Cross-Language Confusion21 hits · 114 pts
SeverityFileLineSnippet
HIGHcore/dbt/clients/jinja.py74 self.stack.push(unique_id)
HIGHcore/dbt/cli/params.py447 default='{"MAX_GROUPING_DEPTH": null, "MAX_GROUPING_TOKENS": null}',
HIGHcore/dbt/parser/schemas.py165 # When loaded_at_field is defined as None or null, it shows up in
HIGHcore/dbt/parser/unit_tests.py450 # Empty values (e.g. ,,) in a csv fixture should default to null, not ""
HIGHcore/dbt/task/test.py453 * [['a','b','c'],[4,5,6],[1,null,3]] -> [['a','b','c'],[1,null,3],[4,5,6]]
HIGHcore/dbt/task/test.py454 * [['a','b','c'],[4,5,6],[null,2,3]] -> [['a','b','c'],[4,5,6],[null,2,3]]
HIGHtests/unit/graph/test_nodes.py353 test2.test_metadata = TestMetadata(name="unique", kwargs={"column_name": "column2 || column3"})
HIGHtests/unit/graph/test_nodes.py356 assertSameContents(model.infer_primary_key(tests), ["column1", "column2 || column3"])
HIGHtests/unit/graph/test_nodes.py413 test2.test_metadata = TestMetadata(name="unique", kwargs={"column_name": "column2 || column3"})
HIGHtests/unit/graph/test_nodes.py416 assertSameContents(model.infer_primary_key(tests), ["column1", "column2 || column3"])
HIGHtests/unit/parser/test_manifest.py374 result = extended_msgpack_encoder(undefined)
HIGHtests/unit/parser/test_manifest.py402 data = {"meta": {"key": undefined}}
HIGHtests/functional/severity/test_severity.py376,Katherine,Lopez,null,Female,169.138.46.89,2016-08-30 18:52:11
HIGHtests/functional/severity/test_severity.py4514,Walter,Castillo,null,Male,71.159.238.196,2016-10-06 01:55:44
HIGHtests/functional/exposures/test_exposure_configs.py152 """Regression test: `exposures: {tags: null}` in dbt_project.yml should raise a clear error."""
HIGH…functional/dependencies/test_add_package_edge_cases.py53 """Regression test: `packages: null` (explicit null) in packages.yml should not raise TypeError."""
HIGHtests/functional/primary_keys/fixtures.py58 combination_of_columns: [null]
HIGHtests/functional/sources/test_source_configs.py359 """Regression test: `tables: null` (explicit null) should not raise TypeError."""
HIGHtests/functional/functions/test_overloaded_udfs.py167SELECT val || val
HIGHtests/functional/functions/test_overloaded_udfs.py177SELECT val || ANOTHER_BAD_COL
HIGHtests/functional/unit_testing/test_sql_format.py80 and accepted_email_domains.tld is not null,
Self-Referential Comments30 hits · 90 pts
SeverityFileLineSnippet
MEDIUMcore/dbt/compilation.py256 # This function implements a rough approximation of the behavior just
MEDIUMcore/dbt/compilation.py532 """This method is called by the 'compile_node' method. Starting
MEDIUMcore/dbt/compilation.py752 # Create a file containing basic information about graph structure,
MEDIUMcore/dbt/context/providers.py265 # Create the column object
MEDIUMcore/dbt/context/providers.py2210# This class is currently used by the schema parser in order
MEDIUMcore/dbt/context/macros.py103 # Create a dictionary of [package name][macro name] =
MEDIUMcore/dbt/config/project.py624 # Create a PartialProject
MEDIUMcore/dbt/contracts/results.py3# This file is temporary, in order to not break various adapter tests, etc, until
MEDIUMcore/dbt/parser/schema_yaml_readers.py1191 # Create a metric for each measure with `create_metric = True`
MEDIUMcore/dbt/parser/manifest.py1104 # Create a FileHash of vars string, profile name and target name
MEDIUMcore/dbt/parser/manifest.py1137 # Create a FileHash of the env_vars in the project
MEDIUMcore/dbt/parser/manifest.py1145 # Create a hash of the connection_info, which user has access to in
MEDIUMcore/dbt/parser/manifest.py1158 # Create a FileHashes for dbt_project for all dependencies
MEDIUMcore/dbt/parser/manifest.py1165 # Create the ManifestStateCheck object
MEDIUMcore/dbt/parser/partial.py1354 # Create a list of file_ids for source_files that need to be reparsed, and
MEDIUMcore/dbt/task/run.py819 """This method is really only to be used when the execution of a microbatch model is halted before all batches h
MEDIUMcore/dbt/task/init.py39# This file is not needed for the starter project but exists for finding the resource path
MEDIUMcore/dbt/task/init.py147 # Create the profile directory if it doesn't exist
MEDIUMcore/dbt/task/init.py354 # Create the profile after creating the project to avoid leaving a random profile
MEDIUMtests/unit/context/test_providers.py85 # Create a mock target with columns
MEDIUMtests/unit/context/test_providers.py146 # Create a mock target with different columns
MEDIUMtests/unit/context/test_providers.py182 # Create a mock target without columns
MEDIUMtests/unit/context/test_providers.py202 # Create a mock target without quoting
MEDIUMtests/unit/contracts/graph/test_manifest.py546 # Create a unit test for the events model
MEDIUMtests/unit/contracts/graph/test_semantic_manifest.py75 # Create a metricflow_time_spine model with HOUR granularity
MEDIUMtests/unit/graph/test_selector.py283 # Create the selector and get the queue
MEDIUMtests/unit/deps/test_deps.py923 # Create a mock DepsTask with minimal setup
MEDIUMtests/functional/basic/test_jaffle_shop.py16 # Create the data from seeds
MEDIUMtests/functional/basic/test_jaffle_shop.py27 # Create the data from seeds
MEDIUMtests/functional/schema_tests/test_schema_v2_tests.py692 # Create the uppercase SQL file
Excessive Try-Catch Wrapping65 hits · 73 pts
SeverityFileLineSnippet
LOWcore/dbt/compilation.py772 except Exception as e: # This is non-essential information, so merely note failures.
LOWcore/dbt/compilation.py878 except Exception as e:
LOWcore/dbt/tracking.py226 except Exception:
LOWcore/dbt/tracking.py483 except Exception:
LOWcore/dbt/tracking.py506 except Exception:
LOWcore/dbt/tracking.py525 except Exception:
LOWcore/dbt/event_time/sample_window.py44 except Exception:
LOWcore/dbt/event_time/sample_window.py50 except Exception:
LOWcore/dbt/context/providers.py1270 except Exception:
LOWcore/dbt/config/renderer.py208 except Exception as ex:
LOWcore/dbt/config/project.py894 except Exception:
LOWcore/dbt/auth/resolvers.py335 except Exception:
LOWcore/dbt/plugins/manager.py82 except Exception:
LOWcore/dbt/plugins/manager.py125 except Exception as e:
LOWcore/dbt/plugins/manager.py145 except Exception as e:
MEDIUMcore/dbt/plugins/manager.py122def inner(*args, **kwargs):
LOWcore/dbt/graph/selector_methods.py535 except Exception as exc:
LOWcore/dbt/utils/artifact_upload.py103 except Exception as e:
LOWcore/dbt/utils/utils.py405 except Exception:
LOWcore/dbt/docs/source/_ext/dbt_click.py63 except Exception: # noqa
LOWcore/dbt/cli/requires.py213 except Exception as e:
LOWcore/dbt/cli/option_types.py161 except Exception as e:
LOWcore/dbt/parser/manifest.py576 except Exception as exc:
LOWcore/dbt/parser/manifest.py929 except Exception:
LOWcore/dbt/parser/manifest.py1065 except Exception as exc:
LOWcore/dbt/parser/manifest.py1574 except Exception:
LOWcore/dbt/parser/osi.py140 except Exception as exc:
LOWcore/dbt/parser/macros.py117 except Exception:
MEDIUMcore/dbt/parser/macros.py114def _extract_args(self, macro) -> List[MacroArgument]:
LOWcore/dbt/parser/fusion.py284 except Exception as e:
LOWcore/dbt/parser/unit_tests.py286 except Exception:
LOWcore/dbt/task/freshness.py313 except Exception as e:
LOWcore/dbt/task/run.py133 except Exception as exc:
LOWcore/dbt/task/run.py669 except Exception as e:
LOWcore/dbt/task/run_operation.py147 except Exception as exc:
LOWcore/dbt/task/debug.py284 except Exception as exc:
LOWcore/dbt/task/debug.py444 except Exception as exc:
MEDIUMcore/dbt/task/debug.py387def test_git(self) -> SubtaskStatus:
LOWcore/dbt/task/sql.py98 except Exception as exc:
LOWcore/dbt/task/sql.py126 except Exception as e:
MEDIUMcore/dbt/task/sql.py95def _safe_release_connection(self) -> None:
LOWcore/dbt/task/init.py261 except Exception:
LOWcore/dbt/task/init.py297 except Exception:
LOWcore/dbt/task/runnable.py277 except Exception as e:
LOWcore/dbt/task/runnable.py289 except Exception as e:
LOWcore/dbt/task/base.py389 except Exception as e:
LOWcore/dbt/task/base.py418 except Exception as exc:
LOWcore/dbt/task/function.py161 except Exception as e:
LOWtests/unit/test_functions.py80 except Exception as exc:
LOWtests/unit/test_events.py576 except Exception as e:
LOWtests/unit/test_events.py583 except Exception as e:
LOWtests/unit/test_events.py588 except Exception as e:
LOWtests/unit/event_time/test_sample_mode.py162 except Exception as e:
LOWtests/unit/context/test_base.py14 except Exception as e:
LOWtests/unit/context/test_base.py22 except Exception as e:
LOWtests/unit/cli/test_option_types.py66 except Exception as e:
LOWtests/functional/artifacts/test_docs_generate_defer.py41 except Exception:
LOWtests/functional/cli/test_env_var_deprecations.py57 except Exception as e:
LOW…/functional/cli/test_option_interaction_validations.py26 except Exception as e:
LOW…/functional/cli/test_option_interaction_validations.py46 except Exception as e:
5 more matches not shown…
Over-Commented Block36 hits · 35 pts
SeverityFileLineSnippet
LOWcore/dbt/compilation.py241 self.add_test_edges_2(manifest)
LOWcore/dbt/compilation.py261 # case, if we are not careful, we will introduce cycles. That seems to
LOWcore/dbt/compilation.py281 # implementation by ensuring both resulting graphs have the same transitive
LOWcore/dbt/compilation.py341 graph: nx.DiGraph, manifest: Manifest
LOWcore/dbt/compilation.py401 executable_nodes: Set[UniqueID],
LOWcore/dbt/plugins/manager.py181class PluginManager:
LOWcore/dbt/contracts/files.py281 # Probably not needed, but for safety sake, convert the
LOWcore/dbt/contracts/selection.py21# @dataclass
LOWcore/dbt/contracts/graph/nodes.py121# manifest contains "macros", "sources", "metrics", "exposures", "docs",
LOWcore/dbt/graph/selector.py281 #
LOWcore/dbt/tests/util.py21from dbt_common.events.functions import (
LOWcore/dbt/tests/util.py41# update_config_file
LOWcore/dbt/tests/util.py61# AnyFloat
LOWcore/dbt/parser/models.py281 super().render_update(node, config)
LOWcore/dbt/parser/schemas.py101# The SchemaParser is a subclass of the SimpleParser from base.py, as is
LOWcore/dbt/parser/fusion.py241
LOWcore/dbt/parser/partial.py1021 # If the latest version has changed, a version has been removed, or a version has been added,
LOWcore/dbt/events/types.py21from dbt_common.ui import error_tag, green, line_wrap_message, red, warning_tag, yellow
LOWtests/unit/test_env_vars.py41 # 2. we've identified, and added, an existing but previously unknown engine env var to the _ADDITIONAL_ENGINE_ENV_VA
LOWtests/functional/__init__.py1# Functional tests focus on the business requirements of an application. They
LOW…ts/functional/artifacts/test_previous_version_state.py241"""
LOW…ctional/semantic_models/test_semantic_model_parsing.py281# def models(self):
LOW.github/dbt-postgres-testing.yml121 # POSTGRES_TEST_HOST: ${{ vars.POSTGRES_TEST_HOST }}
LOW.github/dbt-postgres-testing.yml141 # uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # actions/checkout@v4
LOW.github/dbt-postgres-testing.yml161 # PGUSER: postgres
LOW.github/workflows/release.yml1# **what?**
LOW.github/workflows/backport.yml1# **what?**
LOW.github/workflows/changelog-existence.yml1# **what?**
LOW.github/workflows/update-test-durations.yml1# **what?**
LOW.github/workflows/sync-1-latest.yml1# **what?**
LOW.github/workflows/nightly-release.yml1# **what?**
LOW.github/workflows/release-branch-tests.yml1# **what?**
LOW.github/workflows/cut-release-branch.yml1# **what?**
LOW.github/workflows/schema-check.yml1# **what?**
LOW.github/workflows/repository-cleanup.yml1# **what?**
LOW.github/workflows/bot-changelog.yml1# **what?**
Redundant / Tautological Comments12 hits · 20 pts
SeverityFileLineSnippet
LOWcore/dbt/context/providers.py256 # Check if config has event_time attribute
LOWcore/dbt/utils/artifact_upload.py88 # Check if there are artifacts to upload for this command
LOWcore/dbt/cli/flags.py257 # Set deprecated_env_var_warnings to be fired later after events have been init.
LOWcore/dbt/parser/manifest.py1300 # Check if this node has been modified in this parsing run
LOWcore/dbt/parser/schemas.py1372 # Check if this overload was already claimed by another root function
LOWcore/dbt/parser/unit_tests.py488 # Check if all values in the row are not None
LOWcore/dbt/parser/partial.py442 # Check if this file was absorbed as a function overload.
LOWcore/dbt/parser/base.py537 # Set it to None in case it changed with a config update
LOWcore/dbt/task/run.py929 # Check if the pool was closed, because if it was, then the main thread is trying to exit.
LOWcore/dbt/task/deps.py179 # Check if any variant of the package name appears in the identifier
LOW…al/defer_state/test_modified_state_schema_evolution.py17 # Set dbt_version to PREVIOUS to trigger manifest upgrades on state:modified
LOW.github/workflows/auto-respond-bug-reports.yml2# Check if the an issue is opened near or during an extended holiday period.
AI Slop Vocabulary6 hits · 8 pts
SeverityFileLineSnippet
LOWcore/dbt/clients/registry.py150 # if the user doesn't care about installing compatible versions, just return them all
LOWcore/dbt/clients/jinja.py124 # string, we can just return the input. Fall back to jinja if the type is
LOWcore/dbt/context/secret.py28 # if this is a 'secret' env var, just return the name of the env var
LOWcore/dbt/config/project.py490 # It would be nice to just pass along a Quoting here, but that would
MEDIUMtests/unit/parser/test_parser.py2083 # generic tests in the test-paths directory currently leverage the macro parser
LOWtests/functional/defer_state/test_defer_state.py200 # but this should work since we just use the old happy model
Fake / Example Data9 hits · 8 pts
SeverityFileLineSnippet
LOW…sts/functional/configs/test_configs_in_schema_files.py36 owner: 'John Doe'
LOW…sts/functional/configs/test_configs_in_schema_files.py247 expected_meta = {"owner": "John Doe"}
LOWtests/functional/partial_parsing/test_pp_vars.py168 os.environ["ENV_VAR_OWNER"] = "John Doe"
LOWtests/functional/partial_parsing/test_pp_vars.py178 "ENV_VAR_OWNER": "John Doe",
LOWtests/functional/partial_parsing/test_pp_vars.py201 "ENV_VAR_OWNER": "John Doe",
LOWtests/functional/partial_parsing/test_pp_vars.py298 os.environ["ENV_VAR_NAME"] = "Jane Doe"
LOWtests/functional/partial_parsing/test_pp_vars.py303 assert model.config.meta["meta_name"] == "Jane Doe"
LOW…sts/functional/partial_parsing/test_partial_parsing.py639 assert manifest.macros["macro.test.bar"].description == "Lorem ipsum."
LOWtests/functional/partial_parsing/fixtures.py1341 description: Lorem ipsum.
Verbosity Indicators3 hits · 7 pts
SeverityFileLineSnippet
LOWcore/dbt/utils/artifact_upload.py119 # Step 1: Create ingest request with retry
LOWcore/dbt/utils/artifact_upload.py129 # Step 2: Upload the zip file to the provided URL with retry
LOWcore/dbt/utils/artifact_upload.py139 # Step 3: Mark the ingest as successful with retry
Slop Phrases3 hits · 5 pts
SeverityFileLineSnippet
LOWtests/functional/configs/test_disabled_configs.py15 # make sure you can do this and get an int out
LOWtests/functional/configs/test_disabled_configs.py26 # make sure you can do this and get an int out
LOW…al/defer_state/test_modified_state_schema_evolution.py31 # make sure to update state off of main so that the functional changes of the
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippet
HIGHCONTRIBUTING.md2755. You can also add `{{ debug() }}` statements, which will drop you into some auto-generated code that the macro wrote.
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippet
HIGHcore/dbt/utils/artifact_upload.py53Execute a function with exponential backoff retry logic. Args: operation_name: Name of the operation for er
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippet
LOWtests/functional/auth/conftest.py52 def handle_request(self):