Skip to content

Honor normalize loader_file_format config#4151

Open
YinkaMetrics wants to merge 1 commit into
dlt-hub:develfrom
YinkaMetrics:fix/815-normalize-loader-file-format
Open

Honor normalize loader_file_format config#4151
YinkaMetrics wants to merge 1 commit into
dlt-hub:develfrom
YinkaMetrics:fix/815-normalize-loader-file-format

Conversation

@YinkaMetrics

Copy link
Copy Markdown

Description

This adds loader_file_format to NormalizeConfiguration so normalize.loader_file_format can set the default writer format used during normalization. The existing explicit table/resource format path still takes precedence in the worker, so pipeline.run(..., loader_file_format=...) and resource-level file formats continue to win when present.

The config value is validated against the known loader file formats, matching the existing pipeline argument validation behavior.

Related Issues

Additional Context

This intentionally covers the normalize configuration part of #815 and does not attempt to bundle the destination-specific unsupported-type matrix into the same PR.

Validation run locally:

  • UV_CACHE_DIR=/Users/akanbiadeyinka/Documents/Codex/2026-07-01/search-github-for-open-source-projects/work/uv-cache uv run --extra duckdb pytest tests/pipeline/test_pipeline.py::test_file_format_resolution tests/pipeline/test_pipeline.py::test_run_file_format_sets_table_schema tests/pipeline/test_pipeline.py::test_normalize_loader_file_format_config_sets_default_format tests/normalize/test_normalize.py::test_normalize_loader_file_format_config_overrides_destination_preference
  • UV_CACHE_DIR=/Users/akanbiadeyinka/Documents/Codex/2026-07-01/search-github-for-open-source-projects/work/uv-cache uv run black --check dlt/normalize/configuration.py dlt/normalize/worker.py tests/normalize/test_normalize.py tests/pipeline/test_pipeline.py
  • UV_CACHE_DIR=/Users/akanbiadeyinka/Documents/Codex/2026-07-01/search-github-for-open-source-projects/work/uv-cache uv run flake8 dlt/normalize/configuration.py dlt/normalize/worker.py tests/normalize/test_normalize.py tests/pipeline/test_pipeline.py

@YinkaMetrics YinkaMetrics marked this pull request as ready for review July 1, 2026 12:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant