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
holidays/groups/hindu.py CHANGED
@@ -12,7 +12,6 @@
12
12
 
13
13
  from collections.abc import Iterable
14
14
  from datetime import date
15
- from typing import Optional
16
15
 
17
16
  from holidays.calendars.hindu import _HinduLunisolar
18
17
  from holidays.groups.eastern import EasternCalendarHolidays
@@ -23,13 +22,13 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
23
22
  Hindu lunisolar calendar holidays.
24
23
  """
25
24
 
26
- def __init__(self, cls=None, show_estimated=False) -> None:
25
+ def __init__(self, cls=None, *, show_estimated=False) -> None:
27
26
  self._hindu_calendar = cls() if cls else _HinduLunisolar()
28
27
  self._hindu_calendar_show_estimated = show_estimated
29
28
 
30
29
  def _add_hindu_calendar_holiday(
31
- self, name: str, dt_estimated: tuple[Optional[date], bool], days_delta: int = 0
32
- ) -> Optional[date]:
30
+ self, name: str, dt_estimated: tuple[date | None, bool], days_delta: int = 0
31
+ ) -> date | None:
33
32
  """
34
33
  Add Hindu calendar holiday.
35
34
 
@@ -38,7 +37,10 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
38
37
  """
39
38
 
40
39
  return self._add_eastern_calendar_holiday(
41
- name, dt_estimated, self._hindu_calendar_show_estimated, days_delta
40
+ name,
41
+ dt_estimated,
42
+ show_estimated=self._hindu_calendar_show_estimated,
43
+ days_delta=days_delta,
42
44
  )
43
45
 
44
46
  def _add_hindu_calendar_holiday_set(
@@ -51,10 +53,13 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
51
53
  is an estimation.
52
54
  """
53
55
  return self._add_eastern_calendar_holiday_set(
54
- name, dts_estimated, self._hindu_calendar_show_estimated, days_delta
56
+ name,
57
+ dts_estimated,
58
+ show_estimated=self._hindu_calendar_show_estimated,
59
+ days_delta=days_delta,
55
60
  )
56
61
 
57
- def _add_bhai_dooj(self, name) -> Optional[date]:
62
+ def _add_bhai_dooj(self, name) -> date | None:
58
63
  """
59
64
  Add Bhai Dooj.
60
65
 
@@ -66,7 +71,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
66
71
  name, self._hindu_calendar.govardhan_puja_date(self._year), days_delta=+1
67
72
  )
68
73
 
69
- def _add_buddha_purnima(self, name) -> Optional[date]:
74
+ def _add_buddha_purnima(self, name) -> date | None:
70
75
  """
71
76
  Add Buddha Purnima.
72
77
 
@@ -79,7 +84,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
79
84
  name, self._hindu_calendar.buddha_purnima_date(self._year)
80
85
  )
81
86
 
82
- def _add_chhath_puja(self, name) -> Optional[date]:
87
+ def _add_chhath_puja(self, name) -> date | None:
83
88
  """
84
89
  Add Chhath Puja.
85
90
 
@@ -91,7 +96,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
91
96
  name, self._hindu_calendar.chhath_puja_date(self._year)
92
97
  )
93
98
 
94
- def _add_diwali(self, name) -> Optional[date]:
99
+ def _add_diwali(self, name) -> date | None:
95
100
  """
96
101
  Add Diwali Festival.
97
102
 
@@ -103,12 +108,12 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
103
108
  """
104
109
  return self._add_hindu_calendar_holiday(name, self._hindu_calendar.diwali_date(self._year))
105
110
 
106
- def _add_diwali_india(self, name) -> Optional[date]:
111
+ def _add_diwali_india(self, name) -> date | None:
107
112
  return self._add_hindu_calendar_holiday(
108
113
  name, self._hindu_calendar.diwali_india_date(self._year)
109
114
  )
110
115
 
111
- def _add_dussehra(self, name) -> Optional[date]:
116
+ def _add_dussehra(self, name) -> date | None:
112
117
  """
