----------------------------------------------------------------
Meal plan

Program parameters

  dietary_constraints: {{mealplan.dietary_constraints}}
  num_meals: {{mealplan.num_meals}}
  num_days: {{mealplan.num_days}}
  
  weight_price: {{mealplan.weight_price}}
  weight_nutrients: {{mealplan.weight_nutrients}}
  weight_meal_sizes: {{mealplan.weight_meal_sizes}}
  
  optimization_time: {{mealplan.optimization_results["wall_time"]}} s
  optimization_iterations: {{mealplan.optimization_results["iterations"]}}
  
----------------------------------------------------------------
Meal information (used meals only)

{% for meal in results["meals"] %}
  '{{meal.name}}' ({{meal.grams}} grams)
  {% for food, grams in meal.foods.items() %}
    - {{grams}} grams of '{{food.name}}'
  {% endfor %}
{% endfor %}

----------------------------------------------------------------
Daily meal plan statistics

{% for attr in ["price", "protein", "fat", "carbs", "kcal"] %}
 - {{attr}}: {{results[attr]|sum|round|int}} [{{results[attr]|map('round')|map('int')|join(', ')}}]
{% endfor %}

----------------------------------------------------------------
Program

{% if mealplan._rendered == False %}
Not rendered. Call Mealplan.render() to render it.
{% else %}
{% for day in range(results["pretty"]|length) %}
 Day {{day + 1}}
 
 {% for meal, quantity in results["pretty"][day] %}
   - {{quantity}} x '{{meal.name}}' (base meal of {{meal.grams}} grams)
 {% endfor %}
 {% if verbose %}
 
   Statistics
   
 {% for attr in ["price", "protein", "fat", "carbs", "kcal"] %}
     - {{attr}}: {{results[day][attr]|sum|round|int}} [{{results[day][attr]|map('round')|map('int')|join(', ')}}]
 {% endfor %}
 {% endif %}
 
{% endfor %}
{% endif %}
----------------------------------------------------------------