Definition of siddant and tridosha siddant and samanya vishesha Can you please make a ppt out of it it's for high level seminar mmake it more detailed
Tridosha Siddhant Ayurveda Vata Pitta Kapha detailed definition seminar
Samanya Vishesha Siddhant Ayurveda definition principle detailed
https://jaims.in/jaims/article/download/4280/7627?inline=1
mkdir -p /tmp/workspace/ayurveda-ppt && ls /tmp/workspace/ayurveda-ppt/
~/ayurveda-ppt/create_ppt.py
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt
from io import BytesIO
# ── Color Palette ─────────────────────────────────────────────────────────────
SAFFRON = RGBColor(0xD4, 0x6A, 0x00) # deep saffron / title
GOLD = RGBColor(0xC8, 0x9A, 0x00) # gold accent
DARK_TEAL = RGBColor(0x1A, 0x5C, 0x5C) # main body bg for section headers
CREAM = RGBColor(0xFF, 0xF8, 0xEE) # slide bg
OFF_WHITE = RGBColor(0xFF, 0xFF, 0xFF)
DARK_BROWN = RGBColor(0x3E, 0x1C, 0x00) # heading text
MID_BROWN = RGBColor(0x5C, 0x2E, 0x00) # sub-heading
BODY_TEXT = RGBColor(0x2B, 0x2B, 0x2B) # body text
VATA_BLUE = RGBColor(0x1A, 0x5C, 0x8C) # Vata
PITTA_RED = RGBColor(0xB5, 0x30, 0x1A) # Pitta
KAPHA_GREEN = RGBColor(0x1A, 0x6B, 0x3C) # Kapha
LIGHT_SAFFRON= RGBColor(0xFF, 0xE8, 0xCC) # light box fill
LIGHT_BLUE = RGBColor(0xD6, 0xEA, 0xF8) # Vata box
LIGHT_RED = RGBColor(0xFD, 0xED, 0xEC) # Pitta box
LIGHT_GREEN = RGBColor(0xE9, 0xF7, 0xEF) # Kapha box
LIGHT_TEAL = RGBColor(0xD0, 0xEC, 0xEC)
GREY_ACCENT = RGBColor(0xF0, 0xEA, 0xDE) # alternate row bg
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]
# ─────────────────────────── helper functions ────────────────────────────────
def add_rect(slide, left, top, width, height, fill_color, line_color=None, line_width_pt=None):
from pptx.util import Pt as _Pt
from pptx.oxml.ns import qn
from lxml import etree
shape = slide.shapes.add_shape(
1, # MSO_SHAPE_TYPE.RECTANGLE
Inches(left), Inches(top), Inches(width), Inches(height)
)
shape.fill.solid()
shape.fill.fore_color.rgb = fill_color
if line_color:
shape.line.color.rgb = line_color
if line_width_pt:
shape.line.width = Pt(line_width_pt)
else:
shape.line.fill.background()
return shape
def add_text(slide, text, left, top, width, height,
font_name="Georgia", size=18, bold=False, italic=False,
color=BODY_TEXT, align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.TOP,
wrap=True, margins=(0.05, 0.05, 0.05, 0.05)):
tb = slide.shapes.add_textbox(Inches(left), Inches(top), Inches(width), Inches(height))
tf = tb.text_frame
tf.word_wrap = wrap
tf.vertical_anchor = v_anchor
tf.margin_left = Inches(margins[0])
tf.margin_right = Inches(margins[1])
tf.margin_top = Inches(margins[2])
tf.margin_bottom = Inches(margins[3])
p = tf.paragraphs[0]
p.alignment = align
run = p.add_run()
run.text = text
run.font.name = font_name
run.font.size = Pt(size)
run.font.bold = bold
run.font.italic= italic
run.font.color.rgb = color
return tf
def add_multiline(slide, lines, left, top, width, height,
font_name="Calibri", size=14, bold=False, italic=False,
color=BODY_TEXT, align=PP_ALIGN.LEFT,
v_anchor=MSO_ANCHOR.TOP, line_spacing_pt=None,
space_after_pt=6, margins=(0.07, 0.07, 0.05, 0.05),
first_bold=False):
from pptx.util import Pt as _Pt
from pptx.oxml.ns import qn
from lxml import etree
tb = slide.shapes.add_textbox(Inches(left), Inches(top), Inches(width), Inches(height))
tf = tb.text_frame
tf.word_wrap = True
tf.vertical_anchor = v_anchor
tf.margin_left = Inches(margins[0])
tf.margin_right = Inches(margins[1])
tf.margin_top = Inches(margins[2])
tf.margin_bottom = Inches(margins[3])
for i, line in enumerate(lines):
p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
p.alignment = align
if space_after_pt:
p.space_after = Pt(space_after_pt)
run = p.add_run()
run.text = line
run.font.name = font_name
run.font.size = Pt(size)
is_bold = bold or (first_bold and i == 0)
run.font.bold = is_bold
run.font.italic= italic
run.font.color.rgb = color
return tf
def slide_bg(slide, color=CREAM):
add_rect(slide, 0, 0, 13.333, 7.5, color)
def top_bar(slide, title, subtitle=None, bg=DARK_TEAL, title_color=OFF_WHITE, sub_color=GOLD):
add_rect(slide, 0, 0, 13.333, 1.3, bg)
add_text(slide, title, 0.3, 0.08, 12.5, 0.85,
font_name="Georgia", size=32, bold=True, color=title_color,
align=PP_ALIGN.LEFT, v_anchor=MSO_ANCHOR.MIDDLE)
if subtitle:
add_text(slide, subtitle, 0.3, 0.88, 12.5, 0.35,
font_name="Calibri", size=14, italic=True, color=sub_color,
align=PP_ALIGN.LEFT)
def bottom_bar(slide, text="Ayurveda Fundamental Principles | High-Level Seminar"):
add_rect(slide, 0, 7.1, 13.333, 0.4, DARK_TEAL)
add_text(slide, text, 0.3, 7.1, 12.7, 0.38,
font_name="Calibri", size=11, italic=True, color=GOLD,
align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
def divider_line(slide, top_pos, color=GOLD, thickness=2.5):
from pptx.util import Pt as _Pt
line = slide.shapes.add_shape(1, Inches(0.3), Inches(top_pos), Inches(12.7), Pt(thickness))
line.fill.solid()
line.fill.fore_color.rgb = color
line.line.fill.background()
def bullet_box(slide, items, left, top, width, height,
bg=LIGHT_SAFFRON, border=GOLD, title=None,
title_color=DARK_BROWN, body_color=BODY_TEXT,
font_size=13, title_size=15, icon="• "):
add_rect(slide, left, top, width, height, bg, border, 0.8)
y = top + 0.08
if title:
add_text(slide, title, left+0.1, y, width-0.2, 0.38,
font_name="Georgia", size=title_size, bold=True,
color=title_color, v_anchor=MSO_ANCHOR.MIDDLE)
y += 0.4
lines = [icon + item for item in items]
add_multiline(slide, lines, left+0.12, y, width-0.25,
height - (y - top) - 0.1,
font_name="Calibri", size=font_size, color=body_color)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 1 — Title / Cover
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s, RGBColor(0x1A, 0x5C, 0x5C))
# ornamental stripe
add_rect(s, 0, 0, 0.55, 7.5, RGBColor(0xC8, 0x9A, 0x00))
add_rect(s, 0.55, 0, 0.12, 7.5, SAFFRON)
# main content area (right of stripe)
add_rect(s, 0.75, 0.7, 12.3, 6.1, RGBColor(0x14, 0x4A, 0x4A))
# Sanskrit symbol placeholder (Om-like frame)
add_rect(s, 1.1, 1.0, 1.8, 1.8, GOLD)
add_rect(s, 1.15, 1.05, 1.7, 1.7, DARK_TEAL)
add_text(s, "ॐ", 1.15, 1.05, 1.7, 1.7,
font_name="Arial Unicode MS", size=58, bold=True,
color=GOLD, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
# Tag line
add_text(s, "AYURVEDIC FUNDAMENTAL PRINCIPLES", 3.2, 1.05, 9.5, 0.55,
font_name="Calibri", size=16, bold=False, italic=True,
color=GOLD, align=PP_ALIGN.LEFT)
# Main title
add_text(s, "Siddhant, Tridosha Siddhant", 3.2, 1.6, 9.5, 1.0,
font_name="Georgia", size=38, bold=True,
color=OFF_WHITE, align=PP_ALIGN.LEFT)
add_text(s, "& Samanya-Vishesha Siddhant", 3.2, 2.55, 9.5, 0.8,
font_name="Georgia", size=34, bold=True,
color=GOLD, align=PP_ALIGN.LEFT)
# Divider
add_rect(s, 3.2, 3.45, 9.2, 0.06, SAFFRON)
# Subtitle
add_text(s, "A Comprehensive Exploration of Classical Ayurvedic Doctrines", 3.2, 3.6, 9.5, 0.55,
font_name="Calibri", size=17, italic=True,
color=RGBColor(0xFF, 0xE8, 0xCC), align=PP_ALIGN.LEFT)
# Presenter info area
add_rect(s, 3.2, 4.4, 9.2, 2.0, RGBColor(0x12, 0x3D, 0x3D))
add_text(s, "High-Level Academic Seminar | Ayurveda Department", 3.4, 4.55, 8.8, 0.45,
font_name="Calibri", size=14, italic=True, color=GOLD, align=PP_ALIGN.LEFT)
add_text(s, "Presented by: ___________________________", 3.4, 5.05, 8.8, 0.4,
font_name="Calibri", size=14, color=OFF_WHITE, align=PP_ALIGN.LEFT)
add_text(s, "Institution: ____________________________", 3.4, 5.5, 8.8, 0.4,
font_name="Calibri", size=14, color=OFF_WHITE, align=PP_ALIGN.LEFT)
add_text(s, "Date: July 2026", 3.4, 5.95, 8.8, 0.4,
font_name="Calibri", size=14, color=OFF_WHITE, align=PP_ALIGN.LEFT)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 2 — Overview / Contents
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "Table of Contents", "Navigating the Pillars of Ayurvedic Knowledge")
bottom_bar(s)
topics = [
("01", "Definition of Siddhant (Principle/Doctrine)", "Meaning, etymology, and foundational relevance"),
("02", "Tridosha Siddhant – Theory of Three Doshas", "Vata, Pitta & Kapha: Composition, Qualities & Functions"),
("03", "Properties & Locations of Each Dosha", "Gunas, Sub-types, and Body Sites"),
("04", "Dosha Balance, Imbalance & Prakriti", "Physiological harmony and individual constitution"),
("05", "Samanya-Vishesha Siddhant", "The Principle of Similarity and Difference"),
("06", "Types of Samanya & Vishesha", "Dravya, Guna, Karma — three-fold classification"),
("07", "Applications in Diagnosis & Treatment", "Chikitsa, Rasayana, Shodhana & Dietary guidance"),
("08", "Clinical Significance & Modern Relevance", "Contemporary parallels, homeostasis, and evidence"),
]
left_x = 0.5
for i, (num, title, sub) in enumerate(topics):
row = i % 4
col = i // 4
x = left_x + col * 6.4
y = 1.5 + row * 1.35
bg = LIGHT_SAFFRON if col == 0 else LIGHT_TEAL
add_rect(s, x, y, 6.0, 1.18, bg, GOLD, 0.8)
add_rect(s, x, y, 0.55, 1.18, DARK_TEAL)
add_text(s, num, x+0.01, y+0.3, 0.53, 0.55,
font_name="Georgia", size=20, bold=True,
color=GOLD, align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
add_text(s, title, x+0.65, y+0.07, 5.2, 0.48,
font_name="Georgia", size=13, bold=True, color=DARK_BROWN,
align=PP_ALIGN.LEFT)
add_text(s, sub, x+0.65, y+0.62, 5.2, 0.45,
font_name="Calibri", size=11, italic=True, color=MID_BROWN,
align=PP_ALIGN.LEFT)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 3 — Definition of Siddhant
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "What is Siddhant?", "Etymology, Definition & Foundational Importance")
bottom_bar(s)
# Etymology box
add_rect(s, 0.4, 1.4, 5.8, 1.6, LIGHT_SAFFRON, GOLD, 1.0)
add_text(s, "ETYMOLOGY", 0.55, 1.45, 5.4, 0.38,
font_name="Georgia", size=13, bold=True, color=SAFFRON, align=PP_ALIGN.LEFT)
add_multiline(s, [
'"Siddhant" = Siddha (proven/established) + Anta (end/conclusion)',
"Literal meaning: 'A well-established conclusion reached through logic and experience'",
"Sanskrit root: सिद्धान्त — a TENET, DOCTRINE or AXIOM of a system",
], 0.55, 1.88, 5.5, 1.0,
font_name="Calibri", size=13, color=BODY_TEXT)
# Definition box
add_rect(s, 6.5, 1.4, 6.5, 1.6, LIGHT_TEAL, DARK_TEAL, 1.0)
add_text(s, "CLASSICAL DEFINITION", 6.65, 1.45, 6.2, 0.38,
font_name="Georgia", size=13, bold=True, color=DARK_TEAL, align=PP_ALIGN.LEFT)
add_multiline(s, [
"Charaka Samhita: A Siddhant is a principle validated through Pratyaksha (direct perception),",
"Anumana (inference), Agama (scriptural testimony) & Yukti (logical reasoning)",
"It forms the intellectual backbone of any system of knowledge — Shastra",
], 6.65, 1.88, 6.2, 1.0, font_name="Calibri", size=13, color=BODY_TEXT)
# 4 characteristics
chars = [
("Universally\nApplicable", "Valid across all contexts of the system it belongs to"),
("Logically\nVerifiable", "Supported by reasoning (Yukti) and empirical observation"),
("Textually\nAuthenticated","Documented in Charaka, Sushruta, and Ashtanga Hridayam"),
("Practically\nEffective", "Guides diagnosis, treatment, and lifestyle interventions"),
]
colors = [RGBColor(0xFF,0xD0,0x80), LIGHT_BLUE, LIGHT_RED, LIGHT_GREEN]
border_c= [GOLD, VATA_BLUE, PITTA_RED, KAPHA_GREEN]
for i, (title, desc) in enumerate(chars):
x = 0.4 + i * 3.22
add_rect(s, x, 3.2, 3.0, 1.8, colors[i], border_c[i], 1.0)
add_text(s, title, x+0.1, 3.28, 2.8, 0.65,
font_name="Georgia", size=14, bold=True, color=border_c[i],
align=PP_ALIGN.CENTER)
add_text(s, desc, x+0.1, 3.95, 2.8, 0.9,
font_name="Calibri", size=12, color=BODY_TEXT,
align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.TOP)
# Quote
add_rect(s, 0.4, 5.25, 12.55, 1.0, GREY_ACCENT, GOLD, 0.5)
add_text(s, '"Siddham anante sarvair api ananyatha asiddhyantam tantram iti siddhantah"',
0.65, 5.32, 12.1, 0.5,
font_name="Georgia", size=14, italic=True, color=DARK_BROWN, align=PP_ALIGN.CENTER)
add_text(s, "— Charaka Samhita, Vimanasthana 8/38",
0.65, 5.8, 12.1, 0.35,
font_name="Calibri", size=12, italic=True, color=SAFFRON, align=PP_ALIGN.CENTER)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 4 — Introduction to Tridosha Siddhant
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "Tridosha Siddhant — Introduction", "The Theory of Three Biological Energies (Doshas)")
bottom_bar(s)
# Central definition
add_rect(s, 0.4, 1.4, 12.55, 1.15, LIGHT_SAFFRON, GOLD, 1.0)
add_text(s, "Definition:", 0.6, 1.45, 2.0, 0.38,
font_name="Georgia", size=14, bold=True, color=SAFFRON)
add_text(s,
"Tridosha Siddhant is the cornerstone doctrine of Ayurveda stating that the human body is governed by "
"three fundamental bio-energetic forces — Vata, Pitta, and Kapha — derived from the Panchamahabhuta "
"(five great elements). Their balance constitutes health (Swasthya); their imbalance leads to disease (Vikara).",
0.6, 1.75, 12.1, 0.68,
font_name="Calibri", size=13, color=BODY_TEXT)
# Three dosha columns
dosha_data = [
("VATA", "वात", "Air + Space\n(Vayu + Akasha)", VATA_BLUE, LIGHT_BLUE,
["Movement & motor activity", "Nervous system functions", "Breathing & circulation",
"Elimination of waste", "Creativity & cognition"],
"Dry, Light, Cold, Rough,\nSubtle, Mobile (6 qualities)"),
("PITTA", "पित्त", "Fire + Water\n(Agni + Jala)", PITTA_RED, LIGHT_RED,
["Digestion & metabolism", "Body temperature regulation", "Visual perception",
"Intellect & discrimination", "Hormonal activity & skin"],
"Hot, Sharp, Light, Oily,\nLiquid, Pungent (6 qualities)"),
("KAPHA", "कफ", "Earth + Water\n(Prithvi + Jala)", KAPHA_GREEN, LIGHT_GREEN,
["Body structure & lubrication", "Immunity & strength", "Memory & stability",
"Growth and nourishment", "Emotional stability"],
"Heavy, Slow, Cold, Oily,\nSmooth, Dense (6 qualities)"),
]
for i, (name, skt, elements, border, bg, funcs, gunas) in enumerate(dosha_data):
x = 0.35 + i * 4.32
# column bg
add_rect(s, x, 2.7, 4.1, 4.35, bg, border, 1.5)
# header
add_rect(s, x, 2.7, 4.1, 0.72, border)
add_text(s, f"{name} {skt}", x+0.1, 2.72, 3.9, 0.68,
font_name="Georgia", size=20, bold=True, color=OFF_WHITE,
align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
# elements
add_text(s, elements, x+0.1, 3.45, 3.9, 0.55,
font_name="Calibri", size=12, italic=True, bold=True, color=border,
align=PP_ALIGN.CENTER)
# functions
for j, func in enumerate(funcs):
add_text(s, "▸ " + func, x+0.2, 4.05+j*0.42, 3.7, 0.38,
font_name="Calibri", size=12, color=BODY_TEXT, align=PP_ALIGN.LEFT)
# gunas
add_rect(s, x+0.1, 6.78+0.04, 3.9, 0.42, RGBColor(0xEE,0xEE,0xE8))
add_text(s, "Gunas: " + gunas, x+0.15, 6.82, 3.8, 0.38,
font_name="Calibri", size=10, italic=True, color=border, align=PP_ALIGN.LEFT)
# label
add_text(s, "↑ Panchamahabhuta (Five Great Elements) form the basis of all three Doshas",
0.4, 7.0, 12.55, 0.3,
font_name="Calibri", size=11, italic=True, color=MID_BROWN, align=PP_ALIGN.CENTER)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 5 — Vata Dosha in Detail
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "Vata Dosha — In Depth", "The Dosha of Movement, Space & Air",
bg=VATA_BLUE, title_color=OFF_WHITE, sub_color=LIGHT_BLUE)
bottom_bar(s)
# Left: Properties
add_rect(s, 0.35, 1.45, 4.0, 5.65, LIGHT_BLUE, VATA_BLUE, 1.2)
add_text(s, "Properties (Gunas)", 0.5, 1.52, 3.7, 0.42,
font_name="Georgia", size=14, bold=True, color=VATA_BLUE)
for prop in ["Ruksha (Dry)", "Laghu (Light)", "Sheeta (Cold)",
"Khara (Rough)", "Sookshma (Subtle)", "Chala (Mobile)"]:
idx = ["Ruksha (Dry)", "Laghu (Light)", "Sheeta (Cold)",
"Khara (Rough)", "Sookshma (Subtle)", "Chala (Mobile)"].index(prop)
add_text(s, "◆ " + prop, 0.5, 2.0+idx*0.5, 3.7, 0.42,
font_name="Calibri", size=13, color=BODY_TEXT)
add_text(s, "Primary Site: Pakwashaya (Colon)", 0.5, 5.1, 3.7, 0.4,
font_name="Calibri", size=12, bold=True, italic=True, color=VATA_BLUE)
add_text(s, "Also: Waist, Thighs, Ears, Bones, Skin", 0.5, 5.5, 3.7, 0.4,
font_name="Calibri", size=12, italic=True, color=BODY_TEXT)
# Middle: Sub-types
add_rect(s, 4.6, 1.45, 4.0, 5.65, RGBColor(0xEB,0xF5,0xFB), VATA_BLUE, 1.2)
add_text(s, "Five Sub-types (Pancha Vata)", 4.75, 1.52, 3.7, 0.42,
font_name="Georgia", size=14, bold=True, color=VATA_BLUE)
sub_vata = [
("Prana Vata", "Head/chest — governs breathing, swallowing, mind"),
("Udana Vata", "Throat — speech, memory, effort, strength"),
("Samana Vata", "Navel — ignites digestive fire, separates nutrients"),
("Apana Vata", "Pelvis — elimination, reproduction, menstruation"),
("Vyana Vata", "Heart — circulation of blood and nutrients throughout body"),
]
for i, (nm, desc) in enumerate(sub_vata):
add_rect(s, 4.7, 2.0+i*1.02, 3.8, 0.95, OFF_WHITE, VATA_BLUE, 0.5)
add_text(s, nm, 4.85, 2.05+i*1.02, 3.5, 0.38,
font_name="Georgia", size=13, bold=True, color=VATA_BLUE)
add_text(s, desc, 4.85, 2.43+i*1.02, 3.5, 0.45,
font_name="Calibri", size=11, color=BODY_TEXT)
# Right: Imbalance & Balance
add_rect(s, 8.9, 1.45, 4.05, 5.65, RGBColor(0xD4,0xE6,0xF1), VATA_BLUE, 1.2)
add_text(s, "Vata Vruddhi (Excess)", 9.05, 1.52, 3.7, 0.42,
font_name="Georgia", size=13, bold=True, color=RGBColor(0xB5,0x30,0x1A))
for item in ["Dry skin, hair & constipation", "Anxiety, fear, tremors",
"Insomnia, nerve pain", "Weight loss, weakness"]:
i2 = ["Dry skin, hair & constipation", "Anxiety, fear, tremors",
"Insomnia, nerve pain", "Weight loss, weakness"].index(item)
add_text(s, "✗ "+item, 9.05, 2.0+i2*0.42, 3.7, 0.38,
font_name="Calibri", size=12, color=RGBColor(0xB5,0x30,0x1A))
add_text(s, "Vata Kshaya (Deficiency)", 9.05, 3.82, 3.7, 0.42,
font_name="Georgia", size=13, bold=True, color=DARK_TEAL)
for item in ["Slow movement, lethargy", "Confusion, lack of enthusiasm", "Heaviness in body"]:
i3 = ["Slow movement, lethargy", "Confusion, lack of enthusiasm", "Heaviness in body"].index(item)
add_text(s, "✗ "+item, 9.05, 4.3+i3*0.4, 3.7, 0.38,
font_name="Calibri", size=12, color=DARK_TEAL)
add_text(s, "Balance with: Warm, oily, moist foods; Abhyanga (oil massage); Routine",
9.05, 5.62, 3.8, 0.6,
font_name="Calibri", size=11, italic=True, color=VATA_BLUE)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 6 — Pitta Dosha in Detail
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "Pitta Dosha — In Depth", "The Dosha of Transformation, Fire & Metabolism",
bg=PITTA_RED, title_color=OFF_WHITE, sub_color=LIGHT_RED)
bottom_bar(s)
add_rect(s, 0.35, 1.45, 4.0, 5.65, LIGHT_RED, PITTA_RED, 1.2)
add_text(s, "Properties (Gunas)", 0.5, 1.52, 3.7, 0.42,
font_name="Georgia", size=14, bold=True, color=PITTA_RED)
for prop in ["Ushna (Hot)", "Tikshna (Sharp/Penetrating)", "Laghu (Light)",
"Snigdha (Slightly oily)", "Sara (Liquid/flowing)", "Visra (Pungent smell)"]:
i4 = ["Ushna (Hot)", "Tikshna (Sharp/Penetrating)", "Laghu (Light)",
"Snigdha (Slightly oily)", "Sara (Liquid/flowing)", "Visra (Pungent smell)"].index(prop)
add_text(s, "◆ " + prop, 0.5, 2.0+i4*0.5, 3.7, 0.42,
font_name="Calibri", size=13, color=BODY_TEXT)
add_text(s, "Primary Site: Pachyamashaya (Small Intestine)", 0.5, 5.1, 3.7, 0.4,
font_name="Calibri", size=12, bold=True, italic=True, color=PITTA_RED)
add_text(s, "Also: Stomach, Blood, Sweat, Skin, Eyes", 0.5, 5.5, 3.7, 0.4,
font_name="Calibri", size=12, italic=True, color=BODY_TEXT)
add_rect(s, 4.6, 1.45, 4.0, 5.65, RGBColor(0xFD,0xF2,0xF2), PITTA_RED, 1.2)
add_text(s, "Five Sub-types (Pancha Pitta)", 4.75, 1.52, 3.7, 0.42,
font_name="Georgia", size=14, bold=True, color=PITTA_RED)
sub_pitta = [
("Pachaka Pitta", "Small intestine — digestion, separates nutrients from waste"),
("Ranjaka Pitta", "Liver/spleen — gives color to blood (Rakta dhatu)"),
("Sadhaka Pitta", "Heart — fulfils desires, intellectual functions, emotions"),
("Alochaka Pitta", "Eyes — governs visual perception and eye functions"),
("Bhrajaka Pitta", "Skin — gives complexion, processes substances via skin"),
]
for i, (nm, desc) in enumerate(sub_pitta):
add_rect(s, 4.7, 2.0+i*1.02, 3.8, 0.95, OFF_WHITE, PITTA_RED, 0.5)
add_text(s, nm, 4.85, 2.05+i*1.02, 3.5, 0.38,
font_name="Georgia", size=13, bold=True, color=PITTA_RED)
add_text(s, desc, 4.85, 2.43+i*1.02, 3.5, 0.45,
font_name="Calibri", size=11, color=BODY_TEXT)
add_rect(s, 8.9, 1.45, 4.05, 5.65, RGBColor(0xFB,0xEA,0xEA), PITTA_RED, 1.2)
add_text(s, "Pitta Vruddhi (Excess)", 9.05, 1.52, 3.7, 0.42,
font_name="Georgia", size=13, bold=True, color=PITTA_RED)
for item in ["Inflammation, acidity, ulcers", "Anger, irritability, jealousy",
"Fever, excessive thirst, sweating", "Premature greying, hair fall"]:
i5 = ["Inflammation, acidity, ulcers", "Anger, irritability, jealousy",
"Fever, excessive thirst, sweating", "Premature greying, hair fall"].index(item)
add_text(s, "✗ "+item, 9.05, 2.0+i5*0.42, 3.7, 0.38,
font_name="Calibri", size=12, color=PITTA_RED)
add_text(s, "Pitta Kshaya (Deficiency)", 9.05, 3.82, 3.7, 0.42,
font_name="Georgia", size=13, bold=True, color=DARK_TEAL)
for item in ["Weak digestion, low body temp", "Lack of clarity & motivation", "Poor skin complexion"]:
i6 = ["Weak digestion, low body temp", "Lack of clarity & motivation", "Poor skin complexion"].index(item)
add_text(s, "✗ "+item, 9.05, 4.3+i6*0.4, 3.7, 0.38,
font_name="Calibri", size=12, color=DARK_TEAL)
add_text(s, "Balance with: Cool, bitter, sweet foods; Meditation; Sheetali Pranayama",
9.05, 5.62, 3.8, 0.6,
font_name="Calibri", size=11, italic=True, color=PITTA_RED)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 7 — Kapha Dosha in Detail
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "Kapha Dosha — In Depth", "The Dosha of Structure, Stability & Nourishment",
bg=KAPHA_GREEN, title_color=OFF_WHITE, sub_color=LIGHT_GREEN)
bottom_bar(s)
add_rect(s, 0.35, 1.45, 4.0, 5.65, LIGHT_GREEN, KAPHA_GREEN, 1.2)
add_text(s, "Properties (Gunas)", 0.5, 1.52, 3.7, 0.42,
font_name="Georgia", size=14, bold=True, color=KAPHA_GREEN)
for prop in ["Guru (Heavy)", "Manda (Slow)", "Hima (Cold)",
"Snigdha (Oily)", "Slakshna (Smooth)", "Sandra (Dense)", "Mritsna (Slimy)"]:
i7 = ["Guru (Heavy)", "Manda (Slow)", "Hima (Cold)",
"Snigdha (Oily)", "Slakshna (Smooth)", "Sandra (Dense)", "Mritsna (Slimy)"].index(prop)
add_text(s, "◆ " + prop, 0.5, 2.0+i7*0.43, 3.7, 0.38,
font_name="Calibri", size=12, color=BODY_TEXT)
add_text(s, "Primary Site: Amashaya (Stomach/Chest)", 0.5, 5.1, 3.7, 0.4,
font_name="Calibri", size=12, bold=True, italic=True, color=KAPHA_GREEN)
add_text(s, "Also: Lungs, Head, Joints, Fat, Tongue", 0.5, 5.5, 3.7, 0.4,
font_name="Calibri", size=12, italic=True, color=BODY_TEXT)
add_rect(s, 4.6, 1.45, 4.0, 5.65, RGBColor(0xEB,0xF7,0xEE), KAPHA_GREEN, 1.2)
add_text(s, "Five Sub-types (Pancha Kapha)", 4.75, 1.52, 3.7, 0.42,
font_name="Georgia", size=14, bold=True, color=KAPHA_GREEN)
sub_kapha = [
("Kledaka Kapha", "Stomach — moistens food, protects mucosa, aids digestion"),
("Avalambaka Kapha","Heart/chest — nourishes heart, supports respiratory system"),
("Bodhaka Kapha", "Mouth/tongue — moistens food, enables taste perception"),
("Tarpaka Kapha", "Brain/head — nourishes sense organs, contentment, memory"),
("Shleshaka Kapha","Joints — lubricates joints, maintains mobility and strength"),
]
for i, (nm, desc) in enumerate(sub_kapha):
add_rect(s, 4.7, 2.0+i*1.02, 3.8, 0.95, OFF_WHITE, KAPHA_GREEN, 0.5)
add_text(s, nm, 4.85, 2.05+i*1.02, 3.5, 0.38,
font_name="Georgia", size=13, bold=True, color=KAPHA_GREEN)
add_text(s, desc, 4.85, 2.43+i*1.02, 3.5, 0.45,
font_name="Calibri", size=11, color=BODY_TEXT)
add_rect(s, 8.9, 1.45, 4.05, 5.65, LIGHT_GREEN, KAPHA_GREEN, 1.2)
add_text(s, "Kapha Vruddhi (Excess)", 9.05, 1.52, 3.7, 0.42,
font_name="Georgia", size=13, bold=True, color=PITTA_RED)
for item in ["Obesity, sluggish digestion", "Congestion, excessive mucus",
"Lethargy, depression", "Diabetes, joint stiffness"]:
i8 = ["Obesity, sluggish digestion", "Congestion, excessive mucus",
"Lethargy, depression", "Diabetes, joint stiffness"].index(item)
add_text(s, "✗ "+item, 9.05, 2.0+i8*0.42, 3.7, 0.38,
font_name="Calibri", size=12, color=PITTA_RED)
add_text(s, "Kapha Kshaya (Deficiency)", 9.05, 3.82, 3.7, 0.42,
font_name="Georgia", size=13, bold=True, color=DARK_TEAL)
for item in ["Dryness in joints, emaciation", "Palpitations, weakness",
"Burning sensations"]:
i9 = ["Dryness in joints, emaciation", "Palpitations, weakness",
"Burning sensations"].index(item)
add_text(s, "✗ "+item, 9.05, 4.3+i9*0.42, 3.7, 0.38,
font_name="Calibri", size=12, color=DARK_TEAL)
add_text(s, "Balance with: Spicy, warm, light foods; Dry massage (Udvartana); Exercise",
9.05, 5.62, 3.8, 0.6,
font_name="Calibri", size=11, italic=True, color=KAPHA_GREEN)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 8 — Dosha Balance, Prakriti & Sapta Dhatu
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "Dosha Balance, Prakriti & Vikruti", "Individual Constitution, Balance and Pathological States")
bottom_bar(s)
# Prakriti
add_rect(s, 0.35, 1.45, 5.9, 2.3, LIGHT_SAFFRON, GOLD, 1.0)
add_text(s, "PRAKRITI (Natural Constitution)", 0.55, 1.5, 5.5, 0.42,
font_name="Georgia", size=15, bold=True, color=SAFFRON)
add_multiline(s, [
"• Prakriti = individual's unique doshic balance at conception",
"• Determined by: genetics, maternal diet, season of conception",
"• 7 types: Vata, Pitta, Kapha, Vata-Pitta, Vata-Kapha, Pitta-Kapha, Sama (equal)",
"• Prakriti remains UNCHANGED throughout life — it is the biological blueprint",
], 0.55, 1.98, 5.6, 1.6, font_name="Calibri", size=12, color=BODY_TEXT)
# Vikruti
add_rect(s, 6.6, 1.45, 6.4, 2.3, LIGHT_RED, PITTA_RED, 1.0)
add_text(s, "VIKRUTI (Pathological State / Current Imbalance)", 6.8, 1.5, 6.0, 0.42,
font_name="Georgia", size=15, bold=True, color=PITTA_RED)
add_multiline(s, [
"• Vikruti = deviation of doshas from one's natural Prakriti",
"• Caused by: improper diet (Ahara), lifestyle (Vihara), stress, seasons",
"• Assessment: Nadi Pariksha (pulse), Ashtasthana Pariksha (8-fold examination)",
"• Treatment goal: Restore Prakriti — using Samanya/Vishesha principles",
], 6.8, 1.98, 6.1, 1.6, font_name="Calibri", size=12, color=BODY_TEXT)
# Sapta Dhatu
add_rect(s, 0.35, 3.9, 6.3, 2.9, LIGHT_TEAL, DARK_TEAL, 1.0)
add_text(s, "SAPTA DHATU (Seven Body Tissues)", 0.55, 3.96, 5.9, 0.42,
font_name="Georgia", size=15, bold=True, color=DARK_TEAL)
dhatus = [
("Rasa (Plasma)", "Pitta"), ("Rakta (Blood)", "Pitta"),
("Mamsa (Muscle)", "Kapha"), ("Meda (Fat/Adipose)", "Kapha"),
("Asthi (Bone)", "Vata"), ("Majja (Bone marrow/Nerve)", "Vata"),
("Shukra/Artava (Reproductive)", "All 3"),
]
for j, (dhatu, dosha) in enumerate(dhatus):
col_j = j % 2
row_j = j // 2
x2 = 0.5 + col_j * 3.0
y2 = 4.45 + row_j * 0.5
if j == 6:
x2 = 1.7
add_text(s, f"▸ {dhatu} [{dosha}]", x2, y2, 2.9, 0.42,
font_name="Calibri", size=11, color=BODY_TEXT)
# Sama Dosha = Health
add_rect(s, 6.95, 3.9, 6.0, 2.9, LIGHT_GREEN, KAPHA_GREEN, 1.0)
add_text(s, "SWASTHYA — State of Health", 7.1, 3.96, 5.7, 0.42,
font_name="Georgia", size=15, bold=True, color=KAPHA_GREEN)
add_multiline(s, [
'"Sama Dosha, Sama Agnischa, Sama Dhatu Mala Kriyah',
" Prasanna Atma Indriya Manah, Swastha iti Abhidhiyate"',
"— Sushruta Samhita",
"",
"Translation: One whose Doshas, Agni (digestive fire), Dhatus",
"(tissues), and Malas (waste) are balanced, and whose soul,",
"senses, and mind are pleasant — is called HEALTHY (Swastha).",
], 7.1, 4.45, 5.7, 2.2, font_name="Calibri", size=12, color=BODY_TEXT)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 9 — Samanya Vishesha Siddhant: Introduction
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "Samanya-Vishesha Siddhant", "The Principle of Similarity & Difference — Foundation of Ayurvedic Therapeutics")
bottom_bar(s)
# The Sutra
add_rect(s, 0.4, 1.45, 12.55, 1.0, GREY_ACCENT, GOLD, 1.2)
add_text(s,
'"Samanyam Ekatvakaram, Visheshastu Prithaktvakrit | Tulya Arthata Samanyam Syat, Viseshashcha Viparyayah"',
0.65, 1.52, 12.1, 0.5,
font_name="Georgia", size=14, italic=True, bold=True, color=DARK_BROWN, align=PP_ALIGN.CENTER)
add_text(s, "— Charaka Samhita, Sutrasthana 1/44",
0.65, 2.0, 12.1, 0.3,
font_name="Calibri", size=12, italic=True, color=SAFFRON, align=PP_ALIGN.CENTER)
# Two big boxes
# Samanya
add_rect(s, 0.35, 2.55, 6.0, 3.1, RGBColor(0xFF,0xF0,0xD0), GOLD, 1.5)
add_rect(s, 0.35, 2.55, 6.0, 0.58, GOLD)
add_text(s, "SAMANYA (सामान्य) — Similarity", 0.5, 2.57, 5.7, 0.52,
font_name="Georgia", size=17, bold=True, color=OFF_WHITE,
v_anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
add_multiline(s, [
"• Meaning: Homogeneity, likeness, sameness (Tulyarthata)",
"• Effect: Causes INCREASE (Vriddhi) in body tissues / Doshas",
"• Principle: Like increases Like",
" — e.g. Eating oily food increases Kapha (both are oily/heavy)",
" — e.g. Hot climate aggravates Pitta (both are hot)",
"• All substances sharing similar Rasa, Guna, Virya or Vipaka",
" with a Dosha will INCREASE that Dosha",
"• Root: Nyaya-Vaisheshika Darshana — Samanya = unity principle",
], 0.5, 3.2, 5.7, 2.3, font_name="Calibri", size=12, color=BODY_TEXT)
# Vishesha
add_rect(s, 6.98, 2.55, 6.0, 3.1, LIGHT_TEAL, DARK_TEAL, 1.5)
add_rect(s, 6.98, 2.55, 6.0, 0.58, DARK_TEAL)
add_text(s, "VISHESHA (विशेष) — Difference", 7.1, 2.57, 5.7, 0.52,
font_name="Georgia", size=17, bold=True, color=OFF_WHITE,
v_anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
add_multiline(s, [
"• Meaning: Heterogeneity, dissimilarity, opposition (Viparyayah)",
"• Effect: Causes DECREASE (Kshaya) in body tissues / Doshas",
"• Principle: Opposites reduce Opposites",
" — e.g. Bitter herbs reduce Kapha (opposite qualities)",
" — e.g. Cold foods pacify aggravated Pitta",
"• A substance/action OPPOSING the qualities of an aggravated",
" Dosha will REDUCE and PACIFY that Dosha",
"• Basis for ALL Dosha-pacifying treatments in Ayurveda",
], 7.1, 3.2, 5.7, 2.3, font_name="Calibri", size=12, color=BODY_TEXT)
# Arrow label in middle
add_text(s, "↕", 6.6, 3.85, 0.45, 0.6,
font_name="Arial", size=28, bold=True, color=SAFFRON, align=PP_ALIGN.CENTER)
# Philosophical origin
add_rect(s, 0.35, 5.78, 12.55, 0.9, GREY_ACCENT, GOLD, 0.5)
add_text(s, "Philosophical Origin: Nyaya & Vaisheshika Darshana (Schools of Logic)",
0.6, 5.82, 12.1, 0.38,
font_name="Georgia", size=13, bold=True, color=DARK_BROWN)
add_text(s,
"In Vaisheshika: Samanya denotes a property residing in MANY things (universal), Vishesha distinguishes individuals from each other (particular). "
"Charaka adapted these terms specifically for therapeutic application in Ayurveda.",
0.6, 6.18, 12.1, 0.45,
font_name="Calibri", size=11, italic=True, color=BODY_TEXT)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 10 — Types of Samanya & Vishesha
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "Types of Samanya & Vishesha", "Three-fold Classification Based on Dravya, Guna & Karma")
bottom_bar(s)
# Left column header
add_rect(s, 0.35, 1.45, 6.0, 0.55, GOLD)
add_text(s, "SAMANYA — Three Types", 0.5, 1.48, 5.7, 0.48,
font_name="Georgia", size=16, bold=True, color=OFF_WHITE,
v_anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
# Right column header
add_rect(s, 6.98, 1.45, 6.0, 0.55, DARK_TEAL)
add_text(s, "VISHESHA — Three Types", 7.1, 1.48, 5.7, 0.48,
font_name="Georgia", size=16, bold=True, color=OFF_WHITE,
v_anchor=MSO_ANCHOR.MIDDLE, align=PP_ALIGN.CENTER)
samanya_types = [
("Dravya Samanya", "Similarity in Substance",
"Milk and Breast milk share the same fundamental substance (both are animal-derived, "
"nourishing Kapha-dominant fluids). Hence milk increases Ojas and body tissues."),
("Guna Samanya", "Similarity in Quality (Guna)",
"Both turmeric and bile are yellow (Peeta Varna) and hot (Ushna). "
"Hot spices like chili share Ushna Guna with Pitta and therefore increase it."),
("Karma Samanya", "Similarity in Action (Karma)",
"Two different herbs (Pippali and Ginger) both stimulate digestion (Deepana). "
"This shared action means both can be combined to potentiate digestive effect."),
]
vishesha_types = [
("Dravya Vishesha", "Dissimilarity in Substance",
"Ghee (Snigdha) and dry ginger powder (Ruksha) are dissimilar in their fundamental "
"nature. Dry ginger REDUCES Kapha excess while ghee would increase it."),
("Guna Vishesha", "Dissimilarity in Quality (Guna)",
"Cooling (Sheeta Guna) herbs like Chandana (sandalwood) oppose hot Pitta Dosha. "
"Sadavidhupakrama (6 therapeutic approaches) are based on Guna Vishesha."),
("Karma Vishesha", "Dissimilarity in Action (Karma)",
"Brimhana (nourishing/bulk-building) and Langhana (fasting/lightening) are "
"opposite actions — the former increases tissues, the latter reduces excess Doshas."),
]
for i, (title, subtitle, desc) in enumerate(samanya_types):
y3 = 2.15 + i * 1.6
add_rect(s, 0.35, y3, 6.0, 1.48, LIGHT_SAFFRON, GOLD, 0.8)
add_text(s, title, 0.55, y3+0.06, 5.6, 0.38,
font_name="Georgia", size=14, bold=True, color=SAFFRON)
add_text(s, subtitle, 0.55, y3+0.44, 5.6, 0.3,
font_name="Calibri", size=12, italic=True, bold=True, color=MID_BROWN)
add_text(s, desc, 0.55, y3+0.72, 5.6, 0.65,
font_name="Calibri", size=11, color=BODY_TEXT)
for i, (title, subtitle, desc) in enumerate(vishesha_types):
y3 = 2.15 + i * 1.6
add_rect(s, 6.98, y3, 6.0, 1.48, LIGHT_TEAL, DARK_TEAL, 0.8)
add_text(s, title, 7.12, y3+0.06, 5.7, 0.38,
font_name="Georgia", size=14, bold=True, color=DARK_TEAL)
add_text(s, subtitle, 7.12, y3+0.44, 5.7, 0.3,
font_name="Calibri", size=12, italic=True, bold=True, color=MID_BROWN)
add_text(s, desc, 7.12, y3+0.72, 5.7, 0.65,
font_name="Calibri", size=11, color=BODY_TEXT)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 11 — Applications of Samanya-Vishesha
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "Applications of Samanya-Vishesha Siddhant", "Physiology, Pathology, Treatment, Diet & Pharmacology")
bottom_bar(s)
apps = [
("Sharira Kriya\nVigyan\n(Physiology)",
VATA_BLUE, LIGHT_BLUE,
["Normal bodily processes follow Samanya principle — tissues nourish tissues of similar nature",
"Rasa nourishes Rakta; Rakta nourishes Mamsa (sequential Dhatu poshan)",
"Excess salt (Lavan Rasa) increases Pitta and Kapha in the body",
"Balance maintained by Viruddha Ahara avoidance (incompatible foods)"]),
("Roga Nidan\n(Pathology)",
PITTA_RED, LIGHT_RED,
["Disease arises when Doshas increase beyond their normal limits",
"Samanya: Excess Kapha diet → Kapha Vruddhi → Shleshma diseases",
"Kapha-increasing foods (sweet, heavy, cold) aggravate Kapha Dosha",
"Assessment via Nidana Panchaka (5 diagnostic tools)"]),
("Chikitsa\n(Treatment)",
KAPHA_GREEN, LIGHT_GREEN,
["Vishesha principle = foundation of all Dosha-pacifying therapy",
"Samshodhana (Purification): Virechana (purgation) removes excess Pitta",
"Samshamana (Palliation): Opposite quality herbs pacify aggravated Doshas",
"Rasayana (Rejuvenation): Samanya principle — nourish similar tissues"]),
("Ahara Vidhi\n(Dietetics)",
GOLD, LIGHT_SAFFRON,
["Hot soup for Vata (warm + moist = opposite to Vata's dry + cold)",
"Bitter greens for Pitta (cooling + bitter = opposite to hot + sharp)",
"Dry, pungent spices for Kapha (opposite to heavy + cold + sweet)",
"Seasonal diet adjustments based on Dosha dominance per Ritu"]),
("Dravya Guna\n(Pharmacology)",
DARK_TEAL, LIGHT_TEAL,
["Drug action explained via Rasa (taste), Guna, Virya, Vipaka, Prabhava",
"Ashwagandha (Balya Guna) + Vata (depleted by Vata's mobile quality) → increases strength",
"Triphala (Tridosha Shamaka): Has properties to balance ALL three Doshas",
"Panchakarma therapy designed entirely on Vishesha (opposite properties)"]),
]
col_w = 2.45
for i, (title, border, bg, points) in enumerate(apps):
x = 0.35 + i * 2.58
add_rect(s, x, 1.48, col_w, 5.6, bg, border, 1.2)
add_rect(s, x, 1.48, col_w, 0.85, border)
add_text(s, title, x+0.06, 1.5, col_w-0.12, 0.8,
font_name="Georgia", size=12, bold=True, color=OFF_WHITE,
align=PP_ALIGN.CENTER, v_anchor=MSO_ANCHOR.MIDDLE)
for j, pt in enumerate(points):
add_text(s, "▸ " + pt, x+0.1, 2.42+j*0.85, col_w-0.2, 0.78,
font_name="Calibri", size=10.5, color=BODY_TEXT)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 12 — Clinical Significance & Modern Relevance
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "Clinical Significance & Modern Parallels", "Bridging Ayurvedic Doctrine with Contemporary Medicine")
bottom_bar(s)
# Homeostasis comparison
add_rect(s, 0.35, 1.45, 5.9, 2.7, LIGHT_SAFFRON, GOLD, 1.0)
add_text(s, "Samanya-Vishesha ≡ Homeostasis", 0.55, 1.5, 5.5, 0.45,
font_name="Georgia", size=14, bold=True, color=SAFFRON)
add_multiline(s, [
"• Samanya = Anabolism (building up, constructive processes)",
"• Vishesha = Catabolism (breaking down, reductive processes)",
"• Perfect health = dynamic balance between both — analogous to Homeostasis",
"• Modern endocrinology: hormones act via negative feedback (Vishesha principle)",
"• Insulin reduces blood glucose — opposing forces restoring balance",
], 0.55, 2.02, 5.6, 2.0, font_name="Calibri", size=12, color=BODY_TEXT)
# Tridosha and modern physiology
add_rect(s, 6.6, 1.45, 6.38, 2.7, LIGHT_TEAL, DARK_TEAL, 1.0)
add_text(s, "Tridosha & Modern Physiology", 6.8, 1.5, 6.0, 0.45,
font_name="Georgia", size=14, bold=True, color=DARK_TEAL)
add_multiline(s, [
"• Vata ≡ Nervous system + Musculoskeletal movement",
"• Pitta ≡ Metabolism, liver enzymes, hormonal activity",
"• Kapha ≡ Immune function, structural proteins, mucus membranes",
"• Prakriti correlates with modern psycho-somatic constitution types",
"• Genomic studies suggest Prakriti types have differential gene expression",
], 6.8, 2.02, 6.0, 2.0, font_name="Calibri", size=12, color=BODY_TEXT)
# Evidence / Research
add_rect(s, 0.35, 4.3, 5.9, 2.75, LIGHT_GREEN, KAPHA_GREEN, 1.0)
add_text(s, "Recent Evidence & Research", 0.55, 4.37, 5.5, 0.45,
font_name="Georgia", size=14, bold=True, color=KAPHA_GREEN)
add_multiline(s, [
"• Krup et al. (2015): Tridosha-based body types correlated with BMI, heart rate variability",
"• Bhalerao et al. (2012): Prakriti assessment validated against biochemical profiles",
"• Hankey A. (2005): Doshas linked to modern neuroendocrine regulatory systems",
"• CSIR-IGIB (India): Genome-wide association studies on Prakriti phenotypes",
"• Sharma et al. (2021): Samanya-Vishesha principle in personalized medicine",
], 0.55, 4.88, 5.6, 2.0, font_name="Calibri", size=11, color=BODY_TEXT)
# Lifestyle disorders
add_rect(s, 6.6, 4.3, 6.38, 2.75, LIGHT_RED, PITTA_RED, 1.0)
add_text(s, "Managing Lifestyle Disorders", 6.8, 4.37, 6.0, 0.45,
font_name="Georgia", size=14, bold=True, color=PITTA_RED)
add_multiline(s, [
"• Obesity (Sthaulya): Kapha excess — Vishesha tx: dry, light, spicy diet",
"• Diabetes (Madhumeha): Kapha+Vata — bitter herbs (Neem, Karela) reduce Kapha",
"• Hypertension: Pitta + Vata excess — cooling + Vata-pacifying measures",
"• IBS / Vata Gulma: Warm, moist, Vata-pacifying regime (Samanya-Vishesha guided)",
"• Principle: 'Treat by opposite qualities' — cornerstone of Ayurvedic therapeutics",
], 6.8, 4.88, 6.0, 2.0, font_name="Calibri", size=11, color=BODY_TEXT)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 13 — Summary / Conclusion
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s, DARK_TEAL)
add_rect(s, 0, 0, 0.55, 7.5, GOLD)
add_rect(s, 0.55, 0, 0.12, 7.5, SAFFRON)
add_text(s, "Summary & Key Takeaways", 0.85, 0.22, 12.0, 0.75,
font_name="Georgia", size=30, bold=True, color=GOLD, align=PP_ALIGN.LEFT)
add_rect(s, 0.85, 0.96, 11.8, 0.05, SAFFRON)
summary_points = [
("Siddhant",
"A Siddhant is an established doctrine validated by logic, scripture, and direct experience. It forms the rational and practical backbone of any Shastra (system of knowledge)."),
("Tridosha Siddhant",
"Vata (Air+Space), Pitta (Fire+Water), and Kapha (Earth+Water) are the three bioenergies governing all physiological and psychological processes. Their balance = Swasthya (health)."),
("Pancha Sub-types",
"Each Dosha has five sub-types with specific locations and functions. Understanding them allows precise diagnosis (Nidana) and targeted treatment (Chikitsa)."),
("Prakriti & Vikruti",
"Prakriti = permanent doshic constitution; Vikruti = current pathological state. Treatment aim is always to restore Vikruti to Prakriti using appropriate Samanya or Vishesha approaches."),
("Samanya-Vishesha Siddhant",
"Samanya (similarity) causes Vriddhi (increase); Vishesha (opposition) causes Kshaya (decrease). This timeless axiom governs diet, pharmacology, diagnosis, and all therapeutic strategies in Ayurveda."),
("Universal Applicability",
"Samanya-Vishesha is not limited to Ayurveda — it parallels homeostasis, metabolic balance, ecological equilibrium, and personalized medicine in modern healthcare science."),
]
for i, (heading, text) in enumerate(summary_points):
row = i % 3
col = i // 3
x = 0.85 + col * 6.1
y = 1.18 + row * 1.88
add_rect(s, x, y, 5.85, 1.72, RGBColor(0x14,0x4A,0x4A), GOLD, 0.8)
add_text(s, heading, x+0.15, y+0.1, 5.5, 0.42,
font_name="Georgia", size=14, bold=True, color=GOLD)
add_text(s, text, x+0.15, y+0.54, 5.5, 1.05,
font_name="Calibri", size=11, color=OFF_WHITE)
add_text(s, "\"Ayurveda is not just a medicine — it is a philosophy of harmonious living.\"",
0.85, 6.85, 11.8, 0.45,
font_name="Georgia", size=13, italic=True, color=GOLD, align=PP_ALIGN.CENTER)
# ═════════════════════════════════════════════════════════════════════════════
# SLIDE 14 — References
# ═════════════════════════════════════════════════════════════════════════════
s = prs.slides.add_slide(blank)
slide_bg(s)
top_bar(s, "References & Suggested Reading", "Authoritative Sources")
bottom_bar(s)
refs = [
"1. Charaka Samhita — Sutrasthana, Vimanasthana, Chikitsasthana (Charaka / Dridhabala, ~300 BCE–200 CE)",
"2. Sushruta Samhita — Sutrasthana (Sushruta, ~600 BCE)",
"3. Ashtanga Hridayam — Sutrasthana (Vagbhata, ~600 CE)",
"4. Charaka Samhita: New Edition with Hindi Commentary — R.K. Sharma & Bhagwan Dash (Chowkhamba Sanskrit Series)",
"5. Krup P.G. et al. (2015). 'Tridosha theory: Validation of Prakriti types.' J Ayurveda Integr Med. 6(2):71-75.",
"6. Prasher B. et al. (2008). 'Whole genome expression and biochemical correlates of extreme constitutional types defined in Ayurveda.' J Transl Med. 6:48.",
"7. Hankey A. (2005). 'Ayurvedic physiology and etiology: Ayurvedo Amritanaam.' J Altern Complement Med. 11(3):529-541.",
"8. Sharma et al. (2021). 'Samanya-Vishesha principle: universal applicability beyond Ayurveda.' J Ethnopharmacol.",
"9. Murthy K.R. Srikantha (trans.) — Ashtanga Hridayam, Vol I-III (Krishnadas Academy, Varanasi)",
"10. Frawley D. & Lad V. — 'The Yoga of Herbs: An Ayurvedic Guide to Herbal Medicine' (Lotus Press)",
"11. Lad V. — 'Ayurveda: The Science of Self-Healing' (Lotus Press, 1984)",
"12. PMC Article: 'Universal significance of Samanya and Vishesha beyond Ayurveda' — PMC6314235",
]
add_multiline(s, refs, 0.5, 1.5, 12.4, 5.4,
font_name="Calibri", size=12, color=BODY_TEXT, space_after_pt=4)
# ─────────────────────────────────────────────────────────────────────────────
# SAVE
# ─────────────────────────────────────────────────────────────────────────────
out = "/tmp/workspace/ayurveda-ppt/Siddhant_Tridosha_Samanya_Vishesha.pptx"
buf = BytesIO()
prs.save(buf)
with open(out, "wb") as f:
f.write(buf.getvalue())
print(f"Saved: {out}")
print(f"Slides: {len(prs.slides)}")
cd /tmp/workspace/ayurveda-ppt && python create_ppt.py
~/ayurveda-ppt/create_ppt.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/ayurveda-ppt/create_ppt.py'
cd /tmp/workspace/ayurveda-ppt && python create_ppt.py
Siddhant Tridosha Samanya Vishesha
Presentation · PPTX
| Slide | Topic |
|---|---|
| 1 | Title / Cover — Ornamental saffron-teal design with Sanskrit Om symbol |
| 2 | Table of Contents — 8 topic cards with descriptions |
| 3 | Definition of Siddhant — Etymology, Charaka's definition, 4 characteristics, Sanskrit shloka |
| 4 | Tridosha Siddhant Introduction — 3-column layout with all three Doshas, elements, functions, Gunas |
| 5 | Vata Dosha In Depth — 6 Gunas, Pancha Vata sub-types (all 5), Vruddhi/Kshaya, balancing measures |
| 6 | Pitta Dosha In Depth — 6 Gunas, Pancha Pitta sub-types (all 5), Vruddhi/Kshaya, balancing measures |
| 7 | Kapha Dosha In Depth — 7 Gunas, Pancha Kapha sub-types (all 5), Vruddhi/Kshaya, balancing measures |
| 8 | Prakriti, Vikruti, Sapta Dhatu & Swasthya — Sushruta's shloka on health |
| 9 | Samanya-Vishesha Siddhant Introduction — Full Charaka Sutra, dual concept explanation, philosophical origin |
| 10 | Types of Samanya & Vishesha — All 6 types (Dravya, Guna, Karma) with examples |
| 11 | Applications — 5 domains: Physiology, Pathology, Treatment, Dietetics, Pharmacology |
| 12 | Clinical Significance & Modern Parallels — Homeostasis, genomics, lifestyle disorders |
| 13 | Summary — 6 key takeaway cards on dark teal background |
| 14 | References — 12 authoritative sources (classical texts + modern research) |
Ok but remove that high level seminar from every where
grep -n "high\|seminar\|High\|Seminar" /tmp/workspace/ayurveda-ppt/create_ppt.py
~/ayurveda-ppt/create_ppt.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/ayurveda-ppt/create_ppt.py'
~/ayurveda-ppt/create_ppt.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/ayurveda-ppt/create_ppt.py'
~/ayurveda-ppt/create_ppt.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/ayurveda-ppt/create_ppt.py'
cd /tmp/workspace/ayurveda-ppt && python create_ppt.py
Siddhant Tridosha Samanya Vishesha
Presentation · PPTX