113
118
  Add Dussehra Festival.
114
119
 
@@ -121,7 +126,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
121
126
  name, self._hindu_calendar.dussehra_date(self._year)
122
127
  )
123
128
 
124
- def _add_ganesh_chaturthi(self, name) -> Optional[date]:
129
+ def _add_ganesh_chaturthi(self, name) -> date | None:
125
130
  """
126
131
  Add Ganesh Chaturthi.
127
132
 
@@ -133,7 +138,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
133
138
  name, self._hindu_calendar.ganesh_chaturthi_date(self._year)
134
139
  )
135
140
 
136
- def _add_gau_krida(self, name) -> Optional[date]:
141
+ def _add_gau_krida(self, name) -> date | None:
137
142
  """
138
143
  Add Gau Krida.
139
144
 
@@ -143,7 +148,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
143
148
  name, self._hindu_calendar.govardhan_puja_date(self._year), days_delta=-1
144
149
  )
145
150
 
146
- def _add_govardhan_puja(self, name) -> Optional[date]:
151
+ def _add_govardhan_puja(self, name) -> date | None:
147
152
  """
148
153
  Add Govardhan Puja.
149
154
 
@@ -155,7 +160,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
155
160
  name, self._hindu_calendar.govardhan_puja_date(self._year)
156
161
  )
157
162
 
158
- def _add_gudi_padwa(self, name) -> Optional[date]:
163
+ def _add_gudi_padwa(self, name) -> date | None:
159
164
  """
160
165
  Add Gudi Padwa / Ugadi.
161
166
 
@@ -186,7 +191,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
186
191
  name, self._hindu_calendar.guru_gobind_singh_jayanti_date(self._year)
187
192
  )
188
193
 
189
- def _add_guru_nanak_jayanti(self, name) -> Optional[date]:
194
+ def _add_guru_nanak_jayanti(self, name) -> date | None:
190
195
  """
191
196
  Add Guru Nanak Jayanti.
192
197
 
@@ -199,7 +204,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
199
204
  name, self._hindu_calendar.guru_nanak_jayanti_date(self._year)
200
205
  )
201
206
 
202
- def _add_gyalpo_losar(self, name) -> Optional[date]:
207
+ def _add_gyalpo_losar(self, name) -> date | None:
203
208
  """
204
209
  Add Gyalpo Losar.
205
210
 
@@ -212,7 +217,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
212
217
  name, self._hindu_calendar.gyalpo_losar_date(self._year)
213
218
  )
214
219
 
215
- def _add_nepal_holi(self, name) -> Optional[date]:
220
+ def _add_nepal_holi(self, name) -> date | None:
216
221
  """
217
222
  Add Holi Festival for Nepal (Mountain & Hilly).
218
223
 
@@ -225,7 +230,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
225
230
  name, self._hindu_calendar.holi_date(self._year), days_delta=-1
226
231
  )
227
232
 
228
- def _add_holi(self, name) -> Optional[date]:
233
+ def _add_holi(self, name) -> date | None:
229
234
  """
230
235
  Add Holi Festival.
231
236
 
@@ -236,7 +241,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
236
241
  """
237
242
  return self._add_hindu_calendar_holiday(name, self._hindu_calendar.holi_date(self._year))
238
243
 
239
- def _add_janmashtami(self, name) -> Optional[date]:
244
+ def _add_janmashtami(self, name) -> date | None:
240
245
  """
241
246
  Add Janmashtami.
242
247
 
@@ -248,7 +253,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
248
253
  name, self._hindu_calendar.janmashtami_date(self._year)
249
254
  )
250
255
 
