Vedic Kundli App | Maha-Dasha & Antar-Dasha | Lagna Chart | and Navamsha Chart | using Python Tkinter

Hi,

If you need to find the LAGNA CHART, NAVAMSHA CHART and DASHA details, all using one single code, please buy the ELITE Version of the code. I talk about it later in this post.

Buy the Code for Vedic Kundli App Now!

The free version of the code is first we will talk about.

FREE VERSION :

Now you can find out your Maha-Dasha and Antar-Dasha using this Python code. You need to input three things in the entry boxes- Rashi Name, Degrees of Moon in that Rashi, and your Date of Birth (dob.) After clicking the submit button you will get a result showing the Mahadashas and Antardashas in a tabular form.

Please Watch my YouTube Video for all the details and explanations of the free version of the code.

Please note that this free version of the code has only one application, to give you the details of the Vimshotary Dasha. If you need the Lagna Chart and Navamasha Chart also, please go the ELITE Version, which I talk later in this post.

It uses Tkinter and DateTime modules of Python. Please feel free to contact me if you wish to clear your doubts or modification of the app. Full Python code is given here:

from tkinter import *
import datetime

def dasha(Rashi, deg, dob):
    w = Text(root, background="sky blue", font=("Ariel", 12))
    w.grid(row=4, column=0, columnspan=2, padx= 5, pady = 10)
    root.update()
    Rashi_number = {
        "Aries": 1, "Taurus": 2, "Gemini": 3, "Cancer": 4, "Leo": 5,
        "Virgo": 6, "Libra": 7, "Scorpio": 8, "Sagittarius": 9,
        "Capricorn": 10, "Aquarius": 11, "Pisces": 12
    }

    planet_name_years = {
        "Ketu": 7, "Venus": 20, "Sun": 6, "Moon": 10, "Mars": 7,
        "Rahu": 18, "Jupiter": 16, "Saturn": 19, "Mercury": 17
    }
    planet_num_name = {
        1: "Ketu", 2: "Venus", 3: "Sun", 4: "Moon", 5: "Mars", 6: "Rahu",
        7: "Jupiter", 8: "Saturn", 9: "Mercury"
    }

    nakshtra_seconds = 360*60*60/27
    lst = deg.split('-')
    Rashi_seconds = float(lst[0])*60*60 + float(lst[1])*60 + float(lst[2])
    Seconds_passed = (Rashi_number[Rashi]-1)*30*60*60 + Rashi_seconds
    Nakshtra_number = Seconds_passed//nakshtra_seconds + 1
    Dasha_number = Nakshtra_number % 9
    Dasha_fraction = 1 - (Seconds_passed % nakshtra_seconds)/nakshtra_seconds

    text_dob = dob.split('-')

    Start_date = datetime.date(int(text_dob[2]), int(text_dob[1]), int(text_dob[0]))

    today = datetime.date.today()

    days_passed = today - Start_date

    D1 = Dasha_fraction* planet_name_years[planet_num_name[Dasha_number]] * 365
    Total_days = D1
    Cumulative_days = [D1]

    End_datei = Start_date + datetime.timedelta(D1)

    Planet = []
    Start_dates = []
    End_dates = []

    for i in range(8):
        if i == 0:
            Start_dates.append(Start_date)
            End_dates.append(End_datei)
            Planet.append(planet_num_name[Dasha_number])
        j = int(Dasha_number+1+i)
        if j > 9:
            j = j - 9
        Di = planet_name_years[planet_num_name[j]] * 365.242199
        Total_days = Total_days + Di
        Cumulative_days.append(Total_days)
        Start_datei = End_datei
        End_datei = Start_datei + datetime.timedelta(Di)

        planeti = planet_num_name[j]

        Planet.append(planeti)
        Start_dates.append(Start_datei)
        End_dates.append(End_datei)

    print(f' Mahadasha-Planet     Start Date    End Date')
    TEXT = f' Mahadasha-Planet         Start Date         End Date \n'
    w.insert(END, TEXT)
    root.update()
    for i in range(9):
            print(f'{Planet[i]}                   {Start_dates[i]}      {End_dates[i]}')
            TEXT = f'{Planet[i]}                       {Start_dates[i]}             {End_dates[i]} \n'
            w.insert(END, TEXT)
            root.update()

    Antardasha_planet= []
    Anterdasha_start = []
    Anterdasha_end = []
    for i in range(9):
        if i < 8:
            if Cumulative_days[i] <= days_passed.days < Cumulative_days[i+1]:
                j = int(Dasha_number+i+1)
                Mahadasha_current = planet_num_name[j]
                print(f'\n Current Maha-Dasha Planet = {Mahadasha_current}, start = {Start_dates[i+1]} ,'
                      f' end = {End_dates[i+1]}, period = {planet_name_years[Mahadasha_current]} years  \n')
                TEXT = f'\n Current Maha-Dasha Planet = {Mahadasha_current}, ' \
                       f'start = {Start_dates[i+1]} , end = {End_dates[i+1]}, period = {planet_name_years[Mahadasha_current]} years  \n'
                w.insert(END, TEXT)
                root.update()
                Start = Start_dates[i+1]

                for k in range(j, j+9):

                    if k > 9:
                        k = k - 9
                    Antar_planet = planet_num_name[k]
                    Antardasha_planet.append(Antar_planet)
                    Dasha_period = planet_name_years[Mahadasha_current]*planet_name_years[Antar_planet]/120

                    End = Start + datetime.timedelta(Dasha_period*365.242199)
                    if k == (j + 8) % 9:
                        End = End_dates[i+1]
                    Anterdasha_start.append(Start)
                    Anterdasha_end.append(End)

                    Start = End
    print(f' \n ANTARDASHA CHART : \n')
    TEXT = f' \n\n ANTARDASHA CHART : \n'
    w.insert(END, TEXT)
    root.update()
    print(f'AntarDasha Planet             Start        END')
    TEXT = f'AntarDasha Planet               Start            END \n'
    w.insert(END, TEXT)
    root.update()
    for i in range(9):
         print(f' {Antardasha_planet[i]}                 {Anterdasha_start[i]}     {Anterdasha_end[i]}')
         TEXT = f' {Antardasha_planet[i]}                     {Anterdasha_start[i]}         {Anterdasha_end[i]} \n'
         w.insert(END, TEXT)
         root.update()

    w.insert(END, f'\n\n\n\n\n\n\n\n')
    root.update()

