Skip to main content

DashaFlow

PyPI version CI License: MIT Python

A Vedic astrology calculation engine for Python, built on the Swiss Ephemeris with Sidereal Lahiri ayanamsha. Rooted in Brihat Parashara Hora Shastra (BPHS) and B.V. Raman's Hindu Predictive Astrology.

pip install dashaflow

Quick Start

import dashaflow

# Cast a natal chart
chart = dashaflow.cast_chart("1990-04-15", "14:30", 28.6139, 77.2090, "Asia/Kolkata")

print(chart["lagna"]["sign"])              # "Leo"
print(chart["planets"]["Moon"]["nakshatra"])  # "Ashwini"
print(chart["planets"]["Jupiter"]["dignity"]) # "exalted"
print(chart["dashas"]["maha"]["planet"])      # Current Mahadasha lord
print(chart["yogas"])                         # Detected yogas

# Transits
transit = dashaflow.cast_transit(
    "2026-03-29", "1990-04-15", "14:30", 28.6139, 77.2090, "Asia/Kolkata"
)
print(transit["sade_sati"])

# Compatibility (Person 1 = Male, Person 2 = Female)
compat = dashaflow.calculate_compatibility(
    "1990-04-15", "14:30", 28.61, 77.21, "Asia/Kolkata",
    "1992-08-20", "09:15", 19.07, 72.87, "Asia/Kolkata",
)
print(f"Score: {compat['total']}/36")

# Muhurtha (electional astrology)
muhurtha = dashaflow.check_muhurtha("marriage", "2026-11-15", "10:30", 28.61, 77.21, "Asia/Kolkata")
print(muhurtha["verdict"])  # "auspicious" / "mixed" / "inauspicious"

# Career analysis
career = dashaflow.analyze_career("1990-04-15", "14:30", 28.61, 77.21, "Asia/Kolkata")
print(career["career_themes"])

API

Top-Level Functions

Function Description
cast_chart(dob, time, lat, lon, timezone, query_date=None, ephe_path='') Complete natal chart — planets, dashas, yogas, ashtakavarga, shadbala, vargas, and more
cast_transit(transit_date, dob_str, time_str, lat, lon, timezone="Asia/Kolkata") Planetary transits overlaid on natal chart with SAV points, Sade Sati, Rahu-Ketu axis
calculate_compatibility(dob1, time1, lat1, lon1, tz1, dob2, time2, lat2, lon2, tz2) 36-point Ashtakoot + extended kutas + Kuja Dosha
check_muhurtha(activity, date, time, lat, lon, timezone) Electional astrology for 6 activity types
analyze_career(dob, time, lat, lon, timezone) D10 Dashamsha career analysis with theme recommendations

Sub-Module Access

from dashaflow.dasha import calculate_dashas
from dashaflow.matchmaking import calculate_ashtakoot
from dashaflow.shadbala import calculate_shadbala
from dashaflow.jaimini import calculate_jaimini_karakas, calculate_arudha_padas
from dashaflow.yoga import detect_yogas, detect_kaal_sarpa
from dashaflow.ashtakavarga import calculate_ashtakavarga

cast_chart() Returns

Key Description
metadata DOB, time, coordinates, ayanamsha (Lahiri), query date
panchang Tithi, Vara, Nakshatra, Yoga, Karana
lagna Ascendant sign, degree, nakshatra, pada, D2–D60 signs
planets Per planet: sign, degree, house, nakshatra, pada, dignity, combustion, retrograde, digbala, aspects, 14 varga signs
dashas 5 levels: Maha, Antar, Pratyantar, Sukshma, Prana + 120-year timeline
yogas 24 types detected with forming planets and descriptions
ashtakavarga SAV, BAV, Prashtara (source-level bindus)
jaimini_karakas 7 Karakas by degree (Atmakaraka through Darakaraka)
shadbala Six-fold strength in Rupas + percentage + Ishta/Kashta Phala
bhava_chalit Equal-house Bhava Chalit with planet placements per bhava
avasthas Planetary age-states: Bala, Kumara, Yuva, Vriddha, Mrita
kaal_sarpa Kaal Sarpa Dosha detection (full/partial, ascending/descending)
graha_yuddha Planetary war — pairs within 1° with winner/loser
gandanta Planets at water-fire sign boundaries (karmic knots)
arudha_padas All 12 Arudha Padas (A1–A12) with BPHS exception rule
upapada Upapada Lagna (A12) with lord and 2nd from UL
karakamsha AK in Navamsha, Ishta Devata, planets in Karakamsha

