warmifans commited on
Commit
58d78b4
·
verified ·
1 Parent(s): 013b05c

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +49 -0
app.py ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import duckdb
3
+ import pandas as pd
4
+
5
+ # Aapke Hugging Face dataset ki direct link
6
+ DATASET_PATH = "hf://datasets/warmifans/Sushant/data.parquet"
7
+
8
+ def search_number(phone_number):
9
+ # Agar kisi ne khali search button daba diya
10
+ if not phone_number.strip():
11
+ return pd.DataFrame()
12
+
13
+ try:
14
+ # DuckDB direct Parquet file se sirf wahi row nikalega jo number se match karti ho
15
+ query = f"""
16
+ SELECT * FROM '{DATASET_PATH}'
17
+ WHERE Number = '{phone_number.strip()}'
18
+ LIMIT 10
19
+ """
20
+
21
+ # Query chalana aur result ko Pandas DataFrame mein badalna
22
+ result_df = duckdb.sql(query).df()
23
+
24
+ # Agar number nahi mila
25
+ if result_df.empty:
26
+ return pd.DataFrame({"Message": ["Is number ki koi detail dataset mein nahi mili."]})
27
+
28
+ return result_df
29
+
30
+ except Exception as e:
31
+ return pd.DataFrame({"Error": [f"Kuch dikkat aayi: {str(e)}"]})
32
+
33
+ # Gradio Interface (UI) Design
34
+ with gr.Blocks(theme=gr.themes.Soft()) as app:
35
+ gr.Markdown("<center><h1>🔍 Number Detail Finder</h1></center>")
36
+ gr.Markdown("<center>Karodo ke Parquet dataset se turant number details nikalen.</center>")
37
+
38
+ with gr.Row():
39
+ num_input = gr.Textbox(label="Phone Number Daalein", placeholder="Jaise: 917032000911", scale=4)
40
+ search_btn = gr.Button("Search", variant="primary", scale=1)
41
+
42
+ output_table = gr.Dataframe(label="User Details")
43
+
44
+ # Button dabane par ya Enter press karne par search function chalega
45
+ search_btn.click(fn=search_number, inputs=num_input, outputs=output_table)
46
+ num_input.submit(fn=search_number, inputs=num_input, outputs=output_table)
47
+
48
+ # Docker ke liye server_name aur port set kiya gaya hai
49
+ app.launch(server_name="0.0.0.0", server_port=7860)