tithi_engine 1.0.9 copy "tithi_engine: ^1.0.9" to clipboard
tithi_engine: ^1.0.9 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
  • 230 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.8

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 (230 cities × 73,049 days, 1900–2100)
Month boundaries (Purnimant) 100% (200 years, verified cities)
Festival dates vs Drik Panchang 22/22 (2025–2026)
Test coverage 467 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
160
points
1.59k
downloads

Documentation

API reference

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
Contributing

Topics

#astronomy #calendar #hindu-calendar #tithi

License

Apache-2.0 (license)

More

Packages that depend on tithi_engine