compute_dasha
Computes Vedic dasha planetary period sequences across eight classical systems from natal chart inputs, returning nested start/end Julian Day trees for timing analysis.
Instructions
Compute Vedic dasha (planetary period) sequences. Supports eight classical systems: Vimshottari, Ashtottari, Yogini (Moon-longitude based, require moon_longitude); Chara, Narayana (sign based, require BOTH lagna_sign AND graha_signs, since each sign's period length is counted to the sign its lord occupies in this chart); Sthira, NiryanaShoola (niryana_shoola is accepted too) and Maheshwara (Jaimini rashi dashas, require lagna_sign AND graha_longitudes, since the atmakaraka and the tie-breaks of the strength tests read degrees). graha_signs takes the eight sign_index values compute_natal_chart already returns, graha_longitudes the eight sidereal longitudes; Ketu is derived from Rahu and must not be supplied. Yogini takes rounds (1 to 10 whole 36-year rounds) or until (a horizon Julian Day); Chara takes antardashas (twelve per period, BPHS 51.5-51.9). Sthira, NiryanaShoola and Maheshwara use the defaults of the vedic crate's dasha functions (see their module docs) and always carry their antardashas. Sthira and Maheshwara start from the Brahma graha; a chart whose marks leave none returns no_brahma: true with a message, not an error. Returns a JSON dasha tree with start/end Julian Days.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| until | No | Yogini only: a horizon as a Julian Day (UT1). Whole rounds are produced until the tree reaches it, at least one and at most the maximum of `rounds`; compare the last maha's end_jd with it to see whether it was cut. Exclusive with `rounds`. | |
| levels | No | Number of nested dasha levels (1–5). Ignored by the sign-based systems (Chara, Narayana, Sthira, NiryanaShoola, Maheshwara). | |
| rounds | No | Yogini only: how many whole 36-year rounds of the cycle to produce. Round 1 is the round from birth, whose first maha is the birth yogini's unelapsed share; each later round runs all eight yoginis whole. Every maha and sub-period carries its `round`. Defaults to 1. Exclusive with `until`. One response carries at most 50,000 periods: ten rounds at four levels, one at five. | |
| system | No | Dasha system selector | Vimshottari |
| birth_jd | Yes | Birth Julian Day used as the dasha epoch, in UT1 (Universal Time) — not TT, not TDB, i.e. the same scale as compute_natal_chart's julian_day. This epoch is only added to, never converted: every returned start_jd/end_jd is on the same UT1 scale as the input. | |
| lagna_sign | No | Lagna (ascendant) sign 0–11 (0 = Aries). Required for Chara, Narayana, Sthira, NiryanaShoola, Maheshwara. This is the same 0-indexed convention compute_natal_chart, compute_bhavas and compute_vargas all serve as `sign_index`, so an ascendant read from any of them passes straight through. Through v8.1.0 this one parameter was 1-indexed while every other tool was 0-indexed; that mismatch is resolved here. | |
| antardashas | No | Chara only: when true each of the twelve periods carries its twelve antardashas in `antar` (BPHS 51.5-51.9: the stronger of the dasha rashi and its seventh starts, by modality, a twelfth of the period each). Defaults to false. Sthira, NiryanaShoola and Maheshwara always carry theirs. | |
| graha_signs | No | Natal sign positions of the seven classical grahas plus Rahu, 0-11 each (0 = Aries), as served by compute_natal_chart's sign_index. Required for Chara, Narayana, whose period lengths are chart-dependent — each sign's duration is the count from that sign to the sign its lord actually occupies. Sign indices are used rather than longitudes: they chain directly from compute_natal_chart's sign_index with no conversion, carry no tropical-vs-sidereal ambiguity, and avoid the boundary question of a planet at exactly 30.0 degrees. Ketu is not a field: it is derived as (rahu + 6) mod 12, since the two lunar nodes are always exactly opposite. | |
| karaka_scheme | No | Which chara karakas name the atmakaraka for Sthira and Maheshwara: "7" (Sun to Saturn) or "8" (adds Rahu), as compute_karakas takes it. Applies to those two systems only. | 7 |
| moon_longitude | No | Natal Moon sidereal longitude in degrees [0, 360). Required for Vimshottari, Ashtottari, Yogini. | |
| graha_longitudes | No | Sidereal longitudes in degrees [0, 360) of the seven classical grahas plus Rahu, as compute_natal_chart serves them (Rahu from its MeanNode). Required, with lagna_sign, for Sthira, NiryanaShoola and Maheshwara, whose Brahma graha, atmakaraka and strength tie-breaks read degrees within the sign. Ketu is not a field: it is derived 180 degrees from Rahu. Do not also pass graha_signs for these systems. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||