holidays 0.82__py3-none-any.whl → 0.84__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. holidays/calendars/balinese_saka.py +2 -3
  2. holidays/calendars/buddhist.py +3 -4
  3. holidays/calendars/burmese.py +9 -10
  4. holidays/calendars/chinese.py +8 -9
  5. holidays/calendars/hebrew.py +10 -11
  6. holidays/calendars/hindu.py +27 -28
  7. holidays/calendars/islamic.py +26 -6
  8. holidays/calendars/mandaean.py +2 -3
  9. holidays/calendars/mongolian.py +4 -5
  10. holidays/calendars/persian.py +2 -3
  11. holidays/calendars/sinhala.py +25 -14
  12. holidays/calendars/thai.py +13 -14
  13. holidays/calendars/tibetan.py +12 -13
  14. holidays/countries/__init__.py +1 -0
  15. holidays/countries/angola.py +1 -2
  16. holidays/countries/austria.py +1 -1
  17. holidays/countries/azerbaijan.py +1 -1
  18. holidays/countries/canada.py +27 -13
  19. holidays/countries/denmark.py +18 -6
  20. holidays/countries/fiji.py +2 -3
  21. holidays/countries/finland.py +3 -6
  22. holidays/countries/guernsey.py +1 -2
  23. holidays/countries/guyana.py +24 -32
  24. holidays/countries/india.py +21 -78
  25. holidays/countries/iran.py +133 -269
  26. holidays/countries/ireland.py +1 -1
  27. holidays/countries/israel.py +1 -1
  28. holidays/countries/italy.py +2 -2
  29. holidays/countries/jersey.py +1 -2
  30. holidays/countries/macau.py +5 -8
  31. holidays/countries/malta.py +1 -1
  32. holidays/countries/mauritius.py +10 -9
  33. holidays/countries/montserrat.py +1 -1
  34. holidays/countries/myanmar.py +9 -10
  35. holidays/countries/nepal.py +11 -30
  36. holidays/countries/netherlands.py +28 -24
  37. holidays/countries/new_zealand.py +75 -31
  38. holidays/countries/nigeria.py +53 -75
  39. holidays/countries/norway.py +1 -1
  40. holidays/countries/portugal.py +6 -3
  41. holidays/countries/rwanda.py +2 -2
  42. holidays/countries/sint_maarten.py +1 -1
  43. holidays/countries/slovakia.py +23 -4
  44. holidays/countries/spain.py +418 -214
  45. holidays/countries/sri_lanka.py +58 -91
  46. holidays/countries/suriname.py +1 -2
  47. holidays/countries/sweden.py +1 -1
  48. holidays/countries/switzerland.py +86 -3
  49. holidays/countries/taiwan.py +3 -3
  50. holidays/countries/tanzania.py +19 -29
  51. holidays/countries/thailand.py +8 -7
  52. holidays/countries/trinidad_and_tobago.py +1 -1
  53. holidays/countries/ukraine.py +1 -1
  54. holidays/countries/united_kingdom.py +2 -3
  55. holidays/countries/united_states.py +3 -4
  56. holidays/countries/western_sahara.py +92 -0
  57. holidays/groups/balinese_saka.py +2 -3
  58. holidays/groups/buddhist.py +6 -7
  59. holidays/groups/burmese.py +11 -12
  60. holidays/groups/chinese.py +23 -21
  61. holidays/groups/christian.py +30 -0
  62. holidays/groups/eastern.py +5 -4
  63. holidays/groups/hebrew.py +7 -10
  64. holidays/groups/hindu.py +45 -40
  65. holidays/groups/international.py +1 -1
  66. holidays/groups/islamic.py +10 -3
  67. holidays/groups/mandaean.py +13 -14
  68. holidays/groups/mongolian.py +12 -10
  69. holidays/groups/persian.py +14 -15
  70. holidays/groups/sinhala.py +19 -17
  71. holidays/groups/thai.py +12 -13
  72. holidays/groups/tibetan.py +21 -19
  73. holidays/holiday_base.py +54 -54
  74. holidays/ical.py +1 -2
  75. holidays/locale/ar/LC_MESSAGES/EH.mo +0 -0
  76. holidays/locale/ca/LC_MESSAGES/ES.mo +0 -0
  77. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  78. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  79. holidays/locale/en_US/LC_MESSAGES/EH.mo +0 -0
  80. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  81. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  82. holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
  83. holidays/locale/es/LC_MESSAGES/EH.mo +0 -0
  84. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  85. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  86. holidays/locale/fr/LC_MESSAGES/EH.mo +0 -0
  87. holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
  88. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  89. holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
  90. holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
  91. holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
  92. holidays/locale/th/LC_MESSAGES/CH.mo +0 -0
  93. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  94. holidays/locale/th/LC_MESSAGES/DK.mo +0 -0
  95. holidays/locale/th/LC_MESSAGES/ES.mo +0 -0
  96. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  97. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  98. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  99. holidays/locale/th/LC_MESSAGES/NL.mo +0 -0
  100. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  101. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  102. holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
  103. holidays/mixins/child_entity.py +1 -3
  104. holidays/observed_holiday_base.py +25 -14
  105. holidays/registry.py +5 -3
  106. holidays/utils.py +13 -14
  107. holidays/version.py +1 -1
  108. {holidays-0.82.dist-info → holidays-0.84.dist-info}/METADATA +20 -19
  109. {holidays-0.82.dist-info → holidays-0.84.dist-info}/RECORD +113 -104
  110. {holidays-0.82.dist-info → holidays-0.84.dist-info}/WHEEL +0 -0
  111. {holidays-0.82.dist-info → holidays-0.84.dist-info}/licenses/CONTRIBUTORS +0 -0
  112. {holidays-0.82.dist-info → holidays-0.84.dist-info}/licenses/LICENSE +0 -0
  113. {holidays-0.82.dist-info → holidays-0.84.dist-info}/top_level.txt +0 -0
