Upload Meal_Planner.py
Browse files- pages/Meal_Planner.py +37 -0
pages/Meal_Planner.py
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import requests
|
2 |
+
import streamlit as st
|
3 |
+
|
4 |
+
@st.cache
|
5 |
+
def generate_meal_plan(time_frame, target_calories, diet, exclude):
|
6 |
+
API_KEY = '14ad5613468b4bae8ff6175ecc697660'
|
7 |
+
url = f"https://api.spoonacular.com/mealplanner/generate?timeFrame={time_frame}&targetCalories={target_calories}&diet={diet}&exclude={exclude}&apiKey={API_KEY}"
|
8 |
+
response = requests.get(url)
|
9 |
+
return response.json()
|
10 |
+
|
11 |
+
def display_recipe(recipe):
|
12 |
+
st.write("Title: ", recipe["title"])
|
13 |
+
st.write("Ready in minutes: ", recipe["readyInMinutes"])
|
14 |
+
st.write("Servings: ", recipe["servings"])
|
15 |
+
image_url = f"https://spoonacular.com/recipeImages/{recipe['id']}-312x231.{recipe['imageType']}"
|
16 |
+
st.image(image_url, width=312)
|
17 |
+
st.write("Source: ", recipe["sourceUrl"])
|
18 |
+
|
19 |
+
def main():
|
20 |
+
st.title("Meal Plan Generator")
|
21 |
+
time_frame = st.selectbox("Select time frame", ["day", "week"])
|
22 |
+
target_calories = st.number_input("Enter target calories per day", value=2000)
|
23 |
+
diet = st.selectbox("Select diet", ["", "Gluten Free", "Ketogenic", "Vegetarian", "Lacto-Vegetarian", "Ovo-Vegetarian", "Vegan", "Pescetarian", "Paleo", "Primal", "Low FODMAP", "Whole30"])
|
24 |
+
exclude = st.text_input("Enter ingredients to exclude (comma separated)")
|
25 |
+
meal_plan = generate_meal_plan(time_frame, target_calories, diet, exclude)
|
26 |
+
st.write("Meal Plan:")
|
27 |
+
for meal in meal_plan["meals"]:
|
28 |
+
display_recipe(meal)
|
29 |
+
st.write("")
|
30 |
+
st.write("Total Nutrients:")
|
31 |
+
st.write("Calories: ", meal_plan["nutrients"]["calories"])
|
32 |
+
st.write("Protein: ", meal_plan["nutrients"]["protein"])
|
33 |
+
st.write("Fat: ", meal_plan["nutrients"]["fat"])
|
34 |
+
st.write("Carbohydrates: ", meal_plan["nutrients"]["carbohydrates"])
|
35 |
+
|
36 |
+
if __name__ == "__main__":
|
37 |
+
main()
|