{"id":48272191,"url":"https://github.com/jayeshmepani/panchang-core","last_synced_at":"2026-04-04T22:18:10.665Z","repository":{"id":346939471,"uuid":"1190999623","full_name":"jayeshmepani/panchang-core","owner":"jayeshmepani","description":"High-precision Vedic Panchang engine for PHP/Laravel with Swiss Ephemeris, festivals, muhurta, eclipses, and raw JSON export.","archived":false,"fork":false,"pushed_at":"2026-04-04T15:56:17.000Z","size":1152,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-04T18:34:19.171Z","etag":null,"topics":["astronomy","calendar-api","choghadiya","eclipse","festivals","hindu-calendar","hora","jyotish","laravel","muhurta","nakshatra","open-source","panchang","panchanga","php","pradosha","swiss-ephemeris","tithi","varjyam","vedic-astrology"],"latest_commit_sha":null,"homepage":"https://jayeshmepani.github.io/panchang-core/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jayeshmepani.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["jayeshmepani"],"custom":["https://github.com/sponsors/jayeshmepani"]}},"created_at":"2026-03-24T20:31:03.000Z","updated_at":"2026-04-04T15:56:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jayeshmepani/panchang-core","commit_stats":null,"previous_names":["jayeshmepani/panchang-core"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jayeshmepani/panchang-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayeshmepani%2Fpanchang-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayeshmepani%2Fpanchang-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayeshmepani%2Fpanchang-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayeshmepani%2Fpanchang-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jayeshmepani","download_url":"https://codeload.github.com/jayeshmepani/panchang-core/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jayeshmepani%2Fpanchang-core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31416763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astronomy","calendar-api","choghadiya","eclipse","festivals","hindu-calendar","hora","jyotish","laravel","muhurta","nakshatra","open-source","panchang","panchanga","php","pradosha","swiss-ephemeris","tithi","varjyam","vedic-astrology"],"created_at":"2026-04-04T22:18:10.548Z","updated_at":"2026-04-04T22:18:10.649Z","avatar_url":"https://github.com/jayeshmepani.png","language":"PHP","funding_links":["https://github.com/sponsors/jayeshmepani"],"categories":[],"sub_categories":[],"readme":"# Panchang Core\n\n[![Latest Version on Packagist](https://img.shields.io/packagist/v/jayeshmepani/panchang-core.svg?style=flat-square)](https://packagist.org/packages/jayeshmepani/panchang-core)\n[![Total Downloads](https://img.shields.io/packagist/dt/jayeshmepani/panchang-core.svg?style=flat-square)](https://packagist.org/packages/jayeshmepani/panchang-core)\n[![PHP Version Require](https://img.shields.io/packagist/php-v/jayeshmepani/panchang-core?style=flat-square)](https://packagist.org/packages/jayeshmepani/panchang-core)\n[![License: AGPL-3.0](https://img.shields.io/badge/license-AGPL--3.0-blue.svg?style=flat-square)](https://www.gnu.org/licenses/agpl-3.0.html)\n\n**Authentic Vedic Panchanga calculation engine with Swiss Ephemeris precision** for PHP 8.3+.\n\nThis package provides high-precision calculations for Vedic Panchanga elements (Tithi, Vara, Nakṣatra, Yoga, Karaṇa), Muhūrta, Chogadiya, Hora, Karmakala windows, and 163 festival definitions with tradition/region profiles.\n\n## 🎯 Unique Value Proposition\n\nKey characteristics:\n- ✅ Uses **Swiss Ephemeris FFI** for maximum astronomical precision\n- ✅ Implements **classical Indian algorithms** from authentic texts\n- ✅ Uses **IEEE 754 double precision** throughout the calculation pipeline\n- ✅ Supports **163 festival definitions** with tradition/region resolution\n- ✅ Works **standalone** (no Laravel required)\n\n## Features\n\n- **Complete Panchanga**: Tithi, Vara, Nakṣatra, Yoga, Karaṇa with precise fractions\n- **163 festival definitions**: Holikā Dahan, Rāma Navamī, Kṛṣṇa Janmāṣṭamī, Dīpāvalī, Navaratri, Ekādaśī, Swaminarayan Jayantis, etc.\n- **Festival Families**: Multi-day celebrations (Holi, Diwali, Navaratri) with proper orchestration\n- **Muhūrta Calculations**: Abhijit, Brahma Muhūrta, Rahu Kāla, Gulika, Yamaganda, Dur Muhūrta\n- **Time Determination**: Chogadiya, Hora, Prahara, Lagna table, Bhadra/Vishti Karana detection with classical Mukha/Puchha subdivision\n- **Karmakala Outputs**: Daylight fivefold division, Sandhya blocks, Nishita, Vijaya, Godhuli, Gowri Panchangam, Kala Vela, Pradosha, Varjyam, Amrita Kaal\n- **Tradition Profiles**: Smarta, Vaishnava, North, South, Bengal, Maharashtra, Tamil\n- **Classical Accuracy**: Based on Sūrya Siddhānta, Muhūrta Chintāmaṇi, Nirṇaya Sindhu\n\n## Installation\n\n```bash\ncomposer require jayeshmepani/panchang-core\n```\n\n### Requirements\n\n- **PHP 8.3+** (uses typed constants, readonly classes, enums)\n- **Swiss Ephemeris FFI** (`jayeshmepani/swiss-ephemeris-ffi`)\n- **Carbon** (`nesbot/carbon`)\n- **FFI Extension** (for Swiss Ephemeris)\n\n## Usage\n\n### Standalone Usage\n\n```php\n\u003c?php\nrequire 'vendor/autoload.php';\n\nuse JayeshMepani\\PanchangCore\\Panchanga\\PanchangService;\nuse JayeshMepani\\PanchangCore\\Astronomy\\AstronomyService;\nuse JayeshMepani\\PanchangCore\\Astronomy\\SunService;\nuse JayeshMepani\\PanchangCore\\Panchanga\\PanchangaEngine;\nuse JayeshMepani\\PanchangCore\\Panchanga\\MuhurtaService;\nuse JayeshMepani\\PanchangCore\\Festivals\\FestivalService;\nuse JayeshMepani\\PanchangCore\\Festivals\\FestivalRuleEngine;\nuse JayeshMepani\\PanchangCore\\Festivals\\Utils\\BhadraEngine;\nuse SwissEph\\FFI\\SwissEphFFI;\nuse Carbon\\CarbonImmutable;\n\n// Initialize services\n$sweph = new SwissEphFFI();\n$ruleEngine = new FestivalRuleEngine();\n$panchang = new PanchangService(\n    $sweph,\n    new SunService($sweph),\n    new AstronomyService($sweph),\n    new PanchangaEngine(),\n    new MuhurtaService(),\n    new FestivalService($ruleEngine),\n    new BhadraEngine()\n);\n\n// Calculate panchanga for a specific date/location\n$date = CarbonImmutable::parse('2026-03-24');\n$details = $panchang-\u003egetDayDetails(\n    date: $date,\n    lat: 23.2472446,\n    lon: 69.668339,\n    tz: 'Asia/Kolkata'\n);\n\n// Access panchanga elements\necho \"Tithi: \" . $details['Tithi']['name'] . \" (\" . $details['Tithi']['paksha'] . \")\\n\";\necho \"Nakshatra: \" . $details['Nakshatra']['name'] . \" (Pada \" . $details['Nakshatra']['pada'] . \")\\n\";\necho \"Yoga: \" . $details['Yoga']['name'] . \"\\n\";\necho \"Karana: \" . $details['Karana']['name'] . \"\\n\";\necho \"Vara: \" . $details['Vara']['name'] . \"\\n\";\n```\n\n### Laravel Usage\n\n```php\n\u003c?php\nuse JayeshMepani\\PanchangCore\\Facades\\Panchang;\nuse Carbon\\CarbonImmutable;\n\n// Calculate panchanga\n$details = Panchang::getDayDetails(\n    date: CarbonImmutable::parse('2026-03-24'),\n    lat: 23.2472446,\n    lon: 69.668339,\n    tz: 'Asia/Kolkata'\n);\n\n// Festivals are included in day details\n$festivals = $details['Festivals'];\n\n// Full daily Muhurta evaluation (no manual field extraction required)\n$muhurta = Panchang::getDailyMuhurtaEvaluation(\n    date: CarbonImmutable::parse('2026-03-24'),\n    lat: 23.2472446,\n    lon: 69.668339,\n    tz: 'Asia/Kolkata'\n);\n```\n\n## Classical Texts \u0026 Sources\n\nThis package implements algorithms from **authentic Sanskrit texts** with verified formulas.\n\n**Important:** This is a **source-integrity map**, not a manuscript-critical proof. The codebase mixes:\n- Direct Panchang/Jyotisha conventions (widely standard)\n- Package rule mappings attributed to traditional literature\n- Regional or published almanac conventions\n- Modern secondary references\n- Legacy/heuristic helpers\n\nFor complete details, see [docs/TRADITIONAL_TEXT_SOURCES.md](docs/TRADITIONAL_TEXT_SOURCES.md).\n\n### Confidence Tiers\n\n#### Tier 1: Direct or Standard Panchang Conventions\n\n| Source | Implementation |\n|--------|---------------|\n| **Sūrya Siddhānta 1.29** | Tithi calculation (30 lunar days, 12° each) |\n| **Sūrya Siddhānta 8.1** | Nakṣatra calculation (27 lunar mansions, 13°20' each) |\n| **Sūrya Siddhānta 3.1-3** | Yoga calculation (27 combinations, 13°20' Sun-Moon sum) |\n| **Muhūrta Chintāmaṇi Chapter 2** | Karana calculation (11 half lunar days, 6° each) |\n| **Sūrya Siddhānta 1.10-1.11** | Muhūrta, Ghaṭikā, Pala time units |\n\n#### Tier 2: Package Rule Mappings\n\n| Source | Implementation |\n|--------|---------------|\n| **Muhūrta Chintāmaṇi** | Universal bad tithis, Vara-Tithi Yogas |\n| **Bṛhat Saṃhitā** | Muhurta rules, Samvatsara, Ritu |\n| **Māyamata** | Vāstu muhurta guidance |\n| **Vaikhānasa Āgama** | Āgama-based muhurta guidance |\n| **Aśvalāyana Gṛhya Sūtra** | Gṛhya-sūtra muhurta guidance |\n| **Muhūrta Mārtaṇḍa** | Advanced muhurta calculations |\n| **Gargiya Jyotisha** | Rikta Tithi dosha |\n\n#### Tier 3: Festival-Resolution Logic\n\n| Source | Implementation |\n|--------|---------------|\n| **Nirṇaya Sindhu** | Festival timing, Bhadra rules |\n| **Muhūrta Chintāmaṇi** | Aruṇodaya, Pradoṣa, Ekadashi handling |\n| **Hari Bhakti Vilāsa** | Vaishnava Ekadashi rules |\n\n#### Tier 4: Published Panchang Conventions\n\n| Source | Implementation |\n|--------|---------------|\n| **Tamil Gowri/Pambu Panchangam** | Gowri Panchangam (8-part day/night division) |\n| **Sarāvalī** | Kala Vela rules (Rahu, Gulika, Yamaghantaka) |\n| **Aṣṭāṅga Hṛdaya** | Brahma Muhurta timing |\n| **Charaka Saṃhitā** | Muhurta concepts |\n| **Manusmṛti** | Brahma Muhurta for Vedic study |\n| **Sandhyāvandanam Tradition** | Sandhya windows (living tradition) |\n\n#### Tier 5: Modern Systems\n\n| Source | Implementation |\n|--------|---------------|\n| **Swiss Ephemeris** | Planetary longitudes, Ayanāṃśa, Vara |\n| **KP System** | Varjyam (Visha Ghati) calculation |\n| **Ernst Wilhelm's Classical Muhurta** | Bhadra subdivisions |\n\n### What This Does NOT Claim\n\n- ❌ Every package rule is 1:1 from a single primary text\n- ❌ All regional or sectarian variants are covered\n- ❌ Modern almanac conventions are identical across traditions\n- ❌ Independent verification against critical Sanskrit editions\n\n### Precision Guarantee\n\nAll calculations use:\n\n- **IEEE 754 double precision** (53-bit significand)\n- **No intermediate rounding** (lossless calculations)\n- **Binary search convergence** (80 iterations, 1e-24 JD precision)\n\n## 🛠️ Swiss Ephemeris Technical Specs\n\nThe core engine utilizes the Swiss Ephemeris (SwissEph) for maximum astronomical precision.\n\n| Mode | Date Range | Precision | Requirement |\n| :--- | :--- | :--- | :--- |\n| **High Precision** | 13,201 BCE to 17,191 CE | 0.001 arcsec | `.se1` Data Files |\n| **Standard (Moshier)** | 3,000 BCE to 3,000 CE | 0.1 arcsec | Built-in (Automatic) |\n\n### Precision Details\n- **Planetary/Solar**: 0.001 arcsec with DE431 files.\n- **Lunar**: 3 arcsec (Moshier) / 0.001 arcsec (DE431).\n- **Asteroids**: Main asteroids covered 5401 BCE to 5399 CE.\n\n### Data File Structure (`.se1`)\nEphemeris data is split into 600-year files:\n- **CE (AD) Dates**: Files prefixed with `sepl_` or `semo_` (e.g., `sepl_18.se1` for 1800-2400 CE).\n- **BCE (BC) Dates**: Files prefixed with `seplm` or `semom`.\n- **Asteroids**: Files prefixed with `se00` or `se0j`.\n\n## 🪐 Ayanamsa Authority\nFor any authentic Hindu Panchanga (Tithi, Vara, Nakshatra, Yoga, Karana), **Lahiri (Chitra Paksha)** is the absolute mandatory legal and religious standard in India. \n\nThe `panchang-core` engine is **permanently locked to Lahiri** to ensure 100% calculation integrity. Support for alternative Ayanamsas (Raman, KP, Fagan) has been intentionally removed to prevent \"wrong\" dates for festivals and Nakshatras.\n\n## Configuration\n\n### Laravel Configuration\n\nPublish the config file:\n```bash\nphp artisan vendor:publish --provider=\"JayeshMepani\\PanchangCore\\PanchangServiceProvider\" --tag=\"panchang-config\"\n```\n\nEdit `config/panchang.php`:\n```php\nreturn [\n    'ephe_path' =\u003e env('PANCHANG_EPHE_PATH', __DIR__ . '/../ephe'),\n    'defaults' =\u003e [\n        'measurement_system' =\u003e 'indian_metric',\n        'date_time_format' =\u003e 'indian_12h',\n        'time_notation' =\u003e '12h',\n        'coordinate_format' =\u003e 'decimal',\n        'angle_unit' =\u003e 'degree',\n        'duration_format' =\u003e 'mixed',\n    ],\n    'festivals' =\u003e [\n        'default_tradition' =\u003e 'Smarta',\n        'default_region' =\u003e 'North',\n        'supported_traditions' =\u003e ['Smarta', 'Vaishnava'],\n        'supported_regions' =\u003e ['North', 'South', 'Bengal', 'Maharashtra', 'Tamil', 'Gujarat'],\n    ],\n    'cache' =\u003e [\n        'enabled' =\u003e true,\n        'ttl' =\u003e 86400,\n        'prefix' =\u003e 'panchang_',\n    ],\n];\n```\n\n### Time Output Semantics\n\n- All time-like fields now include date-qualified companions as `*_iso` (example: `varjyam_start_iso`).\n- Panchang day context is `sunrise -\u003e next sunrise`; times earlier than sunrise are dated to the next civil date.\n- `Varjyam` supports multiple windows per day (`window_count`, `windows[]`) and keeps top-level compatibility keys.\n- `Pradosha_Kaal` is computed from night-fraction plus Trayodashi overlap and returns both base window and effective overlap window.\n- `getDayDetails()` now includes dedicated Karmakala outputs:\n  - `Daylight_Fivefold_Division`\n  - `Nishita_Muhurta`\n  - `Vijaya_Muhurta`\n  - `Godhuli_Muhurta`\n  - `Sandhya`\n  - `Gowri_Panchangam`\n  - `Kala_Vela`\n  - `Karmakala_Windows`\n\n### Hindu Calendar Output\n\n- `getDayDetails()` and `getFestivalSnapshot()` now expose a richer `Hindu_Calendar` block.\n- Returned keys include:\n  - `Month_Amanta`\n  - `Month_Purnimanta`\n  - `Is_Adhika`\n  - `Is_Kshaya`\n  - `Amanta_Index`\n  - `Purnimanta_Index`\n- `PanchangService` resolves month names using exact amavasya-to-amavasya solar transit logic, so final month output can differ from simpler longitude-only month heuristics.\n\n### Raw JSON Exporter\n\n```bash\nphp panchang_raw_output.php \u003e output.json\n```\n\nThis exporter writes five top-level sections in one JSON file:\n- `meta`: generation timestamp, location, timezone, and config source\n- `festivals_2026`: all festival entries for the full year\n- `eclipses_2026_2032`: all eclipse entries for 7 years\n- `todays_complete_details`: full `getDayDetails()` payload for Bhuj (`Asia/Kolkata`)\n- `muhurta_evaluation`: transit-only `getDailyMuhurtaEvaluation()` payload\n\nNotes:\n- `todays_complete_details` is intentionally date-sensitive and changes based on the day the script is run.\n- `muhurta_evaluation` is transit-only; no natal/person-specific inputs are used.\n- Empty arrays such as `Bhadra: []` or `Dharma_Sindhu: []` are valid outputs when no matching window exists for that Panchang day.\n- Saṅkrānti festivals are assigned by civil-date ingress tagging (00:00-24:00 local day), so pre-sunrise ingress stays on the same calendar date.\n\n### Muhurta APIs\n\n`PanchangService` also exposes higher-level electional helpers:\n\n- `getElectionalSnapshot()`\n- `getDailyMuhurtaEvaluation()`\n\n### Festival Catalog Notes\n\n- The canonical source of truth is `FestivalService::FESTIVALS`.\n- The current verified catalog contains `163` festival definitions after merging true alias/variant duplicates.\n- Festivals that legitimately share the same tithi or civil date remain separate entries when they represent different observances.\n\n### Standalone Configuration\n\n```php\nuse JayeshMepani\\PanchangCore\\Panchanga\\PanchangService;\n\n// Configure before instantiation\nPanchangService::configure(\n    ephePath: '/path/to/ephe'\n);\n```\n\n## Supported Festival Definitions (163)\n\n### Solar-Based (Saṅkrānti)\n- Makara Saṅkrānti (solar ingress-based; civil date can vary by year/location)\n- Viṣṇu Pūjā (Sep 17)\n\n### Tithi-Based (Major)\n- Vasanta Pañcamī (Māgha Śukla Pañcamī)\n- Mahā Śivarātri (Māgha Kṛṣṇa Chaturdaśī)\n- Holikā Dahan (Phālguna Śukla Pūrṇimā)\n- Rāma Navamī (Chaitra Śukla Navamī)\n- Kṛṣṇa Janmāṣṭamī (Bhādrapada Kṛṣṇa Aṣṭamī)\n- Gaṇeśa Chaturthī (Bhādrapada Śukla Chaturthī)\n- Dīpāvalī (Kārttika Kṛṣṇa Amāvāsyā)\n\n### Recurring\n- Ekādaśī (twice monthly)\n- Pradoṣa (twice monthly)\n- Saṅkrānti (monthly)\n\n### Festival Families (Multi-Day)\n- **Holi**: Holikā Dahan → Dhuleti\n- **Diwali**: Dhanteras → Naraka Chaturdaśī → Lakṣmī Pūjā → Govardhan Pūjā → Bhai Dūj\n- **Janmāṣṭamī**: Smarta (Aṣṭamī at sunrise) vs Vaishnava (Aṣṭamī + Niśīta + Rohiṇī)\n\n## Testing\n\n```bash\n# Run all tests\ncomposer test\n\n# Check code quality\ncomposer quality\n```\n\n## Development\n\n```bash\n# Clone repository\ngit clone https://github.com/jayeshmepani/panchang-core.git\ncd panchang-core\n\n# Install dependencies\ncomposer install\n\n# Run tests\ncomposer test\n```\n\n## 📊 Calculation Coverage\n\n| Category | Elements | Status |\n|----------|----------|--------|\n| **Panchanga** | Tithi, Vara, Nakṣatra, Yoga, Karaṇa | ✅ Complete |\n| **Muhūrta** | 30 Muhūrtas (15 day + 15 night), Abhijit, Brahma, Dur Muhūrta | ✅ Complete |\n| **Kāla Nirṇaya** | Chogadiya, Hora, Rahu Kāla, Gulika, Yamaganda, Bhadra | ✅ Complete |\n| **Karmakala** | Daylight fivefold division, Sandhya, Nishita, Vijaya, Godhuli, Gowri Panchangam, Kala Vela | ✅ Complete |\n| **Festivals** | 163 festival definitions | ✅ Complete |\n| **Traditions** | Smarta, Vaishnava, regional | ✅ Complete |\n\n## Full System Requirements\n\n### Core Requirements\n\n- **PHP**: 8.3 or higher\n- **Composer**: For package installation\n- **FFI Extension**: Required for Swiss Ephemeris FFI\n\n### Dependencies\n\n- **jayeshmepani/swiss-ephemeris-ffi** ^1.0 - Swiss Ephemeris PHP FFI wrapper\n- **nesbot/carbon** ^3.0 - Date/time library\n\n## 📚 Documentation\n\n- [Swiss Ephemeris Programmer's Documentation](https://www.astro.com/swisseph/swephprg.htm)\n- [Sūrya Siddhānta Translation](https://archive.org/details/suryasiddhantate00sury)\n- [Muhūrta Chintāmaṇi Translation](https://archive.org/details/muhurtachintama00vara)\n\n## 🤝 Contributing\n\nOpen an issue or pull request on GitHub for bug reports, source audits, or feature additions.\n\n## 📞 Support\n\n- **Issues**: [GitHub Issues](https://github.com/jayeshmepani/panchang-core/issues)\n- **Email**: [jayeshmepani777@gmail.com](mailto:jayeshmepani777@gmail.com)\n- **Exporter Script**: [`panchang_raw_output.php`](panchang_raw_output.php)\n\n## 💖 Funding\n\nIf you find this package helpful, consider sponsoring the development:\n\n[![Sponsor on GitHub](https://img.shields.io/badge/sponsor-%E2%9D%A4-%23EA4AAA?logo=github\u0026style=flat-square)](https://github.com/sponsors/jayeshmepani)\n\n## 📄 License\n\nThis repository is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**. \n\n### Swiss Ephemeris Licensing\nThis core engine utilizes the **Swiss Ephemeris**, which has a dual-licensing model:\n1.  **Open Source**: Licensed under **GNU AGPLv3**. If you use this package in an open-source project, you must also use AGPLv3.\n2.  **Commercial**: If you wish to use this package in a closed-source or commercial application, you **MUST** purchase a commercial license from [Astrodienst AG](https://www.astro.com/swisseph/swephprg.htm#licence).\n\nSee the [LICENSE](LICENSE) file for the full license text.\n\n## 🙏 Credits\n\n- **[Dieter Koch](https://www.astro.com/swisseph/)** - Swiss Ephemeris C Library Author\n- **[Astrodienst AG](https://www.astro.com/)** - Swiss Ephemeris Maintainers\n- **Classical Texts**: Sūrya Siddhānta, Muhūrta Chintāmaṇi, Nirṇaya Sindhu, Dharma Sindhu\n\n---\n\nBuilt for Vedic astrology and astronomy workflows.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayeshmepani%2Fpanchang-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjayeshmepani%2Fpanchang-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayeshmepani%2Fpanchang-core/lists"}