Features

  • Natal Chart — Lagna, 9 grahas, whole-sign houses, nakshatras with padas, dignities
  • 14 Divisional Charts — D2, D3, D4, D7, D9, D10, D12, D16, D20, D24, D27, D30, D40, D60
  • Planetary Strength — Dignity (B.V. Raman), combustion (BPHS orbs), Digbala, Shadbala (6-fold), Ishta/Kashta Phala
  • BPHS Aspects — 7th for all, special aspects for Mars (4th/8th), Jupiter (5th/9th), Saturn (3rd/10th)
  • Vimshottari Dasha — 5 levels (Maha → Antar → Pratyantar → Sukshma → Prana), 120-year timeline
  • 24 Yoga Types — Pancha Mahapurusha, Gajakesari, Budhaditya, Raj Yoga, Neecha Bhanga, Parivartana, Dhana, and more
  • Ashtakavarga — SAV, BAV, Prashtara (source-level bindu contributions)
  • Jaimini — 7 Karakas, Arudha Padas (A1–A12), Upapada Lagna, Karakamsha
  • Compatibility — 8 Ashtakoot kutas (36 pts) + Mahendra, Stree Deergha, Vedha, Rajju, Kuja Dosha
  • Muhurtha — 6 activity types with Panchang Suddhi and marriage doshas
  • Career — D10 analysis with planet-career significations and domain recommendations
  • Bhava Chalit — Equal-house chart from Lagna midpoint
  • Avasthas — 5 planetary age-states per BPHS
  • Kaal Sarpa, Graha Yuddha, Gandanta — Dosha and junction detection

Architecture

dashaflow/
├── __init__.py         Public API (5 functions)
├── vedic_calculator.py Core engine — Swiss Ephemeris computations
├── constants.py        Zodiac, nakshatras, dignity tables
├── nakshatra.py        Nakshatra lookup from longitude
├── panchang.py         Tithi, Vara, Yoga, Karana
├── yoga.py             24 yoga types + Kaal Sarpa, Graha Yuddha, Gandanta
├── dasha.py            Vimshottari Dasha (5 levels)
├── dignity.py          Dignity, combustion, digbala
├── ashtakavarga.py     SAV, BAV, Prashtara
├── jaimini.py          Karakas, Arudha Padas, Upapada, Karakamsha
├── shadbala.py         Six-fold strength + Ishta/Kashta Phala
├── matchmaking.py      16-factor compatibility + Kuja Dosha
├── muhurtha.py         Electional astrology
└── career.py           D10 career analysis

Ayanamsha

All calculations use Lahiri (Chitrapaksha) — the official standard of the Indian government and the most widely used system in Vedic astrology.

Extended Ephemeris

The bundled Swiss Ephemeris files cover ~1800–2400 AD. For historical or far-future charts, download additional .se1 files from astro.com and pass the path:

chart = dashaflow.cast_chart("1200-03-10", "12:00", 28.61, 77.21, "Asia/Kolkata",
                              ephe_path="/path/to/extended/ephemeris")

References

  • Brihat Parashara Hora Shastra — foundational text for Vedic astrology
  • Hindu Predictive Astrology — B.V. Raman
  • Swiss Ephemeris — high-precision astronomical computation

License

MIT

Metadata

Release files for dashaflow 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dashaflow 1.1.0
File Size Uploaded Provenance
dashaflow-1.1.0.tar.gz 66.1 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dashaflow 1.1.0
File Interpreter ABI Platform
dashaflow-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 115.0 kB

Release files / dashaflow-1.1.0.tar.gz

Download URL dashaflow-1.1.0.tar.gz
Size 66.1 kB
Tags Source
SHA-256 checksum
How to use checksums
af92c9703a057c1665ebfaa600ffcd1f8866b86434b173aec2f8636bfa48b55f
BLAKE2b-256 checksum
How to use checksums
9d0df8d9e22a82d300b534cd115c2e98b672d1334e88a1a124caeacdb7b7001f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.

Transparency log

Release files / dashaflow-1.1.0-py3-none-any.whl

Download URL dashaflow-1.1.0-py3-none-any.whl
Size 48.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
45980ba58c5b15465c68c24de433494963b1e28eb1fc7fc026fdcf03ef87861c
BLAKE2b-256 checksum
How to use checksums
c33d0d51f8f22a65cafca5c7fb901a54e82caed6b2748175bb8a876fd859f8fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.

Transparency log

Security for dashaflow 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for dashaflow-1.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 8, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page