Add hexagon backend

This commit is contained in:
Andras Schmelczer 2026-01-25 21:07:05 +00:00
parent a7cc4d9b2b
commit ab704c0dc0
18 changed files with 1443 additions and 0 deletions

22
pipeline/base.py Normal file
View file

@ -0,0 +1,22 @@
from abc import ABC, abstractmethod
import polars as pl
class DataSource(ABC):
"""Base class for all data sources."""
@property
@abstractmethod
def name(self) -> str:
"""Unique identifier for this data source."""
pass
@abstractmethod
def load(self) -> pl.LazyFrame:
"""Load raw data as LazyFrame."""
pass
@abstractmethod
def process(self, postcodes: pl.LazyFrame) -> pl.LazyFrame:
"""Process and join with postcode coordinates."""
pass