251
- def _add_maha_saptami(self, name) -> Optional[date]:
256
+ def _add_maha_saptami(self, name) -> date | None:
252
257
  """
253
258
  Add Maha Saptami.
254
259
 
@@ -260,7 +265,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
260
265
  name, self._hindu_calendar.maha_ashtami_date(self._year), days_delta=-1
261
266
  )
262
267
 
263
- def _add_maha_ashtami(self, name) -> Optional[date]:
268
+ def _add_maha_ashtami(self, name) -> date | None:
264
269
  """
265
270
  Add Maha Ashtami.
266
271
 
@@ -272,7 +277,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
272
277
  name, self._hindu_calendar.maha_ashtami_date(self._year)
273
278
  )
274
279
 
275
- def _add_maha_navami(self, name) -> Optional[date]:
280
+ def _add_maha_navami(self, name) -> date | None:
276
281
  """
277
282
  Add Maha Navami.
278
283
 
@@ -284,7 +289,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
284
289
  name, self._hindu_calendar.maha_navami_date(self._year)
285
290
  )
286
291
 
287
- def _add_maha_shivaratri(self, name) -> Optional[date]:
292
+ def _add_maha_shivaratri(self, name) -> date | None:
288
293
  """
289
294
  Add Maha Shivaratri.
290
295
 
@@ -296,7 +301,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
296
301
  name, self._hindu_calendar.maha_shivaratri_date(self._year)
297
302
  )
298
303
 
299
- def _add_mahavir_jayanti(self, name) -> Optional[date]:
304
+ def _add_mahavir_jayanti(self, name) -> date | None:
300
305
  """
301
306
  Add Mahavir Jayanti.
302
307
 
@@ -308,7 +313,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
308
313
  name, self._hindu_calendar.mahavir_jayanti_date(self._year)
309
314
  )
310
315
 
311
- def _add_makar_sankranti(self, name) -> Optional[date]:
316
+ def _add_makar_sankranti(self, name) -> date | None:
312
317
  """
313
318
  Add Makar Sankranti.
314
319
 
@@ -320,7 +325,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
320
325
  name, self._hindu_calendar.makar_sankranti_date(self._year)
321
326
  )
322
327
 
323
- def _add_onam(self, name) -> Optional[date]:
328
+ def _add_onam(self, name) -> date | None:
324
329
  """
325
330
  Add Onam.
326
331
 
@@ -330,7 +335,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
330
335
  """
331
336
  return self._add_hindu_calendar_holiday(name, self._hindu_calendar.onam_date(self._year))
332
337
 
333
- def _add_papankusha_ekadashi(self, name) -> Optional[date]:
338
+ def _add_papankusha_ekadashi(self, name) -> date | None:
334
339
  """
335
340
  Add Papankusha Ekadashi.
336
341
 
@@ -342,7 +347,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
342
347
  name, self._hindu_calendar.dussehra_date(self._year), days_delta=+1
343
348
  )
344
349
 
345
- def _add_papankusha_duwadashi(self, name) -> Optional[date]:
350
+ def _add_papankusha_duwadashi(self, name) -> date | None:
346
351
  """
347
352
  Add Papankusha Duwadashi.
348
353
 
@@ -353,7 +358,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
353
358
  name, self._hindu_calendar.dussehra_date(self._year), days_delta=+2
354
359
  )
355
360
 
356
- def _add_pongal(self, name) -> Optional[date]:
361
+ def _add_pongal(self, name) -> date | None:
357
362
  """
358
363
  Add Pongal.
359
364
 
@@ -365,7 +370,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
365
370
  """
366
371
  return self._add_hindu_calendar_holiday(name, self._hindu_calendar.pongal_date(self._year))
367
372
 
368
- def _add_raksha_bandhan(self, name) -> Optional[date]:
373
+ def _add_raksha_bandhan(self, name) -> date | None:
369
374
  """
370
375
  Add Raksha Bandhan.
371
376
 
@@ -378,7 +383,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
378
383
  name, self._hindu_calendar.raksha_bandhan_date(self._year)
379
384
  )
380
385
 
381
- def _add_ram_navami(self, name) -> Optional[date]:
386
+ def _add_ram_navami(self, name) -> date | None:
382
387
  """