root = Tk()
root.title("Dasha Periods ")
Rashi_Label = Label(root, text="Enter Your Rashi Name : ", width=30, height=5, highlightbackground="purple")
Rashi_Label.grid(row=0, column=0, padx=5, pady=2)
Rashi_entry = Entry(root, highlightbackground='yellow', width=15)
Rashi_entry.grid(row=0, column=1, padx=5, pady=2)

Rashi = Rashi_entry.get()
deg_Label = Label(root, text=f'Enter the degrees (dd-mm-ss) \n of Moon : ', width=30, height=5, highlightbackground="blue")
deg_Label.grid(row=1, column=0, padx=5, pady=2)
deg_entry = Entry(root, highlightbackground='yellow', width=15)
deg_entry.grid(row=1, column=1, padx=5, pady=2)

dob_Label = Label(root, text="Enter Your dob (dd-mm-yyyy): ", width=30, height=5, highlightbackground="green")
dob_Label.grid(row=2, column=0, padx=5, pady=2)
dob_entry = Entry(root, highlightbackground='yellow', width=15)
dob_entry.grid(row=2, column=1, padx=5, pady=2)

submit = Button(root, text="Get Details", width=30, height=5, highlightbackground="orange",
                command= lambda: dasha(Rashi_entry.get(), deg_entry.get(), dob_entry.get()))
submit.grid(row=3, column=0, columnspan=2, padx=20, pady=20)
root.mainloop()

ELITE VERSION (PAID):

With ELITE Version, you get a beautiful GUI(graphical user interface) to work with and also it gives you other functionalities.

  1. Beautiful GUI
  2. LAGNA CHART
  3. NAVAMSHA CHART
  4. MAHADASHA and ANTARDASHA details.

Python Code for VEDIC KUNDLI, LAGNA CHART, NAVAMSHA CHART, MAHADASHA and ANTARDASHA

Buy the Code for Vedic Kundli App Now! Pay Now

Please give me a call @ +91-8580758440 for any further assistance after you buy this code.

To know the Full Version of the App, which shows the Lagna Chart, Navamsha Chart and Dasha Chart as well, please check this video:

BUY NOW:Python Code for VEDIC KUNDLI, LAGNA CHART, NAVAMSHA CHART, MAHADASHA and ANTARDASHA

Please read the instruction file (README.txt) before using the code. This file is given within the zip folder that will be downloaded after you make the purchase. For any further assistance, or for any further modification/customisation in the code, please contact me @ +91-8580758440.

Thanks!

Leave a Comment

Your email address will not be published. Required fields are marked *

PHP Code Snippets Powered By : XYZScripts.com