@@ -57,9 +57,15 @@ class Iran(HolidayBase, IslamicHolidays, PersianCalendarHolidays):
57
57
  islamic_show_estimated:
58
58
  Whether to add "estimated" label to Islamic holidays name
59
59
  if holiday date is estimated.
60
+
61
+ In Iran, the dates of the Islamic calendar usually fall a day later than
62
+ the corresponding dates in the Umm al-Qura calendar.
60
63
  """
61
64
  IslamicHolidays.__init__(
62
- self, cls=IranIslamicHolidays, show_estimated=islamic_show_estimated
65
+ self,
66
+ cls=IranIslamicHolidays,
67
+ show_estimated=islamic_show_estimated,
68
+ calendar_delta_days=+1,
63
69
  )
64
70
  PersianCalendarHolidays.__init__(self)
65
71
  super().__init__(*args, **kwargs)
@@ -164,338 +170,196 @@ class IRN(Iran):
164
170
  class IranIslamicHolidays(_CustomIslamicHolidays):
165
171
  ALI_AL_RIDA_DEATH_DATES_CONFIRMED_YEARS = (2001, 2025)
166
172
  ALI_AL_RIDA_DEATH_DATES = {
167
- 2001: (MAY, 24),
168
- 2002: (MAY, 13),
169
- 2003: (MAY, 2),
170
- 2004: (APR, 20),
171
- 2006: (MAR, 30),
172
- 2007: (MAR, 20),
173
- 2009: (FEB, 26),
174
- 2010: (FEB, 15),
175
- 2011: (FEB, 4),
176
- 2012: (JAN, 24),
177
- 2014: ((JAN, 2), (DEC, 23)),
178
- 2015: (DEC, 12),
179
- 2016: (NOV, 30),
180
- 2017: (NOV, 19),
181
- 2019: (OCT, 29),
182
- 2021: (OCT, 7),
183
- 2022: (SEP, 27),
184
- 2023: (SEP, 16),
185
- 2024: (SEP, 4),
186
- 2025: (AUG, 24),
173
+ 2005: (APR, 9),
174
+ 2008: (MAR, 8),
175
+ 2013: (JAN, 12),
176
+ 2018: (NOV, 8),
177
+ 2020: (OCT, 17),
187
178
  }
188
179
 
189
180
  ALI_BIRTHDAY_DATES_CONFIRMED_YEARS = (2001, 2025)
190
181
  ALI_BIRTHDAY_DATES = {
191
- 2001: (OCT, 1),
192
- 2002: (SEP, 21),
193
- 2004: (AUG, 30),
194
- 2005: (AUG, 19),
195
- 2006: (AUG, 8),
196
- 2007: (JUL, 28),
197
- 2010: (JUN, 26),
198
- 2011: (JUN, 16),
199
- 2012: (JUN, 4),
200
- 2013: (MAY, 24),
201
- 2014: (MAY, 13),
202
- 2016: (APR, 21),
203
- 2017: (APR, 11),
204
- 2018: (MAR, 31),
205
- 2022: (FEB, 15),
206
- 2025: (JAN, 14),
182
+ 2003: (SEP, 10),
183
+ 2008: (JUL, 16),
184
+ 2009: (JUL, 6),
185
+ 2015: (MAY, 2),
186
+ 2019: (MAR, 20),
187
+ 2020: (MAR, 8),
188
+ 2021: (FEB, 25),
189
+ 2023: (FEB, 4),
190
+ 2024: (JAN, 25),
207
191
  }
208
192
 
209
193
  ALI_DEATH_DATES_CONFIRMED_YEARS = (2001, 2025)
210
194
  ALI_DEATH_DATES = {
211
- 2001: (DEC, 7),
212
- 2002: (NOV, 27),
213
- 2003: (NOV, 16),
214
- 2004: (NOV, 5),
215
- 2005: (OCT, 25),
216
- 2006: (OCT, 15),
217
- 2008: (SEP, 22),
218
- 2010: (SEP, 1),
219
- 2012: (AUG, 10),
220
- 2013: (JUL, 30),
221
- 2014: (JUL, 19),
222
- 2016: (JUN, 27),
223
- 2018: (JUN, 6),
224
- 2019: (MAY, 27),
225
- 2020: (MAY, 15),
226
- 2021: (MAY, 4),
227
- 2022: (APR, 23),
228
- 2024: (APR, 1),
229
- 2025: (MAR, 22),
195
+ 2007: (OCT, 3),
196
+ 2009: (SEP, 11),
197
+ 2011: (AUG, 21),
198
+ 2015: (JUL, 8),
199
+ 2017: (JUN, 16),
200
+ 2023: (APR, 12),
230
201
  }
231
202
 
232
203
  ARBAEEN_DATES_CONFIRMED_YEARS = (2001, 2025)
233
204
  ARBAEEN_DATES = {
234
- 2003: (APR, 23),
235
- 2004: (APR, 11),
236
- 2005: (MAR, 31),
237
- 2006: (MAR, 21),
238
- 2008: (FEB, 28),
239
- 2009: (FEB, 16),
240
- 2010: (FEB, 5),
241
- 2011: (JAN, 25),
205
+ 2001: (MAY, 14),
206
+ 2002: (MAY, 3),
207
+ 2007: (MAR, 10),
208
+ 2012: (JAN, 14),
242
209
  2013: ((JAN, 3), (DEC, 23)),
243
- 2014: (DEC, 13),
244
- 2018: (OCT, 30),
245
- 2020: (OCT, 8),
246
- 2022: (SEP, 17),
247
- 2023: (SEP, 6),
248
- 2024: (AUG, 25),
210
+ 2015: (DEC, 2),
211
+ 2016: (NOV, 20),
212
+ 2017: (NOV, 9),
213
+ 2019: (OCT, 19),
214
+ 2021: (SEP, 27),
215
+ 2025: (AUG, 14),
249
216
  }
250
217
 
251
218
  ASHURA_DATES_CONFIRMED_YEARS = (2001, 2025)
252
219
  ASHURA_DATES = {
253
- 2001: (APR, 5),
254
- 2002: (MAR, 25),
255
- 2003: (MAR, 14),
256
- 2004: (MAR, 2),
257
- 2005: (FEB, 20),
258
- 2007: (JAN, 30),
259
- 2011: (DEC, 6),
260
- 2012: (NOV, 25),
261
- 2013: (NOV, 14),
262
- 2014: (NOV, 4),
263
- 2015: (OCT, 24),
264
- 2016: (OCT, 12),
265
- 2017: (OCT, 1),
266
- 2019: (SEP, 10),
267
- 2020: (AUG, 30),
268
- 2021: (AUG, 19),
269
- 2025: (JUL, 6),
220
+ 2006: (FEB, 9),
221
+ 2008: (JAN, 19),
222
+ 2009: ((JAN, 7), (DEC, 27)),
223
+ 2010: (DEC, 16),
224
+ 2018: (SEP, 20),
225
+ 2022: (AUG, 8),
226
+ 2023: (JUL, 28),
227
+ 2024: (JUL, 16),
270
228
  }
271
229
 
272
230
  EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2001, 2025)
273
231
  EID_AL_ADHA_DATES = {
274
- 2001: (MAR, 6),
275
- 2002: (FEB, 23),
276
- 2003: (FEB, 12),
277
- 2004: (FEB, 2),
232
+ 2005: (JAN, 21),
278
233
  2006: ((JAN, 11), (DEC, 31)),
279
- 2007: (DEC, 21),
280
- 2008: (DEC, 9),
281
- 2009: (NOV, 28),
282
- 2010: (NOV, 17),
283
- 2011: (NOV, 7),
284
- 2013: (OCT, 16),
285
- 2014: (OCT, 5),
286
- 2015: (SEP, 24),
287
- 2016: (SEP, 12),
288
- 2018: (AUG, 22),
289
- 2019: (AUG, 12),
290
- 2021: (JUL, 21),
291
- 2022: (JUL, 10),
292
- 2023: (JUN, 29),
293
- 2024: (JUN, 17),
234
+ 2012: (OCT, 26),
235
+ 2017: (SEP, 1),
236
+ 2020: (JUL, 31),
237
+ 2025: (JUN, 6),
294
238
  }
295
239
 
296
240
  EID_AL_FITR_DATES_CONFIRMED_YEARS = (2001, 2025)
297
241
  EID_AL_FITR_DATES = {
298
- 2002: (DEC, 6),
299
- 2003: (NOV, 26),
300
- 2005: (NOV, 4),
301
- 2006: (OCT, 24),
302
- 2011: (AUG, 31),
303
- 2013: (AUG, 9),
304
- 2014: (JUL, 29),
305
- 2015: (JUL, 18),
306
- 2017: (JUN, 26),
307
- 2019: (JUN, 5),
308
- 2022: (MAY, 3),
309
- 2023: (APR, 22),
310
- 2025: (MAR, 31),
242
+ 2001: (DEC, 16),
243
+ 2004: (NOV, 14),
244
+ 2007: (OCT, 13),
245
+ 2008: (OCT, 1),
246
+ 2009: (SEP, 20),
247
+ 2010: (SEP, 10),
248
+ 2012: (AUG, 19),
249
+ 2016: (JUL, 6),
250
+ 2018: (JUN, 15),
251
+ 2020: (MAY, 24),
252
+ 2021: (MAY, 13),
253
+ 2024: (APR, 10),
311
254
  }
312
255
 
313
256
  EID_AL_GHADIR_DATES_CONFIRMED_YEARS = (2001, 2025)
314
257
  EID_AL_GHADIR_DATES = {
315
- 2001: (MAR, 14),
316
- 2002: (MAR, 3),
317
- 2003: (FEB, 20),
318
- 2004: (FEB, 10),
319
- 2006: (JAN, 19),
258
+ 2005: (JAN, 29),
320
259
  2007: ((JAN, 8), (DEC, 29)),
321
- 2008: (DEC, 17),
322
- 2009: (DEC, 6),
323
- 2010: (NOV, 25),
324
- 2011: (NOV, 15),
325
- 2013: (OCT, 24),
326
- 2014: (OCT, 13),
327
- 2015: (OCT, 2),
328
- 2016: (SEP, 20),
329
- 2018: (AUG, 30),
330
- 2019: (AUG, 20),
331
- 2021: (JUL, 29),
332
- 2022: (JUL, 18),
333
- 2023: (JUL, 7),
334
- 2024: (JUN, 25),
260
+ 2012: (NOV, 3),
261
+ 2017: (SEP, 9),
262
+ 2020: (AUG, 8),
263
+ 2025: (JUN, 14),
335
264
  }
336
265
 
337
266
  FATIMA_DEATH_DATES_CONFIRMED_YEARS = (2001, 2025)
338
267
  FATIMA_DEATH_DATES = {
339
- 2001: (AUG, 23),
340
- 2003: (AUG, 2),
341
- 2004: (JUL, 21),
342
- 2005: (JUL, 10),
343
- 2009: (MAY, 28),
344
- 2011: (MAY, 7),
345
- 2012: (APR, 25),
346
- 2013: (APR, 14),
347
- 2015: (MAR, 24),
348
- 2016: (MAR, 13),
349
- 2018: (FEB, 20),
350
- 2019: (FEB, 9),
351
- 2020: (JAN, 29),
352
- 2021: (JAN, 17),
353
- 2023: (DEC, 17),
354
- 2024: (DEC, 5),
268
+ 2002: (AUG, 12),
269
+ 2006: (JUN, 29),
270
+ 2007: (JUN, 18),
271
+ 2008: (JUN, 7),
272
+ 2010: (MAY, 17),
273
+ 2014: (APR, 3),
274
+ 2017: (MAR, 2),
275
+ 2022: ((JAN, 6), (DEC, 27)),
276
+ 2025: (NOV, 24),
355
277
  }
356
278
 
357
279
  HASAN_AL_ASKARI_DEATH_DATES_CONFIRMED_YEARS = (2001, 2025)
358
280
  HASAN_AL_ASKARI_DEATH_DATES = {
359
- 2001: (JUN, 1),
360
- 2002: (MAY, 21),
361
- 2003: (MAY, 10),
362
- 2004: (APR, 28),
363
- 2006: (APR, 7),
364
- 2007: (MAR, 28),
365
- 2009: (MAR, 6),
366
- 2010: (FEB, 23),
367
- 2011: (FEB, 12),
368
- 2012: (FEB, 1),
369
- 2014: ((JAN, 10), (DEC, 31)),
370
- 2015: (DEC, 20),
371
- 2016: (DEC, 8),
372
- 2017: (NOV, 27),
373
- 2019: (NOV, 6),
374
- 2021: (OCT, 15),
375
- 2022: (OCT, 5),
376
- 2023: (SEP, 24),
377
- 2024: (SEP, 12),
378
- 2025: (SEP, 1),
281
+ 2005: (APR, 17),
282
+ 2008: (MAR, 16),
283
+ 2013: (JAN, 20),
284
+ 2018: (NOV, 16),
285
+ 2020: (OCT, 25),
379
286
  }
380
287
 
381
288
  IMAM_MAHDI_BIRTHDAY_DATES_CONFIRMED_YEARS = (2001, 2025)
382
289
  IMAM_MAHDI_BIRTHDAY_DATES = {
383
- 2001: (NOV, 1),
384
- 2002: (OCT, 22),
385
- 2003: (OCT, 12),
386
290
  2004: (OCT, 1),
387
- 2005: (SEP, 20),
388
- 2006: (SEP, 9),
389
- 2007: (AUG, 29),
390
- 2008: (AUG, 17),
391
- 2009: (AUG, 7),
392
- 2011: (JUL, 17),
393
- 2015: (JUN, 3),
394
- 2017: (MAY, 12),
395
- 2018: (MAY, 2),
396
- 2019: (APR, 21),
397
- 2020: (APR, 9),
398
- 2021: (MAR, 29),
399
- 2023: (MAR, 8),
291
+ 2010: (JUL, 27),
292
+ 2012: (JUL, 5),
293
+ 2013: (JUN, 24),
294
+ 2014: (JUN, 13),
295
+ 2016: (MAY, 22),
296
+ 2022: (MAR, 18),
297
+ 2024: (FEB, 25),
298
+ 2025: (FEB, 14),
400
299
  }
401
300
 
402
301
  ISRA_AND_MIRAJ_DATES_CONFIRMED_YEARS = (2001, 2025)
403
302
  ISRA_AND_MIRAJ_DATES = {
404
- 2001: (OCT, 15),
405
- 2002: (OCT, 5),
406
- 2004: (SEP, 13),
407
- 2005: (SEP, 2),
408
- 2006: (AUG, 22),
409
- 2007: (AUG, 11),
410
- 2010: (JUL, 10),
411
- 2011: (JUN, 30),
412
- 2012: (JUN, 18),
413
- 2013: (JUN, 7),
414
- 2014: (MAY, 27),
415
- 2016: (MAY, 5),
416
- 2017: (APR, 25),
417
- 2018: (APR, 14),
418
- 2022: (MAR, 1),
419
- 2025: (JAN, 28),
303
+ 2003: (SEP, 24),
304
+ 2008: (JUL, 30),
305
+ 2009: (JUL, 20),
306
+ 2015: (MAY, 16),
307
+ 2019: (APR, 3),
308
+ 2020: (MAR, 22),
309
+ 2021: (MAR, 11),
310
+ 2023: (FEB, 18),
311
+ 2024: (FEB, 8),
420
312
  }
421
313
 
422
314
  PROPHET_DEATH_DATES_CONFIRMED_YEARS = (2001, 2025)
423
315
  PROPHET_DEATH_DATES = {
424
- 2003: (MAY, 1),
425
- 2004: (APR, 19),
426
- 2005: (APR, 8),
427
- 2006: (MAR, 29),
428
- 2008: (MAR, 7),
429
- 2009: (FEB, 24),
430
- 2010: (FEB, 13),
431
- 2011: (FEB, 2),
316
+ 2001: (MAY, 22),
317
+ 2002: (MAY, 11),
318
+ 2007: (MAR, 18),
319
+ 2012: (JAN, 22),
432
320
  2013: ((JAN, 11), (DEC, 31)),
433
- 2014: (DEC, 21),
434
- 2018: (NOV, 7),
435
- 2020: (OCT, 16),
436
- 2022: (SEP, 25),
437
- 2023: (SEP, 14),
438
- 2024: (SEP, 2),
321
+ 2015: (DEC, 10),
322
+ 2016: (NOV, 28),
323
+ 2017: (NOV, 17),
324
+ 2019: (OCT, 27),
325
+ 2021: (OCT, 5),
326
+ 2025: (AUG, 22),
439
327
  }
440
328
 
441
329
  SADIQ_BIRTHDAY_DATES_CONFIRMED_YEARS = (2001, 2025)
442
330
  SADIQ_BIRTHDAY_DATES = {
443
- 2001: (JUN, 10),
444
- 2002: (MAY, 30),
445
- 2003: (MAY, 19),
446
- 2004: (MAY, 7),
447
- 2006: (APR, 16),
448
- 2007: (APR, 6),
449
- 2009: (MAR, 15),
450
- 2010: (MAR, 4),
451
- 2011: (FEB, 21),
452
- 2012: (FEB, 10),
453
- 2014: (JAN, 19),
454
- 2015: ((JAN, 9), (DEC, 29)),
455
- 2016: (DEC, 17),
456
- 2017: (DEC, 6),
457
- 2019: (NOV, 15),
458
- 2021: (OCT, 24),
459
- 2022: (OCT, 14),
460
- 2023: (OCT, 3),
461
- 2024: (SEP, 21),
462
- 2025: (SEP, 10),
331
+ 2005: (APR, 26),
332
+ 2008: (MAR, 25),
333
+ 2013: (JAN, 29),
334
+ 2018: (NOV, 25),
335
+ 2020: (NOV, 3),
463
336
  }
464
337
 
465
338
  SADIQ_DEATH_DATES_CONFIRMED_YEARS = (2001, 2025)
466
339
  SADIQ_DEATH_DATES = {
340
+ 2001: (JAN, 20),
467
341
  2002: ((JAN, 9), (DEC, 30)),
468
- 2003: (DEC, 20),
469
- 2005: (NOV, 28),
470
- 2006: (NOV, 17),
471
- 2011: (SEP, 24),
472
- 2013: (SEP, 2),
473
- 2014: (AUG, 22),
474
- 2015: (AUG, 11),
475
- 2017: (JUL, 20),
476
- 2019: (JUN, 29),
477
- 2022: (MAY, 27),
478
- 2023: (MAY, 16),
479
- 2025: (APR, 24),
342
+ 2004: (DEC, 8),
343
+ 2007: (NOV, 6),
344
+ 2008: (OCT, 25),
345
+ 2009: (OCT, 14),
346
+ 2010: (OCT, 4),
347
+ 2012: (SEP, 12),
348
+ 2016: (JUL, 30),
349
+ 2018: (JUL, 9),
350
+ 2020: (JUN, 17),
351
+ 2021: (JUN, 6),
352
+ 2024: (MAY, 4),
480
353
  }
481
354
 
482
355
  TASUA_DATES_CONFIRMED_YEARS = (2001, 2025)
483
356
  TASUA_DATES = {
484
- 2001: (APR, 4),
485
- 2002: (MAR, 24),
486
- 2003: (MAR, 13),
487
- 2004: (MAR, 1),
488
- 2005: (FEB, 19),
489
- 2007: (JAN, 29),
490
- 2011: (DEC, 5),
491
- 2012: (NOV, 24),
492
- 2013: (NOV, 13),
493
- 2014: (NOV, 3),
494
- 2015: (OCT, 23),
495
- 2016: (OCT, 11),
496
- 2017: (SEP, 30),
497
- 2019: (SEP, 9),
498
- 2020: (AUG, 29),
499
- 2021: (AUG, 18),
500
- 2025: (JUL, 5),
357
+ 2006: (FEB, 8),
358
+ 2008: (JAN, 18),
359
+ 2009: ((JAN, 6), (DEC, 26)),
360
+ 2010: (DEC, 15),
361
+ 2018: (SEP, 19),
362
+ 2022: (AUG, 7),
363
+ 2023: (JUL, 27),
364
+ 2024: (JUL, 15),
501
365
  }
@@ -47,7 +47,7 @@ class Ireland(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
47
47
 
48
48
  # Saint Patrick's Day.
49
49
  if self._year >= 1903:
50
- self._add_holiday_mar_17("Saint Patrick's Day")
50
+ self._add_saint_patricks_day("Saint Patrick's Day")
51
51
 
52
52
  # Easter Monday.
53
53
  self._add_easter_monday("Easter Monday")
@@ -50,7 +50,7 @@ class Israel(ObservedHolidayBase, HebrewCalendarHolidays):
50
50
  super().__init__(*args, **kwargs)
51
51
 
52
52
  def _add_observed(self, dt, name, rule):
53
- is_observed, _ = super()._add_observed(dt, name, rule)
53
+ is_observed, _ = super()._add_observed(dt, name, rule=rule)
54
54
  if not is_observed:
55
55
  self._add_holiday(name, dt)
56
56
 
@@ -357,7 +357,7 @@ class Italy(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHoliday
357
357
  self._add_christmas_day_two("Santo Stefano")
358
358
 
359
359
  def _populate_subdiv_bl_public_holidays(self):
360
- self._add_holiday_nov_11("San Martino")
360
+ self._add_saint_martins_day("San Martino")
361
361
 
362
362
  def _populate_subdiv_bn_public_holidays(self):
363
363
  self._add_holiday_aug_24("San Bartolomeo apostolo")
@@ -518,7 +518,7 @@ class Italy(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHoliday
518
518
  self._add_holiday_jul_4("Sant'Antonino di Piacenza")
519
519
 
520
520
  def _populate_subdiv_pd_public_holidays(self):
521
- self._add_holiday_jun_13("Sant'Antonio di Padova")
521
+ self._add_saint_anthonys_day("Sant'Antonio di Padova")
522
522
 
523
523
  def _populate_subdiv_pe_public_holidays(self):
524
524
  self._add_holiday_oct_10("San Cetteo")
@@ -11,7 +11,6 @@
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from datetime import date
14
- from typing import Optional
15
14
 
16
15
  from holidays.calendars.gregorian import JAN, APR, MAY, JUN, JUL, SEP, OCT, DEC
17
16
  from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
@@ -60,7 +59,7 @@ class Jersey(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
60
59
  kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY)
61
60
  ObservedHolidayBase.__init__(self, *args, **kwargs)
62
61
 
63
- def _add_observed(self, dt: date, **kwargs) -> tuple[bool, Optional[date]]:
62
+ def _add_observed(self, dt: date, **kwargs) -> tuple[bool, date | None]:
64
63
  # Prior to 2004, in-lieu are only given for Sundays.
65
64
  # https://web.archive.org/web/20250414072718/https://www.jerseylaw.je/laws/enacted/Pages/RO-123-2004.aspx
66
65
  kwargs.setdefault(
@@ -166,24 +166,22 @@ class Macau(
166
166
  self._add_qingming_festival(tr("清明節"))
167
167
 
168
168
  # Regulamento Administrativo n.º 4/1999 - Name changed in Chinese for Good Friday.
169
- name = (
169
+ self._add_good_friday(
170
170
  # Good Friday.
171
171
  tr("耶穌受難日")
172
172
  if self._year >= 2000
173
173
  # Good Friday.
174
174
  else tr("聖周星期五")
175
175
  )
176
- self._add_good_friday(name)
177
176
 
178
177
  # Regulamento Administrativo n.º 4/1999 - Name changed to The Day before Easter.
179
- name = (
178
+ self._add_holy_saturday(
180
179
  # The Day before Easter.
181
180
  tr("復活節前日")
182
181
  if self._year >= 2000
183
182
  # Holy Saturday.
184
183
  else tr("聖周星期六")
185
184
  )
186
- self._add_holy_saturday(name)
187
185
 
188
186
  # Labor Day.
189
187
  self._add_labor_day(tr("勞動節"))
@@ -232,14 +230,13 @@ class Macau(
232
230
  self._add_christmas_eve(name)
233
231
 
234
232
  # Portaria n.º 242/98/M - Name changed in Chinese for Christmas Day.
235
- name = (
233
+ self._add_christmas_day(
236
234
  # Christmas Day.
237
235
  tr("聖誕節")
238
236
  if self._year >= 1999
239
237
  # Christmas Day.
240
238
  else tr("聖誕")
241
239
  )
242
- self._add_christmas_day(name)
243
240
 
244
241
  # Decreto-Lei n.º 38/87/M - Removed Assumption Day and All Saints' Day as Public Holiday.
245
242
  if self._year <= 1986:
@@ -371,10 +368,10 @@ class Macau(
371
368
  if self.observed:
372
369
  self.observed_label = (
373
370
  # Compensatory rest day for %s.
374
- self.tr("%s的補假")
371
+ tr("%s的補假")
375
372
  if self._year >= 2020
376
373
  # The first working day after %s.
377
- else self.tr("%s後首個工作日")
374
+ else tr("%s後首個工作日")
378
375
  )
379
376
  self.observed_estimated_label = (
380
377
  # Compensatory rest day for %s (estimated).
@@ -112,7 +112,7 @@ class Malta(HolidayBase, ChristianHolidays, InternationalHolidays):
112
112
 
113
113
  if self._year >= 1987:
114
114
  # Feast of Our Lady of Victories.
115
- self._add_holiday_sep_8(tr("Jum il-Vitorja"))
115
+ self._add_nativity_of_mary_day(tr("Jum il-Vitorja"))
116
116
 
117
117
  # Jum l-Indipendenza
118
118
  # Status: In-Use.
@@ -13,7 +13,7 @@
13
13
  from gettext import gettext as tr
14
14
 
15
15
  from holidays.calendars import _CustomHinduHolidays, _CustomIslamicHolidays
16
- from holidays.calendars.gregorian import JAN, FEB, APR, MAY, JUN, JUL, AUG, SEP
16
+ from holidays.calendars.gregorian import JAN, FEB, APR, MAY, JUL, AUG, SEP
17
17
  from holidays.groups import (
18
18
  ChineseCalendarHolidays,
19
19
  ChristianHolidays,
@@ -65,13 +65,19 @@ class Mauritius(
65
65
  islamic_show_estimated:
66
66
  Whether to add "estimated" label to Islamic holidays name
67
67
  if holiday date is estimated.
68
+
69
+ In Mauritius, the dates of the Islamic calendar usually fall a day later than
70
+ the corresponding dates in the Umm al-Qura calendar.
68
71
  """
