From d57e49053a0adcfbd2cafe20758a09c3414fbc03 Mon Sep 17 00:00:00 2001 From: adarshj322 Date: Wed, 8 Apr 2026 13:43:10 +0530 Subject: [PATCH 1/5] feat: update cast_transit to accept birth parameters directly and bump version to 1.1.0 --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 03240c2..3f03634 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,9 @@ print(chart["dashas"]["maha"]["planet"]) # Current Mahadasha lord print(chart["yogas"]) # Detected yogas # Transits -transit = dashaflow.cast_transit("2026-03-29", chart) +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) @@ -52,7 +54,7 @@ print(career["career_themes"]) | 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, natal_chart, timezone="Asia/Kolkata")` | Planetary transits overlaid on natal chart with SAV points, Sade Sati, Rahu-Ketu axis | +| `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 | From 02331d6171937d551bc2899e38497f365bfac7f1 Mon Sep 17 00:00:00 2001 From: adarshj322 Date: Wed, 8 Apr 2026 13:43:28 +0530 Subject: [PATCH 2/5] feat: update version to 1.1.0 and refactor cast_transit to accept birth parameters directly --- src/dashaflow/__init__.py | 23 ++++++++++++++++++++--- src/dashaflow/_version.py | 2 +- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/dashaflow/__init__.py b/src/dashaflow/__init__.py index 2a80855..a237439 100644 --- a/src/dashaflow/__init__.py +++ b/src/dashaflow/__init__.py @@ -91,7 +91,10 @@ def cast_chart( def cast_transit( transit_date: str, - natal_chart: dict, + dob_str: str, + time_str: str, + lat: float, + lon: float, timezone: str = "Asia/Kolkata", ) -> dict: """ @@ -101,8 +104,14 @@ def cast_transit( ---------- transit_date : str Date to compute transits as "YYYY-MM-DD" - natal_chart : dict - Full dict output from cast_chart() + dob_str : str + Date of birth as "YYYY-MM-DD" + time_str : str + Time of birth as "HH:MM" (24-hour) + lat : float + Birth latitude (-90 to 90) + lon : float + Birth longitude (-180 to 180) timezone : str, optional IANA timezone. Defaults to "Asia/Kolkata". @@ -111,6 +120,14 @@ def cast_transit( dict Transit planets with house positions, SAV points, Sade Sati, Rahu-Ketu axis. """ + validate_birth_input(dob_str, time_str, lat, lon, timezone) + natal_chart = calculate_vedic_chart( + dob_str=dob_str, + time_str=time_str, + lat=lat, + lon=lon, + timezone_str=timezone, + ) return calculate_transit( transit_date_str=transit_date, natal_chart=natal_chart, diff --git a/src/dashaflow/_version.py b/src/dashaflow/_version.py index 5becc17..6849410 100644 --- a/src/dashaflow/_version.py +++ b/src/dashaflow/_version.py @@ -1 +1 @@ -__version__ = "1.0.0" +__version__ = "1.1.0" From c0e229e6349892fc7295f1f49931ca5c2873e105 Mon Sep 17 00:00:00 2001 From: adarshj322 Date: Wed, 8 Apr 2026 13:43:38 +0530 Subject: [PATCH 3/5] test: add test case for cast_transit return structure --- tests/test_comprehensive.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/test_comprehensive.py b/tests/test_comprehensive.py index 7329616..42ad006 100644 --- a/tests/test_comprehensive.py +++ b/tests/test_comprehensive.py @@ -1310,6 +1310,15 @@ def test_cast_chart_invalid_timezone_raises(self): with self.assertRaises(ValueError): dashaflow.cast_chart("1990-04-15", "14:30", 28.6139, 77.2090, "Bogus/Zone") + def test_cast_transit_returns_dict(self): + import dashaflow + transit = dashaflow.cast_transit( + "2026-03-29", "1990-04-15", "14:30", 28.6139, 77.2090, "Asia/Kolkata" + ) + self.assertIsInstance(transit, dict) + self.assertIn("planets", transit) + self.assertIn("sade_sati", transit) + def test_version_exists(self): import dashaflow self.assertIsInstance(dashaflow.__version__, str) From 8e904eed91c7fa4ce0b09d1e337af59d96fcebea Mon Sep 17 00:00:00 2001 From: adarshj322 Date: Wed, 8 Apr 2026 13:47:42 +0530 Subject: [PATCH 4/5] feat: refactor cast_transit to accept birth parameters directly and add test coverage --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8581529..eb8394d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. Format based on [Keep a Changelog](https://keepachangelog.com/). +## [1.1.0] - 2026-04-08 + +### Added +- Added test case coverage for `cast_transit` return structure. + +### Changed +- Refactored `cast_transit` to accept birth parameters (`dob_str`, `time_str`, `lat`, `lon`, `timezone`) directly instead of requiring a pre-calculated `natal_chart` input. + ## [1.0.0] - 2026-03-31 ### Added @@ -23,4 +31,5 @@ Format based on [Keep a Changelog](https://keepachangelog.com/). - Sarvashtakavarga, Bhinnashtakavarga, and Prashtara Ashtakavarga - Divisional charts: D2, D3, D4, D7, D9, D10, D12, D16, D20, D24, D27, D30, D40, D60 +[1.1.0]: https://github.com/adarshj322/dashaflow/compare/v1.0.0...v1.1.0 [1.0.0]: https://github.com/adarshj322/dashaflow/releases/tag/v1.0.0 From 2ec65d273a6986c5dc994356445bc0849fd41092 Mon Sep 17 00:00:00 2001 From: adarshj322 Date: Wed, 8 Apr 2026 13:52:23 +0530 Subject: [PATCH 5/5] chore: update project keywords in pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a6404e0..9794161 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ requires-python = ">=3.10" authors = [ { name = "Adarsh J" }, ] -keywords = ["vedic", "astrology", "jyotish", "horoscope", "dashaflow", "vimshottari", "navamsha"] +keywords = ["vedic", "astrology", "jyotish", "horoscope", "dashaflow", "vimshottari", "navamsha", "python", "python3", "swiss-ephemeris", "astrology-api", "pypi-package", "birth-chart", "jyotisha", "vedic-astrology", "jyotish-open-source"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers",