Safed musli uses

Searching the Web

Safed musli Chlorophytum borivilianum uses benefits evidence

Searching PubMed

Chlorophytum borivilianum pharmacological effects

Here is a thorough overview of Safed Musli (Chlorophytum borivilianum) and its uses:

Safed Musli (Chlorophytum borivilianum)

Also known as Dholi Musli, Indian Spider Plant, or "white gold" of Ayurveda, Safed Musli is a rare tuberous root herb native to India (mainly Maharashtra and Madhya Pradesh). Its roots are rich in saponins, alkaloids, polysaccharides, proteins, and minerals.

Traditional / Ayurvedic Uses

UseAyurvedic Context
AphrodisiacClassified as Vajikarana herb - improves sexual function and libido
Male sexual healthTreats impotence, oligospermia (low sperm count), premature ejaculation
General tonicRelieves weakness, fatigue, and debility (Rasayana)
Lactation supportUsed to increase breast milk production in nursing mothers
AdaptogenBuilds stamina and physical endurance

Evidence-Based Uses (Modern Research)

1. Male Reproductive Health
  • Animal and early human studies show improvements in sperm count, motility, and testosterone levels
  • Root extract has demonstrated spermatogenic and aphrodisiac properties in preclinical models
  • May protect sperm from oxidative damage, including in diabetic conditions (PMC study)
2. Athletic Performance & Stamina
  • Early research suggests 2 months of use may improve walking and cycling speed in healthy individuals, though grip strength was not significantly affected
3. Antidiabetic Effects
  • Animal studies show the root extract helps maintain near-normal blood glucose and insulin levels and reduces pancreatic oxidative stress (PMID: 25249786)
4. Lipid-Lowering (Hypolipidemic)
  • Studies in hyperlipaemic rats show the root ameliorates lipid metabolism and reduces cholesterol (PMID: 17250646)
5. Anti-inflammatory
  • Saponins from the roots have shown ability to reduce both acute and chronic inflammation and inhibit histone deacetylase in lab studies
6. Immunomodulatory
  • Shown to enhance immune function in animal and early human studies
7. Antioxidant
  • Reduces oxidative stress markers across multiple organ systems
8. Antimicrobial & Hepatoprotective
  • Demonstrated activity against various pathogens and liver-protective properties in preclinical research
9. Cardioprotective
  • A 2024 study showed potential protection against doxorubicin-induced cardiac toxicity (PMID: 40256579)
10. Atopic Dermatitis (Skin)
  • A 2026 study found ameliorative effects on atopic dermatitis by modulating inflammatory biomarkers (PMID: 42126771)

Other Claimed Uses (Insufficient Evidence)

  • Erectile dysfunction
  • Obesity
  • Osteoarthritis
  • Gonorrhea / infections
  • Diarrhea
  • Cancer

Active Constituents

  • Saponins (primary bioactive) - anti-inflammatory, immunomodulatory
  • Alkaloids - neurological and metabolic effects
  • Polysaccharides - immune support
  • Stigmasterol, sitosterol - cholesterol modulation

Dosage (General Guidance)

  • Typical powder dose: 2-5 g/day in Ayurvedic practice
  • Standardized extracts: often 250-500 mg/day in research studies
  • Best taken with milk or warm water

Precautions & Side Effects

  • Generally considered safe at normal doses
  • No well-documented serious side effects in short-term use
  • Insufficient clinical evidence for most uses - most research is preclinical (animal/in vitro)
  • Should be used cautiously during pregnancy
  • The plant is now a threatened species due to overharvesting

Bottom line: Safed Musli has a strong traditional reputation, particularly for male reproductive health, vitality, and as an adaptogen. Preclinical evidence supports multiple pharmacological activities, but large-scale human clinical trials are lacking. It is best viewed as a supportive supplement rather than a primary treatment for any medical condition.

How to gain weight in ayurveda medicine

Reading File
Searching the Web

Ayurveda weight gain Brinhana therapy herbs diet treatment

Finding Sources
Finding Sources
Finding Sources
Finding Sources
The medical library doesn't have Ayurvedic textbooks in its collection, so I'll draw from the web research gathered. Here is a complete guide:

How to Gain Weight in Ayurveda

In Ayurveda, being underweight is primarily linked to aggravated Vata dosha - which is dry, light, and mobile by nature. The treatment approach is called Brinhana (or Brimhana) therapy - meaning "nourishing" or "bulking" therapy. The goal is not just adding calories, but improving the body's ability to absorb and build tissue (Dhatu).

1. Ayurvedic Root Cause: Vata Imbalance

Underweight conditions often arise from:
  • Irregular meal timings
  • Excessive stress, anxiety, over-thinking
  • Poor Agni (digestive fire) - food not properly absorbed
  • Excessive physical exertion
  • Chronic illness or grief

2. Key Ayurvedic Herbs for Weight Gain

HerbBenefits
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
TriphalaImproves 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

3. Ayurvedic Formulations (Rasayanas)

  • Ashwagandhadi Lehyam - for weight gain, strength, and immunity
  • Chyawanprash - immunity, strength, longevity
  • Kooshmanda Rasayana - anti-aging, nourishing
  • Drakshadi Lehyam - for anemia and liver support
  • Ajamamsa Rasayana - for Vata disorders, neurological weakness
  • Amruth Jeevan Rasayan - nervine tonic, immunity booster

