Repository Analysis

dlt-hub/dlt

data load tool (dlt) is an open source Python library that makes data loading easy 🛠️

16.7 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of dlt-hub/dlt, a Python project with 5,723 GitHub stars. SynthScan v2.0 examined 478,847 lines of code across 1931 source files, recording 7383 pattern matches distributed across 26 syntactic categories. The overall adjusted score of 16.7 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

16.7
Adjusted Score
16.7
Raw Score
100%
Time Factor
2026-08-09
Last Push
5.7K
Stars
Python
Language
478.8K
Lines of Code
1.9K
Files
7.4K
Pattern Hits
2026-08-09
Scan Date
0.07
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 2HIGH 139MEDIUM 170LOW 7072

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 7383 distinct pattern matches across 26 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers4740 hits · 4478 pts
SeverityFileLineSnippetContext
LOWtools/install_airflow_ci.py22def is_supported_airflow_version(version: Version, specifier: SpecifierSet) -> bool:CODE
LOWtools/check_hub_extras.py56def dlt_version_to_plugin_version(dlt_ver: str) -> str:CODE
LOWtools/tests/test_check_api_breaking.py19def test_breakage_source_file_direct() -> None:CODE
LOWtools/tests/test_check_api_breaking.py26def test_breakage_source_file_alias_uses_parent() -> None:CODE
LOWtools/tests/test_check_api_breaking.py36def test_breakage_source_file_without_filepath_returns_none(exc: Type[Exception]) -> None:CODE
LOWtools/tests/test_check_api_breaking.py41 def relative_package_filepath(self) -> Path:CODE
LOWtools/tests/test_check_api_breaking.py47def test_public_api_reports_roots_and_sources() -> None:CODE
LOWtools/tests/test_check_api_breaking.py55def test_cmd_check_propagates_griffe_failure(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWtools/tests/test_check_dependency_changes.py161def test_multi_section_changes(monkeypatch: pytest.MonkeyPatch) -> None:CODE
LOWdlt/version.py13def get_installed_requirement_string(CODE
LOWdlt/version.py37def get_dependency_requirement(CODE
LOWdlt/pipeline/configuration.py75def ensure_correct_pipeline_kwargs(f: AnyFun, **kwargs: Any) -> None:CODE
LOWdlt/pipeline/configuration.py81def get_default_pipeline_name(entry_point_file: str) -> str:CODE
LOWdlt/pipeline/track.py30def slack_notify_load_success(incoming_hook: str, load_info: LoadInfo, trace: PipelineTrace) -> int:CODE
LOWdlt/pipeline/warnings.py7def full_refresh_argument_deprecated(caller_name: str, full_refresh: t.Optional[bool]) -> None:CODE
LOWdlt/pipeline/platform.py80def _sync_schemas_to_platform(trace: PipelineTrace, pipeline: SupportsPipeline) -> None:CODE
LOWdlt/pipeline/pipeline.py1148 def list_extracted_load_packages(self) -> Sequence[str]:CODE
LOWdlt/pipeline/pipeline.py1155 def list_normalized_load_packages(self) -> Sequence[str]:CODE
LOWdlt/pipeline/pipeline.py1162 def list_completed_load_packages(self) -> Sequence[str]:CODE
LOWdlt/pipeline/pipeline.py951 def _install_state_and_schemas(CODE
LOWdlt/pipeline/pipeline.py1189 def list_failed_jobs_in_package(self, load_id: str) -> Sequence[LoadJobInfo]:CODE
LOWdlt/pipeline/pipeline.py1196 def list_pending_retry_jobs_in_package(CODE
LOWdlt/pipeline/pipeline.py1466 def _verify_destination_capabilities(CODE
LOWdlt/pipeline/pipeline.py1521 def _normalize_storage_config(self) -> NormalizeStorageConfiguration:CODE
LOWdlt/pipeline/pipeline.py1716 def _get_destination_capabilities(self) -> DestinationCapabilitiesContext:CODE
LOWdlt/pipeline/pipeline.py1737 def _get_staging_capabilities(self) -> Optional[DestinationCapabilitiesContext]:CODE
LOWdlt/pipeline/pipeline.py1831 def _maybe_destination_capabilities(CODE
LOWdlt/pipeline/pipeline.py1899 def _create_pipeline_instance_id(self) -> str:CODE
LOWdlt/pipeline/pipeline.py1928 def _restore_state_from_destination(self) -> Optional[TPipelineState]:CODE
LOWdlt/pipeline/pipeline.py1962 def _get_schemas_from_destination(CODE
LOWdlt/pipeline/pipeline.py2084 def _save_and_extract_state_and_schema(CODE
LOWdlt/pipeline/pipeline.py2108 def _bump_version_and_extract_state(CODE
LOWdlt/pipeline/state_sync.py31def generate_pipeline_state_version_hash(state: TPipelineState) -> str:CODE
LOWdlt/pipeline/state_sync.py35def bump_pipeline_state_version_if_modified(state: TPipelineState) -> Tuple[int, str, str]:CODE
LOWdlt/pipeline/state_sync.py133def load_pipeline_state_from_destination(CODE
LOWdlt/destinations/type_mapping.py96 def precision_tuple_or_default(CODE
LOWdlt/destinations/sql_client.py233 def fully_qualified_dataset_name(CODE
LOWdlt/destinations/sql_client.py244 def make_qualified_table_name(CODE
LOWdlt/destinations/sql_client.py252 def make_qualified_table_name_path(CODE
LOWdlt/destinations/sql_client.py291 def get_qualified_table_names(CODE
LOWdlt/destinations/sql_client.py314 def with_alternative_dataset_name(CODE
LOWdlt/destinations/sql_client.py331 def is_staging_dataset_active(self) -> bool:CODE
LOWdlt/destinations/sql_client.py354 def _qualify_info_schema_table_name(self, table_name: str) -> str:CODE
LOWdlt/destinations/sql_client.py357 def _get_information_schema_components(self, *tables: str) -> Tuple[str, str, List[str]]:CODE
LOWdlt/destinations/sql_client.py465 def _set_default_schema_columns(self) -> None:CODE
LOWdlt/destinations/sql_client.py556def raise_open_connection_error(f: TFun) -> TFun:CODE
LOWdlt/destinations/utils.py68def parse_db_data_type_str_with_precision(db_type: str) -> Tuple[str, Optional[int], Optional[int]]:CODE
LOWdlt/destinations/utils.py84def get_pipeline_state_query_columns() -> TTableSchema:CODE
LOWdlt/destinations/utils.py92def verify_schema_replace_disposition(CODE
LOWdlt/destinations/utils.py130def verify_schema_merge_disposition(CODE
LOWdlt/destinations/utils.py302def get_deterministic_temp_table_name(table_name: str, op: str) -> str:CODE
LOWdlt/destinations/job_client_impl.py378 def should_truncate_table_before_load(self, table_name: str) -> bool:CODE
LOWdlt/destinations/job_client_impl.py385 def _create_append_followup_jobs(CODE
LOWdlt/destinations/job_client_impl.py390 def _create_merge_followup_jobs(CODE
LOWdlt/destinations/job_client_impl.py395 def _create_replace_followup_jobs(CODE
LOWdlt/destinations/job_client_impl.py404 def create_table_chain_completed_followup_jobs(CODE
LOWdlt/destinations/job_client_impl.py870 def _delete_schema_in_storage(self, schema: Schema) -> None:CODE
LOWdlt/destinations/job_client_impl.py879 def _update_schema_in_storage(self, schema: Schema) -> None:CODE
LOWdlt/destinations/job_client_impl.py127 def _string_contains_ddl_statements(self, sql: str) -> bool:CODE
LOWdlt/destinations/job_client_impl.py133 def _has_out_of_transaction_commands(self, sql: str) -> bool:CODE
4680 more matches not shown…
Unused Imports1290 hits · 1198 pts
SeverityFileLineSnippetContext
LOWtools/check_dependency_changes.py36CODE
LOWtools/tests/test_check_api_breaking.py3CODE
LOWtools/tests/test_check_api_breaking.py3CODE
LOWdlt/__init__.py23CODE
LOWdlt/__init__.py24CODE
LOWdlt/__init__.py24CODE
LOWdlt/__init__.py27CODE
LOWdlt/__init__.py29CODE
LOWdlt/__init__.py30CODE
LOWdlt/__init__.py30CODE
LOWdlt/__init__.py30CODE
LOWdlt/__init__.py30CODE
LOWdlt/__init__.py31CODE
LOWdlt/__init__.py32CODE
LOWdlt/__init__.py32CODE
LOWdlt/__init__.py32CODE
LOWdlt/__init__.py34CODE
LOWdlt/__init__.py34CODE
LOWdlt/__init__.py34CODE
LOWdlt/__init__.py34CODE
LOWdlt/__init__.py43CODE
LOWdlt/__init__.py44CODE
LOWdlt/__init__.py45CODE
LOWdlt/__plugins__.py9CODE
LOWdlt/__plugins__.py10CODE
LOWdlt/pipeline/mark.py2CODE
LOWdlt/pipeline/mark.py2CODE
LOWdlt/pipeline/mark.py2CODE
LOWdlt/pipeline/mark.py2CODE
LOWdlt/pipeline/mark.py2CODE
LOWdlt/pipeline/mark.py2CODE
LOWdlt/pipeline/track.py2CODE
LOWdlt/pipeline/track.py18CODE
LOWdlt/pipeline/current.py1CODE
LOWdlt/pipeline/current.py7CODE
LOWdlt/pipeline/current.py7CODE
LOWdlt/pipeline/current.py19CODE
LOWdlt/pipeline/platform.py14CODE
LOWdlt/pipeline/pipeline.py7CODE
LOWdlt/pipeline/pipeline.py115CODE
LOWdlt/pipeline/pipeline.py124CODE
LOWdlt/pipeline/helpers.py28CODE
LOWdlt/pipeline/drop.py1CODE
LOWdlt/pipeline/drop.py1CODE
LOWdlt/pipeline/drop.py17CODE
LOWdlt/destinations/sql_client.py6CODE
LOWdlt/destinations/sql_client.py6CODE
LOWdlt/destinations/sql_client.py6CODE
LOWdlt/destinations/sql_client.py6CODE
LOWdlt/destinations/sql_client.py35CODE
LOWdlt/destinations/sql_client.py35CODE
LOWdlt/destinations/sql_client.py35CODE
LOWdlt/destinations/sql_client.py42CODE
LOWdlt/destinations/sql_client.py56CODE
LOWdlt/destinations/sql_client.py57CODE
LOWdlt/destinations/sql_client.py500CODE
LOWdlt/destinations/configuration.py2CODE
LOWdlt/destinations/job_impl.py1CODE
LOWdlt/destinations/job_impl.py33CODE
LOWdlt/destinations/__init__.py1CODE
1230 more matches not shown…
Excessive Try-Catch Wrapping308 hits · 350 pts
SeverityFileLineSnippetContext
LOWtools/check_api_breaking.py60 except Exception:CODE
LOWtools/check_api_breaking.py72 except Exception:CODE
LOWtools/check_dependency_changes.py101 except Exception:CODE
MEDIUMtools/check_dependency_changes.py246 print(f"Error: no merge-base between {base_ref} and {head_ref}")CODE
LOWtools/check_hub_extras.py112 except Exception as e:CODE
LOWdlt/pipeline/trace.py356 except Exception as ex:CODE
LOWdlt/pipeline/track.py54 except Exception as ex:CODE
LOWdlt/pipeline/platform.py70 except Exception as e:CODE
LOWdlt/pipeline/platform.py115 except Exception as e:CODE
MEDIUMdlt/pipeline/platform.py61def _future_send() -> None:CODE
MEDIUMdlt/pipeline/platform.py107def _future_send() -> None:CODE
MEDIUMdlt/pipeline/pipeline.py1109def __repr__(self) -> str:CODE
MEDIUMdlt/pipeline/pipeline.py1750def _validate_pipeline_name(self) -> None:CODE
LOWdlt/pipeline/pipeline.py191 except Exception:CODE
LOWdlt/pipeline/pipeline.py239 except Exception as ex:CODE
LOWdlt/pipeline/pipeline.py1132 except Exception:CODE
LOWdlt/pipeline/pipeline.py2017 except Exception:CODE
LOWdlt/pipeline/pipeline.py2244 except Exception:CODE
LOWdlt/pipeline/helpers.py168 except Exception:CODE
LOWdlt/destinations/sql_client.py533 except Exception as ex:CODE
LOWdlt/destinations/sql_client.py544 except Exception as ex:CODE
LOWdlt/destinations/sql_client.py561 except Exception as ex:CODE
LOWdlt/destinations/sql_jobs.py70 except Exception as e:CODE
LOWdlt/destinations/impl/clickhouse/utils.py38 except Exception as e:CODE
LOWdlt/destinations/impl/dremio/pydremio.py132 except Exception:CODE
LOWdlt/destinations/impl/dremio/pydremio.py258 except Exception:CODE
LOWdlt/destinations/impl/databricks/configuration.py60 except Exception:CODE
LOWdlt/destinations/impl/databricks/configuration.py74 except Exception:CODE
LOWdlt/destinations/impl/databricks/configuration.py80 except Exception:CODE
LOWdlt/destinations/impl/databricks/configuration.py101 except Exception:CODE
LOWdlt/destinations/impl/databricks/configuration.py115 except Exception:CODE
LOWdlt/destinations/impl/databricks/configuration.py135 except Exception:CODE
MEDIUMdlt/destinations/impl/databricks/configuration.py55def on_resolved(self) -> None:CODE
LOWdlt/destinations/impl/lance/lance_client.py191 except Exception as e:CODE
LOWdlt/destinations/impl/lance/lance_client.py216 except Exception as e:CODE
LOWdlt/destinations/impl/lance/lance_client.py467 except Exception as e:CODE
LOWdlt/destinations/impl/lance/exceptions.py80 except Exception as e:CODE
LOWdlt/destinations/impl/bigquery/sql_client.py161 except Exception:CODE
LOWdlt/destinations/impl/bigquery/sql_client.py167 except Exception:CODE
MEDIUMdlt/destinations/impl/bigquery/sql_client.py137def begin_transaction(self) -> Iterator[DBTransaction]:CODE
LOWdlt/destinations/impl/snowflake/sql_client.py102 except Exception:CODE
MEDIUMdlt/destinations/impl/snowflake/sql_client.py97def begin_transaction(self) -> Iterator[DBTransaction]:CODE
LOWdlt/destinations/impl/snowflake/configuration.py68 except Exception:CODE
LOWdlt/destinations/impl/filesystem/filesystem.py836 except Exception as e:CODE
LOWdlt/destinations/impl/filesystem/filesystem.py850 except Exception as rm_e:CODE
LOWdlt/destinations/impl/filesystem/filesystem.py1590 except Exception as ex:CODE
LOWdlt/destinations/impl/sqlalchemy/configuration.py68 except Exception:CODE
LOWdlt/destinations/impl/sqlalchemy/db_api_client.py138 except Exception:CODE
LOWdlt/destinations/impl/sqlalchemy/db_api_client.py147 except Exception:CODE
LOWdlt/destinations/impl/sqlalchemy/db_api_client.py173 except Exception:CODE
MEDIUMdlt/destinations/impl/sqlalchemy/db_api_client.py68def _get_columns(self) -> List[str]:CODE
LOWdlt/destinations/impl/redshift/factory.py196 except Exception:CODE
LOWdlt/destinations/impl/postgres/sql_client.py69 except Exception:CODE
MEDIUMdlt/destinations/impl/postgres/sql_client.py64def begin_transaction(self) -> Iterator[DBTransaction]:CODE
LOWdlt/destinations/impl/postgres/factory.py144 except Exception:CODE
LOWdlt/destinations/impl/duckdb/sql_client.py212 except Exception:CODE
LOWdlt/destinations/impl/duckdb/sql_client.py221 except Exception:CODE
LOWdlt/destinations/impl/duckdb/sql_client.py265 except Exception:CODE
LOWdlt/destinations/impl/duckdb/sql_client.py285 except Exception:CODE
MEDIUMdlt/destinations/impl/duckdb/sql_client.py208def begin_transaction(self) -> Iterator[DBTransaction]:CODE
248 more matches not shown…
Cross-Language Confusion56 hits · 336 pts
SeverityFileLineSnippetContext
HIGHdlt/common/data_writers/writers.py663 elif promote_options != "none" and not table.schema.equals(CODE
HIGHdlt/common/data_writers/writers.py677 if promote_options == "none" and not table.schema.equals(CODE
HIGHdlt/common/data_writers/writers.py779 if not item.schema.equals(self._first_schema):CODE
HIGHdlt/sources/helpers/rest_client/detector.py86 # when a list was returned (or in rare case a simple type or null)COMMENT
HIGHdlt/helpers/mermaid.py72 # (columns whose first observed values were all null). if that propagation is removed so thatCOMMENT
HIGHtests/pipeline/test_arrow_sources.py95 assert tbl_expected.schema.equals(tbl.schema)CODE
HIGHtests/pipeline/test_arrow_sources.py100 assert df_result.equals(df_tbl)CODE
HIGHtests/pipeline/test_arrow_sources.py407 assert actual_tbl_no_binary.schema.equals(shuffled_removed_column.schema)CODE
HIGHtests/pipeline/test_arrow_sources.py428 assert actual_tbl.schema.equals(actual_tbl_shuffled.schema)CODE
HIGHtests/pipeline/test_import_export_schema.py280 # 1. Column 'b' is null, should NOT appear in schema at allCOMMENT
HIGHtests/pipeline/test_import_export_schema.py341 # 1. Column 'a' is null, should NOT appear in schema at allCOMMENT
HIGHtests/pipeline/test_pipeline_extra.py404 "child": '{"child_attribute":"any string","optional_child_attribute":null}',CODE
HIGHtests/libs/test_ibis.py82 assert expected_schema.equals(ibis_schema)CODE
HIGHtests/libs/test_deltalake.py144 assert not dt_arrow_table.equals(arrow_table)CODE
HIGHtests/libs/pyarrow/test_pyarrow.py511 assert new_table.equals(expected_table)CODE
HIGHtests/libs/pyarrow/test_row_tuples_to_arrow.py164 assert arrow_array.equals(expected_arrow_array)CODE
HIGHtests/libs/pyarrow/test_row_tuples_to_arrow.py774 assert tbl.equals(expected)CODE
HIGHtests/libs/pyarrow/test_row_tuples_to_arrow.py842 assert tbl.equals(expected)CODE
HIGHtests/common/configuration/test_toml_provider.py491 # yaml fragment with a null, a list and a table replacing what was a plain valueCOMMENT
HIGHtests/load/test_job_client.py1207 # use third schema where one of the fields is non null, but the field exists so it is ignoredCOMMENT
HIGHtests/load/pipeline/test_open_table_pipeline.py614 assert actual.equals(expected)CODE
HIGHtests/load/pipeline/test_open_table_pipeline.py637 assert actual.schema.equals(expected.schema)CODE
HIGHtests/load/pipeline/test_open_table_pipeline.py639 assert actual.schema.equals(expected.schema)CODE
HIGHtests/load/pipeline/test_open_table_pipeline.py689 assert actual.schema.equals(expected.schema)CODE
HIGHtests/load/pipeline/test_open_table_pipeline.py767 assert empty_arrow_table.schema.equals(arrow_table.schema) # it has a schemaCODE
HIGHtests/load/pipeline/test_open_table_pipeline.py780 assert actual.schema.equals(expected.schema)CODE
HIGHtests/load/pipeline/test_open_table_pipeline.py791 assert actual.schema.equals(expected.schema)CODE
HIGHtests/helpers/test_dbml.py300 "id" bigint [pk, not null]CODE
HIGHtests/helpers/test_dbml.py303 "_dlt_load_id" text [not null]CODE
HIGHtests/helpers/test_dbml.py304 "_dlt_id" text [unique, not null]CODE
HIGHtests/helpers/test_dbml.py308 "id" bigint [pk, not null]CODE
HIGHtests/helpers/test_dbml.py313 "_dlt_load_id" text [not null]CODE
HIGHtests/helpers/test_dbml.py314 "_dlt_id" text [unique, not null]CODE
HIGHtests/helpers/test_dbml.py318 "purchase_id" bigint [not null]CODE
HIGHtests/helpers/test_dbml.py319 "name" text [not null]CODE
HIGHtests/helpers/test_dbml.py320 "price" bigint [not null]CODE
HIGHtests/helpers/test_dbml.py321 "_dlt_root_id" text [not null]CODE
HIGHtests/helpers/test_dbml.py322 "_dlt_parent_id" text [not null]CODE
HIGHtests/helpers/test_dbml.py323 "_dlt_list_idx" bigint [not null]CODE
HIGHtests/helpers/test_dbml.py324 "_dlt_id" text [unique, not null]CODE
HIGHtests/helpers/test_dbml.py328 "version" bigint [not null]CODE
HIGHtests/helpers/test_dbml.py329 "engine_version" bigint [not null]CODE
HIGHtests/helpers/test_dbml.py330 "inserted_at" timestamp [not null]CODE
HIGHtests/helpers/test_dbml.py331 "schema_name" text [not null]CODE
HIGHtests/helpers/test_dbml.py332 "version_hash" text [not null]CODE
HIGHtests/helpers/test_dbml.py333 "schema" text [not null]CODE
HIGHtests/helpers/test_dbml.py340 "load_id" text [not null]CODE
HIGHtests/helpers/test_dbml.py342 "status" bigint [not null]CODE
HIGHtests/helpers/test_dbml.py343 "inserted_at" timestamp [not null]CODE
HIGHtests/helpers/test_dbml.py351 "version" bigint [not null]CODE
HIGHtests/helpers/test_dbml.py352 "engine_version" bigint [not null]CODE
HIGHtests/helpers/test_dbml.py353 "pipeline_name" text [not null]CODE
HIGHtests/helpers/test_dbml.py354 "state" text [not null]CODE
HIGHtests/helpers/test_dbml.py355 "created_at" timestamp [not null]CODE
HIGHtests/helpers/test_dbml.py357 "_dlt_load_id" text [not null]CODE
HIGHtests/helpers/test_dbml.py358 "_dlt_id" text [unique, not null]CODE
Deep Nesting345 hits · 320 pts
SeverityFileLineSnippetContext
LOWtools/check_api_breaking.py46CODE
LOWtools/check_dependency_changes.py110CODE
LOWtools/check_dependency_changes.py142CODE
LOWdlt/pipeline/pipeline.py442CODE
LOWdlt/pipeline/pipeline.py855CODE
LOWdlt/pipeline/pipeline.py1773CODE
LOWdlt/pipeline/pipeline.py1928CODE
LOWdlt/pipeline/pipeline.py1962CODE
LOWdlt/pipeline/pipeline.py2030CODE
LOWdlt/pipeline/pipeline.py2184CODE
LOWdlt/pipeline/exceptions.py51CODE
LOWdlt/destinations/type_mapping.py73CODE
LOWdlt/destinations/utils.py92CODE
LOWdlt/destinations/utils.py130CODE
LOWdlt/destinations/job_client_impl.py777CODE
LOWdlt/destinations/sql_jobs.py168CODE
LOWdlt/destinations/sql_jobs.py800CODE
LOWdlt/destinations/insert_job_client.py31CODE
LOWdlt/destinations/file_batching.py62CODE
LOWdlt/destinations/path_utils.py133CODE
LOWdlt/destinations/impl/clickhouse/sql_client.py260CODE
LOWdlt/destinations/impl/clickhouse/sql_client.py330CODE
LOWdlt/destinations/impl/clickhouse/clickhouse.py84CODE
LOWdlt/destinations/impl/clickhouse/clickhouse.py480CODE
LOWdlt/destinations/impl/dremio/sql_client.py142CODE
LOWdlt/destinations/impl/dremio/pydremio.py215CODE
LOWdlt/destinations/impl/databricks/sql_client.py161CODE
LOWdlt/destinations/impl/databricks/configuration.py55CODE
LOWdlt/destinations/impl/databricks/databricks_adapter.py23CODE
LOWdlt/destinations/impl/databricks/factory.py74CODE
LOWdlt/destinations/impl/databricks/databricks.py205CODE
LOWdlt/destinations/impl/databricks/databricks.py288CODE
LOWdlt/destinations/impl/databricks/databricks.py682CODE
LOWdlt/destinations/impl/lance/lance_client.py367CODE
LOWdlt/destinations/impl/bigquery/bigquery.py89CODE
LOWdlt/destinations/impl/bigquery/bigquery.py324CODE
LOWdlt/destinations/impl/bigquery/bigquery.py391CODE
LOWdlt/destinations/impl/bigquery/bigquery.py676CODE
LOWdlt/destinations/impl/snowflake/sql_client.py172CODE
LOWdlt/destinations/impl/snowflake/utils.py53CODE
LOWdlt/destinations/impl/filesystem/sql_client.py73CODE
LOWdlt/destinations/impl/filesystem/sql_client.py151CODE
LOWdlt/destinations/impl/filesystem/filesystem.py811CODE
LOWdlt/destinations/impl/filesystem/filesystem.py829CODE
LOWdlt/destinations/impl/filesystem/filesystem.py1260CODE
LOWdlt/destinations/impl/sqlalchemy/configuration.py247CODE
LOWdlt/destinations/impl/sqlalchemy/merge_job.py36CODE
LOWdlt/destinations/impl/sqlalchemy/load_jobs.py89CODE
LOWdlt/destinations/impl/sqlalchemy/load_jobs.py143CODE
LOWdlt/destinations/impl/sqlalchemy/db_api_client.py458CODE
LOWdlt/destinations/impl/sqlalchemy/type_mapper.py35CODE
LOWdlt/destinations/impl/sqlalchemy/type_mapper.py184CODE
LOWdlt/destinations/impl/postgres/sql_client.py128CODE
LOWdlt/destinations/impl/qdrant/qdrant_job_client.py264CODE
LOWdlt/destinations/impl/qdrant/qdrant_job_client.py311CODE
LOWdlt/destinations/impl/qdrant/qdrant_job_client.py494CODE
LOWdlt/destinations/impl/duckdb/sql_client.py377CODE
LOWdlt/destinations/impl/duckdb/sql_client.py535CODE
LOWdlt/destinations/impl/duckdb/sql_client.py711CODE
LOWdlt/destinations/impl/duckdb/configuration.py167CODE
285 more matches not shown…
Docstring Block Structure53 hits · 265 pts
SeverityFileLineSnippetContext
HIGHdlt/pipeline/__init__.py302Loads the data in `data` argument into the destination specified in `destination` and dataset specified in `dataset_nameSTRING
HIGHdlt/pipeline/pipeline.py715Loads the data from `data` argument into the destination specified in `destination` and dataset specified in `dataset_naSTRING
HIGHdlt/destinations/utils.py261Converts a query string from the new pyformat style to the old pyformat style. The new pyformat style uses placeholSTRING
HIGHdlt/destinations/impl/clickhouse/clickhouse.py92Creates the ClickHouse table function for loading from cloud storage. Args: bucket_scheme: The scheSTRING
HIGHdlt/destinations/impl/clickhouse/clickhouse_adapter.py35Adapts the given data by applying Clickhouse-specific hints. Args: data (Any): The data to be transformed. STRING
HIGHdlt/destinations/impl/databricks/databricks_adapter.py34 Prepares data for loading into Databricks. This function takes data, which can be raw or already wrapped in a STRING
HIGHdlt/destinations/impl/lance/lance_adapter.py21Prepares data for the Lance destination by specifying which columns should be embedded. Args: data (Any): TSTRING
HIGHdlt/destinations/impl/bigquery/bigquery_adapter.py86 Prepares data for loading into BigQuery. This function takes data, which can be raw or already wrapped in a DlSTRING
HIGH…destinations/impl/filesystem/iceberg_partition_spec.py49Get the PyIceberg Transform object for a partition spec. Args: spec: The PartitionSpec to get the transformSTRING
HIGHdlt/destinations/impl/filesystem/iceberg_adapter.py155Prepares data or a DltResource for loading into Apache Iceberg table. Takes raw data or an existing DltResource andSTRING
HIGHdlt/destinations/impl/postgres/postgres_adapter.py16Prepares data for the postgres destination by specifying which columns should be cast to PostGIS geometry types. STRING
HIGHdlt/destinations/impl/qdrant/qdrant_adapter.py15Prepares data for the Qdrant destination by specifying which columns should be embedded. Args: data (AnSTRING
HIGHdlt/destinations/impl/weaviate/weaviate_adapter.py23Prepares data for the Weaviate destination by specifying which columns should be vectorized and which tokenization mSTRING
HIGHdlt/destinations/impl/lancedb/lancedb_adapter.py20Prepares data for the LanceDB destination by specifying which columns should be embedded. Args: data (Any):STRING
HIGHdlt/destinations/impl/synapse/synapse_adapter.py21Prepares data for the Synapse destination by specifying which table index type should be used. Args: daSTRING
HIGHdlt/destinations/impl/athena/athena_adapter.py66 Prepares data for loading into Athena Args: data: The data to be transformed. This can be STRING
HIGHdlt/dataset/relation.py473Join this relation to another table. Without `on`, join conditions are discovered automatically from the STRING
HIGHdlt/dataset/_incremental.py121Build the WHERE condition for an Incremental cursor on `column_ref`. Args: incremental (Incremental): The iSTRING
HIGHdlt/common/validation.py36Validate the `doc` dictionary based on the given typed dictionary specification `spec`. Args: spec (Type[_TSTRING
HIGHdlt/common/configuration/container.py164Insert ``config`` into the container and restore the previous value on exit. Args: config (TInjectaSTRING
HIGHdlt/common/runtime/telemetry.py75Decorator factory that attaches telemetry to a callable. The returned decorator wraps a function so that an anonymoSTRING
HIGHdlt/common/destination/client.py973Returns a copy of this model. The copy carries the new `query` and `dialect`. The new model keeps the attach inSTRING
HIGHdlt/common/destination/client.py1014Creates a `SqlModel` from a raw SQL query string. The method raises when the query is not a SELECT. ArgSTRING
HIGHdlt/common/destination/reference.py210Create an ibis backend for this destination bound to `client`'s dataset. Args: client (TDestinationSTRING
HIGHdlt/common/libs/pyiceberg.py214Load Iceberg catalog through pyiceberg load_catalog mechanism. See https://py.iceberg.apache.org/configuration/#setting-STRING
HIGHdlt/common/libs/pyiceberg.py288Load Iceberg catalog from configuration dictionary Args: catalog_name: Name of the catalog config_dSTRING
HIGHdlt/common/libs/pyiceberg.py332Get an Iceberg catalog using multiple configuration methods. This function tries to load a catalog in the followingSTRING
HIGHdlt/common/schema/utils.py600Merges `partial_table` into `table` in place. Merge rules: - New columns from `partial_table` are added to `tabSTRING
HIGHdlt/common/schema/schema.py357Adds or merges `partial_table` into the schema. Args: partial_table: Table schema to add or merge STRING
HIGHdlt/common/runners/runnable.py66Decorator for a process/thread pool worker function facilitates passing bound configuration type across the process bounSTRING
HIGHdlt/common/reflection/inspect.py16Return True if obj (or an inner layer) has given code flag. The test mimics inspect.isgeneratorfunction but is moreSTRING
HIGHdlt/_workspace/mcp/tools/_ai_context_api_client.py17Search for available sources by name and description. Args: query: Search string. Empty string returns all STRING
HIGHdlt/_workspace/cli/dlthub/utils.py146Display paths to be deleted and ask for confirmation. Args: run_context: current run context. skip_STRING
HIGHdlt/_workspace/cli/dlthub/ai/utils.py345Return install-order list of dependencies for a toolkit. Args: name: Toolkit to resolve dependencies for. STRING
HIGHdlt/_workspace/cli/dlthub/ai/utils.py402Scan workbench directory and return mapping of toolkit name -> TToolkitInfo. Args: base: Root directory of STRING
HIGHdlt/_workspace/cli/dlthub/ai/utils.py438Build a TToolkitInfo from a raw metadata dict. Args: meta: Raw metadata dictionary with toolkit fields. STRING
HIGHdlt/_workspace/deployment/interval.py98Half-open `[start, end)` interval for a non-interval job run. `schedule:` and `every:` triggers carry continuity: `STRING
HIGHdlt/_workspace/deployment/manifest.py605Import a module, generate a manifest, and validate it. Args: name_or_path: Python module name or file path.STRING
HIGHdlt/_workspace/deployment/requirements.py302Export a workspace's dependencies as a `TWorkspaceRequirementsManifest`. If no default group names dlt, the installSTRING
HIGHdlt/_workspace/deployment/_run_helpers.py365Resolve a run/serve request to a launchable `TRunJobInfo`. Args: selector: User-supplied positional — a selSTRING
HIGHdlt/sources/helpers/rest_client/client.py209Iterates over paginated API responses, yielding pages of data. Args: path (str): Endpoint path for STRING
HIGHdlt/extract/resource.py241Records a data location this resource reads from, to be emitted in the pipeline trace. Call on the resource insSTRING
HIGHdlt/extract/resource.py459Limit the number of items that will be processed by the resource: by count and by time. By default, dlt counts nSTRING
HIGHdlt/extract/source.py532Limits the items processed in all selected resources in the source that are not transformers: by count or time. STRING
HIGHdlt/extract/state.py80Returns a dictionary with the resource-scoped state. Resource-scoped state is visible only to resource requesting the acSTRING
HIGHdlt/extract/decorators.py600When used as a decorator, transforms any generator (yielding) function into a `dlt resource`. When used as a function, iSTRING
HIGHdlt/extract/decorators.py901A form of `dlt resource` that takes input from other resources via `data_from` argument in order to enrich or transform STRING
HIGHdlt/helpers/dbt_cloud/client.py60 Trigger a job run in dbt Cloud. Uses `https://cloud.getdbt.com/api/v2/accounts/{account_id}/jobs/{jobSTRING
HIGHdlt/helpers/dbt_cloud/client.py116 Get the status of a dbt Cloud job run by run_id. Uses `https://cloud.getdbt.com/api/v2/accounts/{accouSTRING
HIGHdlt/helpers/dbt_cloud/__init__.py21 Trigger a dbt Cloud job run and retrieve its status. Args: credentials (DBTCloudConfiguration): ConfigSTRING
HIGHdlt/helpers/dbt_cloud/__init__.py105 Retrieve the status of a dbt Cloud job run. Args: credentials (DBTCloudConfiguration): Configuration pSTRING
HIGHtests/pipeline/utils.py257Load full table contents from the SFTP filesystem destination. Args: p (dlt.Pipeline): Pipeline whose destiSTRING
HIGH.claude/rules/docstrings.md25Iterates over paginated API responses, yielding pages of data. Args: path (str): Endpoint path for the requSTRING
Self-Referential Comments64 hits · 161 pts
SeverityFileLineSnippetContext
MEDIUMdlt/destinations/impl/sqlalchemy/merge_job.py146 # Create the insert "temporary" table (but use a concrete table)COMMENT
MEDIUMdlt/destinations/impl/weaviate/weaviate_client.py483 # Create the collectionCOMMENT
MEDIUMdlt/common/libs/pyarrow.py877 # Create a regular array filled with the repeated valueCOMMENT
MEDIUMdlt/common/libs/sql_alchemy_shims.py73 # This module is part of SQLAlchemy and is released underSTRING
MEDIUMdlt/common/schema/utils.py995 # Create a copy of the table schema, preserving all fields except columnsCOMMENT
MEDIUM…plates/_core_source_templates/sql_database_pipeline.py20 # Create a pipelineCOMMENT
MEDIUM…plates/_core_source_templates/sql_database_pipeline.py147 # Create a pipelineCOMMENT
MEDIUM…_templates/_core_source_templates/rest_api_pipeline.py15 # Create a REST API configuration for the GitHub APICOMMENT
MEDIUM…emplates/_single_file_templates/github_api_pipeline.py27 # Define a resource which fetches repos dataCOMMENT
MEDIUM…emplates/_single_file_templates/github_api_pipeline.py33 # Define a resource which fetches issues data (incremental by updated_at timestamp)COMMENT
MEDIUM…/_templates/_single_file_templates/default_pipeline.py16 # Create a dlt pipeline that will loadCOMMENT
MEDIUMdlt/sources/helpers/requests/retry.py258 # Create a new session if config has changedCOMMENT
MEDIUMdlt/extract/utils.py344 # Create a new str instanceCOMMENT
MEDIUMtests/pipeline/test_arrow_sources.py577 # Define the schema based on the CSV inputCOMMENT
MEDIUMtests/pipeline/test_arrow_sources.py597 # Create an empty table with the defined schemaCOMMENT
MEDIUMtests/pipeline/test_schema_contracts.py871 # Create a database schema with tableCOMMENT
MEDIUMtests/pipeline/test_pipeline_trace.py845 # Create a pipelineCOMMENT
MEDIUMtests/libs/pyarrow/test_pyarrow.py158 # Create a complex nested typeCOMMENT
MEDIUMtests/normalize/test_model_item_normalizer.py271 # Define a query with illegal characters in column names to test normalizationCOMMENT
MEDIUMtests/normalize/test_model_item_normalizer.py348 # Define a query using the randomly ordered columnsSTRING
MEDIUMtests/normalize/test_model_item_normalizer.py353 # Create a SQL model from the querySTRING
MEDIUMtests/normalize/test_model_item_normalizer.py282 # Create a SQL model from the querySTRING
MEDIUMtests/normalize/test_model_item_normalizer.py386 # Create a SQL model from the querySTRING
MEDIUMtests/normalize/test_model_item_normalizer.py425 # Create a SQL model from the querySTRING
MEDIUMtests/normalize/test_model_item_normalizer.py679 # Create a query that selects variant columnsSTRING
MEDIUMtests/normalize/test_json_item_inference.py319 # Create an incomplete column firstCOMMENT
MEDIUMtests/common/libs/test_pyiceberg.py136 # Create a namespaceCOMMENT
MEDIUMtests/common/schema/test_schema_contract.py495 # Create a table update that tries to add a variant columnCOMMENT
MEDIUMtests/load/test_job_client.py441 # Create a second schema with 2 hashesCOMMENT
MEDIUMtests/load/test_model_item_format.py372 # Define a resource that aliases column "a" as "b"COMMENT
MEDIUMtests/load/test_model_item_format.py444 # Define a resource for a SQL model that excludes column "b" and "_dlt_id" from the queryCOMMENT
MEDIUMtests/load/test_model_item_format.py458 # Define a resource for a SQL model that reverses the column order in the queryCOMMENT
MEDIUMtests/load/test_read_interfaces.py923 # Create a sqlglot expression: id = 42COMMENT
MEDIUMtests/load/dremio/bootstrap/bootstrap_dremio.sh39# Create a NAS source. This will contain final ICEBERG tables.COMMENT
MEDIUMtests/load/dremio/bootstrap/bootstrap_dremio.sh49# Create an S3 source using minio. This will be used for staging data.COMMENT
MEDIUMtests/load/athena_iceberg/test_lakeformation.py316 # Create a table without LakeFormationCOMMENT
MEDIUMtests/load/athena_iceberg/test_lakeformation.py363 # Create a table with LakeFormation enabledCOMMENT
MEDIUMtests/load/bigquery/test_bigquery_client.py495 # Create a wrapper that uses base GcpCredentials typeCOMMENT
MEDIUMtests/load/sources/sql_database/postgres_source.py216 # Create a viewCOMMENT
MEDIUMtests/load/fabric/test_fabric_table_builder.py126 # Create a table schema with a unique text columnCOMMENT
MEDIUMtests/load/fabric/test_fabric_configuration.py126 # Create a mock table for testingCOMMENT
MEDIUMtests/sources/helpers/rest_client/test_client.py667 # Create a mock response with sensitive URLCOMMENT
MEDIUMdocs/website/docs/intro-snippets.py10 # Create a dlt pipeline that will loadCOMMENT
MEDIUM…ge/dataset-access/dataset_snippets/dataset_snippets.py471 # Create a relation with a limit of 1 million rowsSTRING
MEDIUM…ge/dataset-access/dataset_snippets/dataset_snippets.py474 # Create a new pipelineSTRING
MEDIUM…pipeline/deploy_snippets/deploy-with-modal-snippets.py8 # Define the Modal ImageCOMMENT
MEDIUM…pipeline/deploy_snippets/deploy-with-modal-snippets.py32 # Define the source database credentials; in production, you would save this as a Modal Secret which can be refeCOMMENT
MEDIUM…on/dlt-advanced-course/lesson_8_logging_and_tracing.py38 mo.md(r"""## Create the pipeline we will inspect""")STRING
MEDIUM…on/dlt-advanced-course/lesson_8_logging_and_tracing.py342 # Create a loggerSTRING
MEDIUM…on/dlt-advanced-course/lesson_8_logging_and_tracing.py348 # Create a file handlerSTRING
MEDIUM…ucation/dlt-advanced-course/lesson_7_data_contracts.py212 # Create a dlt pipelineSTRING
MEDIUM…ucation/dlt-advanced-course/lesson_7_data_contracts.py236 # Define a dlt resource that allows the creation of new tablesCOMMENT
MEDIUM…ucation/dlt-advanced-course/lesson_7_data_contracts.py261 # Define a dlt resource that prevents any changes to the schema at the table level (no new tables can be added)COMMENT
MEDIUM…ucation/dlt-advanced-course/lesson_7_data_contracts.py370 # Define a dlt resource that skips rows that have new columns but loads those that follow the existing schemaSTRING
MEDIUM…ucation/dlt-advanced-course/lesson_7_data_contracts.py405 # Define a dlt resource that only skips the values of new columns, loading the rest of the row dataSTRING
MEDIUM…ucation/dlt-advanced-course/lesson_7_data_contracts.py441 # Define a dlt resource that does not allow new columns in the dataSTRING
MEDIUM…ucation/dlt-advanced-course/lesson_7_data_contracts.py590 # Define a dlt resource that replaces unverifiable values with None, but retains the rest of the row dataCOMMENT
MEDIUM…dlt_sources_and_resources_create_first_dlt_pipeline.py112 # Create a dlt resource from the dataCOMMENT
MEDIUM…dlt_sources_and_resources_create_first_dlt_pipeline.py190 # Define a resource to load data from a CSVSTRING
MEDIUM…dlt_sources_and_resources_create_first_dlt_pipeline.py260 # Define a resource to fetch pokemons from PokeAPISTRING
4 more matches not shown…
Modern Structural Boilerplate145 hits · 148 pts
SeverityFileLineSnippetContext
LOWdlt/__init__.py60__all__ = [CODE
LOWdlt/pipeline/mark.py11__all__ = [CODE
LOWdlt/pipeline/current.py62__all__ = [CODE
LOWdlt/pipeline/pipeline.py1357 def set_local_state_val(self, key: str, value: Any) -> None:CODE
LOWdlt/pipeline/pipeline.py1377 def _update_last_run_context(self) -> None:CODE
LOWdlt/pipeline/pipeline.py1756 def _set_context(self, is_active: bool) -> None:CODE
LOWdlt/pipeline/pipeline.py1856 def _set_dataset_name(self, new_dataset_name: Optional[str]) -> None:CODE
LOWdlt/pipeline/pipeline.py1895 def _set_default_schema_name(self, schema: Schema) -> None:CODE
LOWdlt/destinations/sql_client.py335 def set_query_tags(self, tags: Optional[TQueryTags]) -> None:CODE
LOWdlt/destinations/sql_client.py401 def set_schemas(self, schemas: Sequence[Schema]) -> None: ...CODE
LOWdlt/destinations/sql_client.py465 def _set_default_schema_columns(self) -> None:CODE
LOWdlt/destinations/configuration.py4__all__ = ["WithLocalFiles"]CODE
LOWdlt/destinations/job_impl.py93 def set_final_state(self, state: TLoadJobState, failed_message: Optional[str] = None) -> None:CODE
LOWdlt/destinations/__init__.py25__all__ = [CODE
LOWdlt/destinations/job_client_impl.py879 def _update_schema_in_storage(self, schema: Schema) -> None:CODE
LOWdlt/destinations/adapters.py15__all__ = [CODE
LOWdlt/destinations/impl/clickhouse/clickhouse.py360 def _set_internal_table_sort_hints(self, table: PreparedTableSchema) -> None:CODE
LOWdlt/destinations/impl/dremio/pydremio.py333 def set_call_credential(self, call_credential: Tuple[bytes, bytes]) -> None:CODE
LOWdlt/destinations/impl/lance/configuration.py279 def _set_provider_api_key_env_var(self, api_key: str) -> None:CODE
LOWdlt/destinations/impl/lance/lance_client.py641 def _update_schema_in_storage(self, schema: Schema) -> None:CODE
LOWdlt/destinations/impl/snowflake/sql_client.py157 def set_query_tags(self, tags: Optional[TQueryTags]) -> None:CODE
LOWdlt/destinations/impl/filesystem/filesystem.py1653 def update_dataset_card_metadata(self, load_id: str) -> None:CODE
LOWdlt/destinations/impl/filesystem/filesystem.py1291 def _update_schema_in_storage(self, schema: Schema) -> None:CODE
LOW…/destinations/impl/sqlalchemy/sqlalchemy_job_client.py270 def _update_schema_in_storage(self, schema: Schema) -> None:CODE
LOWdlt/destinations/impl/sqlalchemy/load_jobs.py265__all__ = [CODE
LOWdlt/destinations/impl/qdrant/qdrant_job_client.py479 def _update_schema_in_storage(self, schema: Schema) -> None:CODE
LOWdlt/destinations/impl/duckdb/sql_client.py689 def set_schemas(self, schemas: Sequence[Schema]) -> None:CODE
LOWdlt/destinations/impl/fabric/configuration.py186__all__ = ["FabricCredentials", "FabricClientConfiguration"]CODE
LOWdlt/destinations/impl/fabric/__init__.py7__all__ = [CODE
LOWdlt/destinations/impl/weaviate/weaviate_client.py998 def _update_schema_in_storage(self, schema: Schema) -> None:CODE
LOWdlt/destinations/impl/lancedb/lancedb_client.py462 def _update_schema_in_storage(self, schema: Schema) -> None:CODE
LOWdlt/normalize/__init__.py3__all__ = ["Normalize"]CODE
LOWdlt/normalize/items_normalizers/__init__.py7__all__ = [CODE
LOWdlt/common/__init__.py8__all__ = ["Decimal", "Wei", "pendulum", "json", "sleep", "logger"]CODE
LOWdlt/common/utils.py316def update_dict_with_prune(dest: DictStrAny, update: StrAny) -> None:CODE
LOWdlt/common/pipeline.py653 def _set_context(self, is_active: bool) -> None:CODE
LOWdlt/common/jsonpath.py113def set_value_at_path(obj: dict[str, Any], path: str, value: Any) -> None:CODE
LOWdlt/common/normalizers/__init__.py5__all__ = [CODE
LOWdlt/common/normalizers/json/__init__.py68 def update_normalizer_config(cls, schema: Schema, config: TNormalizerConfig) -> None:CODE
LOWdlt/common/normalizers/json/__init__.py89__all__ = [CODE
LOWdlt/common/normalizers/json/relational.py448 def update_normalizer_config(cls, schema: Schema, config: RelationalNormalizerConfig) -> None:CODE
LOWdlt/common/normalizers/naming/__init__.py3__all__ = ["NamingConvention"]CODE
LOWdlt/common/configuration/resolve.py244 def _set_field(is_resolvable: bool = True) -> None:CODE
LOWdlt/common/configuration/__init__.py20__all__ = [CODE
LOWdlt/common/configuration/inject.py35def set_fun_spec(f: AnyFun, spec: Type[BaseConfiguration]) -> None:CODE
LOWdlt/common/configuration/inject.py41def set_fun_last_config(f: AnyFun, config: BaseConfiguration) -> None:CODE
LOWdlt/common/configuration/specs/__init__.py43__all__ = [CODE
LOWdlt/common/configuration/specs/base_configuration.py544 def _set_default_credentials(self, credentials: Any) -> None:CODE
LOWdlt/common/configuration/providers/provider.py26 def set_value(self, key: str, value: Any, pipeline_name: Optional[str], *sections: str) -> None:CODE
LOWdlt/common/configuration/providers/__init__.py18__all__ = [CODE
LOWdlt/common/configuration/providers/doc.py46 def set_value(self, key: str, value: Any, pipeline_name: Optional[str], *sections: str) -> None:CODE
LOWdlt/common/configuration/providers/toml.py133 def set_value(self, key: str, value: Any, pipeline_name: Optional[str], *sections: str) -> None:CODE
LOWdlt/common/data_types/__init__.py4__all__ = ["coerce_value", "py_type_to_sc_type", "TDataType", "DATA_TYPES"]CODE
LOWdlt/common/storages/load_package.py905 def set_abort_flag(self, load_id: str) -> None:CODE
LOWdlt/common/storages/__init__.py28__all__ = [CODE
LOWdlt/common/data_writers/configuration.py15__all__ = ["CsvQuoting", "CsvFormatConfiguration", "ParquetFormatConfiguration"]CODE
LOWdlt/common/data_writers/__init__.py17__all__ = [CODE
LOWdlt/common/runtime/signals.py80def set_received_signal(sig: int) -> None:CODE
LOWdlt/common/destination/client.py462 def set_final_state(self, state: TLoadJobState, failed_message: Optional[str] = None) -> None:CODE
LOWdlt/common/destination/client.py527 def set_final_state(self, state: TLoadJobState, failed_message: Optional[str] = None) -> None:CODE
85 more matches not shown…
Cross-File Repetition23 hits · 115 pts
SeverityFileLineSnippetContext
HIGHdlt/destinations/job_client_impl.py0starts sqlloadjob for files ending with .sql or returns none to let derived classes to handle their specific jobsSTRING
HIGHdlt/destinations/impl/redshift/redshift.py0starts sqlloadjob for files ending with .sql or returns none to let derived classes to handle their specific jobsSTRING
HIGHdlt/destinations/impl/athena/athena.py0starts sqlloadjob for files ending with .sql or returns none to let derived classes to handle their specific jobsSTRING
HIGHdlt/destinations/impl/lance/factory.py0create an ibis duckdb backend that maps the lancedb tables as in-memory views.STRING
HIGHdlt/destinations/impl/filesystem/factory.py0create an ibis duckdb backend that maps the lancedb tables as in-memory views.STRING
HIGHdlt/destinations/impl/lancedb/factory.py0create an ibis duckdb backend that maps the lancedb tables as in-memory views.STRING
HIGHdlt/destinations/impl/sqlalchemy/type_mapper.py0a custom sqlalchemy type that stores json data as a string in the database. automatically serializes python objects to jSTRING
HIGHtests/load/pipeline/test_sqlalchemy_pipeline.py0a custom sqlalchemy type that stores json data as a string in the database. automatically serializes python objects to jSTRING
HIGH…/website/docs/dlt-ecosystem/destinations/sqlalchemy.md0a custom sqlalchemy type that stores json data as a string in the database. automatically serializes python objects to jSTRING
HIGH…_templates/_single_file_templates/requests_pipeline.py0a source function groups all resources into one schema.STRING
HIGH…templates/_single_file_templates/dataframe_pipeline.py0a source function groups all resources into one schema.STRING
HIGH…ce/_templates/_single_file_templates/arrow_pipeline.py0a source function groups all resources into one schema.STRING
HIGH…ce/_templates/_single_file_templates/debug_pipeline.py0a source function groups all resources into one schema.STRING
HIGH…templates/_single_file_templates/fruitshop_pipeline.py0a source function groups all resources into one schema.STRING
HIGHtests/extract/test_polars.py0most of the following tests rely on the old default fifo next item modeSTRING
HIGHtests/extract/test_sources.py0most of the following tests rely on the old default fifo next item modeSTRING
HIGHtests/extract/test_incremental.py0most of the following tests rely on the old default fifo next item modeSTRING
HIGHtests/helpers/test_mermaid.py0tables with only incomplete columns are excluded, and incomplete columns within complete tables are skipped.STRING
HIGHtests/helpers/test_dbml.py0tables with only incomplete columns are excluded, and incomplete columns within complete tables are skipped.STRING
HIGHtests/helpers/test_graphviz.py0tables with only incomplete columns are excluded, and incomplete columns within complete tables are skipped.STRING
HIGH…-usage/customising-pipelines/pseudonymizing_columns.md0pseudonymization is a deterministic type of pii-obscuring. its role is to allow identifying users by their hash, withoutSTRING
HIGH…s/dlt-ecosystem/verified-sources/sql_database/usage.md0pseudonymization is a deterministic type of pii-obscuring. its role is to allow identifying users by their hash, withoutSTRING
HIGH…se/lesson_5_transform_data_before_and_after_loading.py0pseudonymization is a deterministic type of pii-obscuring. its role is to allow identifying users by their hash, withoutSTRING
Decorative Section Separators28 hits · 88 pts
SeverityFileLineSnippetContext
MEDIUM…sts/workspace/cli/dlthub/ai/test_ai_command_helpers.py716# ---------------------------------------------------------------------------COMMENT
MEDIUM…sts/workspace/cli/dlthub/ai/test_ai_command_helpers.py718# ---------------------------------------------------------------------------COMMENT
MEDIUM…sts/workspace/cli/dlthub/ai/test_ai_command_helpers.py827# ---------------------------------------------------------------------------COMMENT
MEDIUM…sts/workspace/cli/dlthub/ai/test_ai_command_helpers.py829# ---------------------------------------------------------------------------COMMENT
MEDIUM…ts/normalize/cases/github.issues.load_page_5_duck.json351 "body": "### What happens?\n\nI found that the juliapkg doesn't contains a TimeZone config, which means when usingCODE
MEDIUM…ts/normalize/cases/github.issues.load_page_5_duck.json2274 "body": "### What happens?\n\nCasting from string to hugeint behaves incorrect.\n\n### To Reproduce\n\n```sql\r\nDCODE
MEDIUM…ts/normalize/cases/github.issues.load_page_5_duck.json3489 "body": "See #4308\r\n\r\nWe should support the `UNION BY NAME` operator to union together tables with re-ordered CODE
MEDIUM…ts/normalize/cases/github.issues.load_page_5_duck.json3745 "body": "### What happens?\n\nThe CSV auto import functionality does not seem to work correctly when there is a reCODE
MEDIUM…ts/normalize/cases/github.issues.load_page_5_duck.json3745 "body": "### What happens?\n\nThe CSV auto import functionality does not seem to work correctly when there is a reCODE
MEDIUM…ts/normalize/cases/github.issues.load_page_5_duck.json5336 "body": "As reported here https://github.com/facebookincubator/velox/issues/895\r\nParquet reader seems to have a CODE
MEDIUM…ts/normalize/cases/github.issues.load_page_5_duck.json6731 "body": "Hello,\r\n\r\nI've exported a large PostgreSQL 12 table to a CSV file using the [PostgreSQL COPY](https:/CODE
MEDIUMtests/common/libs/docker-compose-iceberg.yml17 # ==========================================================================COMMENT
MEDIUMtests/common/libs/docker-compose-iceberg.yml19 # ==========================================================================COMMENT
MEDIUMtests/common/libs/docker-compose-iceberg.yml44 # ==========================================================================COMMENT
MEDIUMtests/common/libs/docker-compose-iceberg.yml46 # ==========================================================================COMMENT
MEDIUMtests/common/libs/docker-compose-iceberg.yml66 # ==========================================================================COMMENT
MEDIUMtests/common/libs/docker-compose-iceberg.yml68 # ==========================================================================COMMENT
MEDIUMtests/common/libs/docker-compose-iceberg.yml90 # ==========================================================================COMMENT
MEDIUMtests/common/libs/docker-compose-iceberg.yml92 # ==========================================================================COMMENT
MEDIUMtests/common/libs/docker-compose-iceberg.yml113 # ==========================================================================COMMENT
MEDIUMtests/common/libs/docker-compose-iceberg.yml116 # ==========================================================================COMMENT
MEDIUM.claude/rules/heresy.md22#------------------------------COMMENT
MEDIUM.claude/rules/heresy.md24#------------------------------COMMENT
MEDIUMdocs/website/docs/dlt-ecosystem/destinations/duckdb.md200# ┌──────────┬───────────────┬─────────────────────┬──────────────────────┬───────────────────────┬───────────┐COMMENT
MEDIUMdocs/website/docs/dlt-ecosystem/destinations/duckdb.md203# ├──────────┼───────────────┼─────────────────────┼──────────────────────┼───────────────────────┼───────────┤COMMENT
MEDIUMdocs/website/docs/dlt-ecosystem/destinations/duckdb.md208# └──────────┴───────────────┴─────────────────────┴──────────────────────┴───────────────────────┴───────────┘COMMENT
MEDIUM.github/workflows/agentic-docs.yml12# ---------------------------------------------------------------------------COMMENT
MEDIUM.github/workflows/agentic-docs.yml33# ---------------------------------------------------------------------------COMMENT
Modern AI Meta-Vocabulary27 hits · 80 pts
SeverityFileLineSnippetContext
MEDIUMdlt/_workspace/configuration.py35 ai_context_api_url: Optional[str] = "https://scaffold.apps.dlthub.com"CODE
MEDIUMdlt/_workspace/cli/dlthub/_init_command.py24 # default keeps user files; --force overwrites the dlthub-managed scaffold butCOMMENT
MEDIUMdlt/_workspace/cli/dlthub/utils.py496 # scaffold via uv.sources / `-e <path>` so a fresh `uv sync` matches the dev envCOMMENT
MEDIUMdlt/_workspace/deployment/requirements.py237 # the scaffold's transitive resolution pulls dlthub / dlthub-client. The other twoCOMMENT
MEDIUMtests/workspace/cli/dlthub/test_init_command.py400 # scaffold actually writtenCOMMENT
MEDIUMtests/load/pipeline/test_open_table_pipeline.py205 # job orchestration is same across table formats—no need to test all formatsCOMMENT
MEDIUMtests/load/pipeline/test_open_table_pipeline.py207 # job orchestration is particular to filesystem open tables implementationCOMMENT
MEDIUMtests/load/pipeline/test_open_table_pipeline.py252 # job orchestration is same across table formats—no need to test all formatsCOMMENT
MEDIUMtests/load/pipeline/test_open_table_pipeline.py254 # job orchestration is particular to filesystem open tables implementationCOMMENT
MEDIUMtests/load/pipeline/test_open_table_pipeline.py824 # job orchestration is same across table formats—no need to test all formatsCOMMENT
MEDIUMtests/load/pipeline/test_open_table_pipeline.py873 # job orchestration is same across table formats—no need to test all formatsCOMMENT
MEDIUM…/website/docs/dlt-ecosystem/destinations/filesystem.md406#### 2. SSH agent-based authenticationCOMMENT
MEDIUMdocs/website/docs/hub/ingestion/init.md77Start with the [`/find-source` skill](./rest-api-source.md#find-source--discover-your-data-source) to describe your dataCODE
MEDIUMdocs/website/docs/hub/ingestion/rest-api-source.md25Install `uv` ([instructions](https://docs.astral.sh/uv/getting-started/installation/)), then scaffold a dltHub workspaceCODE
MEDIUMdocs/website/docs/hub/ingestion/rest-api-source.md136### `/create-rest-api-pipeline` — scaffold the pipelineCOMMENT
MEDIUMdocs/website/docs/hub/getting-started/introduction.md60For an end-to-end walkthrough, watch the [dltHub demo](https://youtu.be/rmpiFSCV8aA), take the [dltHub agentic data engiCODE
MEDIUMdocs/website/docs/hub/getting-started/oss-and-dlthub.md61| **dltHub Context** | Per-source agent contexts (specs, endpoint documentation, prompts) that prime your coding assistaCODE
MEDIUMdocs/website/docs/hub/getting-started/oss-and-dlthub.md61| **dltHub Context** | Per-source agent contexts (specs, endpoint documentation, prompts) that prime your coding assistaCODE
MEDIUMdocs/website/docs/reference/explainers/how-dlt-works.md15The main building block of dlt is the [pipeline](../../general-usage/glossary.md#pipeline), which orchestrates the loadiCODE
MEDIUM…kthroughs/deploy-a-pipeline/orchestrate-with-dlthub.md13## 1. Install and scaffold a workspaceCOMMENT
MEDIUM…kthroughs/deploy-a-pipeline/orchestrate-with-dlthub.md15If you don't have `uv` yet, follow the [uv installation guide](https://docs.astral.sh/uv/getting-started/installation/).CODE
MEDIUM…s/walkthroughs/deploy-a-pipeline/deploy-with-kestra.md40### How does `dlt` integrate with Kestra for pipeline orchestration?COMMENT
MEDIUM…/walkthroughs/deploy-a-pipeline/deploy-with-prefect.md28### How does **`dlt`** integrate with Prefect for pipeline orchestration?COMMENT
MEDIUMdocs/docs_tools/grammar/fix_grammar_gpt.py22MAX_CHUNK_SIZE = 4000 # make sure that this is below the context window size of the model to not have cut off filesCODE
MEDIUM.github/workflows/agentic-docs.yml1# Copy this file to dlt-hub/dlt as .github/workflows/agentic-docs.yml.COMMENT
MEDIUM.github/workflows/agentic-docs.yml32# of the agentic-docs README.COMMENT
MEDIUM.github/workflows/agentic-docs.yml81 # A comment carrying `<!-- agentic-docs -->` is the bot's own and startsCOMMENT
AI Structural Patterns67 hits · 64 pts
SeverityFileLineSnippetContext
LOWdlt/pipeline/__init__.py32CODE
LOWdlt/pipeline/__init__.py113CODE
LOWdlt/pipeline/__init__.py287CODE
LOWdlt/pipeline/pipeline.py442CODE
LOWdlt/pipeline/pipeline.py697CODE
LOWdlt/destinations/decorators.py25CODE
LOWdlt/destinations/decorators.py100CODE
LOWdlt/destinations/decorators.py201CODE
LOWdlt/destinations/impl/databricks/databricks_adapter.py23CODE
LOWdlt/destinations/impl/databricks/factory.py208CODE
LOWdlt/destinations/impl/bigquery/bigquery_adapter.py74CODE
LOWdlt/destinations/impl/snowflake/factory.py234CODE
LOWdlt/destinations/impl/filesystem/factory.py156CODE
LOWdlt/common/pipeline.py619CODE
LOWdlt/common/pipeline.py658CODE
LOWdlt/common/configuration/inject.py47CODE
LOWdlt/common/configuration/inject.py63CODE
LOWdlt/common/configuration/inject.py78CODE
LOWdlt/common/storages/live_schema_storage.py36CODE
LOWdlt/common/data_writers/writers.py317CODE
LOWdlt/common/data_writers/writers.py494CODE
LOWdlt/common/schema/utils.py1415CODE
LOWdlt/_workspace/cli/_init_command.py123CODE
LOWdlt/_workspace/deployment/_run_helpers.py349CODE
LOWdlt/_workspace/deployment/decorators.py259CODE
LOWdlt/_workspace/deployment/decorators.py309CODE
LOWdlt/_workspace/deployment/decorators.py330CODE
LOWdlt/_workspace/deployment/decorators.py350CODE
LOWdlt/_workspace/deployment/decorators.py435CODE
LOWdlt/_workspace/deployment/decorators.py450CODE
LOWdlt/_workspace/deployment/decorators.py464CODE
LOWdlt/_workspace/deployment/decorators.py524CODE
LOWdlt/sources/sql_database/__init__.py39CODE
LOWdlt/sources/sql_database/__init__.py188CODE
LOWdlt/sources/filesystem/__init__.py97CODE
LOWdlt/sources/helpers/requests/retry.py66CODE
LOWdlt/sources/helpers/requests/retry.py175CODE
LOWdlt/sources/helpers/rest_client/client.py194CODE
LOWdlt/sources/helpers/rest_client/paginators.py333CODE
LOWdlt/sources/helpers/rest_client/paginators.py489CODE
LOWdlt/sources/helpers/rest_client/__init__.py12CODE
LOWdlt/extract/reference.py79CODE
LOWdlt/extract/reference.py233CODE
LOWdlt/extract/hints.py128CODE
LOWdlt/extract/hints.py441CODE
LOWdlt/extract/extract.py85CODE
LOWdlt/extract/decorators.py365CODE
LOWdlt/extract/decorators.py381CODE
LOWdlt/extract/decorators.py398CODE
LOWdlt/extract/decorators.py493CODE
LOWdlt/extract/decorators.py520CODE
LOWdlt/extract/decorators.py549CODE
LOWdlt/extract/decorators.py575CODE
LOWdlt/extract/decorators.py826CODE
LOWdlt/extract/decorators.py854CODE
LOWdlt/extract/decorators.py878CODE
LOWdlt/extract/decorators.py159CODE
LOWdlt/extract/incremental/__init__.py151CODE
LOWdlt/helpers/airflow_helper.py72CODE
LOWdlt/helpers/graphviz.py452CODE
7 more matches not shown…
Structural Annotation Overuse37 hits · 60 pts
SeverityFileLineSnippetContext
LOW.claude/skills/release-notes/SKILL.md13## Step 1: Validate the tagCOMMENT
LOW.claude/skills/release-notes/SKILL.md23## Step 2: Determine the previous tagCOMMENT
LOW.claude/skills/release-notes/SKILL.md37## Step 3: Gather commitsCOMMENT
LOW.claude/skills/release-notes/SKILL.md51## Step 4: Fetch PR metadataCOMMENT
LOW.claude/skills/release-notes/SKILL.md80## Step 5: Categorize PRsCOMMENT
LOW.claude/skills/release-notes/SKILL.md113## Step 6: Identify new contributorsCOMMENT
LOW.claude/skills/release-notes/SKILL.md123## Step 7: Format the release notesCOMMENT
LOW.claude/skills/release-notes/SKILL.md166## Step 8: Present for approvalCOMMENT
LOW.claude/skills/release-notes/SKILL.md176## Step 9: Write to fileCOMMENT
LOW…/skills/review-vocabulary/references/simple-english.md45## Step 1: Classify the TextCOMMENT
LOWdocs/website/plugins/llms-txt.js278 // Step 1: Discover pages from HTML build outputCOMMENT
LOWdocs/website/plugins/llms-txt.js310 // Step 2: Map HTML path to source .md fileCOMMENT
LOWdocs/website/plugins/llms-txt.js372 // Step 3: Copy source .md files with cleanupCOMMENT
LOWdocs/website/plugins/llms-txt.js387 // Step 4: Generate llms.txt (master version only)COMMENT
LOW…ge/dataset-access/dataset_snippets/dataset_snippets.py46 # Step 1: Get the dataset from the pipelineCOMMENT
LOW…ge/dataset-access/dataset_snippets/dataset_snippets.py49 # Step 2: Access a table as a RelationCOMMENT
LOW…ge/dataset-access/dataset_snippets/dataset_snippets.py52 # Step 3: Read the entire table as a Pandas DataFrameCOMMENT
LOWdocs/website/docs/hub/ingestion/init.md25## Step 0: Install dlt with workspace supportCOMMENT
LOWdocs/website/docs/hub/ingestion/init.md40## Step 1: Initialize a custom pipelineCOMMENT
LOW…cs/walkthroughs/deploy-a-pipeline/deploy-with-modal.md31### Step 1: Initialize sourceCOMMENT
LOW…cs/walkthroughs/deploy-a-pipeline/deploy-with-modal.md37### Step 2: Define Modal ImageCOMMENT
LOW…cs/walkthroughs/deploy-a-pipeline/deploy-with-modal.md41### Step 3: Define Modal FunctionCOMMENT
LOW…cs/walkthroughs/deploy-a-pipeline/deploy-with-modal.md50### Step 4: Set up credentialsCOMMENT
LOW…cs/walkthroughs/deploy-a-pipeline/deploy-with-modal.md60### Step 5: Run pipelineCOMMENT
LOW…cs/walkthroughs/deploy-a-pipeline/deploy-with-modal.md67### Step 6: DeployCOMMENT
LOW…anced-course/lesson_2_custom_sources_sql_databases_.py50 mo.md(r"""## Step 1: Load data from SQL Databases""")STRING
LOW…anced-course/lesson_2_custom_sources_sql_databases_.py98 ## Step 2: Customize SQL queries with `query_adapter_callback`COMMENT
LOW…anced-course/lesson_2_custom_sources_sql_databases_.py187 ## Step 3: Modify table schema with `table_adapter_callback`COMMENT
LOW…anced-course/lesson_2_custom_sources_sql_databases_.py248 ## Step 4: Adapt column data types with `type_adapter_callback`COMMENT
LOW…anced-course/lesson_2_custom_sources_sql_databases_.py352 ## Step 5: Incremental loads with `sql_database`COMMENT
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py71 ## Step 1: Load Parquet file from Local FilesystemCOMMENT
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py117 ## Step 2: Enrich records with file metadataCOMMENT
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py149 mo.md(r"""## Step 3: Filter files by metadata""")STRING
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py172 ## Step 4: Load files incrementallyCOMMENT
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py192 ## Step 5: Create a custom transformerCOMMENT
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py240 ## Step 6: Copy files before loadingCOMMENT
LOW…e/lesson_4_using_pre_build_sources_and_destinations.py246 ## Step 4: Explore your dataCOMMENT
Redundant / Tautological Comments34 hits · 51 pts
SeverityFileLineSnippetContext
LOWdlt/destinations/impl/lance/lance_client.py398 # Check if this table has orphan removal enabled (either explicitly or via merge strategy)COMMENT
LOWdlt/destinations/impl/fabric/fabric.py54 # Check if this is OneLake storageCOMMENT
LOWdlt/destinations/impl/fabric/fabric.py106 # Check if we've already initialized the token for this clientSTRING
LOWdlt/destinations/impl/fabric/fabric.py148 # Check if this is a OneLake path (abfss:// scheme or onelake in the hostname)STRING
LOWdlt/destinations/impl/lancedb/lancedb_client.py298 # Check if this table has orphan removal enabled (either explicitly or via merge strategy)COMMENT
LOWdlt/destinations/impl/lancedb/lancedb_client.py310 # Check if _dlt_load_id column is required but not presentCOMMENT
LOWdlt/common/libs/pyarrow.py713 # Check if destination supports dictionary encoding (default True if not specified)COMMENT
LOWdlt/common/libs/pyiceberg.py269 # Check if any PYICEBERG_CATALOG_* environment variable is setCOMMENT
LOWdlt/_workspace/_workspace_context.py216 # Check if profile has any toml config filesCOMMENT
LOWdlt/_workspace/_workspace_context.py221 # Check if profile has any pipelinesCOMMENT
LOWdlt/sources/sql_database/schema_types.py121 # Check if sqla type class rather than instance is returnedCOMMENT
LOWtests/pipeline/test_arrow_sources.py720 # Check if the _dlt_load_id column has been replaced with the correct load_idCOMMENT
LOWtests/pipeline/test_arrow_sources.py728 # Check if the _dlt_load_id column has not been replacedCOMMENT
LOWtests/pipeline/test_pipeline_extra.py335 # Check if child dictionary is flattened and added to schemaCOMMENT
LOWtests/pipeline/test_pipeline_extra.py401 # Check if nested fields preservedCOMMENT
LOWtests/pipeline/test_pipeline.py161 # Set dataset_name_layout to "bobby_%s"COMMENT
LOWtests/pipeline/test_pipeline.py693 # Set dataset_name_prefix to "bobby"COMMENT
LOWtests/pipeline/test_pipeline.py331 # Set dataset_name_layout to "bobby_%s"COMMENT
LOWtests/common/test_utils.py487 # Check if the sizes of the decomposed dicts are decreasingCOMMENT
LOWtests/load/pipeline/test_open_table_pipeline.py1421 # Check if all data is presentCOMMENT
LOWtests/load/pipeline/test_open_table_pipeline.py1425 # Check if partition pruning works by scanning with filterCOMMENT
LOWtests/load/athena_iceberg/test_lakeformation.py58 # Check if data lake settings exist and are properly configuredCOMMENT
LOWtests/load/filesystem_sftp/test_filesystem_sftp.py50 # Check if SSH agent is runningCOMMENT
LOWtests/load/filesystem_sftp/test_filesystem_sftp.py55 # Check if the key is present and matchesCOMMENT
LOWtests/load/qdrant/utils.py25 # Check if collection existsCOMMENT
LOWtests/load/duckdb/test_duckdb_client.py528 # Check if passing external duckdb connection works fineSTRING
LOWtests/load/duckdb/test_duckdb_client.py532 # Check if passing :memory: to factory failsSTRING
LOWtests/load/duckdb/test_duckdb_client.py884 # Check if dataset_name does not collide with pipeline_nameSTRING
LOWtests/load/fabric/test_fabric_table_builder.py30 # Set driver to skip checkCOMMENT
LOWtests/load/fabric/test_fabric_configuration.py41 # Set driver to skip ODBC checkCOMMENT
LOWtests/load/weaviate/utils.py29 # Check if class existsCOMMENT
LOWtests/load/lancedb/test_pipeline.py166 # Check if we can get a stored schema and state.COMMENT
LOWdocs/docs_tools/examples/prepare_examples_tests.py69 # Check if CI is running on a fork pull requestSTRING
LOWdocs/examples/partial_loading/partial_loading.py117 # Check if the table directory existsCOMMENT
Over-Commented Block47 hits · 44 pts
SeverityFileLineSnippetContext
LOWdlt/pipeline/pipeline.py1621 load_package_state_update = copy(load_package_state_update or {})COMMENT
LOWdlt/destinations/impl/databricks/sql_client.py121 f = curr.fetchall()COMMENT
LOWdlt/destinations/impl/duckdb/duck.py81 super().initialize_storage(truncate_tables)COMMENT
LOWdlt/common/utils.py181 return FalseCOMMENT
LOWdlt/common/storages/configuration.py421 # if pipeline had already runCOMMENT
LOWdlt/common/storages/fsspecs/google_drive.py541 self.location = head["location"]COMMENT
LOWdlt/common/runners/runnable.py61COMMENT
LOWdlt/common/runners/runnable.py81# @wraps(f)COMMENT
LOW…emplates/_core_source_templates/filesystem_pipeline.py141 # create dest folderCOMMENT
LOW…plates/_core_source_templates/sql_database_pipeline.py321COMMENT
LOW…_templates/_core_source_templates/rest_api_pipeline.py41 # This is a simple resource definition,COMMENT
LOWtests/tools/early_dependencies.py1# import requestsCOMMENT
LOWtests/tools/early_dependencies.py21# upload_time = datetime.fromisoformat(release_data[0]["upload_time_iso_8601"][:-1]) # Strip 'Z'COMMENT
LOWtests/tools/early_dependencies.py41# # For git dependencies, you might return the branch, commit, or tagCOMMENT
LOWtests/tools/early_dependencies.py61# # if old_versions:COMMENT
LOWtests/workspace/cli/test_init_command.py661 # add pyproject.toml to trigger dependency systemCOMMENT
LOWtests/common/normalizers/test_json_relational.py261# row = {COMMENT
LOWtests/common/normalizers/test_json_relational.py301 # f_lo must be ordered - list of objectsCOMMENT
LOWtests/common/configuration/test_sections.py301 resolve.resolve_configuration(SingleValConfiguration())COMMENT
LOWtests/common/libs/docker-compose-iceberg.yml1# Docker Compose for Iceberg Catalog Integration TestsCOMMENT
LOWtests/common/schema/test_merges.py121# full = add_column_defaults(copy(COL_1_HINTS))COMMENT
LOWtests/common/schema/test_merges.py981# "cluster": False,COMMENT
LOWtests/common/runners/test_std_pipes.py21# NOTE: do not remove commented out codeCOMMENT
LOWtests/load/utils.py561 ),COMMENT
LOWtests/load/test_read_interfaces.py541 # qualified query has aliasesCOMMENT
LOWtests/load/pipeline/test_postgres.py141# ids=lambda x: x.name,COMMENT
LOWtests/load/motherduck/test_motherduck_client.py141 # "credentials": {COMMENT
LOWtests/load/weaviate/test_naming.py81# print(pipeline.dataset_name)COMMENT
LOWtests/load/weaviate/test_naming.py101# print(eth_V8_schema.data_tables())COMMENT
LOWdocs/website/tools/check_orphan_docs.js1// Detects orphan docs pages: pages not reachable from any sidebar (directly, via aCOMMENT
LOW…ughs/deploy-a-pipeline/deploy-with-airflow-composer.md181 # pipeline,COMMENT
LOW…t-advanced-course/lesson_4_destinations_reverse_etl.py1# /// scriptCOMMENT
LOWdocs/examples/archive/google_drive_csv.py1# from apiclient.discovery import buildCOMMENT
LOWdocs/examples/archive/google_drive_csv.py21# Returns:COMMENT
LOWdocs/examples/archive/google_drive_csv.py41# downloader = MediaIoBaseDownload(fh, request)COMMENT
LOWdocs/examples/archive/google_drive_csv.py61# gcp_credential_json_file_path = KEY_FILE_LOCATIONCOMMENT
LOWdocs/examples/archive/google_drive_csv.py81# # and extract itCOMMENT
LOWdocs/examples/archive/discord_iterator.py1# from dlt.common import jsonCOMMENT
LOWdocs/examples/archive/discord_iterator.py21# # LOG_LEVEL=INFO PG__PASSWORD=.... python examples/discord_iterator.pyCOMMENT
LOWdocs/examples/archive/discord_iterator.py41# messages = json.load(f)COMMENT
LOWdocs/examples/archive/discord_iterator.py61# new_loads = pipeline.list_normalized_loads()COMMENT
LOWdocs/examples/archive/restore_pipeline.py1# from dlt.pipeline import Pipeline, GCPPipelineCredentialsCOMMENT
LOWdocs/examples/archive/sync_schema_example.py1# from dlt.pipeline import Pipeline, GCPPipelineCredentialsCOMMENT
LOW.github/workflows/agentic-docs.yml1# Copy this file to dlt-hub/dlt as .github/workflows/agentic-docs.yml.COMMENT
LOW.github/workflows/agentic-docs.yml21# So before you apply the labels or write /revise:COMMENT
LOW.github/workflows/agentic-docs.yml61 # command, and may be on either an issue (`/position`, before any PR exists)COMMENT
LOW.github/workflows/agentic-docs.yml141 service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}COMMENT
Fake / Example Data34 hits · 42 pts
SeverityFileLineSnippetContext
LOWtests/workspace/helpers/dashboard/example_pipelines.py283 def dummy_data():CODE
LOWtests/workspace/helpers/dashboard/example_pipelines.py290 pipeline.run(dummy_data())CODE
LOWtests/libs/pyarrow/test_pyarrow.py500 placeholder = "placeholder"CODE
LOWtests/libs/pyarrow/test_pyarrow.py505 pa.array(["placeholder", "hello", "placeholder"]),CODE
LOWtests/libs/pyarrow/test_pyarrow.py506 pa.array(["hello", "placeholder", "placeholder"]),CODE
LOWtests/common/cases/schemas/ev1/event.schema.json3224 "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore etCODE
LOWtests/common/cases/schemas/ev1/event.schema.json3224 "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore etCODE
LOWtests/common/destination/test_reference.py270 destination_name="fake_name", environment="prod", naming_convention="duck_case"CODE
LOWtests/common/destination/test_reference.py274 >= {"destination_name": "fake_name", "environment": "prod"}.items()CODE
LOWtests/common/destination/test_reference.py277 assert mod_dest.destination_name == "fake_name"CODE
LOW…oad/clickhouse/test_clickhouse_gcs_s3_compatibility.py17 def dummy_data() -> Generator[Dict[str, int], None, None]:CODE
LOW…oad/clickhouse/test_clickhouse_gcs_s3_compatibility.py31 pack = pipe.run([dummy_data])CODE
LOW…ts/helpers/providers/test_aws_secrets_provider_stub.py32 aws_access_key_id="fake_key",CODE
LOW…ts/helpers/providers/test_aws_secrets_provider_stub.py44 aws_access_key_id="fake_key", aws_secret_access_key=TSecretValue("fake_secret")CODE
LOW…ts/helpers/providers/test_aws_secrets_provider_stub.py51 == "fake_key:dlt/"CODE
LOW…ts/helpers/providers/test_aws_secrets_provider_stub.py113 assert provider.get_value_location("my_source", None, "sources") == "fake_key@eu-central-1:dlt/"CODE
LOW…ts/helpers/providers/test_aws_secrets_provider_stub.py176 aws_access_key_id="fake_key", aws_secret_access_key=TSecretValue("fake_secret")CODE
LOW…ts/helpers/providers/test_aws_secrets_provider_stub.py188 environment["PROVIDERS__AWS_SECRETS__CREDENTIALS__AWS_ACCESS_KEY_ID"] = "fake_key"CODE
LOW…ts/helpers/providers/test_aws_secrets_provider_stub.py202 assert provider.locations == ["fake_key@eu-central-1:team/dlt/"]CODE
LOW…eneral-usage/customising-pipelines/removing_columns.md22 def dummy_data():CODE
LOW…eneral-usage/customising-pipelines/removing_columns.md26 return dummy_data()CODE
LOW…eneral-usage/customising-pipelines/removing_columns.md62 source_instance.dummy_data.add_map(CODE
LOW…-usage/customising-pipelines/pseudonymizing_columns.md18 def dummy_data():CODE
LOW…-usage/customising-pipelines/pseudonymizing_columns.md21 return dummy_data(),CODE
LOW…-usage/customising-pipelines/pseudonymizing_columns.md39for row in dummy_source().dummy_data.add_map(pseudonymize_name):CODE
LOW…-usage/customising-pipelines/pseudonymizing_columns.md51data_resource = source_instance.dummy_data.add_map(pseudonymize_name)CODE
LOW…eneral-usage/customising-pipelines/renaming_columns.md20 def dummy_data():CODE
LOW…eneral-usage/customising-pipelines/renaming_columns.md23 return dummy_data(),CODE
LOW…eneral-usage/customising-pipelines/renaming_columns.md45source_instance.dummy_data().add_map(replace_umlauts_in_dict_keys)CODE
LOW…/website/docs/dlt-ecosystem/transformations/add-map.md106{'id': 1, 'first_name': 'John', 'last_name': 'Doe', 'email': '<hashed_value>', 'full_name': 'John Doe'}CODE
LOW…ughs/deploy-a-pipeline/deploy-with-airflow-composer.md133 'email': 'test@test.com',CODE
LOW…ughs/deploy-a-pipeline/deploy-with-airflow-composer.md318 'email': 'test@test.com',CODE
LOWdocs/examples/data_masking/data_masking.py164 {"id": 1, "name": "Dana", "phone": "555-0001"},CODE
LOWdocs/examples/data_masking/data_masking.py165 {"id": 2, "name": "Eve", "phone": "555-0002"},CODE
AI Slop Vocabulary21 hits · 38 pts
SeverityFileLineSnippetContext
LOWdlt/destinations/impl/clickhouse/sql_client.py310 # without dataset just use the table nameCOMMENT
LOWdlt/destinations/impl/filesystem/sql_client.py220 # NOTE: since we must list all the files anyway we just pass them to duckdb without further globbingCOMMENT
MEDIUMdlt/destinations/impl/synapse/configuration.py38 # HEAP tables (no indexing) by default. HEAP is a more robust choice, becauseCOMMENT
LOWdlt/common/typing.py550 # 1. Module: just return its dictCOMMENT
MEDIUMdlt/common/configuration/providers/vault.py156 """Lists keys in the vault in order to skip lookups for non existing keysSTRING
MEDIUMdlt/common/destination/reference.py361 """Finds or auto-imports destination factory that can be further called in order to instantiate itSTRING
LOWdlt/common/libs/git.py230 # repo is a directory so just return storageCOMMENT
MEDIUMdlt/common/schema/schema.py1045 """Computes schema hash in order to check if schema content was modified. In such case the schema ``stored_versiSTRING
MEDIUMdlt/extract/decorators.py411 """A decorator that transforms a function returning one or more `dlt resources` into a `dlt source` in order to loadSTRING
MEDIUMdlt/extract/decorators.py901 """A form of `dlt resource` that takes input from other resources via `data_from` argument in order to enrich or traSTRING
MEDIUMtests/pipeline/test_pipeline.py167 # this is a name of executing test harness or blank pipeline on windowsCOMMENT
MEDIUMtests/pipeline/test_pipeline.py115 # this is a name of executing test harness or blank pipeline on windowsCOMMENT
MEDIUMtests/load/pipeline/test_pipelines.py67 # this is a name of executing test harness or blank pipeline on windowsCOMMENT
LOWtests/load/sources/filesystem/test_filesystem_source.py45 # we just pass the glob parameter to the resource if it is not NoneCOMMENT
LOWtests/sources/helpers/rest_client/test_paginators.py226 # The next request should just use the "next" URL without any duplicate parameters.COMMENT
LOWtests/extract/test_decorators.py1646 # we just use it to test wrapping and changing signaturesCOMMENT
MEDIUMdocs/website/package-lock.json20293 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",CODE
LOW…reference/performance_snippets/performance-snippets.py113 # just return the results, if you yield, generator will be evaluated in main threadCOMMENT
MEDIUM…_6_write_disposition_strategies_and_advanced_tricks.py1324 r"""Specifically for the `sql_database` source you can utilize another possible approach - load data in fixed chCODE
LOWdocs/examples/custom_naming/custom_naming.py75 # tags are deterministic so we can just use the naming convention to get table names to selectCOMMENT
LOW…mples/custom_config_provider/custom_config_provider.py67 # just return the injected config and secretCOMMENT
Verbosity Indicators21 hits · 32 pts
SeverityFileLineSnippetContext
LOWtests/libs/test_pydantic.py278 # We need to check if pydantic_to_table_schema_columns is idempotentCOMMENT
LOWtests/libs/test_pydantic.py438 # We need to check if pydantic_to_table_schema_columns is idempotentCOMMENT
LOWdocs/website/plugins/llms-txt.js278 // Step 1: Discover pages from HTML build outputCOMMENT
LOWdocs/website/plugins/llms-txt.js310 // Step 2: Map HTML path to source .md fileCOMMENT
LOWdocs/website/plugins/llms-txt.js372 // Step 3: Copy source .md files with cleanupCOMMENT
LOWdocs/website/plugins/llms-txt.js387 // Step 4: Generate llms.txt (master version only)COMMENT
LOW…ge/dataset-access/dataset_snippets/dataset_snippets.py46 # Step 1: Get the dataset from the pipelineCOMMENT
LOW…ge/dataset-access/dataset_snippets/dataset_snippets.py49 # Step 2: Access a table as a RelationCOMMENT
LOW…ge/dataset-access/dataset_snippets/dataset_snippets.py52 # Step 3: Read the entire table as a Pandas DataFrameCOMMENT
LOW…anced-course/lesson_2_custom_sources_sql_databases_.py50 mo.md(r"""## Step 1: Load data from SQL Databases""")STRING
LOW…anced-course/lesson_2_custom_sources_sql_databases_.py98 ## Step 2: Customize SQL queries with `query_adapter_callback`COMMENT
LOW…anced-course/lesson_2_custom_sources_sql_databases_.py187 ## Step 3: Modify table schema with `table_adapter_callback`COMMENT
LOW…anced-course/lesson_2_custom_sources_sql_databases_.py248 ## Step 4: Adapt column data types with `type_adapter_callback`COMMENT
LOW…anced-course/lesson_2_custom_sources_sql_databases_.py352 ## Step 5: Incremental loads with `sql_database`COMMENT
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py71 ## Step 1: Load Parquet file from Local FilesystemCOMMENT
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py117 ## Step 2: Enrich records with file metadataCOMMENT
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py149 mo.md(r"""## Step 3: Filter files by metadata""")STRING
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py172 ## Step 4: Load files incrementallyCOMMENT
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py192 ## Step 5: Create a custom transformerCOMMENT
LOW…esson_3_custom_sources_filesystem_and_cloud_storage.py240 ## Step 6: Copy files before loadingCOMMENT
LOW…e/lesson_4_using_pre_build_sources_and_destinations.py246 ## Step 4: Explore your dataCOMMENT
AI Response Leakage5 hits · 28 pts
SeverityFileLineSnippetContext
HIGH…ts/normalize/cases/github.issues.load_page_5_duck.json2202 "body": "### What happens?\n\nWe've encountered a strange bug on a specific query over a large sample dataset. WitCODE
HIGH…ts/normalize/cases/github.issues.load_page_5_duck.json2354 "body": "This pr addresses issue #5174 and offers an alternative solution. \r\n\r\n@Mause suggested to output an CODE
HIGH…ts/normalize/cases/github.issues.load_page_5_duck.json2354 "body": "This pr addresses issue #5174 and offers an alternative solution. \r\n\r\n@Mause suggested to output an CODE
HIGH…/docs/dlt-ecosystem/verified-sources/rest_api/basic.md1992. `resource_defaults`: Contains default settings for all [resources](#resource-configuration). In this example, we defiCODE
HIGHdocs/examples/nested_data/nested_data.py41# In this example, we specify that we only want to generate nested tables up to level 2,COMMENT
Slop Phrases12 hits · 25 pts
SeverityFileLineSnippetContext
LOWdlt/destinations/impl/bigquery/bigquery.py320 # if any table has schema autodetect, we need to make sure to only truncate tables that existCOMMENT
LOWtests/common/test_time.py316 # when converting from datetimes make sure to shift to UTC before doing dateCOMMENT
LOWtests/load/lancedb/test_pipeline.py971 # We make sure to reset it as well to make sure no globals are propagated to the spawned process.COMMENT
LOWtests/extract/test_decorators.py948 # make sure to import resource firstCOMMENT
MEDIUM…te/docs/hub/transformations/transformation-snippets.py195 # you can use a different dialect than the destination with the query_dialect parameter.COMMENT
MEDIUM…ucation/dlt-advanced-course/lesson_7_data_contracts.py254 r"""The `freeze` mode at the table level, as mentioned earlier, won't allow any changes to the schema, so the piCODE
LOW…sson_1_custom_sources_restapi_source_and_restclient.py55 > Don't forget to use your [GitHub API token](https://docs.github.com/en/rest/authentication/authenticating-to-the-rCODE
MEDIUM…t-advanced-course/lesson_9_performance_optimisation.py1318 As mentioned earlier, each file created during the extract stage is sent to the process pool of the normalization stCODE
MEDIUM…pagination_and_authentication_and_dlt_configuration.py509 To define the `access_token` secret value, we can use (as mentioned earlier):CODE
MEDIUMdocs/examples/archive/quickstart.py85# now you can use your dataCOMMENT
MEDIUMdocs/examples/chess_production/chess_production.py135 # warning if there is no data, you can use the `execute_query` methodCOMMENT
MEDIUMdocs/examples/chess_production/chess_production.py146 # warning if there is no data, you can use the `row_counts` attribute.COMMENT
TODO Padding13 hits · 18 pts
SeverityFileLineSnippetContext
LOWdlt/destinations/impl/clickhouse/sql_client.py67 # TODO: implement arrow readingCOMMENT
LOWdlt/destinations/impl/motherduck/configuration.py113 # TODO: implement default connection interfaceCOMMENT
LOWdlt/destinations/impl/synapse/factory.py48 # TODO: implement as property everywhere and makes sure not accessed as class propertyCOMMENT
LOWdlt/common/runtime/collector.py378 # TODO: implement once total change is supportedCOMMENT
LOWdlt/_workspace/configuration.py11 # TODO: implement default profile switch. it requires reading the configuration, discoveringCOMMENT
LOWdlt/sources/rest_api/__init__.py295 **resource_kwargs, # TODO: implement typing.UnpackCODE
LOWdlt/sources/rest_api/__init__.py325 **resource_kwargs, # TODO: implement typing.UnpackCODE
LOWdlt/sources/rest_api/typing.py233 # TODO: implement param type to bind incremental toCOMMENT
LOWdlt/sources/rest_api/config_setup.py257 # TODO: implement param type to bind incremental toCOMMENT
LOWtests/load/pipeline/test_open_table_pipeline.py802 # TODO: implement nested types so this test will actually passCOMMENT
LOWdocs/docs_tools/snippets/lint_embedded_snippets.py189 # TODO: implement hcl parsersSTRING
LOWdocs/examples/archive/google_drive_csv.py33# # TODO: consider using https://pythonhosted.org/PyDrive/index.html or https://github.com/wkentaro/gdownCOMMENT
LOWdocs/examples/archive/sources/google_sheets.py19# TODO: consider using https://github.com/burnash/gspread for spreadsheet discoveryCOMMENT
Hallucination Indicators2 hits · 15 pts
SeverityFileLineSnippetContext
CRITICALdlt/_workspace/cli/_plugins.py31. create a new command class in like ie. `dlt._workspace.cli.dlthub.commands.ProfileCommand(SupportsCliCommand):`STRING
CRITICAL…ts/normalize/cases/github.issues.load_page_5_duck.json7742 "body": "I have tried to write a SELECT query which mentions a BLOB column, among others. However, I receive the fCODE
Dead Code5 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMtests/pipeline/test_pipeline_trace.py573CODE
MEDIUMtests/pipeline/test_pipeline_trace.py734CODE
MEDIUMtests/load/test_read_interfaces.py1477CODE
MEDIUMtests/extract/test_extract.py560CODE
MEDIUMtests/extract/test_extract.py585CODE
Magic Placeholder Names2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH…bsite/docs/dlt-ecosystem/verified-sources/freshdesk.md44The full guide is available at [this link.](https://support.freshdesk.com/en/support/solutions/articles/215517-how-to-fiCODE
HIGH…sson_1_custom_sources_restapi_source_and_restclient.py297 GET /v2/everything?q=python&page=1&apiKey=YOUR_API_KEYCODE
Overly Generic Function Names3 hits · 3 pts
SeverityFileLineSnippetContext
LOWtests/workspace/cases/runtime_workspace/plain_module.py6def helper():CODE
LOW…pace/cases/runtime_workspace/deployment_with_extras.py17def helper() -> str:CODE
LOWtests/helpers/airflow_tests/utils.py103def run_task(CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtests/common/libs/docker-compose-iceberg.yml11# Usage:COMMENT