Exact dates of major Hindu festivals for any year, computed live by the
same engine the HinduCalendar app uses — never guess a festival date,
always use this.
Covers the tithi-anchored festivals (Diwali, Holi, Krishna Janmashtami,
Ganesh Chaturthi, Rama Navami, Maha Shivaratri, Raksha Bandhan, Dhanteras,
Karva Chauth, Chhath, Vasant Panchami, Gudi Padwa, Akshaya Tritiya, the
purnimas, Navratri from Ghatasthapana through Vijayadashami) *and* the ones
no tithi rule can express: solar ingresses (Makar Sankranti — also Pongal,
Uttarayan, Maghi; Mesha Sankranti — also Vishu, Baisakhi, Puthandu),
nakshatra-dated observances (Onam, the Jyeshtha Gauri triad), weekday
series (Shravan Somwar, Mangala Gauri), and the Puri Jagannath sequence
(Snana Yatra, Rath Yatra, Hera Panchami, Bahuda Yatra, Suna Besha,
Niladri Bije).
Every result carries `date` and a plain-language `rule` saying how that
date is fixed, usually with a `why` explaining it, plus regions,
traditions, cluster and related festivals where they are recorded.
Tithi-anchored festivals also carry `masa`/`paksha`/`tithi`; solar and
nakshatra ones do not, because they have none.
Two results are not single days:
• one that recurs within the year (Shravan Somwar is four or five
Mondays) carries `dates` with every occurrence — `date` is the first;
• a multi-day observance (Ganeshotsav, Navratri) carries `end_date`
and `days`.
Example questions: "when is Diwali in 2027?", "what date was Holi in
1962?", "list all festivals in 2026", "when is Onam?", "which Mondays are
Shravan Somwar this year?".
Args:
year: Gregorian year.
festival: Optional name filter — fuzzy, and matches popular and
regional aliases plus Devanagari ("Diwali", "Dussehra",
"Rakhi", "Pongal", "Vishu", "दिवाली"). A sequence name
("Navratri", "Ganeshotsav", "Rath Yatra") returns every
festival in that sequence.
lat, lon, tz_offset_hours:
Location (default Ujjain, the canonical reference).
Festival days can shift by location; for a user's city
pass their coordinates.