383
388
  Add Ram Navami.
384
389
 
@@ -390,7 +395,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
390
395
  name, self._hindu_calendar.ram_navami_date(self._year)
391
396
  )
392
397
 
393
- def _add_sharad_navratri(self, name) -> Optional[date]:
398
+ def _add_sharad_navratri(self, name) -> date | None:
394
399
  """
395
400
  Add Navratri / Sharad Navratri.
396
401
 
@@ -403,7 +408,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
403
408
  name, self._hindu_calendar.sharad_navratri_date(self._year)
404
409
  )
405
410
 
406
- def _add_sonam_losar(self, name) -> Optional[date]:
411
+ def _add_sonam_losar(self, name) -> date | None:
407
412
  """
408
413
  Add Sonam Losar.
409
414
 
@@ -416,7 +421,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
416
421
  name, self._hindu_calendar.sonam_losar_date(self._year)
417
422
  )
418
423
 
419
- def _add_tamu_losar(self, name) -> Optional[date]:
424
+ def _add_tamu_losar(self, name) -> date | None:
420
425
  """
421
426
  Add Tamu Losar.
422
427
 
@@ -428,7 +433,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
428
433
  name, self._hindu_calendar.tamu_losar_date(self._year)
429
434
  )
430
435
 
431
- def _add_thaipusam(self, name) -> Optional[date]:
436
+ def _add_thaipusam(self, name) -> date | None:
432
437
  """
433
438
  Add Thaipusam.
434
439
 
@@ -440,7 +445,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
440
445
  name, self._hindu_calendar.thaipusam_date(self._year)
441
446
  )
442
447
 
443
- def _add_thiruvalluvar_day(self, name) -> Optional[date]:
448
+ def _add_thiruvalluvar_day(self, name) -> date | None:
444
449
  """
445
450
  Add Thiruvalluvar Day and Mattu Pongal.
446
451
 
@@ -456,7 +461,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
456
461
  name, self._hindu_calendar.pongal_date(self._year), days_delta=+1
457
462
  )
458
463
 
459
- def _add_uzhavar_thirunal(self, name) -> Optional[date]:
464
+ def _add_uzhavar_thirunal(self, name) -> date | None:
460
465
  """
461
466
  Add Uzhavar Thirunal.
462
467
 
@@ -470,7 +475,7 @@ class HinduCalendarHolidays(EasternCalendarHolidays):
470
475
  name, self._hindu_calendar.pongal_date(self._year), days_delta=+2
471
476
  )
472
477
 
473
- def _add_vaisakhi(self, name) -> Optional[date]:
478
+ def _add_vaisakhi(self, name) -> date | None:
474
479
  """
475
480
  Add Vaisakhi.
476
481
 
@@ -212,7 +212,7 @@ class InternationalHolidays:
212
212
  """
213
213
  return self._add_holiday_mar_8(name)
214
214
 
215
- def _add_world_war_two_victory_day(self, name, is_western=True):
215
+ def _add_world_war_two_victory_day(self, name, *, is_western=True):
216
216
  """
217
217
  Add Day of Victory in World War II in Europe (May 8).
218
218
  https://en.wikipedia.org/wiki/Victory_in_Europe_Day
@@ -25,8 +25,12 @@ class IslamicHolidays(EasternCalendarHolidays):
25
25
  calendar consisting of 12 lunar months in a year of 354 or 355 days.
26
26
  """
27
27
 
