Add hexagon backend
This commit is contained in:
parent
a7cc4d9b2b
commit
ab704c0dc0
18 changed files with 1443 additions and 0 deletions
22
pipeline/base.py
Normal file
22
pipeline/base.py
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue