from fastapi import FastAPI import duckdb import traceback app = FastAPI() DB_FILE = "hf://datasets/warmifans/Userdata@main/users_data.db" con = duckdb.connect() try: con.execute("INSTALL sqlite;") con.execute("LOAD sqlite;") con.execute(f"ATTACH '{DB_FILE}' AS db (TYPE sqlite)") print("Database attached successfully.") except Exception as e: print(e) @app.get("/") def home(): return { "status": "API running" } @app.get("/id") def search(id: str): try: df = con.execute( """ SELECT * FROM db.users WHERE id = ? LIMIT 10 """, [id] ).fetchdf() if df.empty: return { "found": 0, "data": [] } return { "found": len(df), "data": df.to_dict(orient="records") } except Exception as e: traceback.print_exc() return { "error": str(e) }