28
- def __init__(self, cls=None, show_estimated=True) -> None:
29
- self._islamic_calendar = cls() if cls else _IslamicLunar()
28
+ def __init__(self, cls=None, *, show_estimated=True, calendar_delta_days=0) -> None:
29
+ self._islamic_calendar = (
30
+ cls(calendar_delta_days=calendar_delta_days)
31
+ if cls
32
+ else _IslamicLunar(calendar_delta_days=calendar_delta_days)
33
+ )
30
34
  self._islamic_calendar_show_estimated = show_estimated
31
35
 
32
36
  def _add_ali_al_rida_death_day(self, name) -> set[date]:
@@ -282,7 +286,10 @@ class IslamicHolidays(EasternCalendarHolidays):
282
286
  holiday date is an estimation.
283
287
  """
284
288
  return self._add_eastern_calendar_holiday_set(
285
- name, dts_estimated, self._islamic_calendar_show_estimated, days_delta
289
+ name,
290
+ dts_estimated,
291
+ show_estimated=self._islamic_calendar_show_estimated,
292
+ days_delta=days_delta,
286
293
  )
287
294
 
288
295
  def _add_islamic_new_year_day(self, name) -> set[date]:
@@ -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 _timedelta
17
16
  from holidays.calendars.mandaean import _Mandaean
@@ -37,7 +36,7 @@ class MandaeanHolidays:
37
36
  def _parwanaya(self):
38
37
  return self._mandaean.mandaean_to_gregorian(self._year - 1, 13, 1)
39
38
 
40
- def _add_mandaean_holiday(self, name: str, dt: Optional[date]) -> Optional[date]:
39
+ def _add_mandaean_holiday(self, name: str, dt: date | None) -> date | None:
41
40
  """
42
41
  Add a Mandaean holiday.
43
42
  """
@@ -45,7 +44,7 @@ class MandaeanHolidays:
45
44
  return None
46
45
  return self._add_holiday(name, dt)
47
46
 
48
- def _add_parwanaya_day(self, name) -> Optional[date]:
47
+ def _add_parwanaya_day(self, name) -> date | None:
49
48
  """
50
49
  Add Parwanaya (Feast of Creation).
51
50
  A major Mandaean holiday celebrated over five days after the 8th month.
@@ -55,19 +54,19 @@ class MandaeanHolidays:
55
54
  """
56
55
  return self._add_mandaean_holiday(name, self._parwanaya)
57
56
 
58
- def _add_parwanaya_day_two(self, name) -> Optional[date]:
57
+ def _add_parwanaya_day_two(self, name) -> date | None:
59
58
  return self._add_mandaean_holiday(name, _timedelta(self._parwanaya, +1))
60
59
 
61
- def _add_parwanaya_day_three(self, name) -> Optional[date]:
60
+ def _add_parwanaya_day_three(self, name) -> date | None:
62
61
  return self._add_mandaean_holiday(name, _timedelta(self._parwanaya, +2))
63
62
 
64
- def _add_parwanaya_day_four(self, name) -> Optional[date]:
63
+ def _add_parwanaya_day_four(self, name) -> date | None:
65
64
  return self._add_mandaean_holiday(name, _timedelta(self._parwanaya, +3))
66
65
 
67
- def _add_parwanaya_day_five(self, name) -> Optional[date]:
66
+ def _add_parwanaya_day_five(self, name) -> date | None:
68
67
  return self._add_mandaean_holiday(name, _timedelta(self._parwanaya, +4))
69
68
 
70
- def _add_dehwa_daimana_day(self, name) -> Optional[date]:
69
+ def _add_dehwa_daimana_day(self, name) -> date | None:
71
70
  """
72
71
  Add Dehwa Daimana (Birthday of Prophet Yahya).
73
72
  Celebrated on 1st day of Mandaean 11th month.
@@ -77,7 +76,7 @@ class MandaeanHolidays:
77
76
  name, self._mandaean.mandaean_to_gregorian(self._year - 1, 11, 1)
78
77
  )
79
78
 
