In sushruta samhita where the dravya classification based karmaa
Sushruta Samhita dravya classification based on karma 37 groups Sutra Sthana
https://orionjournals.com/ijsru/sites/default/files/IJSRU-20…
Sushruta Samhita 37 ganas complete list karma classification Dravyaguna Sutra Sthana chapter 38
https://www.easyayurveda.com/sushruta-samhita-sutrasthana-38…
| No. | Gana Name | Lead Drug | Key Therapeutic Karma |
|---|---|---|---|
| 1 | Vidarigandhadi Gana | Vidarigandha | Balya (strength-promoting), Vata-Kapha shamana |
| 2 | Aragwadhadi Gana | Aragwadha (Cassia fistula) | Kushthagna (anti-skin disease), Krimighna |
| 3 | Salasaradi Gana | Salasara | Sandhaniya (fracture-healing), Vrana-ropana |
| 4 | Varunadi Gana | Varuna | Ashmaribhedana (lithotriptic), Mutravirechaniya |
| 5 | Viratarvadi Gana | Viratarava | Kaphavataghna, anti-inflammatory |
| 6 | Rodhradi Gana | Rodhra | Shothahara (anti-oedema), Stambhana |
| 7 | Arkadi Gana | Arka | Kaphamedasoghna, Krimighna, Kushthagna, Vranaropana |
| 8 | Surasadi Gana | Surasa (Tulasi) | Kaphahara, Krimisudana, Kasasvasaghna, Vranasodhana |
| 9 | Mushkakadi Gana | Mushkaka | Jwarahara (antipyretic), Kaphavataghna |
| 10 | Pippalyadi Gana | Pippali | Dipaniya (digestive stimulant), Vatakaphahara |
| 11 | Eladi Gana | Ela (Cardamom) | Vatakaphavishaghna, Varnya (complexion-enhancing), Kandughna |
| 12 | Vachadi Gana | Vacha | Medhya, Krimighna, Vatakapha shamana |
| 13 | Haridradi Gana | Haridra | Kushthagna, Krimighna, Vranasodhana |
| 14 | Syamadi Gana | Syama | Virechaniya (purgative), Udara-gulmaghna |
| 15 | Brihatyadi Gana | Brhati | Dipaniya, Pittavatakaphaghna, Mutrakrcchragna |
| 16 | Patoladi Gana | Patola | Pittakaphahara, Jwarashamana, Vranaghna, Vishaghna |
| 17 | Kakolyadi Gana | Kakoli | Pittaraktavataghna, Brimhaniya (nutritive/anabolic), Vajikara, Stanyajanana |
| 18 | Vatsanabadi Gana | Vatsanabha | Vishagna, Krimighna |
| 19 | Mustadi Gana | Musta | Dipaniya, Pachana, Jwarahara, Kaphavataghna |
| 20 | Haritakyadi Gana | Haritaki | Tridoshaghna, Rasayana, Anulomana |
| 21 | Trivrtadi Gana | Trivrt | Virechaniya (main purgative group) |
| 22 | Amalakyadi Gana | Amalaki | Rasayana, Pittahara, Vayasthapana |
| 23 | Saptaparnadi Gana | Saptaparna | Jwaragna, Kaphavataghna |
| 24 | Patoladi / Tikta Gana | Patola | Tikta rasa drugs - Jwarahara, anti-inflammatory |
| 25 | Guducyadi Gana | Guduchi | Jwaranamak (anti-fever), Dipana, Chardinigraha, Trishnahara, Dahaghna |
| 26 | Utpaladi Gana | Utpala | Dahapittaraktavinashana, Trishnahara, Chardighna, Hrdrogaghna |
| 27 | Priyangvadi Gana | Priyangu | Stambhana, Atisaraghna (anti-diarrhoeal), Raktapittahara |
| 28 | Anjanadi Gana | Anjana | Netrya (ophthalmic), Kaphavataghna |
| 29 | Laghupanchamula | (group of 5 roots) | Vataghna, Dipana |
| 30 | Mahat Panchamula | (larger 5 roots) | Vataghna, Jwarahara, Shvasaghna |
| 31 | Trnpanchamula | (5 grass roots) | Pittashamana, Mutravirajaniya |
| 32 | Kantaka Panchamula | (5 thorny roots) | Kaphaghna, Raktapittasamaka |
| 33 | Valli Panchamula | (5 creeper roots) | Pittaghna, Shotha-meha-shukradoroghna |
| 34 | Dasamula | (Laghu + Mahat Panchamula combined) | Shvasaghna, Kaphapitta-vataghna, Amadoshaghna, Sarvajaraighna |
| 35 & 36 | Valli Panchamula & Kantaki Panchamula | (see above) | See above |
| 37 | Trivrtadi Gana (virechaniya) | Trivrt | The main purgation group (details expanded elsewhere in Chikitsa Sthana) |
Note: Some ganas (e.g., 35 & 36) are counted together, and gana 37 (Trivrtadi) is listed briefly in Sutra Sthana with a note that details will be given in Chikitsa Sthana.
Create a reference PDF table of all 37 Sushruta ganas with their therapeutic actions
mkdir -p /tmp/workspace/sushruta-ganas
~/sushruta-ganas/generate_pdf.py
from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
SimpleDocTemplate, Table, TableStyle, Paragraph,
Spacer, HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
import os
OUTPUT_PATH = "/tmp/workspace/sushruta-ganas/Sushruta_37_Ganas_Reference.pdf"
# ── Data ──────────────────────────────────────────────────────────────────────
# Columns: No | Gana Name | Lead Drug (Sanskrit) | Key Drugs in Group | Therapeutic Karma | Dosha Action
GANAS = [
(1, "Vidarigandhadi Gana",
"Vidarigandha",
"Vidarigandha, Vidari, Sahadeva, Vishvadeva, Shvadanshtra, Prithakparni, Shatavari, Sariva, Krishna-Sariva, Jivaka, Rishabhaka, Mahasaha, Kshudrasaha, Vrihati, Kantakari, Punarnava, Eranda, Hansapadi, Vrishchika, Rishavi",
"Balya (strength-promoting), Brihmaniya (nourishing), Vrishya (aphrodisiac), Mutravirajaniya",
"Vata-Kapha shamana"),
(2, "Aragwadhadi Gana",
"Aragwadha (Cassia fistula)",
"Aragwadha, Karanja, Nimba, Patola, Saptaparna, Kutaja, Murva, Guduchi, Danti, Chitraka, Indravaruni, Devadaru, Shyonaka, Bilwa",
"Kushthagna (anti-skin disease), Krimighna (anti-parasitic), Virechaniya (mild purgation), Jwaraghna",
"Kapha-Pitta shamana"),
(3, "Salasaradi Gana",
"Salasara",
"Salasara, Priyangu, Dhataki, Lodhra, Arjuna, Asana, Tinisha, Khadira, Meshashringi, Rakta-chandana, Kadamba, Dhaava",
"Sandhaniya (fracture/wound healing), Vranaropana (wound healing), Stambhana (astringent/haemostatic), Raktapittahara",
"Pitta-Kapha shamana"),
(4, "Varunadi Gana",
"Varuna",
"Varuna, Shatavari, Punarnava, Eranda, Chitraka, Shigru, Gokshura, Pashanabheda, Palasha, Kulattha",
"Ashmari-bhedana (lithotriptic), Mutravirechaniya (diuretic), Shothahara (anti-oedema), Vatanulomana",
"Vata-Kapha shamana"),
(5, "Viratarvadi Gana",
"Viratarava",
"Viratarava, Sringataka, Kasheruka, Ikshu, Darbha, Kusha, Kasha, Gundra, Shara, Nala",
"Mutravirajaniya (urine normaliser), Raktapittahara, Dahahara (anti-burning), Trishnahara (anti-thirst)",
"Pitta shamana"),
(6, "Rodhradi Gana",
"Rodhra",
"Rodhra, Savara, Kumbhika, Shalmali, Meshashringi, Katphala, Priyangu, Dhataki, Mocharasa, Gairika",
"Shothahara (anti-inflammatory/anti-oedema), Stambhana (haemostatic), Vranaropana, Raktapittahara",
"Pitta-Kapha shamana"),
(7, "Arkadi Gana",
"Arka (Calotropis gigantea)",
"Arka, Alarka, Karanja (two types), Nagadanti, Mayuraka, Bharangi, Rasna, Indrapushpi, Kshudraveta, Mahasveta, Vrischikali, Alavana, Tapasvriksha",
"Krimighna (anti-parasitic), Kushthagna (anti-skin disease), Vranaropana (wound healing), Kapha-Medoghna",
"Kapha-Meda shamana; Vishagna"),
(8, "Surasadi Gana",
"Surasa (Ocimum sanctum – Tulasi)",
"Surasa, Shvetasurasa, Phanijhaka, Arjaka, Bhustrina, Sugandha, Sumukhaka, Alamalaka, Kutheraka, Kasamardaka, Kshavaka, Kharapushpa, Vidanga, Katphala, Surasinirgundikulahala, Undurukarna, Fanjee, Prachibalaka, Kamachya, Vishamushtika",
"Kaphahara, Krimisudana (anti-parasitic), Kasasvasaghna (cough/dyspnoea), Vranasodhana (wound cleansing), Pratishyayagna (anti-rhinitis)",
"Kapha-Vata shamana"),
(9, "Mushkakadi Gana",
"Mushkaka",
"Mushkaka, Priyangu, Devadaru, Madhuka, Badara, Kashmari, Piyala, Dhava, Tinisha, Arjuna, Kadamba, Patala",
"Jwaraghna (antipyretic), Raktapittahara, Trishnahara, Dahahara",
"Pitta-Kapha shamana"),
(10, "Pippalyadi Gana",
"Pippali (Piper longum)",
"Pippali, Pippalimoola, Chavya, Chitraka, Shunthi (dry ginger), Maricha, Ajamoda, Sarshapa, Jeeraka, Suvarchika",
"Dipaniya (digestive stimulant), Pachana (digestant), Anulomana (carminative), Shulaghna, Jwaraghna",
"Vata-Kapha shamana"),
(11, "Eladi Gana",
"Ela (Elettaria cardamomum)",
"Ela, Tagara, Kushtha, Mamsi, Dhyamaka, Tvak, Patra, Nagapushpa, Priyangu, Harenuka, Vyaghranakha, Valuka, Sukti, Sthaauneyaka, Srivestaka, Coca, Coraka, Aguru, Sphrukka, Usira, Bhadradri, Kumkuma, Punnaga, Kesara (Nagakesara)",
"Varnya (complexion-enhancing), Kandughna (anti-pruritic), Vishagna (anti-toxic), Udardaghna (anti-urticaria)",
"Vata-Kapha-Visha shamana"),
(12, "Vachadi Gana",
"Vacha (Acorus calamus)",
"Vacha, Musta, Haridra, Daruharidra, Ativisha, Chirayata, Kiratatikta, Katuka, Indrayava, Saptaparna-bija",
"Medhya (nootropic), Krimighna, Dipaniya, Jwaraghna, Vatakaphahara",
"Vata-Kapha shamana"),
(13, "Haridradi Gana",
"Haridra (Curcuma longa)",
"Haridra, Daruharidra, Vasa, Nimba, Patola, Katuka, Chandana, Ushira, Madhuka, Manjishtha",
"Kushthagna, Krimighna, Vranasodhana, Kandughna, Vishaghna",
"Kapha-Pitta shamana"),
(14, "Syamadi Gana",
"Shyama (Operculina turpethum)",
"Shyama, Trivrit, Danti, Shankhini, Kampillaka, Saindhava, Haritaki, Sauvarchala",
"Virechaniya (purgative), Udara-gulma-nashana (abdominal tumour), Adhmanahara (carminative), Adho-bhagadoshahara",
"Pitta-Kapha rechana"),
(15, "Brihatyadi Gana",
"Brhati (Solanum indicum)",
"Brhati, Kantakarika, Kutajaphala, Patha, Madhuka",
"Dipaniya, Pachana, Arochakagna (anti-anorexia), Mutrakrcchragna (anti-dysuria)",
"Vata-Pitta-Kapha shamana"),
(16, "Patoladi Gana",
"Patola (Trichosanthes dioica)",
"Patola, Chandana, Kuchandana, Murva, Guduchi, Patha, Katukrohini",
"Pittakaphahara, Jwaraghna, Vranaghna, Vishaghna, Chardighna (anti-emetic), Kandughna",
"Pitta-Kapha shamana"),
(17, "Kakolyadi Gana",
"Kakoli",
"Kakoli, Kshirakakoli, Jivaka, Rishabhaka, Mudgaparni, Mashaparni, Meda, Mahameda, Chinnruha, Karkatashringi, Tugakshiri, Padmaka, Prapaundarika, Riddhi, Vriddhi, Mridvika, Jivanti, Madhuka",
"Brimhaniya (anabolic/nourishing), Vajikara (aphrodisiac), Stanyajanana (galactagogue), Balya, Jivaniya",
"Pitta-Rakta-Vata shamana"),
(18, "Vatsanabhadi Gana",
"Vatsanabha (Aconitum ferox)",
"Vatsanabha, Vishwa, Vacha, Rohini, Ativisha, Shringika",
"Vishagna (anti-toxic), Jwaraghna, Krimighna; used as Shodhaniya (purificatory) in controlled doses",
"Kapha-Vata shamana (in processed form)"),
(19, "Mustadi Gana",
"Musta (Cyperus rotundus)",
"Musta, Patha, Ativisha, Bilwa, Kutaja, Lodhra, Dhataki, Mocharasa, Indrayava, Dhaniya, Sunthi",
"Dipaniya, Pachana, Jwaraghna, Atisaraghna (anti-diarrhoeal), Amadoshaghna",
"Vata-Kapha shamana"),
(20, "Haritakyadi Gana",
"Haritaki (Terminalia chebula)",
"Haritaki, Vibhitaka, Amalaki (= Triphala), Draksha, Mridvika, Kashmari-phala, Parushaka, Badara",
"Tridoshagna, Rasayana, Anulomana, Deepana, Vranaropana, Vayasthapana (anti-ageing)",
"Tridosha shamana"),
(21, "Trivritadi Gana",
"Trivrit (Operculina turpethum)",
"Trivrit, Danti, Shankhini, Tilwaka, Saptala, Kampillaka, Sudha, Saptagala",
"Virechaniya (main purgative group), Udara-gulma-nashana, Shothahara",
"Pitta-Kapha virechana"),
(22, "Amalakyadi Gana",
"Amalaki (Emblica officinalis)",
"Amalaki, Draksha, Kashmari, Parushaka, Badara, Kharjura, Madhuka, Mridvika",
"Rasayana (rejuvenative), Pittahara, Vayasthapana, Balya, Chaksushya (ophthalmic)",
"Pitta-Vata shamana"),
(23, "Saptaparnadi Gana",
"Saptaparna (Alstonia scholaris)",
"Saptaparna, Kirata-tikta, Nimba, Patola, Vishala, Ativisha, Musta",
"Jwaraghna (antipyretic), Krimighna, Kushthagna, Kaphavataghna",
"Vata-Kapha shamana"),
(24, "Karavellakadi Gana",
"Karavellaka (Momordica charantia)",
"Karavellaka, Indravaruni, Girikarna, Vidarigandha, Svayamgupta, Karira",
"Tikta rasa – Jwaraghna, Krimighna, Kushthagna, Raktashodhana",
"Pitta-Kapha shamana"),
(25, "Guducyadi Gana",
"Guduchi (Tinospora cordifolia)",
"Guduchi, Nimba, Kustumburu, Chandana (two types), Padmaka",
"Jwaraghna (anti-fever, esp. Sannipataja), Dipaniya, Chardinigraha (anti-emetic), Trishnahara, Dahahara",
"Tridosha shamana; especially Pitta-Kapha"),
(26, "Utpaladi Gana",
"Utpala (Nymphaea stellata)",
"Utpala, Raktotpala, Kumuda, Saugandhika, Kuvalaya, Pundarika, Madhuka",
"Dahahara, Pittahara, Raktapittavinashana, Trishnahara, Chardighna, Hridrogaghna (cardiac), Moorchhanashana",
"Pitta-Rakta shamana"),
(27, "Priyangvadi Gana",
"Priyangu (Callicarpa macrophylla)",
"Priyangu, Dhataki, Lodhra, Padmaka, Rasanjana, Nagapushpa, Chandana, Saria",
"Stambhana (astringent), Atisaraghna (anti-diarrhoeal), Raktapittahara, Vranaropana, Shothaghna",
"Pitta-Kapha shamana"),
(28, "Anjanadi Gana",
"Anjana (Berberis aristata eye prep.)",
"Anjana, Saindhava, Tuttha, Srotas-shodhana dravyas, Sauvira",
"Netrya (ophthalmic – treats eye diseases), Kaphavataghna, Vranasodhana, Lekhana (scraping/cleansing)",
"Kapha-Vata shamana"),
(29, "Laghu Panchamula",
"Shalparni (lead of the group)",
"Shalparni, Prishnaparni, Brihati, Kantakari, Gokshura",
"Dipaniya, Balya, Shvasaghna (anti-dyspnoea), Kasaghna, Jwaraghna; component of Dasamula",
"Vata-Kapha shamana"),
(30, "Mahat Panchamula",
"Bilwa (Aegle marmelos)",
"Bilwa, Shyonaka, Gambhari, Patala, Agnimantha",
"Vatagna (anti-Vata, esp. neuro-musculoskeletal), Shvasaghna, Jwaraghna, Amadoshaghna; component of Dasamula",
"Vata-Kapha shamana"),
(31, "Trna Panchamula",
"Darbha (Desmostachya bipinnata)",
"Darbha, Kusha, Kasha, Shara, Ikshu (roots)",
"Pittashamana, Mutravirajaniya (urinary normaliser), Trishnahara, Dahahara, Raktapittahara",
"Pitta shamana"),
(32, "Kantaka Panchamula",
"Karamarda",
"Karamarda, Trikantaka, Saireyaka, Shatavari, Gridhra-nakha",
"Raktapittahara, Shothahara, Shothatrayavinashana (three types of oedema), Sarva-mehaghna (anti-diabetes), Shukra-doshahara",
"Kapha-Pitta shamana"),
(33, "Valli Panchamula",
"Vidari (Pueraria tuberosa)",
"Vidari, Sariva, Rajani (Haridra), Guduchi, Ajasringi",
"Raktapittahara, Shothaghna, Sarvamahaghna, Shukradoshahara",
"Pitta-Kapha shamana"),
(34, "Dasamula",
"Combined Laghu + Mahat Panchamula",
"All 10 roots: Bilwa, Shyonaka, Gambhari, Patala, Agnimantha + Shalparni, Prishnaparni, Brihati, Kantakari, Gokshura",
"Shvasaghna (anti-asthma), Kasaghna, Sarvajaraighna (all fevers), Amadoshaghna, Kaphapitta-vataghna (tridosha)",
"Tridosha shamana"),
(35, "Laghu Panchamula\n(Valli group – alternate)",
"Vidari",
"Vidari, Sariva, Rajani, Guduchi, Ajasringi (counted together with Kantaka in some recensions)",
"Pitta-shamana, Raktapittahara, Vataghna",
"Vata-Pitta shamana"),
(36, "Kantaki Panchamula",
"Karamarda",
"Karamarda, Trikantaka, Saireyaka, Shatavari, Gridhra-nakha",
"Kaphaghna, Raktapittasamaka, Shothaghna, Mutravirajaniya",
"Kapha-Pitta shamana"),
(37, "Trivrtadi Gana\n(Virechaniya)",
"Trivrit",
"Trivrit, Danti, Dravanti, Shankhini, Saptala, Kampillaka, Sudha, Saptagala, Tilwaka (detailed in Chikitsa Sthana)",
"Main Shodhana/Virechaniya group – Sroto-shodhana (channel-cleansing purgation), Adho-bhagadoshahara; used in Panchakarma",
"Pitta-Kapha virechana (Adho-bhaga shodhana)"),
]
# ── PDF Generation ─────────────────────────────────────────────────────────────
def build_pdf():
doc = SimpleDocTemplate(
OUTPUT_PATH,
pagesize=landscape(A4),
leftMargin=1.2*cm, rightMargin=1.2*cm,
topMargin=1.8*cm, bottomMargin=1.8*cm,
title="Sushruta Samhita – 37 Ganas Reference Table",
author="Ayurveda Reference",
subject="Dravya Classification Based on Karma"
)
styles = getSampleStyleSheet()
# Custom styles
title_style = ParagraphStyle(
"TitleStyle", parent=styles["Title"],
fontSize=18, leading=24, spaceAfter=4,
textColor=colors.HexColor("#1a3a5c"), alignment=TA_CENTER,
fontName="Helvetica-Bold"
)
subtitle_style = ParagraphStyle(
"SubtitleStyle", parent=styles["Normal"],
fontSize=11, leading=14, spaceAfter=2,
textColor=colors.HexColor("#3d6b99"), alignment=TA_CENTER,
fontName="Helvetica"
)
note_style = ParagraphStyle(
"NoteStyle", parent=styles["Normal"],
fontSize=7.5, leading=10, spaceAfter=6,
textColor=colors.HexColor("#555555"), alignment=TA_CENTER,
fontName="Helvetica-Oblique"
)
cell_style = ParagraphStyle(
"CellStyle", parent=styles["Normal"],
fontSize=7.2, leading=9.5,
textColor=colors.HexColor("#1a1a1a"),
fontName="Helvetica", spaceBefore=0, spaceAfter=0
)
cell_bold = ParagraphStyle(
"CellBold", parent=cell_style,
fontName="Helvetica-Bold", fontSize=7.5,
textColor=colors.HexColor("#0d2b4e")
)
header_style = ParagraphStyle(
"HeaderStyle", parent=styles["Normal"],
fontSize=8.5, leading=11, alignment=TA_CENTER,
textColor=colors.white, fontName="Helvetica-Bold"
)
footer_style = ParagraphStyle(
"FooterStyle", parent=styles["Normal"],
fontSize=7, textColor=colors.HexColor("#777777"),
alignment=TA_CENTER, fontName="Helvetica-Oblique"
)
elements = []
# ── Title block
elements.append(Paragraph("Sushruta Samhita – 37 Ganas", title_style))
elements.append(Paragraph("Dravya Classification Based on Karma (Therapeutic Action)", subtitle_style))
elements.append(Paragraph(
"Reference: Sutra Sthana, Chapter 38 – Dravya-Sangrahaniya-Adhyaya",
note_style
))
elements.append(HRFlowable(width="100%", thickness=1.5,
color=colors.HexColor("#1a3a5c"), spaceAfter=8))
# ── Table header
headers = [
Paragraph("No.", header_style),
Paragraph("Gana Name", header_style),
Paragraph("Lead Drug", header_style),
Paragraph("Key Drugs in Group", header_style),
Paragraph("Therapeutic Karma (Actions)", header_style),
Paragraph("Dosha Action", header_style),
]
# Column widths (landscape A4 usable ~25.3cm)
col_widths = [1.0*cm, 3.5*cm, 3.4*cm, 7.2*cm, 6.2*cm, 3.7*cm]
# ── Build rows
DARK_ROW = colors.HexColor("#e8f0f7")
LIGHT_ROW = colors.white
HEADER_BG = colors.HexColor("#1a3a5c")
table_data = [headers]
row_colors = []
for i, (no, name, lead, drugs, karma, dosha) in enumerate(GANAS):
bg = DARK_ROW if i % 2 == 0 else LIGHT_ROW
row_colors.append(("BACKGROUND", (0, i+1), (-1, i+1), bg))
row = [
Paragraph(f"<b>{no}</b>", ParagraphStyle("num", parent=cell_style,
alignment=TA_CENTER, fontName="Helvetica-Bold",
textColor=colors.HexColor("#1a3a5c"))),
Paragraph(f"<b>{name}</b>", cell_bold),
Paragraph(f"<i>{lead}</i>", ParagraphStyle("lead", parent=cell_style,
fontName="Helvetica-Oblique",
textColor=colors.HexColor("#2e5986"))),
Paragraph(drugs, cell_style),
Paragraph(karma, cell_style),
Paragraph(dosha, ParagraphStyle("dosha", parent=cell_style,
textColor=colors.HexColor("#1a5c2e"),
fontName="Helvetica-Bold", fontSize=7.0)),
]
table_data.append(row)
tbl = Table(table_data, colWidths=col_widths, repeatRows=1)
tbl_style = TableStyle([
# Header
("BACKGROUND", (0, 0), (-1, 0), HEADER_BG),
("TEXTCOLOR", (0, 0), (-1, 0), colors.white),
("VALIGN", (0, 0), (-1, -1), "TOP"),
("ALIGN", (0, 0), (0, -1), "CENTER"),
("GRID", (0, 0), (-1, -1), 0.35, colors.HexColor("#b0c4de")),
("LINEBELOW", (0, 0), (-1, 0), 1.5, colors.HexColor("#0d2b4e")),
("TOPPADDING", (0, 0), (-1, -1), 3.5),
("BOTTOMPADDING", (0, 0), (-1, -1), 3.5),
("LEFTPADDING", (0, 0), (-1, -1), 4),
("RIGHTPADDING", (0, 0), (-1, -1), 4),
# Highlight Panchamula / Dasamula rows (29-36)
("LINEABOVE", (0, 29), (-1, 29), 1.0, colors.HexColor("#2e5986")),
("LINEBELOW", (0, 36), (-1, 36), 1.0, colors.HexColor("#2e5986")),
] + row_colors)
tbl.setStyle(tbl_style)
elements.append(tbl)
# ── Legend / notes
elements.append(Spacer(1, 8))
elements.append(HRFlowable(width="100%", thickness=0.8,
color=colors.HexColor("#b0c4de"), spaceBefore=2))
elements.append(Spacer(1, 4))
legend_data = [
[Paragraph("<b>Legend & Notes</b>", ParagraphStyle("leg_head", parent=cell_style,
fontName="Helvetica-Bold", fontSize=8, textColor=colors.HexColor("#1a3a5c"))),
Paragraph(
"• Ganas 29–34: Panchamula groups – five-root combinations; Ganas 29+30 together form <b>Dasamula</b> (ten roots). "
"• Ganas 35–36 (Valli & Kantaki Panchamula) are sub-variants counted in some recensions. "
"• Gana 37 (Trivrtadi) is briefly listed in Sutra Sthana; full details appear in <i>Chikitsa Sthana</i>. "
"• Karma terms: Shamana = pacification; Shodhana = purification; Ghna/Nashana = destruction/removal. "
"• Highlighted band (rows 29–36) = Panchamula / Dasamula group.",
ParagraphStyle("leg_text", parent=cell_style, fontSize=7.2)
)
]
]
legend_tbl = Table(legend_data, colWidths=[3.0*cm, 22.3*cm])
legend_tbl.setStyle(TableStyle([
("VALIGN", (0,0), (-1,-1), "TOP"),
("LEFTPADDING", (0,0), (-1,-1), 4),
("RIGHTPADDING", (0,0), (-1,-1), 4),
("TOPPADDING", (0,0), (-1,-1), 3),
("BOTTOMPADDING", (0,0), (-1,-1), 3),
("BACKGROUND", (0,0), (-1,-1), colors.HexColor("#f0f4f9")),
("BOX", (0,0), (-1,-1), 0.5, colors.HexColor("#b0c4de")),
]))
elements.append(legend_tbl)
elements.append(Spacer(1, 5))
elements.append(Paragraph(
"Source: Sushruta Samhita, Sutra Sthana Chapter 38 (Dravya-Sangrahaniya-Adhyaya) | "
"Compiled for academic reference | Compare with Charaka Samhita's 50 Mahakashayas (Sutra Sthana Ch. 4)",
footer_style
))
# ── Build
doc.build(elements)
print(f"PDF created: {OUTPUT_PATH}")
if __name__ == "__main__":
build_pdf()
cd /tmp/workspace/sushruta-ganas && python generate_pdf.py 2>&1
ls -lh /tmp/workspace/sushruta-ganas/Sushruta_37_Ganas_Reference.pdf
Sushruta 37 Ganas Reference
PDF Document · PDF