Neha555Altaf's picture
Create app.py
aaab4f4 verified
import pandas as pd
import gradio as gr
# Load the extended food data
df = pd.read_csv("food_data_extended.csv")
# Convert food names to lowercase for matching
df["food"] = df["food"].str.lower()
# Nutrient search function
def analyze_foods(food_query):
food_query = food_query.lower()
items = [item.strip() for item in food_query.split(",")]
results = []
for item in items:
match = df[df["food"].str.contains(item)]
if not match.empty:
results.append(match)
else:
results.append(pd.DataFrame([{
"food": item,
"calories": "Not found",
"protein": "Not found",
"carbs": "Not found",
"fat": "Not found"
}]))
final = pd.concat(results)
return final.reset_index(drop=True)
# Gradio UI
app = gr.Interface(
fn=analyze_foods,
inputs=gr.Textbox(label="Enter food items (comma-separated)", placeholder="e.g. apple, rice, chicken biryani"),
outputs=gr.Dataframe(label="Nutritional Information"),
title="🍎 NutriTrack AI - Food Nutrient Analyzer",
description="Type any food(s) to get calories, protein, carbs & fat. Supports 200+ food items. Try: banana, pizza, milk, apple"
)
app.launch()