80
- def _add_dehwa_hanina_day(self, name) -> Optional[date]:
79
+ def _add_dehwa_hanina_day(self, name) -> date | None:
81
80
  """
82
81
  Add Dehwa Hanina (Little Feast / Day of Victory).
83
82
  Commemorates spiritual triumph and deliverance.
@@ -86,10 +85,10 @@ class MandaeanHolidays:
86
85
  """
87
86
  return self._add_mandaean_holiday(name, self._dehwa_hanina)
88
87
 
89
- def _add_dehwa_hanina_day_two(self, name) -> Optional[date]:
88
+ def _add_dehwa_hanina_day_two(self, name) -> date | None:
90
89
  return self._add_mandaean_holiday(name, _timedelta(self._dehwa_hanina, +1))
91
90
 
92
- def _add_great_feast_day(self, name) -> Optional[date]:
91
+ def _add_great_feast_day(self, name) -> date | None:
93
92
  """
94
93
  Add Great Feast (Feast of the Great Shishlam).
95
94
  Celebrated on the 6th day of the first month of the Mandaean calendar.
@@ -97,11 +96,11 @@ class MandaeanHolidays:
97
96
  """
98
97
  return self._add_mandaean_holiday(name, self._great_feast)
99
98
 
100
- def _add_great_feast_day_two(self, name) -> Optional[date]:
99
+ def _add_great_feast_day_two(self, name) -> date | None:
101
100
  return self._add_mandaean_holiday(name, _timedelta(self._great_feast, +1))
102
101
 
103
- def _add_great_feast_day_three(self, name) -> Optional[date]:
102
+ def _add_great_feast_day_three(self, name) -> date | None:
104
103
  return self._add_mandaean_holiday(name, _timedelta(self._great_feast, +2))
105
104
 
106
- def _add_great_feast_day_four(self, name) -> Optional[date]:
105
+ def _add_great_feast_day_four(self, name) -> date | None:
107
106
  return self._add_mandaean_holiday(name, _timedelta(self._great_feast, +3))
@@ -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.mongolian import _MongolianLunisolar
17
16
  from holidays.groups.eastern import EasternCalendarHolidays
@@ -22,13 +21,13 @@ class MongolianCalendarHolidays(EasternCalendarHolidays):
22
21
  Mongolian lunisolar calendar holidays.
23
22
  """
24
23
 
25
- def __init__(self, cls=None, show_estimated=False) -> None:
24
+ def __init__(self, cls=None, *, show_estimated=False) -> None:
26
25
  self._mongolian_calendar = cls() if cls else _MongolianLunisolar()
27
26
  self._mongolian_calendar_show_estimated = show_estimated
28
27
 
29
28
  def _add_mongolian_calendar_holiday(
30
- self, name: str, dt_estimated: tuple[Optional[date], bool], days_delta: int = 0
31
- ) -> Optional[date]:
29
+ self, name: str, dt_estimated: tuple[date | None, bool], days_delta: int = 0
30
+ ) -> date | None:
32
31
  """
33
32
  Add Mongolian calendar holiday.
34
33
 
@@ -37,10 +36,13 @@ class MongolianCalendarHolidays(EasternCalendarHolidays):
37
36
  """
38
37
 
39
38
  return self._add_eastern_calendar_holiday(
40
- name, dt_estimated, self._mongolian_calendar_show_estimated, days_delta
39
+ name,
40
+ dt_estimated,
41
+ show_estimated=self._mongolian_calendar_show_estimated,
42
+ days_delta=days_delta,
41
43
  )
42
44
 
43
- def _add_buddha_day(self, name) -> Optional[date]:
45
+ def _add_buddha_day(self, name) -> date | None:
44
46
  """
45
47
  Add Buddha Day.
46
48
 
@@ -53,7 +55,7 @@ class MongolianCalendarHolidays(EasternCalendarHolidays):
53
55
  name, self._mongolian_calendar.buddha_day_date(self._year)
54
56
  )
55
57
 
