Downloads

The uposatha calendars include years 2000–2100.

The calendar data is generated using the splendidmoons Python package.

See below for the available formats. Right-click on the link and select Save As… to download.

PDF

CSV, XLSX

ICAL

URLExampleUposathasHalf-MoonsLunar MonthIconsShort
mahanikaya.icalFull Moon - 15 day Hemanta 4/8
mahanikaya-only-moons.icalFull Moon - 15 day Hemanta 4/8
mahanikaya-only-moons-short.icalFull 15d H 4/8
mahanikaya-only-moons-icons-short.ical🌕 15d H 4/8🌕
mahanikaya-only-moons-icons-faces-short.ical🌝 15d H 4/8🌝
mahanikaya-only-uposathas.icalFull Moon - 15 day Hemanta 4/8
mahanikaya-only-uposathas-icons-short.ical🌕 15d H 4/8🌕
mahanikaya-only-uposathas-icons-faces-short.ical🌝 15d H 4/8🌝

Moon icons: 🌑 🌓 🌕 🌗
Face icons: 🌚 🌛 🌝 🌜

 

Copy the .ical url to import in your calendar application, or add to Google Calendar.

Emacs

This defines calendar events to show with M-x calendar in emacs. Place it in the folder where you load local packages from.

      
(add-to-list 'load-path "~/path/to/local/packages")

;; This defines the holiday-moonday-holidays list
(require 'holiday-moondays)

;; Week starts on Monday.
(setq calendar-week-start-day 1)
;; calendar-holidays is usually a list of religious and secular dates, we
;; replace the default list with only the moondays.
(setq calendar-holidays holiday-moonday-holidays)
;; Show holidays and diary entries when the calendar is opened.
(setq calendar-mark-holidays-flag t
      calendar-mark-diary-entries-flag t)
;; Include the holidays (moondays) in the diary display buffer, instead of
;; showing them in the minibuffer.
(setq diary-list-include-blanks t
      diary-show-holidays-flag t)
      
    

The complete list from 2000-2100 is quite long, so it's probably a good idea to filter it for the relevant years. Download with wget and filter with sed for example:

      
wget -O - "https://splendidmoons.github.io/calendars/holiday-moondays.el" |\
    sed '/^(holiday-sexp/ { /\(2022\|2023\|2024\|2025\)/ !d; };' > holiday-moondays.el