VedicAstro
is a python library built for the study, practise, research and application of traditional Vedic Astrology. The goal of this package is to generate chart and planetary position data for Vedic Astrology systems , particularly Krishnamurthi Paddhati
(KP) system. This package, primarily uses the sidereal
branch of the flatlib library to obtain data from the swiss ephemeris (pyswisseph
)
Create a virtual environment in this project directory and install the required packages:
pip install vedicastro
NOTE: PyPI
no longer supports specifying external packages (eg:git repo URLs) in install_requires
in the setup.py
file. (Read this) Packages specified in dependency_links
will also not get automatically installed(Read this). To install the required package flatlib
from the sidereal
branch, run the following command, after completion of above pip install VedicAstro
command:
pip install git+https://github.com/diliprk/flatlib.git@sidereal#egg=flatlib
Clone the repo:
https://github.com/diliprk/VedicAstro.git
Create a python virtual environment using venv
python -m venv astrovenv
source astrovenv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
In Windows
: source astrovenv/bin/activate
does not work, so you have to do cd astrovenv\Scripts && activate
in command prompt,
Alternatively, you can also use miniconda
as your virtual environment manager:
conda create -n astrovenv python=3.11
conda activate astrovenv
pip install -r requirements.txt
The main class in this package is the VedicHoroscopeData
class, which has the following methods:
generate_chart
- Generates aflatlib.Chart
object for the given time and location dataget_planets_data_from_chart
- Generate the planets data table from aflatlib.Chart
objectget_houses_data_from_chart
- Generates the houses data table from aflatlib.Chart
objectget_planet_wise_significators
- Generate the ABCD significators table for each planetget_house_wise_significators
- Generate the ABCD significators table for each housecompute_vimshottari_dasa
- Computes the Vimshottari Dasa for the chartget_planetary_aspects
- Computes aspects (likeTrine
,Sextile
,Square
,Conjunction
etc.) between planets. This method is more popular in Western Astrology systems
You can run the below notebook, to get a handle of the above basic operations.
A seperate functionality has been added for computing KP Horary (Prasna
) Chart, as it requires a completely different set of datetime objects for the ascendant computation.
You can invoke these functions get_horary_ascendant_degree
and find_exact_ascendant_time
in the horary_chart.py
for preparing chart and tables for a KP Horary Question.
You can run the below notebook, to get a handle of the basic operations for constructing a horary chart.
You can deploy this VedicAstro
package using FastAPI
on your local machine or remote server. Just run the below command from this directory where you have this VedicAstroAPI.py
file
uvicorn VedicAstroAPI:app --reload --port 8088
Thereafter, you can test the API service at http://127.0.0.1:8088/docs
in your browser
If you are looking a front end project to visualize the results of the VedicAstroAPI
call, please check out https://github.com/diliprk/AstroVue
This package is a dedication to the following great personalities, following in their footsteps:
- Parasara MahaRishi
- K.S. Krishnamurti
- numerous great souls and teachers, who have shared this divine knowledge for free
Term | Definition |
---|---|
Rasi | Means one of the 12 signs of the zodiac, where each sign spans 30°, in the 360° sky |
Nakshatra | Lunar mansion which typically spans 13.32° (or about 800` degree-mins). |
SubLord | One of the 249 subdivisions of the KP Astrology system. |
SubSubLord | Further divisions of the sublord. |
Vimshottari Dasha | Vimshottari Dasha - A system of planetary periods. |
This project is always on the lookout for aspiring students of astrology with programming skills to take this open source contribution further.