Skip to content

feat: add source resolution framework and external source ingestion support#28

Merged
ZeroQuest merged 13 commits into
mainfrom
feat/api
Jun 22, 2026
Merged

feat: add source resolution framework and external source ingestion support#28
ZeroQuest merged 13 commits into
mainfrom
feat/api

Conversation

@ZeroQuest

Copy link
Copy Markdown
Owner

This PR expands the ETL pipeline's ingestion capabilities by introducing support for web-based sources, source-specific processing rules, and time-based filtering. It also adds support for HTTP JSON ingestion and Open-Meteo source resolution, enabling the pipeline to ingest and process external data sources through a configurable source resolution framework.


Features

Source resolution framework

  • Added source resolution to support source-specific processing behavior
  • Introduced configurable source rules through source definitions
  • Integrated source resolution into the ETL pipeline execution flow
  • Added Open-Meteo source resolution support

Web source ingestion

  • Added support for ingesting CSV data from web sources
  • Added HTTP JSON ingestion capability
  • Updated ingestion flow to support externally hosted datasets
  • Integrated web sources into the existing ETL pipeline architecture

Time-based filtering

  • Added configurable time filtering support
  • Integrated time filtering into pipeline execution
  • Enabled filtering records based on source-defined time criteria

Data validation and processing

Null handling

  • Updated validation logic to allow non-primary key fields to contain null values
  • Preserved primary key validation requirements
  • Improved flexibility when processing incomplete source data

Configuration

Source configuration

  • Updated sources.yml to support:

    • Web CSV sources
    • Open-Meteo source definitions
    • Time filtering configuration
  • Extended source configuration structure to support source-specific processing rules


Testing

Unit tests

  • Added tests for Open-Meteo source resolution
  • Added tests for HTTP JSON ingestion
  • Verified source resolution behavior
  • Validated integration of external source ingestion workflows

Code quality

  • Applied Black formatting across the codebase
  • Ensured Ruff linting compliance
  • Cleaned up code prior to merge

Dependencies

  • No new runtime dependencies introduced
  • Existing ingestion architecture extended to support external data sources

Testing

  • Verified web CSV ingestion functions correctly through the source resolution framework
  • Confirmed HTTP JSON sources are successfully ingested
  • Validated time filtering behavior against configured source rules
  • Confirmed Open-Meteo source resolution integrates correctly with pipeline execution
  • Ensured existing ETL functionality remains unaffected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment