Analysis API
The analysis module provides tools for analyzing nutrient content, comparing to dietary reference intakes, and calculating nutritional information for recipes.
Nutrient Analysis
- class usda_fdc.analysis.analysis.NutrientAnalysis(food, serving_size, nutrients=<factory>, calories_per_serving=0.0, protein_per_serving=0.0, carbs_per_serving=0.0, fat_per_serving=0.0, macronutrient_distribution=<factory>)[source]
Bases:
objectAnalysis of a food’s nutrient content.
- Parameters:
- nutrients: Dict[str, NutrientValue]
- get_nutrient(nutrient_id)[source]
Get a nutrient value by ID.
- Parameters:
nutrient_id (str) – The nutrient ID or name.
- Returns:
The nutrient value, or None if not found.
- Return type:
NutrientValue | None
- class usda_fdc.analysis.analysis.NutrientValue(nutrient, amount, unit, dri=None, dri_percent=None, dri_type=None)[source]
Bases:
objectRepresents a nutrient value with additional analysis information.
- Parameters:
- usda_fdc.analysis.analysis.analyze_food(food, serving_size=100.0, dri_type=DriType.RDA, gender=Gender.MALE, age=30)[source]
Analyze the nutrient content of a food.
- Parameters:
- Returns:
A NutrientAnalysis object.
- Return type:
- usda_fdc.analysis.analysis.analyze_foods(foods, serving_sizes=None, dri_type=DriType.RDA, gender=Gender.MALE, age=30)[source]
Analyze the nutrient content of multiple foods.
- Parameters:
- Returns:
A list of NutrientAnalysis objects.
- Return type:
- usda_fdc.analysis.analysis.compare_foods(foods, nutrient_ids=None, serving_sizes=None, dri_type=DriType.RDA, gender=Gender.MALE, age=30)[source]
Compare the nutrient content of multiple foods.
- Parameters:
- Returns:
A dictionary mapping nutrient IDs to lists of (food_name, amount, unit) tuples.
- Return type:
Nutrients
- class usda_fdc.analysis.nutrients.Nutrient(id, name, display_name, unit, group, usda_id=None)[source]
Bases:
objectRepresents a nutrient with its properties.
- Parameters:
- unit
The unit used to measure the nutrient.
- Type:
usda_fdc.analysis.units.Unit
- unit: Unit
- usda_fdc.analysis.nutrients.NUTRIENTS = Dict[str, Nutrient]
Dictionary of all nutrients by ID.
- usda_fdc.analysis.nutrients.NUTRIENT_GROUPS = Dict[str, List[str]]
Dictionary of nutrient groups to lists of nutrient IDs.
Dietary Reference Intakes
- class usda_fdc.analysis.dri.DriType(value)[source]
-
Types of Dietary Reference Intakes.
- RDA = 'rda'
- AI = 'ai'
- UL = 'ul'
- EAR = 'ear'
- AMDR = 'amdr'
- class usda_fdc.analysis.dri.Gender(value)[source]
-
Gender for DRI calculations.
- MALE = 'male'
- FEMALE = 'female'
Recipe Analysis
- class usda_fdc.analysis.recipe.Recipe(name, ingredients, servings=1, description=None)[source]
Bases:
objectRepresents a recipe with ingredients.
- Parameters:
name (str) –
ingredients (List[Ingredient]) –
servings (int) –
description (str | None) –
- ingredients: List[Ingredient]
- class usda_fdc.analysis.recipe.Ingredient(food, weight_g, description=None)[source]
Bases:
objectRepresents an ingredient in a recipe.
- class usda_fdc.analysis.recipe.RecipeAnalysis(recipe, per_serving_analysis, ingredient_analyses)[source]
Bases:
objectAnalysis of a recipe’s nutrient content.
- Parameters:
recipe (Recipe) –
per_serving_analysis (NutrientAnalysis) –
ingredient_analyses (List[NutrientAnalysis]) –
- per_serving_analysis: NutrientAnalysis
- ingredient_analyses: List[NutrientAnalysis]
- usda_fdc.analysis.recipe.parse_ingredient(text, client, search_limit=5)[source]
Parse an ingredient description into an Ingredient object.
- Parameters:
- Returns:
An Ingredient object, or None if parsing failed.
- Return type:
Ingredient | None
- usda_fdc.analysis.recipe.create_recipe(name, ingredient_texts, client, servings=1, description=None)[source]
Create a recipe from ingredient descriptions.
- Parameters:
- Returns:
A Recipe object.
- Return type:
Visualization
- usda_fdc.analysis.visualization.generate_macronutrient_chart_data(analysis)[source]
Generate data for a macronutrient distribution chart.
- Parameters:
analysis (NutrientAnalysis) – The nutrient analysis.
- Returns:
A dictionary with chart data.
- Return type:
- usda_fdc.analysis.visualization.generate_dri_chart_data(analysis)[source]
Generate data for a DRI comparison chart.
- Parameters:
analysis (NutrientAnalysis) – The nutrient analysis.
- Returns:
A dictionary with chart data.
- Return type:
- usda_fdc.analysis.visualization.generate_html_report(analysis)[source]
Generate an HTML report for a nutrient analysis.
- Parameters:
analysis (NutrientAnalysis) – The nutrient analysis.
- Returns:
An HTML string.
- Return type: