#!/usr/bin/env python3 # Author: Simon-Pierre Boucher — contact@spboucher.ai # """Step 1 — Extract the house sample from data/raw/louka.db. Output: data/processed/houses.parquet (n = 17,087 rows expected). """ import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parents[1])) from src import config from src.data import load_houses def main(): print(f"Reading {config.DB_PATH} ...") df = load_houses(config.DB_PATH) print(f" {len(df):,} houses with a valid price and description") print(f" price: min=${df['price'].min():,.0f} " f"median=${df['price'].median():,.0f} max=${df['price'].max():,.0f}") config.DATA_PROCESSED.mkdir(parents=True, exist_ok=True) df.to_parquet(config.HOUSES_PARQUET, index=False) print(f" -> {config.HOUSES_PARQUET}") if __name__ == "__main__": main()