feat: AR-House initial commit
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
"""Data fetchers para AR-House.
|
||||
|
||||
Obtiene datos reales de fuentes oficiales ANTES de pasar el deal a los agentes Ollama.
|
||||
Asi los agentes razonan sobre datos verificados (FEMA, HUD, NOAA, Census ACS) en vez de inventar.
|
||||
|
||||
Uso principal:
|
||||
from data_fetchers.runner import fetch_all
|
||||
data = fetch_all(deal, status_cb=...)
|
||||
# data = {"geocode": {...}, "flood": {...}, "fmr": {...},
|
||||
# "hurricanes": [...], "neighborhood": {...}, "fetch_errors": [...]}
|
||||
|
||||
Fail-soft: si algun fetcher falla, devuelve dict vacio en su campo y agrega a fetch_errors.
|
||||
El pipeline NO se aborta.
|
||||
|
||||
Compliance: la clasificacion de vecindarios usa SOLO indicadores economicos objetivos
|
||||
(income, owner-occupancy, education, vacancy, crime, days-on-market). NUNCA demografia
|
||||
racial. Esto cumple con Fair Housing Act federal.
|
||||
"""
|
||||
|
||||
# Cargar .env ANTES de los imports — buscando desde este archivo upwards.
|
||||
# Asi los fetchers (Census, HUD, FBI) encuentran las API keys aunque el caller
|
||||
# este corriendo desde otro CWD.
|
||||
import os
|
||||
from pathlib import Path
|
||||
from dotenv import load_dotenv
|
||||
|
||||
_here = Path(__file__).resolve().parent # .../data_fetchers/
|
||||
for _parent in [_here.parent] + list(_here.parents):
|
||||
_candidate = _parent / ".env"
|
||||
if _candidate.exists():
|
||||
load_dotenv(_candidate)
|
||||
break
|
||||
|
||||
from .runner import fetch_all
|
||||
from .price_validator import validate_price
|
||||
|
||||
__all__ = ["fetch_all", "validate_price"]
|
||||
Reference in New Issue
Block a user