tithi_engine 1.0.1 copy "tithi_engine: ^1.0.1" to clipboard
tithi_engine: ^1.0.1 copied to clipboard

Accurate Vedic tithi, lunar month, and festival date calculator for any city worldwide. Pure Dart, no dependencies, 200-year accuracy (1900–2100).

tithi_engine #

CI pub package License

A pure Dart library for Hindu lunar calendar (tithi/panchang) calculations. Computes accurate tithis, lunar months, and festival dates for any city worldwide.

Features #

  • Tithi calculation — date → tithi number, name, paksha, lunar month
  • Festival dates — muhurta-accurate (nishita, madhyahna, pradosh rules)
  • Month resolution — moment-based adhika/kshaya detection, Purnimant & Amant systems
  • Date finding — tithi → Gregorian date in any year
  • 157 cities — per-city correction tables verified against Swiss Ephemeris
  • Pure Dart — no dependencies, works in Flutter, server, CLI, and web (WASM)
  • 200-year accuracy — validated 1900–2100 against Drik Panchang

Installation #

dependencies:
  tithi_engine: ^1.0.0

Quick Start #

import 'package:tithi_engine/tithi_engine.dart';

final panchang = Panchang(MonthSystem.purnimant);

// Date → Tithi
final info = panchang.forDate(DateTime(2026, 2, 15), City.ujjain);
print(info.displayName); // "Phalguna Krishna Trayodashi"

// Festival date
final shivaratri = panchang.dateFor(
  festivals.firstWhere((f) => f.name == 'Maha Shivaratri'), 2026, City.ujjain);
print('Maha Shivaratri 2026: ${shivaratri?.date}');

// Tithi → Date
final date = panchang.getDate(
  LunarMonth.bhadrapada, Paksha.krishna, 8, 2026, City.seattle);
print('Janmashtami 2026 Seattle: $date');

API #

Method Description
panchang.forDate(date, city) Gregorian date → full TithiInfo
panchang.getDate(month, paksha, tithi, year, city) Tithi spec → Gregorian date
panchang.getDates(month, paksha, tithi, year, city) Tithi spec → all dates (adhika-aware)
panchang.dateFor(festival, year, city) Festival → date with muhurta rules
panchang.findNext(month, paksha, tithi, city) Next occurrence from today

Accuracy #

Metric Value
Tithi vs Swiss Ephemeris 0 mismatches / 73,049 days (1900–2100)
Month boundaries (Purnimant) 100% (200 years, verified cities)
Festival dates vs Drik Panchang 22/22 (2025–2026)
Test coverage 415 tests

Cross-Platform #

This is the Dart implementation of tithi-engine (Java). Both libraries produce identical results and share the same correction tables.

License #

Licensed under the Apache License 2.0.

1
likes
0
points
1.59k
downloads

Publisher

unverified uploader

Weekly Downloads

Accurate Vedic tithi, lunar month, and festival date calculator for any city worldwide. Pure Dart, no dependencies, 200-year accuracy (1900–2100).

Repository (GitHub)
View/report issues

Topics

#astronomy #calendar #hindu-calendar #tithi

License

unknown (license)

More

Packages that depend on tithi_engine