Safed musli uses
Safed musli Chlorophytum borivilianum uses benefits evidence
Chlorophytum borivilianum pharmacological effects
| Use | Ayurvedic Context |
|---|---|
| Aphrodisiac | Classified as Vajikarana herb - improves sexual function and libido |
| Male sexual health | Treats impotence, oligospermia (low sperm count), premature ejaculation |
| General tonic | Relieves weakness, fatigue, and debility (Rasayana) |
| Lactation support | Used to increase breast milk production in nursing mothers |
| Adaptogen | Builds stamina and physical endurance |
How to gain weight in ayurveda medicine
Ayurveda weight gain Brinhana therapy herbs diet treatment
| Herb | Benefits |
|---|---|
| Ashwagandha (Withania somnifera) | Builds muscle mass, boosts strength, reduces stress-related weight loss. Star ingredient in Ashwagandhadi Lehyam |
| Shatavari (Asparagus racemosus) | Nourishes tissues, supports digestion, balances hormones |
| Safed Musli (Chlorophytum borivilianum) | General tonic, stamina, reproductive health |
| Yashtimadhu (Glycyrrhiza glabra - Licorice) | Nourishing, soothing, builds body mass |
| Triphala | Improves digestion and nutrient absorption (taken before weight-gain herbs) |
| Bala (Sida cordifolia) | Strengthens muscles, nourishes tissues |
| Vidarikanda (Pueraria tuberosa) | Strong Brinhana herb, increases body weight and strength |
| Practice | Details |
|---|---|
| Abhyanga (oil massage) | Daily self-massage with warm sesame or Bala oil - nourishes tissues, calms Vata |
| Adequate sleep | "Sleep is the best medicine" for weight gain - 7-9 hours on a comfortable bed |
| Anuvasana Vasti | Medicated oil enema - a Panchakarma treatment for deep Vata nourishment (done under supervision) |
| Cooling Pranayama | Sheetali or Sheetkari breathing - calms Vata, reduces metabolic overactivity |
| Avoid over-exertion | Extremely lean individuals should avoid intense exercise until weight is regained; mild walking is fine |
| Reduce stress | Chronic stress diverts energy away from tissue-building; manage with yoga, meditation |
| Cold water bath | Recommended after oil application in Ayurveda to lock moisture |
Create a weekly meal plan for Ayurvedic weight gain
ls -la /home/daytona/workspace/ && python3 -c "from reportlab.lib import colors; print('reportlab ok')"
mkdir -p /home/daytona/workspace/ayurveda-meal-plan
~/ayurveda-meal-plan/generate_meal_plan.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import PageBreak
OUTPUT = "/home/daytona/workspace/ayurveda-meal-plan/Ayurvedic_Weight_Gain_Meal_Plan.pdf"
# ── Colours ──────────────────────────────────────────────────────────────────
SAFFRON = colors.HexColor("#C8612A") # deep saffron / turmeric
GOLD = colors.HexColor("#E8A020") # warm gold
CREAM = colors.HexColor("#FDF6EC") # page tint
DEEP_GREEN = colors.HexColor("#2E5E3A") # herb green
LIGHT_GREEN = colors.HexColor("#EAF4EC") # table row alt
TABLE_HEADER = colors.HexColor("#2E5E3A")
DAY_HEADER = colors.HexColor("#C8612A")
DAY_ALT = colors.HexColor("#F5ECD7") # alternating day bg
WHITE = colors.white
DARK = colors.HexColor("#2B2B2B")
# ── Page Setup ────────────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=1.8*cm, rightMargin=1.8*cm,
topMargin=2*cm, bottomMargin=2*cm,
title="Ayurvedic Weight Gain – Weekly Meal Plan",
author="Orris Health Assistant"
)
styles = getSampleStyleSheet()
def sty(name, **kwargs):
return ParagraphStyle(name, **kwargs)
TITLE_STYLE = sty("Title2", fontName="Helvetica-Bold", fontSize=26,
textColor=SAFFRON, alignment=TA_CENTER, spaceAfter=4)
SUBTITLE_STYLE = sty("Sub", fontName="Helvetica", fontSize=12,
textColor=DEEP_GREEN, alignment=TA_CENTER, spaceAfter=2)
TAGLINE_STYLE = sty("Tag", fontName="Helvetica-Oblique", fontSize=10,
textColor=colors.HexColor("#7A5C3A"), alignment=TA_CENTER, spaceAfter=14)
SECTION_STYLE = sty("Sec", fontName="Helvetica-Bold", fontSize=13,
textColor=WHITE, backColor=DEEP_GREEN,
leading=18, spaceAfter=6, spaceBefore=10,
leftIndent=-4, rightIndent=-4, borderPadding=(4,6,4,6))
DAY_STYLE = sty("Day", fontName="Helvetica-Bold", fontSize=11,
textColor=WHITE)
MEAL_LABEL = sty("MealLbl", fontName="Helvetica-Bold", fontSize=9,
textColor=DEEP_GREEN)
MEAL_TEXT = sty("MealTxt", fontName="Helvetica", fontSize=9,
textColor=DARK, leading=13)
BULLET_STYLE = sty("Bullet", fontName="Helvetica", fontSize=9,
textColor=DARK, leading=14, leftIndent=12, spaceAfter=2,
bulletIndent=0)
NOTE_STYLE = sty("Note", fontName="Helvetica-Oblique", fontSize=8,
textColor=colors.HexColor("#7A5C3A"), leading=12)
BODY_STYLE = sty("Body2", fontName="Helvetica", fontSize=9,
textColor=DARK, leading=14)
HEADING3 = sty("H3", fontName="Helvetica-Bold", fontSize=10,
textColor=SAFFRON, spaceBefore=8, spaceAfter=3)
# ── Meal Data ─────────────────────────────────────────────────────────────────
MEALS = [
{
"day": "DAY 1 – SATURDAY",
"wake": "Warm water with 1 tsp honey + pinch of ginger",
"breakfast": "Wheat upma cooked in ghee with cashews & raisins\n+ 1 glass full-fat warm milk with Ashwagandha powder (1 tsp)",
"mid_morning": "4 soaked almonds + 2 dates + 1 banana",
"lunch": "White rice (2 cups) + chicken curry with coconut milk + dal tadka with ghee + raita\n+ 1 tsp ghee on rice",
"evening": "Warm milk with jaggery + roasted peanut chikki",
"dinner": "Wheat roti (3) with ghee + mutton/chicken stew + vegetable sabzi + rice kheer",
"bedtime": "1 glass warm full-fat milk + 1 tsp ghee + Ashwagandha / Shatavari (500 mg)",
},
{
"day": "DAY 2 – SUNDAY",
"wake": "Warm water with 1 tsp honey + soaked raisins (10)",
"breakfast": "Oats porridge cooked in milk with banana, dates & nuts\n+ 2 boiled eggs",
"mid_morning": "1 glass sugarcane juice OR fresh mango juice",
"lunch": "Rice + fish curry (coconut-based) + dal with ghee + stir-fried vegetables\n+ curd (1 cup)",
"evening": "Banana milkshake (full-fat milk + banana + honey)",
"dinner": "Chicken biryani made with ghee + raita + vegetable pulao",
"bedtime": "Warm turmeric milk (golden milk) + 1 tsp ghee",
},
{
"day": "DAY 3 – MONDAY",
"wake": "Warm sesame seed water OR warm milk (small cup)",
"breakfast": "Semolina (sooji) halwa with ghee, milk & dry fruits\n+ 1 glass warm milk",
"mid_morning": "Handful of mixed nuts (walnuts, almonds, cashews) + 2 figs",
"lunch": "Rice + egg curry + rajma (kidney beans) with ghee + roasted papad\n+ buttermilk (lassi)",
"evening": "Date & nut energy balls (dates + almonds + coconut)",
"dinner": "Chapati (3) with ghee + chicken do-pyaza + dal makhani + steamed rice",
"bedtime": "Warm milk with Vidarikanda or Ashwagandha powder",
},
{
"day": "DAY 4 – TUESDAY",
"wake": "Warm water with honey + a pinch of black pepper",
"breakfast": "Poha cooked in ghee with peanuts & coconut\n+ 2 scrambled eggs + warm milk",
"mid_morning": "1 ripe mango (seasonal) OR banana + handful of raisins",
"lunch": "White rice + prawn/shrimp curry + moong dal with ghee + vegetable side\n+ 1 cup curd",
"evening": "Almond milk (warm) + roasted chana (chickpeas)",
"dinner": "Wheat roti (3) with ghee + mutton rogan josh (slow-cooked) + rice",
"bedtime": "Warm full-fat milk + 1 tsp ghee + Chyawanprash (1 tsp)",
},
{
"day": "DAY 5 – WEDNESDAY",
"wake": "Warm water with 1 tsp honey + soaked almonds (5)",
"breakfast": "Rice idli (3-4) with coconut chutney + sambar + 1 glass warm milk\n+ 1 boiled egg",
"mid_morning": "Fresh fruit salad (banana, mango, papaya) with honey drizzle",
"lunch": "Chicken pulao with ghee + dal palak + raita + roasted papad",
"evening": "Warm milk with dates + handful of pistachios",
"dinner": "Chapati (3) + ghee + egg bhurji (scrambled spiced eggs) + dal makhani + rice",
"bedtime": "Warm milk + Ashwagandha or Bala churna (1 tsp)",
},
{
"day": "DAY 6 – THURSDAY",
"wake": "Warm sesame milk or warm water + honey",
"breakfast": "Dosa (2-3) with ghee + coconut chutney + sambar\n+ boiled eggs (2)",
"mid_morning": "Peanut butter (2 tbsp) on whole wheat toast + warm milk",
"lunch": "White rice + fish fry + sambar + coconut-based vegetable curry\n+ 1 cup curd",
"evening": "Banana shake with full-fat milk + honey + pinch of cardamom",
"dinner": "Chicken keema (minced) curry + chapati (3) with ghee + rice kheer for dessert",
"bedtime": "Warm full-fat milk + 1 tsp ghee + Shatavari powder (1 tsp)",
},
{
"day": "DAY 7 – FRIDAY",
"wake": "Warm water with honey + soaked walnuts (4 halves)",
"breakfast": "Sweet pongal (rice + moong dal + ghee + jaggery + cashews)\n+ 1 glass warm milk",
"mid_morning": "Jackfruit (fresh/ripe) OR papaya with honey",
"lunch": "Lamb/mutton biryani with ghee + mint raita + vegetable side",
"evening": "Nut mix (almonds + cashews + raisins + dried figs)",
"dinner": "Chicken soup (bone broth based) + chapati (3) with ghee + steamed rice + dal",
"bedtime": "Warm milk + Ashwagandha + 1 tsp ghee + pinch of nutmeg",
},
]
MEAL_LABELS = [
("wake", "On Waking"),
("breakfast", "Breakfast"),
("mid_morning", "Mid-Morning Snack"),
("lunch", "Lunch"),
("evening", "Evening Snack"),
("dinner", "Dinner"),
("bedtime", "Bedtime Drink"),
]
GUIDELINES = [
("Eat in a calm state", "Emotions affect digestion (Agni). Avoid eating when stressed or distracted."),
("Use ghee generously", "Ghee is the cornerstone of Brinhana therapy – it nourishes all seven Dhatus (tissues)."),
("Warm foods preferred", "Cold, dry foods aggravate Vata. Prefer warm, moist, freshly cooked meals."),
("Regular meal timings", "Same meal times daily stabilise Agni and maximise nutrient absorption."),
("Sleep 7-9 hours", "Ayurveda calls sleep the best weight-gain medicine. Use a comfortable bed."),
("Daily oil massage", "Abhyanga (warm sesame oil self-massage) before bath nourishes tissues, calms Vata."),
("Avoid over-exertion", "Very lean individuals should avoid intense exercise until baseline weight is restored."),
("Herbal support", "Take Ashwagandha / Shatavari / Chyawanprash consistently for at least 2-3 months."),
]
HERBS = [
("Ashwagandha", "Builds muscle, reduces stress, boosts testosterone – take 1 tsp with warm milk at bedtime."),
("Shatavari", "Nourishes all tissues, supports digestion and hormonal balance."),
("Vidarikanda", "Powerful Brinhana herb, increases body weight and stamina."),
("Bala (Sida cordifolia)", "Strengthens muscles and nerves, nourishes tissues."),
("Yashtimadhu (Licorice)", "Soothing, nourishing, good for lean Vata types."),
("Safed Musli", "Tonic for stamina, reproductive health, and general debility."),
("Chyawanprash", "Classic Rasayana – take 1 tsp twice daily with warm milk."),
]
# ── Build PDF ──────────────────────────────────────────────────────────────────
story = []
# ── Cover / Title Block ───────────────────────────────────────────────────────
story.append(Spacer(1, 1.2*cm))
story.append(Paragraph("AYURVEDIC WEIGHT GAIN", TITLE_STYLE))
story.append(Paragraph("7-Day Brinhana Meal Plan", SUBTITLE_STYLE))
story.append(Paragraph("Non-Vegetarian • Vata-Balancing • Nourishing & Grounding", TAGLINE_STYLE))
story.append(HRFlowable(width="100%", thickness=2, color=SAFFRON, spaceAfter=10))
# Intro box
intro_text = (
"In Ayurveda, healthy weight gain is achieved through <b>Brinhana therapy</b> – "
"nourishing the body with heavy, unctuous, warm foods and herbs that calm aggravated "
"<b>Vata dosha</b> and strengthen <b>Agni</b> (digestive fire). This 7-day meal plan "
"combines traditional Ayurvedic principles with practical, flavorful non-vegetarian meals "
"to build muscle mass, improve stamina, and restore vitality."
)
intro_data = [[Paragraph(intro_text, sty("IB", fontName="Helvetica", fontSize=9,
textColor=DARK, leading=14))]]
intro_tbl = Table(intro_data, colWidths=[doc.width])
intro_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), CREAM),
("BOX", (0,0), (-1,-1), 1, GOLD),
("LEFTPADDING", (0,0), (-1,-1), 10),
("RIGHTPADDING", (0,0), (-1,-1), 10),
("TOPPADDING", (0,0), (-1,-1), 8),
("BOTTOMPADDING", (0,0), (-1,-1), 8),
]))
story.append(intro_tbl)
story.append(Spacer(1, 0.5*cm))
# ── Daily Meal Tables ─────────────────────────────────────────────────────────
COL_W = [3.2*cm, doc.width - 3.2*cm]
for i, day in enumerate(MEALS):
rows = []
# Day header row
rows.append([
Paragraph(day["day"], DAY_STYLE),
Paragraph("", DAY_STYLE),
])
for key, label in MEAL_LABELS:
rows.append([
Paragraph(label, MEAL_LABEL),
Paragraph(day[key].replace("\n", "<br/>"), MEAL_TEXT),
])
t = Table(rows, colWidths=COL_W)
ts = TableStyle([
# Day header
("BACKGROUND", (0, 0), (-1, 0), DAY_HEADER),
("SPAN", (0, 0), (-1, 0)),
("TEXTCOLOR", (0, 0), (-1, 0), WHITE),
("FONTNAME", (0, 0), (-1, 0), "Helvetica-Bold"),
("FONTSIZE", (0, 0), (-1, 0), 10),
("TOPPADDING", (0, 0), (-1, 0), 5),
("BOTTOMPADDING",(0, 0), (-1, 0), 5),
("LEFTPADDING", (0, 0), (-1, 0), 8),
# Data rows
("FONTSIZE", (0, 1), (-1, -1), 9),
("VALIGN", (0, 0), (-1, -1), "TOP"),
("TOPPADDING", (0, 1), (-1, -1), 4),
("BOTTOMPADDING",(0, 1), (-1, -1), 4),
("LEFTPADDING", (0, 1), (-1, -1), 6),
("RIGHTPADDING", (0, 1), (-1, -1), 6),
# Alternating row colours
*[("BACKGROUND", (0, r), (-1, r),
LIGHT_GREEN if r % 2 == 0 else WHITE)
for r in range(1, len(rows))],
# Grid
("GRID", (0, 0), (-1, -1), 0.4, colors.HexColor("#CCCCCC")),
("LINEBELOW", (0, 0), (-1, 0), 1.5, SAFFRON),
])
t.setStyle(ts)
story.append(KeepTogether(t))
story.append(Spacer(1, 0.35*cm))
# ── Ayurvedic Guidelines ───────────────────────────────────────────────────────
story.append(PageBreak())
story.append(Paragraph("Ayurvedic Guidelines for Weight Gain", SECTION_STYLE))
story.append(Spacer(1, 0.3*cm))
g_rows = [["Principle", "Guidance"]]
for title, desc in GUIDELINES:
g_rows.append([Paragraph(title, MEAL_LABEL), Paragraph(desc, MEAL_TEXT)])
g_tbl = Table(g_rows, colWidths=[4*cm, doc.width - 4*cm])
g_tbl.setStyle(TableStyle([
("BACKGROUND", (0, 0), (-1, 0), TABLE_HEADER),
("TEXTCOLOR", (0, 0), (-1, 0), WHITE),
("FONTNAME", (0, 0), (-1, 0), "Helvetica-Bold"),
("FONTSIZE", (0, 0), (-1, 0), 9),
("TOPPADDING", (0, 0), (-1, -1), 5),
("BOTTOMPADDING", (0, 0), (-1, -1), 5),
("LEFTPADDING", (0, 0), (-1, -1), 7),
("RIGHTPADDING", (0, 0), (-1, -1), 7),
("VALIGN", (0, 0), (-1, -1), "TOP"),
("FONTSIZE", (0, 1), (-1, -1), 9),
*[("BACKGROUND", (0, r), (-1, r),
CREAM if r % 2 == 1 else WHITE) for r in range(1, len(g_rows))],
("GRID", (0, 0), (-1, -1), 0.4, colors.HexColor("#CCCCCC")),
]))
story.append(g_tbl)
story.append(Spacer(1, 0.6*cm))
# ── Herbs & Supplements ────────────────────────────────────────────────────────
story.append(Paragraph("Recommended Herbs & Supplements", SECTION_STYLE))
story.append(Spacer(1, 0.3*cm))
h_rows = [["Herb / Supplement", "How It Helps & How to Use"]]
for herb, desc in HERBS:
h_rows.append([Paragraph(herb, MEAL_LABEL), Paragraph(desc, MEAL_TEXT)])
h_tbl = Table(h_rows, colWidths=[4.5*cm, doc.width - 4.5*cm])
h_tbl.setStyle(TableStyle([
("BACKGROUND", (0, 0), (-1, 0), TABLE_HEADER),
("TEXTCOLOR", (0, 0), (-1, 0), WHITE),
("FONTNAME", (0, 0), (-1, 0), "Helvetica-Bold"),
("FONTSIZE", (0, 0), (-1, 0), 9),
("TOPPADDING", (0, 0), (-1, -1), 5),
("BOTTOMPADDING", (0, 0), (-1, -1), 5),
("LEFTPADDING", (0, 0), (-1, -1), 7),
("RIGHTPADDING", (0, 0), (-1, -1), 7),
("VALIGN", (0, 0), (-1, -1), "TOP"),
("FONTSIZE", (0, 1), (-1, -1), 9),
*[("BACKGROUND", (0, r), (-1, r),
LIGHT_GREEN if r % 2 == 1 else WHITE) for r in range(1, len(h_rows))],
("GRID", (0, 0), (-1, -1), 0.4, colors.HexColor("#CCCCCC")),
]))
story.append(h_tbl)
story.append(Spacer(1, 0.6*cm))
# ── Foods to Favour / Avoid ────────────────────────────────────────────────────
story.append(Paragraph("Foods to Favour vs. Avoid", SECTION_STYLE))
story.append(Spacer(1, 0.3*cm))
favour = [
"Full-fat milk, ghee, curd, paneer, cheese",
"White rice, wheat, urad dal (black gram)",
"Chicken, mutton, fish, eggs (bone broth soups)",
"Almonds, cashews, walnuts, peanuts, pistachios",
"Dates, figs, raisins, bananas, mangoes",
"Jaggery, sugarcane juice, natural honey",
"Sesame oil, coconut oil, coconut milk",
"Sweet, ripe, juicy fruits",
]
avoid = [
"Dry, stale, processed, or reheated food",
"Excessive spicy, bitter, and astringent foods",
"Cold beverages and cold foods",
"Skipping meals or eating irregularly",
"Excessive caffeine and carbonated drinks",
"Overexertion and late nights",
"Excessive raw salads and cold smoothies",
"Prolonged fasting or crash diets",
]
fav_paras = [Paragraph(f"• {x}", BULLET_STYLE) for x in favour]
avd_paras = [Paragraph(f"• {x}", BULLET_STYLE) for x in avoid]
max_rows = max(len(fav_paras), len(avd_paras))
fa_rows = [[
Paragraph("Foods to FAVOUR", sty("FH", fontName="Helvetica-Bold", fontSize=9, textColor=WHITE)),
Paragraph("Foods to AVOID", sty("AH", fontName="Helvetica-Bold", fontSize=9, textColor=WHITE)),
]]
for r in range(max_rows):
fa_rows.append([
fav_paras[r] if r < len(fav_paras) else Paragraph("", BODY_STYLE),
avd_paras[r] if r < len(avd_paras) else Paragraph("", BODY_STYLE),
])
fa_tbl = Table(fa_rows, colWidths=[doc.width/2, doc.width/2])
fa_tbl.setStyle(TableStyle([
("BACKGROUND", (0, 0), (0, 0), DEEP_GREEN),
("BACKGROUND", (1, 0), (1, 0), SAFFRON),
("TEXTCOLOR", (0, 0), (-1, 0), WHITE),
("FONTSIZE", (0, 0), (-1, -1), 9),
("TOPPADDING", (0, 0), (-1, -1), 4),
("BOTTOMPADDING", (0, 0), (-1, -1), 4),
("LEFTPADDING", (0, 0), (-1, -1), 6),
("VALIGN", (0, 0), (-1, -1), "TOP"),
*[("BACKGROUND", (0, r), (0, r), LIGHT_GREEN if r % 2 == 1 else WHITE)
for r in range(1, max_rows+1)],
*[("BACKGROUND", (1, r), (1, r), DAY_ALT if r % 2 == 1 else WHITE)
for r in range(1, max_rows+1)],
("GRID", (0, 0), (-1, -1), 0.4, colors.HexColor("#CCCCCC")),
("LINEBELOW", (0, 0), (-1, 0), 1.5, GOLD),
]))
story.append(fa_tbl)
story.append(Spacer(1, 0.8*cm))
# ── Footer note ────────────────────────────────────────────────────────────────
note = (
"<i>Note: This meal plan is based on traditional Ayurvedic Brinhana (nourishing) therapy principles. "
"Consult a qualified Ayurvedic physician (Vaidya) before starting herbal supplements. "
"Rule out underlying medical causes of low body weight (thyroid, diabetes, malabsorption) with your doctor. "
"Results typically appear over 2-3 months with consistent practice.</i>"
)
note_data = [[Paragraph(note, sty("NB", fontName="Helvetica-Oblique", fontSize=8,
textColor=colors.HexColor("#5C4A2A"), leading=12))]]
note_tbl = Table(note_data, colWidths=[doc.width])
note_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), colors.HexColor("#FEF3DC")),
("BOX", (0,0), (-1,-1), 0.8, GOLD),
("LEFTPADDING", (0,0), (-1,-1), 9),
("RIGHTPADDING", (0,0), (-1,-1), 9),
("TOPPADDING", (0,0), (-1,-1), 7),
("BOTTOMPADDING", (0,0), (-1,-1), 7),
]))
story.append(note_tbl)
# ── Build ──────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
python3 /home/daytona/workspace/ayurveda-meal-plan/generate_meal_plan.py
Ayurvedic Weight Gain Meal Plan
PDF Document · PDF