From 9045ac828d5872770e3eacd68b6fdb8d0d0856cd Mon Sep 17 00:00:00 2001 From: Adithya Bollu Date: Wed, 1 Oct 2025 23:04:04 -0700 Subject: [PATCH 1/7] Added Nutritional Facts Script! --- Nutritional-Facts/README.md | 30 +++++++++++++++ Nutritional-Facts/image-1.png | Bin 0 -> 10592 bytes Nutritional-Facts/image-2.png | Bin 0 -> 27469 bytes Nutritional-Facts/image.png | Bin 0 -> 11420 bytes Nutritional-Facts/nutrition.py | 59 +++++++++++++++++++++++++++++ Nutritional-Facts/requirements.txt | 30 +++++++++++++++ 6 files changed, 119 insertions(+) create mode 100644 Nutritional-Facts/README.md create mode 100644 Nutritional-Facts/image-1.png create mode 100644 Nutritional-Facts/image-2.png create mode 100644 Nutritional-Facts/image.png create mode 100644 Nutritional-Facts/nutrition.py create mode 100644 Nutritional-Facts/requirements.txt diff --git a/Nutritional-Facts/README.md b/Nutritional-Facts/README.md new file mode 100644 index 0000000000..91ae3d53d7 --- /dev/null +++ b/Nutritional-Facts/README.md @@ -0,0 +1,30 @@ +# Nutritional Facts +Use this script to retrieve the nutritional information of your favorite food items! + +## Setup instructions +### Packages +- Install all required packages using this `pip install -r requirements.txt`. + +### API Key +- Before you run the script you will need to receive a CalorieNinja API Key. +- To do this got to the [CalorieNinja](https://calorieninjas.com/register) website and create an account, which is completely free. +- Once you have made an account you can receive a free API-Key by navigating through the tabs and generating one. +- Once you have received an API Key you may paste it into the code here `headers={"X-API-key": "YOUR-API-KEY"}`. + +## Output +Here is an example use case of me using the script to find out the nutrition of chicken. + +![Chicken example](image.png) + +You can also be more specific + +![Chicken Drumsticks example](image-1.png) + +You can also do multiple food items at once + +![Multiple food items example](image-2.png) + +## Author(s) + +Adithya Bollu + diff --git a/Nutritional-Facts/image-1.png b/Nutritional-Facts/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..87b2a75209a34043a9117f8cfabf0348fe911bc7 GIT binary patch literal 10592 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 XDrFQgtqlAtl0;oaN4ZqV;_ZI{nGPx) literal 0 HcmV?d00001 diff --git a/Nutritional-Facts/image-2.png b/Nutritional-Facts/image-2.png new file mode 100644 index 0000000000000000000000000000000000000000..dde06784c612582d58ab95b54af3f259841515ff GIT binary patch literal 27469 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 OVLXzM6VH2~>-|6QQ9TR* literal 0 HcmV?d00001 diff --git a/Nutritional-Facts/image.png b/Nutritional-Facts/image.png new file mode 100644 index 0000000000000000000000000000000000000000..5cf853f1ddbdd553aff222e678d7c438e4d09a43 GIT binary patch literal 11420 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 Date: Wed, 1 Oct 2025 23:14:33 -0700 Subject: [PATCH 2/7] update nutrition.py --- Nutritional-Facts/nutrition.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Nutritional-Facts/nutrition.py b/Nutritional-Facts/nutrition.py index d89d745e13..4fd5c81e85 100644 --- a/Nutritional-Facts/nutrition.py +++ b/Nutritional-Facts/nutrition.py @@ -1,5 +1,4 @@ import requests -import json # Function to get the nutrition info of the food item # Using the calorie ninja api @@ -11,14 +10,14 @@ def get_nutrition_info (food: str): api_url = f"https://api.calorieninjas.com/v1/nutrition?query={food}" - response = requests.get(api_url, headers={"X-API-key": "YOUR-API-KEY"}) + response = requests.get(api_url, headers={"X-API-key": "YOUR-API-KEY"}, timeout=30) # Checking if the request was a 200 or an error. if response.status_code == requests.codes.ok: - data = json.loads(response.text) + data = response.json() return data["items"] else: - print("Error:". response.status_code, response.text ) + print("Error:", response.status_code, response.text ) return None From 7c12324f59e4cc2f6a41f2a66986b602913b7a2b Mon Sep 17 00:00:00 2001 From: Adithya Bollu Date: Wed, 1 Oct 2025 23:19:57 -0700 Subject: [PATCH 3/7] Updated nutrition.py to conform with reqs --- Nutritional-Facts/nutrition.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Nutritional-Facts/nutrition.py b/Nutritional-Facts/nutrition.py index 4fd5c81e85..32438a3f30 100644 --- a/Nutritional-Facts/nutrition.py +++ b/Nutritional-Facts/nutrition.py @@ -16,16 +16,17 @@ def get_nutrition_info (food: str): if response.status_code == requests.codes.ok: data = response.json() return data["items"] - else: - print("Error:", response.status_code, response.text ) - return None + + print("Error:", response.status_code, response.text ) + return None -def print_info(items : dict): +def print_info(facts : dict): ''' Takes in a dictionary of items and prints the contents in a legible format ''' + items = facts # prints items in a hierarchical format. for item in items: From 282761d2d00308a94b8d2c55e3ca7360ff145523 Mon Sep 17 00:00:00 2001 From: Adithya Bollu Date: Wed, 1 Oct 2025 23:26:07 -0700 Subject: [PATCH 4/7] Added more changes --- Nutritional-Facts/nutrition.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Nutritional-Facts/nutrition.py b/Nutritional-Facts/nutrition.py index 32438a3f30..aebfe42cee 100644 --- a/Nutritional-Facts/nutrition.py +++ b/Nutritional-Facts/nutrition.py @@ -2,7 +2,7 @@ # Function to get the nutrition info of the food item # Using the calorie ninja api -def get_nutrition_info (food: str): +def get_nutrition_info(food: str): ''' Retrieves nutritional information of food item, Returns None if food item is invalid @@ -26,14 +26,14 @@ def print_info(facts : dict): Takes in a dictionary of items and prints the contents in a legible format ''' - items = facts + facts # prints items in a hierarchical format. - for item in items: - if item == "name": - print(f"{item}: {items[item]}") + for fact in facts: + if fact == "name": + print(f"{fact}: {facts[fact]}") else: - print(f"\t{item}: {items[item]}") + print(f"\t{fact}: {facts[fact]}") From 141fcd39a652aec09a328222c72ee0d20477a259 Mon Sep 17 00:00:00 2001 From: Adithya Bollu Date: Wed, 1 Oct 2025 23:31:35 -0700 Subject: [PATCH 5/7] Added even more changes --- Nutritional-Facts/nutrition.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Nutritional-Facts/nutrition.py b/Nutritional-Facts/nutrition.py index aebfe42cee..1bbd216ee0 100644 --- a/Nutritional-Facts/nutrition.py +++ b/Nutritional-Facts/nutrition.py @@ -2,6 +2,7 @@ # Function to get the nutrition info of the food item # Using the calorie ninja api + def get_nutrition_info(food: str): ''' Retrieves nutritional information of food item, @@ -10,13 +11,14 @@ def get_nutrition_info(food: str): api_url = f"https://api.calorieninjas.com/v1/nutrition?query={food}" + # Request call to send to API response = requests.get(api_url, headers={"X-API-key": "YOUR-API-KEY"}, timeout=30) # Checking if the request was a 200 or an error. if response.status_code == requests.codes.ok: data = response.json() return data["items"] - + # Prints error if response was bad print("Error:", response.status_code, response.text ) return None @@ -26,10 +28,10 @@ def print_info(facts : dict): Takes in a dictionary of items and prints the contents in a legible format ''' - facts # prints items in a hierarchical format. for fact in facts: + # Do not indent name, indent everything else if fact == "name": print(f"{fact}: {facts[fact]}") else: @@ -38,22 +40,23 @@ def print_info(facts : dict): if __name__ == "__main__": - # main loop while True: print("Enter food query: ", end="") query = input() + # Lower casing the query to normalize the checks if query.lower() == "q" or query.lower() == "quit": print("Thank you for using the Nutrition script!") break - - items = get_nutrition_info(query) + + # same thing here + items = get_nutrition_info(query.lower()) # Checks if the query entered was invalid or valid if not items: print("Please try another query!\n") else: + # Looping through each item to print them out in neat format for item in items: print_info(item) - print("\n") - \ No newline at end of file + print("\n") \ No newline at end of file From caa575f4e2c8277a643df175bea4b3f3857e72e5 Mon Sep 17 00:00:00 2001 From: Adithya Bollu Date: Wed, 1 Oct 2025 23:36:17 -0700 Subject: [PATCH 6/7] Added more comments --- Nutritional-Facts/nutrition.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Nutritional-Facts/nutrition.py b/Nutritional-Facts/nutrition.py index 1bbd216ee0..ef166f95c0 100644 --- a/Nutritional-Facts/nutrition.py +++ b/Nutritional-Facts/nutrition.py @@ -9,15 +9,19 @@ def get_nutrition_info(food: str): Returns None if food item is invalid ''' + # API Call URL api_url = f"https://api.calorieninjas.com/v1/nutrition?query={food}" - # Request call to send to API + # Request call to send to API, + # Takes in the api url, headers with api-key and a timeout + # so the request doesn't run forever response = requests.get(api_url, headers={"X-API-key": "YOUR-API-KEY"}, timeout=30) # Checking if the request was a 200 or an error. if response.status_code == requests.codes.ok: data = response.json() return data["items"] + # Prints error if response was bad print("Error:", response.status_code, response.text ) return None @@ -42,6 +46,7 @@ def print_info(facts : dict): if __name__ == "__main__": # main loop while True: + # Print opening message print("Enter food query: ", end="") query = input() From 432543b078333ac16cb1d74257cff3302608aa80 Mon Sep 17 00:00:00 2001 From: Adithya Bollu Date: Wed, 1 Oct 2025 23:43:31 -0700 Subject: [PATCH 7/7] Added more comments and doc strings --- Nutritional-Facts/nutrition.py | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/Nutritional-Facts/nutrition.py b/Nutritional-Facts/nutrition.py index ef166f95c0..2b634bf3f1 100644 --- a/Nutritional-Facts/nutrition.py +++ b/Nutritional-Facts/nutrition.py @@ -1,4 +1,12 @@ import requests +''' +Nutritional Info Script + +The script will be able to retrieve the nutrional facts about foods +using the CalorieNinjas API. Users can enter a food query and receive detailed +nutrional facts like calories, protein, fat etc. +''' + # Function to get the nutrition info of the food item # Using the calorie ninja api @@ -6,7 +14,10 @@ def get_nutrition_info(food: str): ''' Retrieves nutritional information of food item, - Returns None if food item is invalid + Args: + food (str): Name of food (apple, chucken) + Returns: + list[dict] | None: A list of nutritional fact dictionaries if found otherwise None ''' # API Call URL @@ -29,8 +40,10 @@ def get_nutrition_info(food: str): def print_info(facts : dict): ''' - Takes in a dictionary of items - and prints the contents in a legible format + Prints the nutritional information in a legible format + + Args: + facts (dict): A dictionary of nutrition facts for a single food item ''' # prints items in a hierarchical format. @@ -43,7 +56,13 @@ def print_info(facts : dict): -if __name__ == "__main__": +def main(): + ''' + Main loop, for the nutrition script + Infintely prompts user for food queries + until user quits + ''' + # main loop while True: # Print opening message @@ -64,4 +83,7 @@ def print_info(facts : dict): # Looping through each item to print them out in neat format for item in items: print_info(item) - print("\n") \ No newline at end of file + print("\n") + +if __name__ == "__main__": + main() \ No newline at end of file