69
72
  ChineseCalendarHolidays.__init__(self)
70
73
  ChristianHolidays.__init__(self)
71
74
  HinduCalendarHolidays.__init__(self, cls=MauritiusHinduHolidays)
72
75
  InternationalHolidays.__init__(self)
73
76
  IslamicHolidays.__init__(
74
- self, cls=MauritiusIslamicHolidays, show_estimated=islamic_show_estimated
77
+ self,
78
+ cls=MauritiusIslamicHolidays,
79
+ show_estimated=islamic_show_estimated,
80
+ calendar_delta_days=+1,
75
81
  )
76
82
  StaticHolidays.__init__(self, cls=MauritiusStaticHolidays)
77
83
  super().__init__(*args, **kwargs)
@@ -167,13 +173,8 @@ class MauritiusIslamicHolidays(_CustomIslamicHolidays):
167
173
  # https://web.archive.org/web/20250420201326/https://www.timeanddate.com/holidays/mauritius/eid-al-fitr
168
174
  EID_AL_FITR_DATES_CONFIRMED_YEARS = (2016, 2025)
169
175
  EID_AL_FITR_DATES = {
170
- 2017: (JUN, 26),
171
- 2018: (JUN, 16),
172
- 2019: (JUN, 5),
173
- 2021: (MAY, 14),
174
- 2022: (MAY, 3),
175
- 2023: (APR, 22),
176
- 2024: (APR, 11),
176
+ 2016: (JUL, 6),
177
+ 2020: (MAY, 24),
177
178
  2025: (APR, 1),
178
179
  }
179
180
 
@@ -64,7 +64,7 @@ class Montserrat(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
64
64
  )
65
65
 
66
66
  # Saint Patrick's Day.
67
- self._add_observed(self._add_holiday_mar_17(tr("Saint Patrick's Day")))
67
+ self._add_observed(self._add_saint_patricks_day(tr("Saint Patrick's Day")))
68
68
 
69
69
  # Good Friday.
70
70
  self._add_good_friday(tr("Good Friday"))