Skip to main content

JyotiPy

PyPI version Python versions Documentation Status License: MIT

Pure-Python Vedic (Jyotish) astrology library. Computes sidereal planetary positions, ascendant, houses, vargas, dashas, panchanga, and a conservative set of yogas with zero C extensions or external ephemeris files.

Built as a permissive-license alternative to pyswisseph. All computations use PyMeeus for planetary positions (VSOP87 + ELP2000-82) followed by pure-Python ayanamsa, house, and yoga logic. Supports Python 3.8+.

Installation

pip install jyotipy

Or install from source:

git clone https://github.com/AnandShah10/jyotipy.git
cd jyotipy
pip install -e .

Quick Start

from datetime import datetime
from jyotipy.chart import BirthChart

chart = BirthChart(
    dt=datetime(1990, 6, 15, 14, 32),
    utc_offset_hours=5.5,
    latitude=23.03, longitude=72.58,   # Ahmedabad
)

print(chart.summary())          # sign, degree, nakshatra, pada per graha
print(chart.ascendant)          # sidereal Lagna longitude
print(chart.houses("whole_sign"))
print(chart.varga("D9"))        # Navamsha
print(chart.mahadashas()[:3])   # first 3 Vimshottari mahadashas
print(chart.yogas())
print(chart.panchanga())

Features

  • Planetary positions: Sun–Saturn + Rahu/Ketu (mean node default; true node optional) using PyMeeus (VSOP87/ELP2000)
  • Ayanamsa: Lahiri (default), True Chitrapaksha, KP-Newcomb, Raman
  • Lagna & Houses: Whole-sign, Equal, Porphyry (Placidus and Sripati planned)
  • Nakshatras: With pada and full support
  • Divisional charts (Vargas): D1–D12 fully implemented using standard rules; D16+ raise NotImplementedError (see Accuracy Notes)
  • Dashas: Vimshottari Mahadasha and Antardasha
  • Yogas: Deliberately conservative core set (see jyotipy.yogas for details):
    • Pancha Mahapurusha (Ruchaka, Bhadra, Hamsa, Malavya, Sasa)
    • Gajakesari, Budhaditya (Sun-Mercury), Chandra-Mangal (Moon-Mars)
    • Sunapha, Anapha, Durudhara, Kemadruma (raw), Neechabhanga candidates
    • Note: Many classical cancellation rules and variant definitions are not auto-applied; results are candidates for further analysis.
  • Panchanga: Tithi, Vara, Nakshatra, Nitya Yoga, Karana

Accuracy Notes

  • Planetary positions: PyMeeus implements full VSOP87 (planets) and ELP2000-82 (Moon), validated in this project against Meeus's own published worked examples. Expect arcsecond-to-sub-arcminute agreement with Swiss Ephemeris for the modern era. Not independently verified against Swiss Ephemeris output in this repo (no network access to fetch a reference dataset during development) — cross-check a real chart against JHora or astro.com before relying on this for client work.
  • Ayanamsa: Lahiri/KP-Newcomb/True Chitrapaksha base epochs and rates are cross-checked against multiple independent public sources and numerically validated to match published 2026 reference values to ~0.01°. Raman is implemented as a calibrated offset from Lahiri rather than an independently derived base epoch — verify separately if your work is Raman-tradition-specific.
  • Divisional charts D16 and beyond: deliberately not implemented. Their classical starting-sign rules vary across source texts and are easy to misremember in ways that silently produce wrong charts. D1 through D12 (the most commonly used divisions in practice, including Navamsha and Dashamsha) are implemented and use unambiguous, widely agreed rules.
  • Kemadruma and Neechabhanga: both have several classical cancellation (bhanga) conditions in the source texts; only the single most commonly cited primary condition is checked for each. A True/ candidate result means "the raw combination is present, worth checking further" — not a final verdict.
  • Vimshottari year length: uses 365.25 days/year, a common but not universal convention. If you need bit-for-bit agreement with a specific tool, check what year length it uses.

Roadmap

  • D16–D60 divisional charts (requires careful primary-source verification)
  • Placidus and true Sripati house systems
  • Ashtakavarga
  • Gochara (transit) analysis
  • Shadbala (planetary strength calculations)
  • Optional high-precision backend using JPL DE440 via skyfield

License

MIT License (see the LICENSE file in the GitHub repository).

JyotiPy depends on PyMeeus (LGPLv3) as an unmodified runtime dependency. This does not change JyotiPy's own MIT license, but if you vendor or fork PyMeeus itself, the LGPL terms apply to that portion.

Full documentation: https://jyotipy.readthedocs.io

Source code, examples, and issue reports are at the GitHub repository.

Metadata

Release files for jyotipy 0.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 jyotipy 0.1.0
File Size Uploaded
jyotipy-0.1.0.tar.gz 24.6 kB Details

Built distribution (wheel)

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

Total release size: 49.0 kB

Release files / jyotipy-0.1.0.tar.gz

Download URL jyotipy-0.1.0.tar.gz
Size 24.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f6df400f3bdd7d8b271ce26b73477da6aa5b2535a9c5b253b25c5bf5ef7b251d
BLAKE2b-256 checksum
How to use checksums
e9528d4272a0330eeed4fa7d822af8c2ae40a88446b19765cd0150cbaa8a8206
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / jyotipy-0.1.0-py3-none-any.whl

Download URL jyotipy-0.1.0-py3-none-any.whl
Size 24.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c09b75ff518147c61d4d8de42009ae3f9b445c443e6b20d12d3161c49cedbded
BLAKE2b-256 checksum
How to use checksums
b258209d5657208368a8695b808caa16f32cb6ee260a82a2152a27a2f60ebe04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.0 This release

2 release files

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