from fastapi import FastAPI import duckdb app = FastAPI() HF_PATH = "hf://datasets/tfqdeadlo/Inddata" # HF parquet read support duckdb.sql("INSTALL httpfs; LOAD httpfs;") @app.get("/") def home(): return {"status": "API running"} @app.get("/search") def search(mobile: str): try: prefix = mobile[:3] query = f""" SELECT * FROM read_parquet( '{HF_PATH}/{prefix}/*.parquet', union_by_name=True ) WHERE mobile = '{mobile}' """ df = duckdb.query(query).to_df() if df.empty: return { "found": 0, "data": [] } return { "found": len(df), "data": df.to_dict(orient="records") # 🔥 FULL ROW } except Exception as e: return {"error": str(e)}