4. Diet for Weight Gain (Brinhana Ahara)

Include (heavy, oily, nourishing foods):
  • Dairy - full-fat milk, ghee, curd, cheese (especially warm milk with ghee and honey at night)
  • Grains - white/polished rice, wheat, urad dal (black gram)
  • Sweeteners - jaggery, sugar, sugarcane juice
  • Fruits - raisins, dates, figs, bananas, mangoes, sweet fruits
  • Nuts & Dry Fruits - almonds, cashews, walnuts
  • Meat - (for non-vegetarians) chicken, fish, eggs
  • Oils - sesame oil, coconut oil in cooking
Avoid:
  • Spicy, bitter, and astringent tastes in excess
  • Dry, light, and cold foods
  • Skipping meals or irregular eating
  • Excessive raw foods
Eating Rules:
  • Eat 3 full, regular meals daily - never skip
  • Eat in a calm, happy state (emotions directly affect digestion in Ayurveda)
  • Eat until comfortably full, not just a little

5. Lifestyle Practices

PracticeDetails
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 VastiMedicated oil enema - a Panchakarma treatment for deep Vata nourishment (done under supervision)
Cooling PranayamaSheetali or Sheetkari breathing - calms Vata, reduces metabolic overactivity
Avoid over-exertionExtremely lean individuals should avoid intense exercise until weight is regained; mild walking is fine
Reduce stressChronic stress diverts energy away from tissue-building; manage with yoga, meditation
Cold water bathRecommended after oil application in Ayurveda to lock moisture

6. Qualities of Brinhana Substances

Ayurveda selects weight-gain foods and herbs based on these properties:
  • Guru (heavy) - opposite of Langhana (reducing) therapy
  • Snigdha (oily/unctuous) - ghee, oils, fats
  • Sheeta (cooling) - milk, grapes, cucumber
  • Mrudu (soft), Shlakshna (smooth), Picchila (sticky) - associated with heaviness and nourishment
  • Sthira (stable), Sthoola (thick) - promotes tissue building

7. Practical Daily Routine

  • Morning: Warm sesame oil massage (Abhyanga) + warm bath
  • Breakfast: Warm milk porridge with ghee, dates, and nuts
  • Lunch: Rice, dal with ghee, vegetables, curd - the largest meal of the day
  • Evening snack: Banana with milk, or soaked almonds
  • Dinner: Wheat roti with ghee, milk-based dish, light meat (if applicable)
  • Before bed: Warm full-fat milk with a teaspoon of ghee + Ashwagandha powder

8. Key Precautions

  • Rule out underlying medical causes of low weight first (thyroid disorders, diabetes, malabsorption, infections like TB)
  • Ayurvedic medicines like Ashwagandha and Shatavari should ideally be taken under guidance of an Ayurvedic physician (Vaidya)
  • Panchakarma purification therapies are generally avoided in very lean individuals as they cannot withstand the strain
  • Consistency matters - Ayurvedic approaches are gradual and may take 2-3 months to show results

Summary: Ayurveda treats underweight by calming Vata, strengthening Agni (digestion), and providing heavy, nourishing foods and herbs. The combination of Ashwagandha, ghee-rich diet, regular meals, adequate sleep, and oil massage forms the core of this approach. The process is steady and sustainable rather than rapid.

Create a weekly meal plan for Ayurvedic weight gain

Asking for Preferences
Reading File
Running Command

ls -la /home/daytona/workspace/ && python3 -c "from reportlab.lib import colors; print('reportlab ok')"

Running Command

mkdir -p /home/daytona/workspace/ayurveda-meal-plan

Writing File

~/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}")
Running Command

python3 /home/daytona/workspace/ayurveda-meal-plan/generate_meal_plan.py

Your PDF is ready! Download it here:

Ayurvedic Weight Gain Meal Plan

PDF Document · PDF


Here's a summary of what's inside the plan:

What the PDF includes

7-Day Non-Veg Meal Plan (Saturday through Friday), each day with:
  • On-waking drink (honey water, soaked almonds, etc.)
  • Breakfast (upma with ghee, sweet pongal, dosa, poha, idli + eggs, etc.)
  • Mid-morning snack (dates, nuts, fruits, juices)
  • Lunch (rice + chicken/fish/mutton/egg curries + dal with ghee + curd)
  • Evening snack (milkshakes, nut mixes, energy balls)
  • Dinner (biryani, chapati with ghee + meat gravies, rice kheer)
  • Bedtime drink (warm milk + ghee + Ashwagandha/Shatavari/Chyawanprash)
Reference Sections:
  • Ayurvedic guidelines (eating mindfully, ghee use, oil massage, sleep, etc.)
  • 7 recommended herbs and supplements with usage instructions
  • Foods to Favour vs. Foods to Avoid table
Key principles followed:
  • Every meal uses ghee as the primary fat
  • Warm, freshly cooked foods to strengthen Agni
  • Ashwagandha or Shatavari taken daily at bedtime with warm milk
  • Heavy, sweet, and unctuous foods to calm Vata and build Dhatus
This is a shared conversation. Sign in to Orris to start your own chat.