56
- def _add_genghis_khan_day(self, name) -> Optional[date]:
58
+ def _add_genghis_khan_day(self, name) -> date | None:
57
59
  """
58
60
  Add Genghis Khan's Birthday.
59
61
 
@@ -66,7 +68,7 @@ class MongolianCalendarHolidays(EasternCalendarHolidays):
66
68
  name, self._mongolian_calendar.genghis_khan_day_date(self._year)
67
69
  )
68
70
 
69
- def _add_tsagaan_sar(self, name) -> Optional[date]:
71
+ def _add_tsagaan_sar(self, name) -> date | None:
70
72
  """
71
73
  Add Tsagaan Sar (Mongolian Lunar New Year).
72
74
 
@@ -78,7 +80,7 @@ class MongolianCalendarHolidays(EasternCalendarHolidays):
78
80
  name, self._mongolian_calendar.tsagaan_sar_date(self._year)
79
81
  )
80
82
 
81
- def _add_tsagaan_sar_day_2(self, name) -> Optional[date]:
83
+ def _add_tsagaan_sar_day_2(self, name) -> date | None:
82
84
  """
83
85
  Add Tsagaan Sar Day 2 (Mongolian Lunar New Year).
84
86
 
@@ -90,7 +92,7 @@ class MongolianCalendarHolidays(EasternCalendarHolidays):
90
92
  name, self._mongolian_calendar.tsagaan_sar_date(self._year), days_delta=+1
91
93
  )
92
94
 
93
- def _add_tsagaan_sar_day_3(self, name) -> Optional[date]:
95
+ def _add_tsagaan_sar_day_3(self, name) -> date | None:
94
96
  """
95
97
  Add Tsagaan Sar Day 3 (Mongolian Lunar New Year).
96
98
 
@@ -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 _timedelta
17
16
  from holidays.calendars.persian import _Persian
@@ -25,7 +24,7 @@ class PersianCalendarHolidays:
25
24
  def __init__(self) -> None:
26
25
  self._persian_calendar = _Persian()
27
26
 
28
- def _add_death_of_khomeini_day(self, name: str) -> Optional[date]:
27
+ def _add_death_of_khomeini_day(self, name: str) -> date | None:
29
28
  """
30
29
  Add Death of Ruhollah Khomeini Day (14th day of the 3rd month).
31
30
 
@@ -36,7 +35,7 @@ class PersianCalendarHolidays:
36
35
  name, self._persian_calendar.persian_to_gregorian(self._year, 3, 14)
37
36
  )
38
37
 
39
- def _add_islamic_emirat_victory_day(self, name: str) -> Optional[date]:
38
+ def _add_islamic_emirat_victory_day(self, name: str) -> date | None:
40
39
  """
41
40
  Add Islamic Emirate Victory Day (24th day of the 5th month).
42
41
 
@@ -47,7 +46,7 @@ class PersianCalendarHolidays:
47
46
  name, self._persian_calendar.persian_to_gregorian(self._year, 5, 24)
48
47
  )
49
48
 
50
- def _add_islamic_republic_day(self, name: str) -> Optional[date]:
49
+ def _add_islamic_republic_day(self, name: str) -> date | None:
51
50
  """
52
51
  Add Islamic Republic Day (12th day of the 1st month).
53
52
 
@@ -59,7 +58,7 @@ class PersianCalendarHolidays:
59
58
  name, self._persian_calendar.persian_to_gregorian(self._year, 1, 12)
60
59
  )
61
60
 
62
- def _add_islamic_revolution_day(self, name: str) -> Optional[date]:
61
+ def _add_islamic_revolution_day(self, name: str) -> date | None:
63
62
  """
64
63
  Add Islamic Revolution Day (22nd day of the 11th month).
65
64
 
@@ -72,7 +71,7 @@ class PersianCalendarHolidays:
72
71
  name, self._persian_calendar.persian_to_gregorian(self._year - 1, 11, 22)
