# Author: Simon-Pierre Boucher — contact@spboucher.ai # """Central configuration: repository-relative paths and constants. Every path is derived from the repository root so the pipeline runs from any working directory. Override the database location with the WP2_DB_PATH environment variable if the raw database lives elsewhere. """ import os from pathlib import Path ROOT = Path(__file__).resolve().parents[1] DATA_RAW = ROOT / "data" / "raw" DATA_PROCESSED = ROOT / "data" / "processed" FIGURES_DIR = ROOT / "figures" RESULTS_DIR = ROOT / "results" DB_PATH = Path(os.environ.get("WP2_DB_PATH", DATA_RAW / "louka.db")) # Intermediate artifacts (produced by the numbered scripts) HOUSES_PARQUET = DATA_PROCESSED / "houses.parquet" EMBEDDINGS_NPY = DATA_PROCESSED / "embeddings_maisons.npy" SIM_MATRIX_NPY = DATA_PROCESSED / "sim_matrix_maisons.npy" ANALYSIS_CSV = DATA_PROCESSED / "hedonic_maison_results.csv" # Sentence-transformers model used for all embeddings (384 dimensions) EMBEDDING_MODEL = "all-MiniLM-L6-v2" ENCODE_BATCH_SIZE = 256 # Structural covariates of the hedonic model STRUCTURAL_VARS = ["bedrooms", "bathrooms", "half_baths", "parking", "stories", "land_size"] SEED = 42