73
72
  )
74
73
 
75
- def _add_khordad_uprising_day(self, name: str) -> Optional[date]:
74
+ def _add_khordad_uprising_day(self, name: str) -> date | None:
76
75
  """
77
76
  Add 15 Khordad uprising Day (15th day of the 3rd month).
78
77
 
@@ -85,7 +84,7 @@ class PersianCalendarHolidays:
85
84
  name, self._persian_calendar.persian_to_gregorian(self._year, 3, 15)
86
85
  )
87
86
 
88
- def _add_last_day_of_year(self, name: str) -> Optional[date]:
87
+ def _add_last_day_of_year(self, name: str) -> date | None:
89
88
  """
90
89
  If previous year is a leap year, its 12th month (Esfand) has 30 days,
91
90
  and this 30th day is a holiday.
@@ -97,7 +96,7 @@ class PersianCalendarHolidays:
97
96
  else:
98
97
  return None
99
98
 
100
- def _add_natures_day(self, name: str) -> Optional[date]:
99
+ def _add_natures_day(self, name: str) -> date | None:
101
100
  """
102
101
  Add Nature's Day, or Sizdah Bedar (13th day of the 1st month).
103
102
 
@@ -108,7 +107,7 @@ class PersianCalendarHolidays:
108
107
  name, self._persian_calendar.persian_to_gregorian(self._year, 1, 13)
109
108
  )
110
109
 
111
- def _add_nowruz_day(self, name: str) -> Optional[date]:
110
+ def _add_nowruz_day(self, name: str) -> date | None:
112
111
  """
113
112
  Add Nowruz Day (1st day of the 1st month).
114
113
 
@@ -120,7 +119,7 @@ class PersianCalendarHolidays:
120
119
  name, self._persian_calendar.new_year_date(self._year)
121
120
  )
122
121
 
123
- def _add_nowruz_day_two(self, name: str) -> Optional[date]:
122
+ def _add_nowruz_day_two(self, name: str) -> date | None:
124
123
  """
125
124
  Add Nowruz Day Two.
126
125
  """
@@ -128,7 +127,7 @@ class PersianCalendarHolidays:
128
127
  name, self._persian_calendar.new_year_date(self._year), days_delta=+1
129
128
  )
130
129
 
131
- def _add_nowruz_day_three(self, name: str) -> Optional[date]:
130
+ def _add_nowruz_day_three(self, name: str) -> date | None:
132
131
  """
133
132
  Add Nowruz Day Three.
134
133
  """
@@ -136,7 +135,7 @@ class PersianCalendarHolidays:
136
135
  name, self._persian_calendar.new_year_date(self._year), days_delta=+2
137
136
  )
138
137
 
139
- def _add_nowruz_day_four(self, name: str) -> Optional[date]:
138
+ def _add_nowruz_day_four(self, name: str) -> date | None:
140
139
  """
141
140
  Add Nowruz Day Four.
142
141
  """
@@ -144,7 +143,7 @@ class PersianCalendarHolidays:
144
143
  name, self._persian_calendar.new_year_date(self._year), days_delta=+3
145
144
  )
146
145
 
147
- def _add_oil_nationalization_day(self, name: str) -> Optional[date]:
146
+ def _add_oil_nationalization_day(self, name: str) -> date | None:
148
147
  """
149
148
  Add Iranian Oil Industry Nationalization Day (29th day of the 12th month).
150
149
 
@@ -157,8 +156,8 @@ class PersianCalendarHolidays:
157
156
  )
158
157
 
159
158
  def _add_persian_calendar_holiday(
160
- self, name: str, dt: Optional[date], days_delta: int = 0
161
- ) -> Optional[date]:
159
+ self, name: str, dt: date | None, days_delta: int = 0
160
+ ) -> date | None:
162
161
  """
163
162
  Add Persian calendar holiday.
164
163
  """