holidays 0.89__py3-none-any.whl → 0.90__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.
@@ -12,28 +12,82 @@
12
12
 
13
13
  from gettext import gettext as tr
14
14
 
15
+ from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
15
16
  from holidays.calendars.julian import JULIAN_CALENDAR
16
- from holidays.groups import ChristianHolidays, InternationalHolidays
17
+ from holidays.constants import PUBLIC, WORKDAY
18
+ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
17
19
  from holidays.holiday_base import HolidayBase
18
20
 
19
21
 
20
- class Armenia(HolidayBase, ChristianHolidays, InternationalHolidays):
22
+ class Armenia(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
21
23
  """Armenia holidays.
22
24
 
23
25
  References:
24
26
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Armenia>
25
- * <https://web.archive.org/web/20250427132425/http://www.parliament.am/legislation.php?sel=show&ID=1274&lang=arm&enc=utf8>
26
- * <https://web.archive.org/web/20240624002502/https://www.arlis.am/DocumentView.aspx?DocID=259>
27
+ * [Law HO-37 of Mar 16, 1996](https://web.archive.org/web/20260122214757/https://www.arlis.am/hy/acts/259)
28
+ * [Law HO-117 of Dec 22, 2000](https://web.archive.org/web/20250717094812/https://www.arlis.am/hy/acts/801)
29
+ * [Law HO-118 of Dec 22, 2000](https://web.archive.org/web/20250717090032/https://www.arlis.am/hy/acts/802)
30
+ * [Law HO-200 of Jun 24, 2001](https://web.archive.org/web/20250427132425/http://www.parliament.am/legislation.php?sel=show&ID=1274&lang=arm)
31
+ * [Law HO-228 of Oct 11, 2001](https://web.archive.org/web/20250427175053/http://www.parliament.am/legislation.php?ID=1622&lang=arm&sel=show)
32
+ * [Law HO-335 of Jun 04, 2002](https://web.archive.org/web/20251210090018/http://www.parliament.am/legislation.php?sel=show&ID=1623&lang=arm)
33
+ * [Law HO-466 of Dec 19, 2002](https://web.archive.org/web/20251209213043/http://www.parliament.am/legislation.php?sel=show&ID=1624&lang=arm)
34
+ * [Law HO-80 of May 2, 2005](https://web.archive.org/web/20241211151029/http://www.parliament.am/legislation.php?sel=show&ID=2284&lang=arm)
35
+ * [Law HO-105 of Jun 16, 2005](https://web.archive.org/web/20250508000307/http://www.parliament.am/legislation.php?lang=arm&sel=show&ID=2326)
36
+ * [Law HO-100 of Jun 21, 2006](https://web.archive.org/web/20250428015807/http://www.parliament.am/legislation.php?ID=2648&lang=arm&sel=show)
37
+ * [Law HO-221 of Dec 16, 2009](https://web.archive.org/web/20250501031654/http://www.parliament.am/legislation.php?ID=3737&lang=arm&sel=show)
38
+ * [Law HO-134 of Oct 22, 2010](https://web.archive.org/web/20231201154954/http://www.parliament.am/legislation.php?sel=show&ID=3886&lang=arm)
39
+ * [Law HO-127 of May 6, 2011](https://web.archive.org/web/20231201160900/http://www.parliament.am/legislation.php?sel=show&ID=4177&lang=arm)
40
+ * [Law HO-142 of May 21, 2011](https://web.archive.org/web/20251210013331/http://www.parliament.am/legislation.php?sel=show&ID=4198&lang=arm)
41
+ * [Law HO-15 of Apr 15, 2015](https://web.archive.org/web/20250510074755/http://parliament.am/legislation.php?ID=5221&lang=arm&sel=show)
42
+ * [Law HO-187 of Dec 30, 2015](https://web.archive.org/web/20250510003259/http://parliament.am/legislation.php?sel=show&ID=5390&lang=arm)
43
+ * [Law HO-67 of Mar 23, 2017](https://web.archive.org/web/20250428212817/http://www.parliament.am/legislation.php?sel=show&ID=5795&lang=arm)
44
+ * [Law HO-14-N of Apr 19, 2019](https://web.archive.org/web/20231201160233/http://www.parliament.am/legislation.php?sel=show&ID=6551&lang=arm)
45
+ * [Law HO-83-N of Jul 3, 2019](https://web.archive.org/web/20231201160446/http://www.parliament.am/legislation.php?sel=show&ID=6640&lang=arm)
46
+ * [Law HO-191-N of Nov 13, 2019](https://web.archive.org/web/20231201163636/http://www.parliament.am/legislation.php?sel=show&ID=6751&lang=arm)
47
+ * [Law HO-82-N of Mar 15, 2021](https://web.archive.org/web/20231201153032/http://www.parliament.am/legislation.php?sel=show&ID=7506&lang=arm)
48
+ * [Law HO-191-N of May 18, 2021](https://web.archive.org/web/20250505174605/http://www.parliament.am/legislation.php?lang=arm&sel=show&ID=7622)
49
+ * [Law HO-362-N of Nov 29, 2021](https://web.archive.org/web/20250427183056/http://www.parliament.am/legislation.php?sel=show&ID=7828&lang=arm)
50
+ * [Law HO-147-N of May 2, 2024](https://web.archive.org/web/20250427204734/http://www.parliament.am/legislation.php?ID=9191&lang=arm&sel=show)
51
+ * [Law HO-370-N of Nov 7, 2024](https://web.archive.org/web/20250505152132/http://www.parliament.am/legislation.php?sel=show&ID=9424&lang=arm)
52
+ * [Law HO-1-N of Jan 20, 2026](https://web.archive.org/web/20260122152327/http://www.parliament.am/legislation.php?sel=show&ID=10146&lang=arm)
27
53
  """
28
54
 
29
55
  country = "AM"
30
56
  default_language = "hy"
57
+ supported_categories = (PUBLIC, WORKDAY)
31
58
  supported_languages = ("en_US", "hy")
32
59
  start_year = 1991
60
+ subdivisions = (
61
+ "AG", # Aragac̣otn.
62
+ "AR", # Ararat.
63
+ "AV", # Armavir.
64
+ "ER", # Erevan.
65
+ "GR", # Geġark'unik'.
66
+ "KT", # Kotayk'.
67
+ "LO", # Loṙi.
68
+ "SH", # Širak.
69
+ "SU", # Syunik'.
70
+ "TV", # Tavuš.
71
+ "VD", # Vayoć Jor.
72
+ )
73
+ subdivisions_aliases = {
74
+ "Aragac̣otn": "AG",
75
+ "Ararat": "AR",
76
+ "Armavir": "AV",
77
+ "Erevan": "ER",
78
+ "Geġark'unik'": "GR",
79
+ "Kotayk'": "KT",
80
+ "Loṙi": "LO",
81
+ "Širak": "SH",
82
+ "Syunik'": "SU",
83
+ "Tavuš": "TV",
84
+ "Vayoć Jor": "VD",
85
+ }
33
86
 
34
87
  def __init__(self, *args, **kwargs):
35
88
  ChristianHolidays.__init__(self, JULIAN_CALENDAR)
36
89
  InternationalHolidays.__init__(self)
90
+ StaticHolidays.__init__(self, ArmeniaStaticHolidays)
37
91
  super().__init__(*args, **kwargs)
38
92
 
39
93
  def _populate_public_holidays(self):
@@ -42,33 +96,58 @@ class Armenia(HolidayBase, ChristianHolidays, InternationalHolidays):
42
96
  self._add_new_years_day(name)
43
97
  self._add_new_years_day_two(name)
44
98
 
45
- # Christmas. Epiphany Day.
99
+ # Christmas and Epiphany.
46
100
  self._add_holiday_jan_6(tr("Սուրբ Ծնունդ եւ Հայտնություն"))
47
101
 
102
+ # Established by Law HO-221 of Dec 16, 2009.
103
+ # Abolished by Law HO-362-N of Nov 29, 2021.
48
104
  if 2010 <= self._year <= 2021:
49
- self._add_new_years_day_three(name)
50
- self._add_new_years_day_four(name)
105
+ # Christmas Holidays.
106
+ name = tr("նախածննդյան տոներ")
107
+ self._add_holiday_jan_3(name)
108
+ self._add_holiday_jan_4(name)
109
+ self._add_holiday_jan_5(name)
51
110
 
52
- # Christmas Eve.
53
- self._add_holiday_jan_5(tr("Սուրբ Ծննդյան տոներ"))
54
-
55
- # The Day of Remembrance of the Dead.
111
+ # Day of Remembrance of the Dead.
56
112
  self._add_holiday_jan_7(tr("Մեռելոց հիշատակի օր"))
57
113
 
114
+ # Established by Law HO-1-N of Jan 20, 2026.
115
+ if self._year >= 2026:
116
+ # Day of Remembrance for the Fallen Defenders of the Fatherland.
117
+ self._add_holiday_jan_27(tr("Հայրենիքի պաշտպանության համար զոհվածների հիշատակի օր"))
118
+
119
+ # Made non-working by Law HO-466 of Dec 19, 2002.
58
120
  if self._year >= 2003:
59
121
  # Army Day.
60
122
  self._add_holiday_jan_28(tr("Բանակի օր"))
61
123
 
62
- # Women's Day.
63
- self._add_womens_day(tr("Կանանց տոն"))
124
+ # Established by Law HO-118 of Dec 22, 2000.
125
+ # Renamed by Law HO-200 of Jun 24, 2001.
126
+ if self._year >= 2001:
127
+ self._add_womens_day(
128
+ # Women's Day.
129
+ tr("Կանանց տոն")
130
+ if self._year >= 2002
131
+ # International Women's Day.
132
+ else tr("Կանանց միջազգային օր")
133
+ )
64
134
 
135
+ # Made working by Law HO-200 of Jun 24, 2001.
65
136
  if 1994 <= self._year <= 2001:
66
137
  # Motherhood and Beauty Day.
67
138
  self._add_holiday_apr_7(tr("Մայրության և գեղեցկության տոն"))
68
139
 
69
- # Armenian Genocide Remembrance Day.
70
- self._add_holiday_apr_24(tr("Եղեռնի զոհերի հիշատակի օր"))
140
+ # Renamed by Law HO-15 of Apr 15, 2015.
141
+ self._add_holiday_apr_24(
142
+ # Day of Remembrance of the Victims of Armenian Genocide.
143
+ tr("Հայոց ցեղասպանության զոհերի հիշատակի օր")
144
+ if self._year >= 2015
145
+ # Day of Remembrance of the Victims of Genocide.
146
+ else tr("Ցեղասպանության զոհերի հիշատակի օր")
147
+ )
71
148
 
149
+ # Established by Law HO-117 of Dec 22, 2000.
150
+ # Renamed by Law HO-200 of Jun 24, 2001.
72
151
  if self._year >= 2001:
73
152
  self._add_labor_day(
74
153
  # Labor Day.
@@ -99,6 +178,160 @@ class Armenia(HolidayBase, ChristianHolidays, InternationalHolidays):
99
178
  # New Year's Eve.
100
179
  self._add_new_years_eve(tr("Նոր տարվա գիշեր"))
101
180
 
181
+ def _populate_workday_holidays(self):
182
+ # Established by Law HO-200 of Jun 24, 2001.
183
+ # Made non-working by Law HO-466 of Dec 19, 2002.
184
+ if self._year == 2002:
185
+ # Army Day.
186
+ self._add_holiday_jan_28(tr("Բանակի օր"))
187
+
188
+ # Established by Law HO-80 of May 2, 2005.
189
+ if self._year >= 2006:
190
+ # Mother Language Day.
191
+ self._add_holiday_feb_21(tr("Մայրենի լեզվի օր"))
192
+
193
+ # Established by Law HO-200 of Jun 24, 2001.
194
+ if self._year >= 2002:
195
+ # Saint Vardanants' Day.
196
+ self._add_holiday_52_days_prior_easter(tr("Սուրբ Վարդանանց տոն"))
197
+
198
+ # Established by Law HO-105 of Jun 16, 2005.
199
+ if self._year >= 2006:
200
+ self._add_holiday_feb_28(
201
+ # Day of Remembrance of the Victims of the Massacres Organized in the Azerbaijan
202
+ # SSR and the Protection of the Rights of the Deported Armenian Population.
203
+ tr(
204
+ "Ադրբեջանական ԽՍՀ-ում կազմակերպված ջարդերի զոհերի հիշատակի եւ "
205
+ "բռնագաղթված հայ բնակչության իրավունքների պաշտպանության օր"
206
+ )
207
+ )
208
+
209
+ # Made working by Law HO-200 of Jun 24, 2001.
210
+ # Renamed by Law HO-335 of Jun 04, 2002.
211
+ if self._year >= 2002:
212
+ self._add_holiday_apr_7(
213
+ # Motherhood and Beauty Day.
214
+ tr("Մայրության և գեղեցկության տոն")
215
+ if self._year >= 2003
216
+ # Motherhood, Beauty and Love Day.
217
+ else tr("Մայրության, գեղեցկության եւ սիրո տոն")
218
+ )
219
+
220
+ # Established by Law HO-83-N of Jul 3, 2019.
221
+ if self._year >= 2020:
222
+ # Armenian Cinema Day.
223
+ self._add_holiday_apr_16(tr("Հայ կինոյի օր"))
224
+
225
+ # Established by Law HO-191-N of May 18, 2021.
226
+ if self._year >= 2022:
227
+ # Taxpayer Day.
228
+ self._add_holiday_apr_18(tr("Հարկ վճարողի օր"))
229
+
230
+ # Established by Law HO-14-N of Apr 19, 2019.
231
+ if self._year >= 2019:
232
+ # Citizen of the Republic of Armenia Day.
233
+ name = tr("Հայաստանի Հանրապետության քաղաքացու օր")
234
+ if self._is_saturday(MAY, 1):
235
+ self._add_holiday_last_sun_of_apr(name)
236
+ else:
237
+ self._add_holiday_last_sat_of_apr(name)
238
+
239
+ # Established by Law HO-200 of Jun 24, 2001.
240
+ if self._year >= 2002:
241
+ # Defender's Day.
242
+ self._add_holiday_may_8(tr("Երկրապահի օր"))
243
+
244
+ # Established by Law HO-142 of May 21, 2011.
245
+ if self._year >= 2012:
246
+ # Family Day.
247
+ self._add_holiday_may_15(tr("Ընտանիքի օր"))
248
+
249
+ # Established by Law HO-187 of Dec 30, 2015.
250
+ if self._year >= 2016:
251
+ # Students and Youth Day.
252
+ self._add_holiday_may_16(tr("Ուսանողների եւ երիտասարդների օր"))
253
+
254
+ # Established by Law HO-200 of Jun 24, 2001.
255
+ if self._year >= 2002:
256
+ # Children's Rights Protection Day.
257
+ self._add_childrens_day(tr("Երեխաների իրավունքների պաշտպանության օր"))
258
+
259
+ # Established by Law HO-100 of Jun 21, 2006.
260
+ if self._year >= 2007:
261
+ # Day of Remembrance of the Repressed.
262
+ self._add_holiday_jun_14(tr("Բռնադատվածների հիշատակի օր"))
263
+
264
+ # Established by Law HO-370-N of Nov 7, 2024.
265
+ if self._year >= 2025:
266
+ # Father's Day.
267
+ self._add_holiday_jun_17(tr("Հայրերի օր"))
268
+
269
+ # Established by Law HO-228 of Oct 11, 2001.
270
+ if self._year >= 2002:
271
+ # Feast of Holy Etchmiadzin.
272
+ self._add_holiday_63_days_past_easter(tr("Սուրբ Էջմիածնի տոն"))
273
+
274
+ # Established by Law HO-67 of Mar 23, 2017.
275
+ if self._year >= 2017:
276
+ # State Symbols' Day.
277
+ self._add_holiday_jul_5(tr("Պետական խորհրդանիշների օր"))
278
+
279
+ # Established by Law HO-147-N of May 2, 2024.
280
+ if self._year >= 2024:
281
+ self._add_holiday_aug_3(
282
+ # Day of Remembrance of the Victims of the Sinjar Yazidi Genocide of 2014.
283
+ tr("2014 թվականի՝ Սինջարի եզդիների ցեղասպանության զոհերի հիշատակի օր")
284
+ )
285
+
286
+ # Established by Law HO-200 of Jun 24, 2001.
287
+ # Renamed by Law HO-80 of May 2, 2005.
288
+ if self._year >= 2001:
289
+ self._add_holiday_sep_1(
290
+ # Knowledge and Literacy Day.
291
+ tr("Գիտելիքի եւ դպրության օր")
292
+ if self._year >= 2005
293
+ # Knowledge, Writing and Literacy Day.
294
+ else tr("Գիտելիքի, գրի եւ դպրության օր")
295
+ )
296
+
297
+ # Established by Law HO-82-N of Mar 15, 2021.
298
+ if self._year >= 2021:
299
+ self._add_holiday_1st_sun_of_oct(
300
+ # Day of National Minorities of the Republic of Armenia.
301
+ tr("Հայաստանի Հանրապետության ազգային փոքրամասնությունների օր")
302
+ )
303
+
304
+ # Established by Law HO-134 of Oct 22, 2010.
305
+ if self._year >= 2011:
306
+ # Teacher's Day.
307
+ self._add_holiday_oct_5(tr("Ուսուցչի օր"))
308
+
309
+ # Established by Law HO-200 of Jun 24, 2001.
310
+ if self._year >= 2001:
311
+ # Translators' Day.
312
+ self._add_holiday_2nd_sat_of_oct(tr("Թարգմանչաց տոն"))
313
+
314
+ # Established by Law HO-127 of May 6, 2011.
315
+ if self._year >= 2011:
316
+ # Local Self-Government Day.
317
+ self._add_holiday_nov_10(tr("Տեղական ինքնակառավարման օր"))
318
+
319
+ # Established by Law HO-200 of Jun 24, 2001.
320
+ # Renamed by Law HO-191-N of Nov 13, 2019.
321
+ if self._year >= 2001:
322
+ self._add_holiday_dec_7(
323
+ # Earthquake Victims Remembrance Day and Disaster Resilience Day.
324
+ tr("Երկրաշարժի զոհերի հիշատակի եւ աղետներին դիմակայունության օր")
325
+ if self._year >= 2020
326
+ # Earthquake Victims Remembrance Day.
327
+ else tr("Երկրաշարժի զոհերի հիշատակի օր")
328
+ )
329
+
330
+ # Established by Law HO-15 of Apr 15, 2015.
331
+ if self._year >= 2015:
332
+ # Day of the Condemnation and Prevention of Genocides.
333
+ self._add_holiday_dec_9(tr("Ցեղասպանությունների դատապարտման եւ կանխարգելման օր"))
334
+
102
335
 
103
336
  class AM(Armenia):
104
337
  pass
@@ -106,3 +339,196 @@ class AM(Armenia):
106
339
 
107
340
  class ARM(Armenia):
108
341
  pass
342
+
343
+
344
+ class ArmeniaStaticHolidays:
345
+ """Armenia special holidays.
346
+
347
+ Substituted holidays references:
348
+ * [1998](https://www.arlis.am/hy/acts/6981)
349
+ * [2000](https://www.arlis.am/hy/acts/7838)
350
+ * [2003](https://www.arlis.am/hy/acts/10474)
351
+ * 2005:
352
+ * [1](https://www.arlis.am/hy/acts/13224)
353
+ * [2](https://www.arlis.am/hy/acts/13452)
354
+ * [3](https://www.arlis.am/hy/acts/13932)
355
+ * 2006:
356
+ * [1](https://www.arlis.am/hy/acts/21549)
357
+ * [2](https://www.arlis.am/hy/acts/23593)
358
+ * 2007:
359
+ * [1](https://www.arlis.am/hy/acts/29581)
360
+ * [2](https://www.arlis.am/hy/acts/34755)
361
+ * 2008:
362
+ * [1](https://www.arlis.am/hy/acts/40452)
363
+ * [2](https://www.arlis.am/hy/acts/42730)
364
+ * [3](https://www.arlis.am/hy/acts/44770)
365
+ * [4](https://www.arlis.am/hy/acts/45880)
366
+ * [5](https://www.arlis.am/hy/acts/46224)
367
+ * 2009:
368
+ * [1](https://www.arlis.am/hy/acts/48427)
369
+ * [2](https://www.arlis.am/hy/acts/48654)
370
+ * [3](https://www.arlis.am/hy/acts/50635)
371
+ * 2010:
372
+ * [1](https://www.arlis.am/hy/acts/55456)
373
+ * [2](https://www.arlis.am/hy/acts/55457)
374
+ * [3](https://www.arlis.am/hy/acts/60567)
375
+ * 2011:
376
+ * [1](https://www.arlis.am/hy/acts/60996)
377
+ * [2](https://www.arlis.am/hy/acts/65969)
378
+ * [3](https://www.arlis.am/hy/acts/69096)
379
+ * 2012:
380
+ * [1](https://www.arlis.am/hy/acts/60996)
381
+ * [2](https://www.arlis.am/hy/acts/74278)
382
+ * [3](https://www.arlis.am/hy/acts/75441)
383
+ * [4](https://www.arlis.am/hy/acts/76805)
384
+ * 2013:
385
+ * [1](https://www.arlis.am/hy/acts/80097)
386
+ * [2](https://www.arlis.am/hy/acts/82971)
387
+ * [3](https://www.arlis.am/hy/acts/83282)
388
+ * [2013-2014](https://www.arlis.am/hy/acts/86936)
389
+ * 2015:
390
+ * [1](https://www.arlis.am/hy/acts/94257)
391
+ * [2](https://www.arlis.am/hy/acts/96650)
392
+ * [3](https://www.arlis.am/hy/acts/96794)
393
+ * [4](https://www.arlis.am/hy/acts/98926)
394
+ * [5](https://www.arlis.am/hy/acts/99539)
395
+ * 2016:
396
+ * [1](https://www.arlis.am/hy/acts/103890)
397
+ * [2](https://www.arlis.am/hy/acts/104324)
398
+ * [3](https://www.arlis.am/hy/acts/108088)
399
+ * 2017:
400
+ * [1](https://www.arlis.am/hy/acts/112733)
401
+ * [2](https://www.arlis.am/hy/acts/112882)
402
+ * [3](https://www.arlis.am/hy/acts/115584)
403
+ * 2018:
404
+ * [1](https://www.arlis.am/hy/acts/119427)
405
+ * [2](https://www.arlis.am/hy/acts/120476)
406
+ * [3](https://www.arlis.am/hy/acts/121651)
407
+ * [4](https://www.arlis.am/hy/acts/125762)
408
+ * [5](https://www.arlis.am/hy/acts/126944)
409
+ * 2020:
410
+ * [1](https://www.arlis.am/hy/acts/138403)
411
+ * [2](https://www.arlis.am/hy/acts/139280)
412
+ * [2021](https://www.arlis.am/hy/acts/155821)
413
+ """
414
+
415
+ # Substituted date format.
416
+ substituted_date_format = tr("%d.%m.%Y")
417
+ # Day off (substituted from %s).
418
+ substituted_label = tr("Հանգստյան օր (հետաձգվել է %s թվականից)")
419
+
420
+ special_public_holidays = {
421
+ 1998: (DEC, 7, DEC, 12),
422
+ 2000: (MAY, 8, MAY, 6),
423
+ 2003: (JAN, 3, DEC, 29, 2002),
424
+ 2005: (
425
+ (JAN, 3, JAN, 8),
426
+ (MAR, 7, MAR, 5),
427
+ (JUL, 4, JUL, 2),
428
+ ),
429
+ 2006: (
430
+ (JAN, 3, JAN, 8),
431
+ (MAY, 8, MAY, 6),
432
+ ),
433
+ 2007: (
434
+ (JAN, 3, DEC, 30, 2006),
435
+ (JAN, 4, JAN, 7),
436
+ (APR, 30, APR, 28),
437
+ ),
438
+ 2008: (
439
+ (JAN, 3, DEC, 29, 2007),
440
+ (JAN, 4, JAN, 12),
441
+ (MAY, 2, MAY, 4),
442
+ (JUN, 30, JUN, 28),
443
+ (AUG, 18, AUG, 16),
444
+ (SEP, 15, SEP, 13),
445
+ ),
446
+ 2009: (
447
+ (JAN, 5, JAN, 10),
448
+ (JAN, 7, DEC, 27, 2008),
449
+ (APR, 13, APR, 18),
450
+ (JUL, 20, JUL, 18),
451
+ (AUG, 17, AUG, 15),
452
+ (SEP, 14, SEP, 12),
453
+ ),
454
+ 2010: (
455
+ (JAN, 8, DEC, 26, 2009),
456
+ (APR, 5, APR, 10),
457
+ (JUL, 12, JUL, 17),
458
+ (AUG, 16, AUG, 21),
459
+ (SEP, 13, SEP, 18),
460
+ (SEP, 20, SEP, 11),
461
+ ),
462
+ 2011: (
463
+ (MAR, 7, MAR, 12),
464
+ (APR, 25, APR, 30),
465
+ (JUL, 4, JUL, 9),
466
+ (AUG, 1, AUG, 6),
467
+ (AUG, 15, AUG, 20),
468
+ (SEP, 12, SEP, 17),
469
+ ),
470
+ 2012: (
471
+ (MAR, 9, MAR, 24),
472
+ (APR, 9, APR, 14),
473
+ (APR, 30, APR, 28),
474
+ (JUL, 6, JUL, 14),
475
+ (JUL, 16, JUL, 21),
476
+ (AUG, 13, AUG, 18),
477
+ (SEP, 17, SEP, 29),
478
+ ),
479
+ 2013: (
480
+ (APR, 1, APR, 13),
481
+ (MAY, 10, MAY, 18),
482
+ (MAY, 27, JUN, 1),
483
+ (JUL, 8, JUL, 13),
484
+ (AUG, 19, AUG, 24),
485
+ (SEP, 16, SEP, 28),
486
+ (DEC, 30, DEC, 28),
487
+ ),
488
+ 2014: (
489
+ (JAN, 27, FEB, 1),
490
+ (APR, 21, APR, 26),
491
+ (MAY, 2, MAY, 31),
492
+ (JUL, 28, AUG, 2),
493
+ (AUG, 18, AUG, 23),
494
+ (SEP, 15, SEP, 27),
495
+ ),
496
+ 2015: (
497
+ (JAN, 8, DEC, 20, 2014),
498
+ (JAN, 9, DEC, 27, 2014),
499
+ (APR, 6, APR, 11),
500
+ (APR, 23, APR, 18),
501
+ (JUL, 13, JUL, 18),
502
+ (SEP, 14, SEP, 19),
503
+ ),
504
+ 2016: (
505
+ (MAR, 7, MAR, 12),
506
+ (MAR, 28, APR, 2),
507
+ (SEP, 12, SEP, 24),
508
+ ),
509
+ 2017: (
510
+ (APR, 17, MAY, 6),
511
+ (MAY, 8, MAY, 20),
512
+ (SEP, 18, SEP, 23),
513
+ ),
514
+ 2018: (
515
+ (MAR, 9, MAR, 17),
516
+ (APR, 2, APR, 7),
517
+ (APR, 30, MAY, 5),
518
+ (OCT, 11, OCT, 27),
519
+ (OCT, 12, NOV, 3),
520
+ ),
521
+ 2020: (
522
+ (JAN, 27, FEB, 1),
523
+ (MAY, 29, MAY, 23),
524
+ ),
525
+ 2021: (SEP, 20, SEP, 25),
526
+ }
527
+
528
+ special_lo_public_holidays = {
529
+ 2018: (DEC, 7, DEC, 15),
530
+ }
531
+
532
+ special_sh_public_holidays = {
533
+ 2018: (DEC, 7, DEC, 15),
534
+ }
@@ -578,7 +578,7 @@ class Australia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, S
578
578
  self._move_holiday(dt, rule=ALL_TO_NEXT_MON, show_observed_label=False)
579
579
 
580
580
  # Adelaide Cup Day.
581
- # First observed as Public Holidays in 1973: https://racingsa.com.au/blog/2020/03/06/2380/a-little-adelaide-cup-history
581
+ # First observed as Public Holidays in 1973: https://web.archive.org/web/20260122052707/https://www.racingsa.com.au/news/a-little-adelaide-cup-history
582
582
  # 2006-2023: changed each year by SA Government Proclamation from the 3rd Monday in May
583
583
  # to the 2nd Monday in March.
584
584
  # from 2024: changed to the 2nd Monday in March officially.
@@ -10,6 +10,7 @@
10
10
  # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
+ from datetime import date
13
14
  from gettext import gettext as tr
14
15
 
15
16
  from holidays.calendars import _CustomIslamicHolidays
@@ -26,7 +27,12 @@ from holidays.calendars.gregorian import (
26
27
  OCT,
27
28
  NOV,
28
29
  DEC,
30
+ MON,
31
+ TUE,
32
+ WED,
33
+ THU,
29
34
  FRI,
35
+ SAT,
30
36
  SUN,
31
37
  )
32
38
  from holidays.groups import (
@@ -38,13 +44,12 @@ from holidays.groups import (
38
44
  )
39
45
  from holidays.observed_holiday_base import (
40
46
  ObservedHolidayBase,
41
- FRI_TO_NEXT_MON,
42
- FRI_TO_NEXT_SAT,
43
- SUN_TO_NEXT_TUE,
44
- SUN_TO_NEXT_WED,
45
- FRI_SUN_TO_NEXT_SAT_MON,
47
+ ObservedRule,
48
+ FRI_SUN_TO_NEXT_WORKDAY,
46
49
  )
47
50
 
51
+ BN_WORKDAY_TO_NEXT_WORKDAY = ObservedRule({MON: +7, TUE: +7, WED: +7, THU: +7, SAT: +7})
52
+
48
53
 
49
54
  class Brunei(
50
55
  ObservedHolidayBase,
@@ -95,6 +100,7 @@ class Brunei(
95
100
  * <https://web.archive.org/web/20240901140406/https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk04-2022.pdf>
96
101
  * <https://web.archive.org/web/20250428091155/https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk04-2023.pdf>
97
102
  * <https://web.archive.org/web/20241105052917/https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk06-2024.pdf>
103
+ * <https://web.archive.org/web/20260119103509/https://www.jpm.gov.bn/Circulars%20PDF%20Library/jpmsk04-2025.pdf>
98
104
 
99
105
  Checked with:
100
106
  * <https://web.archive.org/web/20250414071145/https://asean.org/wp-content/uploads/2021/12/ASEAN-National-Holidays-2022.pdf>
@@ -113,7 +119,7 @@ class Brunei(
113
119
  observed_estimated_label = tr("%s (diperhatikan, anggaran)")
114
120
  supported_languages = ("en_US", "ms", "th")
115
121
  weekend = {FRI, SUN}
116
- # Available post-Independence from 1984 afterwards
122
+ # Available post-Independence from 1984 afterwards.
117
123
  start_year = 1984
118
124
 
119
125
  def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
@@ -130,131 +136,79 @@ class Brunei(
130
136
  self, cls=BruneiIslamicHolidays, show_estimated=islamic_show_estimated
131
137
  )
132
138
  StaticHolidays.__init__(self, cls=BruneiStaticHolidays)
133
- kwargs.setdefault("observed_rule", FRI_SUN_TO_NEXT_SAT_MON)
139
+ kwargs.setdefault("observed_rule", FRI_SUN_TO_NEXT_WORKDAY)
134
140
  super().__init__(*args, **kwargs)
135
141
 
142
+ def _populate_observed(self, dts: set[date], *, multiple: bool = False) -> None:
143
+ super()._populate_observed(dts, multiple=multiple)
144
+ for dt in sorted(dts):
145
+ if len(self.get_list(dt)) > 1:
146
+ self._add_observed(dt, rule=BN_WORKDAY_TO_NEXT_WORKDAY)
147
+
136
148
  def _populate_public_holidays(self):
137
- # Awal Tahun Masihi
138
- # Status: In-Use.
149
+ dts_observed = set()
139
150
 
140
151
  # New Year's Day.
141
- self._add_observed(self._add_new_years_day(tr("Awal Tahun Masihi")))
142
-
143
- # Tahun Baru Cina
144
- # Status: In-Use.
152
+ dts_observed.add(self._add_new_years_day(tr("Awal Tahun Masihi")))
145
153
 
146
154
  # Lunar New Year.
147
- self._add_observed(self._add_chinese_new_years_day(tr("Tahun Baru Cina")))
155
+ dts_observed.add(self._add_chinese_new_years_day(tr("Tahun Baru Cina")))
148
156
 
149
- # Hari Kebangsaan
150
- # Status: In-Use.
151
157
  # Starts in 1984.
152
158
 
153
159
  # National Day.
154
- self._add_observed(self._add_holiday_feb_23(tr("Hari Kebangsaan")))
160
+ dts_observed.add(self._add_holiday_feb_23(tr("Hari Kebangsaan")))
155
161
 
156
- # Hari Angkatan Bersenjata Diraja Brunei
157
- # Status: In-Use.
158
162
  # Starts in 1984.
159
163
  # Commemorates the formation of Royal Brunei Malay Regiment in 1961.
160
164
 
161
- self._add_observed(
165
+ dts_observed.add(
162
166
  # Armed Forces Day.
163
167
  self._add_holiday_may_31(tr("Hari Angkatan Bersenjata Diraja Brunei"))
164
168
  )
165
169
 
166
- # Hari Keputeraan KDYMM Sultan Brunei
167
- # Status: In-Use.
168
170
  # Started in 1968.
169
171
 
170
- self._add_observed(
172
+ dts_observed.add(
171
173
  # Sultan Hassanal Bolkiah's Birthday.
172
174
  self._add_holiday_jul_15(tr("Hari Keputeraan KDYMM Sultan Brunei"))
173
175
  )
174
176
 
175
- # Hari Natal
176
- # Status: In-Use.
177
-
178
177
  # Christmas Day.
179
- self._add_observed(self._add_christmas_day(tr("Hari Natal")))
178
+ dts_observed.add(self._add_christmas_day(tr("Hari Natal")))
180
179
 
181
- # Islamic Holidays are placed after Gregorian holidays to prevent
182
- # the duplication of observed tags. - see #1168
180
+ # Islamic New Year.
181
+ dts_observed.update(self._add_islamic_new_year_day(tr("Awal Tahun Hijrah")))
183
182
 
184
- # Israk dan Mikraj
185
- # Status: In-Use.
183
+ # Prophet's Birthday.
184
+ dts_observed.update(self._add_mawlid_day(tr("Maulidur Rasul")))
186
185
 
187
186
  # Isra' and Mi'raj.
188
- for dt in self._add_isra_and_miraj_day(tr("Israk dan Mikraj")):
189
- self._add_observed(dt)
190
-
191
- # Hari Pertama Berpuasa
192
- # Status: In-Use.
187
+ dts_observed.update(self._add_isra_and_miraj_day(tr("Israk dan Mikraj")))
193
188
 
194
189
  # First Day of Ramadan.
195
- for dt in self._add_ramadan_beginning_day(tr("Hari Pertama Berpuasa")):
196
- self._add_observed(dt)
197
-
198
- # Hari Nuzul Al-Quran
199
- # Status: In-Use.
190
+ dts_observed.update(self._add_ramadan_beginning_day(tr("Hari Pertama Berpuasa")))
200
191
 
201
192
  # Anniversary of the revelation of the Quran.
202
- for dt in self._add_nuzul_al_quran_day(tr("Hari Nuzul Al-Quran")):
203
- self._add_observed(dt)
193
+ dts_observed.update(self._add_nuzul_al_quran_day(tr("Hari Nuzul Al-Quran")))
204
194
 
205
- # Hari Raya Aidil Fitri
206
- # Status: In-Use.
207
195
  # This is celebrate for three days in Brunei.
208
- # 1: If Wed-Thu-Fri -> Sat (3rd Day +1)
209
- # 2: If Thu-Fri-Sat -> Mon (2nd Day +3)
210
- # 3: If Fri-Sat-Sun -> Mon, Tue (1st Day +3, 3rd day +2)
211
- # 4: If Sat-Sun-Mon -> Tue (2nd Day +2)
212
- # 5: If Sun-Mon-Tue -> Wed (1st Day +3)
213
196
  # Observed as 'Hari Raya Puasa' and only for 2 days prior to 2012.
214
- # 1: If Thu-Fri -> Sat (2nd Day +1)
215
- # 2: If Fri-Sat -> Mon (1nd Day +2)
216
- # 3: If Sat-Sun -> Mon (2nd Day +1)
217
- # 4: If Sun-Mon -> Tue (1st Day +2)
218
197
  # This was only observed for a single day in 2000.
219
198
 
220
199
  # Eid al-Fitr.
221
200
  name = tr("Hari Raya Aidil Fitri")
201
+ dts_observed.update(self._add_eid_al_fitr_day(name))
202
+ if self._year != 2000:
203
+ dts_observed.update(self._add_eid_al_fitr_day_two(name))
222
204
  if self._year >= 2012:
223
- for dt in self._add_eid_al_fitr_day(name):
224
- self._add_observed(dt, rule=FRI_TO_NEXT_MON + SUN_TO_NEXT_WED)
225
- for dt in self._add_eid_al_fitr_day_two(name):
226
- self._add_observed(dt, rule=FRI_TO_NEXT_MON + SUN_TO_NEXT_TUE)
227
- for dt in self._add_eid_al_fitr_day_three(name):
228
- self._add_observed(dt, rule=FRI_TO_NEXT_SAT + SUN_TO_NEXT_TUE)
229
- elif self._year == 2000:
230
- for dt in self._add_eid_al_fitr_day(name):
231
- self._add_observed(dt)
232
- else:
233
- for dt in self._add_eid_al_fitr_day(name):
234
- self._add_observed(dt, rule=FRI_TO_NEXT_MON + SUN_TO_NEXT_TUE)
235
- for dt in self._add_eid_al_fitr_day_two(name):
236
- self._add_observed(dt)
237
-
238
- # Hari Raya Aidil Adha
239
- # Status: In-Use.
205
+ dts_observed.update(self._add_eid_al_fitr_day_three(name))
240
206
 
241
207
  # Eid al-Adha.
242
- for dt in self._add_eid_al_adha_day(tr("Hari Raya Aidil Adha")):
243
- self._add_observed(dt)
244
-
245
- # Awal Tahun Hijrah
246
- # Status: In-Use.
208
+ dts_observed.update(self._add_eid_al_adha_day(tr("Hari Raya Aidil Adha")))
247
209
 
248
- # Islamic New Year.
249
- for dt in self._add_islamic_new_year_day(tr("Awal Tahun Hijrah")):
250
- self._add_observed(dt)
251
-
252
- # Maulidur Rasul
253
- # Status: In-Use.
254
-
255
- # Prophet's Birthday.
256
- for dt in self._add_mawlid_day(tr("Maulidur Rasul")):
257
- self._add_observed(dt)
210
+ if self.observed:
211
+ self._populate_observed(dts_observed, multiple=True)
258
212
 
259
213
 
260
214
  class BN(Brunei):
@@ -266,7 +220,7 @@ class BRN(Brunei):
266
220
 
267
221
 
268
222
  class BruneiIslamicHolidays(_CustomIslamicHolidays):
269
- EID_AL_ADHA_DATES_CONFIRMED_YEARS = (1998, 2025)
223
+ EID_AL_ADHA_DATES_CONFIRMED_YEARS = (1998, 2026)
270
224
  EID_AL_ADHA_DATES = {
271
225
  1999: (MAR, 28),
272
226
  2000: (MAR, 17),
@@ -274,7 +228,8 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
274
228
  2002: (FEB, 23),
275
229
  2003: (FEB, 12),
276
230
  2004: (FEB, 2),
277
- 2006: ((JAN, 11), (DEC, 31)),
231
+ 2006: (JAN, 11),
232
+ 2007: ((JAN, 1), (DEC, 20)),
278
233
  2014: (OCT, 5),
279
234
  2015: (SEP, 24),
280
235
  2016: (SEP, 12),
@@ -284,7 +239,7 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
284
239
  2025: (JUN, 7),
285
240
  }
286
241
 
287
- EID_AL_FITR_DATES_CONFIRMED_YEARS = (1998, 2025)
242
+ EID_AL_FITR_DATES_CONFIRMED_YEARS = (1998, 2026)
288
243
  EID_AL_FITR_DATES = {
289
244
  1998: (JAN, 30),
290
245
  1999: (JAN, 19),
@@ -294,9 +249,10 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
294
249
  2019: (JUN, 5),
295
250
  2023: (APR, 22),
296
251
  2025: (MAR, 31),
252
+ 2026: (MAR, 21),
297
253
  }
298
254
 
299
- HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARS = (1998, 2025)
255
+ HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARS = (1998, 2026)
300
256
  HIJRI_NEW_YEAR_DATES = {
301
257
  1998: (APR, 28),
302
258
  2004: (FEB, 22),
@@ -306,9 +262,10 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
306
262
  2019: (SEP, 1),
307
263
  2021: (AUG, 10),
308
264
  2025: (JUN, 27),
265
+ 2026: (JUN, 17),
309
266
  }
310
267
 
311
- ISRA_AND_MIRAJ_DATES_CONFIRMED_YEARS = (1998, 2025)
268
+ ISRA_AND_MIRAJ_DATES_CONFIRMED_YEARS = (1998, 2026)
312
269
  ISRA_AND_MIRAJ_DATES = {
313
270
  1998: (NOV, 17),
314
271
  1999: (NOV, 6),
@@ -319,9 +276,10 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
319
276
  2014: (MAY, 27),
320
277
  2016: (MAY, 5),
321
278
  2018: (APR, 14),
279
+ 2026: (JAN, 17),
322
280
  }
323
281
 
324
- MAWLID_DATES_CONFIRMED_YEARS = (1998, 2025)
282
+ MAWLID_DATES_CONFIRMED_YEARS = (1998, 2026)
325
283
  MAWLID_DATES = {
326
284
  2000: (JUN, 15),
327
285
  2002: (MAY, 25),
@@ -339,7 +297,7 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
339
297
  2025: (SEP, 5),
340
298
  }
341
299
 
342
- NUZUL_AL_QURAN_DATES_CONFIRMED_YEARS = (1998, 2025)
300
+ NUZUL_AL_QURAN_DATES_CONFIRMED_YEARS = (1998, 2026)
343
301
  NUZUL_AL_QURAN_DATES = {
344
302
  1998: (JAN, 16),
345
303
  1999: ((JAN, 5), (DEC, 25)),
@@ -355,9 +313,10 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
355
313
  2022: (APR, 19),
356
314
  2024: (MAR, 28),
357
315
  2025: (MAR, 18),
316
+ 2026: (MAR, 7),
358
317
  }
359
318
 
360
- RAMADAN_BEGINNING_DATES_CONFIRMED_YEARS = (1998, 2025)
319
+ RAMADAN_BEGINNING_DATES_CONFIRMED_YEARS = (1998, 2026)
361
320
  RAMADAN_BEGINNING_DATES = {
362
321
  1998: (DEC, 20),
363
322
  2001: (NOV, 17),
@@ -371,6 +330,7 @@ class BruneiIslamicHolidays(_CustomIslamicHolidays):
371
330
  2022: (APR, 3),
372
331
  2024: (MAR, 12),
373
332
  2025: (MAR, 2),
333
+ 2026: (FEB, 19),
374
334
  }
375
335
 
376
336
 
@@ -387,13 +347,3 @@ class BruneiStaticHolidays:
387
347
  # Sultan Hassanal Bolkiah's Golden Jubilee celebration.
388
348
  2017: (OCT, 5, tr("Jubli Emas Sultan Hassanal Bolkiah")),
389
349
  }
390
- special_public_holidays_observed = {
391
- # Christmas Day.
392
- 1999: (DEC, 27, tr("Hari Natal")),
393
- # National Day.
394
- 2002: (FEB, 25, tr("Hari Kebangsaan")),
395
- # New Year's Day.
396
- 2007: (JAN, 2, tr("Awal Tahun Masihi")),
397
- # Anniversary of the revelation of the Quran.
398
- 2014: (JUL, 16, tr("Hari Nuzul Al-Quran")),
399
- }
@@ -26,6 +26,8 @@ class Cambodia(HolidayBase, InternationalHolidays, StaticHolidays, ThaiCalendarH
26
26
  * <https://web.archive.org/web/20250401111433/https://www.nbc.gov.kh/news_and_events/official_holiday.php>
27
27
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Cambodia>
28
28
  * <https://web.archive.org/web/20250427180236/https://admin.taftac-cambodia.org/public/pdf_file/regulation_1704245695_Z7IALJjE.pdf>
29
+ * <http://archive.today/2026.01.22-052218/https://www.khmertimeskh.com/501424903/24-public-holidays-for-2024-peace-day-now-included/>
30
+ * <http://archive.today/2026.01.22-051938/https://www.khmertimeskh.com/501551204/govt-announces-22-public-holidays-for-next-year/>
29
31
 
30
32
  Checked with:
31
33
  * <https://web.archive.org/web/20250414071145/https://asean.org/wp-content/uploads/2021/12/ASEAN-National-Holidays-2022.pdf>
@@ -270,8 +272,6 @@ class Cambodia(HolidayBase, InternationalHolidays, StaticHolidays, ThaiCalendarH
270
272
  # ទិវាសន្តិភាពនៅកម្ពុជា
271
273
  # Status: In-Use.
272
274
  # Dec 29, added from 2024 onwards.
273
- # - https://www.khmertimeskh.com/501424903/24-public-holidays-for-2024-peace-day-now-included/
274
- # - https://www.khmertimeskh.com/501551204/govt-announces-22-public-holidays-for-next-year/
275
275
 
276
276
  if self._year >= 2024:
277
277
  # Peace Day in Cambodia.
@@ -23,7 +23,7 @@ class Estonia(HolidayBase, ChristianHolidays, InternationalHolidays):
23
23
  References:
24
24
  * <https://et.wikipedia.org/wiki/Eesti_riigipühad>
25
25
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Estonia>
26
- * [Decree on State Holidays and on Amending the Labour Code of the Estonian SSR (09.10.1990)](https://www.riigiteataja.ee/akt/28395)
26
+ * [Decree on State Holidays and on Amending the Labour Code of the Estonian SSR (09.10.1990)](https://web.archive.org/web/20260117043713/https://www.riigiteataja.ee/akt/28395)
27
27
  * [Holidays and Anniversaries Act (08.02.1994)](https://web.archive.org/web/20250122175021/https://www.riigiteataja.ee/akt/29913)
28
28
  * [Public Holidays and Days of National Importance Act (27.01.1998, in force since 23.02.1998)](https://web.archive.org/web/20260108041502/https://www.riigiteataja.ee/akt/13276841)
29
29
  * [Act amending § 2 of the Holidays and Anniversaries Act
@@ -267,6 +267,9 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
267
267
  def _populate_subdiv_augsburg_public_holidays(self):
268
268
  self._populate_subdiv_by_public_holidays()
269
269
 
270
+ # Assumption Day.
271
+ self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
272
+
270
273
  # Augsburg Peace Festival.
271
274
  self._add_holiday_aug_8(tr("Augsburger Hohes Friedensfest"))
272
275
 
@@ -38,7 +38,7 @@ class India(
38
38
  * <https://web.archive.org/web/20231118175007/http://slusi.dacnet.nic.in/watershedatlas/list_of_state_abbreviation.htm>
39
39
  * <https://web.archive.org/web/20231008063930/https://vahan.parivahan.gov.in/vahan4dashboard/>
40
40
  * Gujarat:
41
- * <https://gad.gujarat.gov.in/personnel/Images/pdf/general_holidays_2026_guj.pdf>
41
+ * <https://web.archive.org/web/20260122052040/https://images-gujarati.indianexpress.com/2025/11/gujarat-government-Year-2026-holiday-list.pdf>
42
42
  * Tamil Nadu:
43
43
  * [Tamil Monthly Calendar](https://web.archive.org/web/20231228103352/https://www.tamildailycalendar.com/tamil_monthly_calendar.php)
44
44
  * [Tamil Calendar](https://web.archive.org/web/20250429125140/https://www.prokerala.com/general/calendar/tamilcalendar.php)
@@ -45,6 +45,7 @@ class Italy(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHoliday
45
45
  * [Law 336 of Nov 20, 2000](https://web.archive.org/web/20230604111415/https://www.gazzettaufficiale.it/eli/gu/2000/11/22/273/sg/pdf)
46
46
  * [Law 151 of Oct 8, 2025](https://web.archive.org/web/20251027040938/https://www.gazzettaufficiale.it/eli/gu/2025/10/10/236/sg/pdf)
47
47
  * [Provinces holidays](https://it.wikipedia.org/wiki/Santi_patroni_cattolici_delle_città_capoluogo_di_provincia_italiane)
48
+ * [Bolzano Province Law 36 of Oct 16, 1992](https://web.archive.org/web/20260121223715/https://www.edizionieuropee.it/LAW/HTML/103/bz2_01_100.html)
48
49
  """
49
50
 
50
51
  country = "IT"
@@ -549,8 +550,10 @@ class Italy(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHoliday
549
550
  self._add_holiday_dec_30(tr("San Ruggero"))
550
551
 
551
552
  def _populate_subdiv_bz_public_holidays(self):
552
- # Assumption Day.
553
- self._add_assumption_of_mary_day(tr("Maria Santissima Assunta"))
553
+ # Province Law 36 of Oct 16, 1992.
554
+ if self._year >= 1993:
555
+ # Whit Monday.
556
+ self._add_whit_monday(tr("Lunedì di Pentecoste"))
554
557
 
555
558
  def _populate_subdiv_ca_public_holidays(self):
556
559
  # Saint Saturninus of Cagliari's Day.
@@ -983,7 +986,7 @@ class ItalyStaticHolidays:
983
986
  * [Law 366 of Jun 28, 1907](https://web.archive.org/web/20251124204309/https://www.gazzettaufficiale.it/eli/gu/1907/06/28/152/sg/pdf)
984
987
  * [Law 450 of Jul 7, 1910](https://web.archive.org/web/20251027060106/https://www.gazzettaufficiale.it/eli/gu/1910/07/18/167/sg/pdf)
985
988
  * [Royal Decree 269 of Mar 11, 1920](https://web.archive.org/web/20251027093344/https://www.gazzettaufficiale.it/eli/gu/1920/03/19/66/sg/pdf)
986
- * [Royal Decree 1208 of Aug 21, 1921](https://www.gazzettaufficiale.it/eli/gu/1921/09/10/215/sg/pdf)
989
+ * [Royal Decree 1208 of Aug 21, 1921](https://web.archive.org/web/20260117043612/https://www.gazzettaufficiale.it/eli/gu/1921/09/10/215/sg/pdf)
987
990
  * [Royal Decree 1207 of Jul 10, 1925](https://web.archive.org/web/20251027092027/https://www.gazzettaufficiale.it/eli/gu/1925/07/24/170/sg/pdf)
988
991
  * [Royal Decree-Law 376 of Apr 25, 1938](https://web.archive.org/web/20251027093701/https://www.gazzettaufficiale.it/eli/gu/1938/04/28/97/sg/pdf)
989
992
  * [Presidential Legislative Decree 2 of Jun 19, 1946](https://web.archive.org/web/20251213235623/https://www.normattiva.it/atto/caricaDettaglioAtto?atto.dataPubblicazioneGazzetta=1946-06-20&atto.codiceRedazionale=046U0002&tipoDettaglio=originario&qId=0c1f85e7-d249-4987-966d-d9a4073ef48f)
@@ -30,10 +30,12 @@ class Laos(ObservedHolidayBase, InternationalHolidays, StaticHolidays, ThaiCalen
30
30
  * <https://web.archive.org/web/20250414071145/https://asean.org/wp-content/uploads/2021/12/ASEAN-National-Holidays-2022.pdf>
31
31
  * <https://web.archive.org/web/20250414071156/https://asean.org/wp-content/uploads/2022/12/ASEAN-Public-Holidays-2023.pdf>
32
32
  * <https://web.archive.org/web/20250414071331/https://www.timeanddate.com/holidays/laos/>
33
- * <https://web.archive.org/web/20250414071244/https://www.bcel.com.la/bcel/bcel-calendar.html?y=2022>
34
- * <https://web.archive.org/web/20250414071349/https://www.bcel.com.la/bcel/bcel-calendar.html?y=2023>
35
- * <https://web.archive.org/web/20250414071245/https://www.bcel.com.la/bcel/bcel-calendar.html?y=2024>
36
- * <http://www.lsx.com.la/cal/getStockCalendar.do?lang=lo> (from 2011 onwards)
33
+ * [2022](https://web.archive.org/web/20250414071244/https://www.bcel.com.la/bcel/bcel-calendar.html?y=2022)
34
+ * [2023](https://web.archive.org/web/20250414071349/https://www.bcel.com.la/bcel/bcel-calendar.html?y=2023)
35
+ * [2024](https://web.archive.org/web/20250414071245/https://www.bcel.com.la/bcel/bcel-calendar.html?y=2024)
36
+ * [2025](https://web.archive.org/web/20260122075248/https://www.bcel.com.la/bcel/bcel-calendar.html?y=2025)
37
+ * [2026](https://web.archive.org/web/20260122075256/https://www.bcel.com.la/bcel/bcel-calendar.html?y=2026)
38
+ * [Lao Securities eXchange (from 2011 onwards)](https://web.archive.org/web/20260122074030/http://lsx.com.la/en/about/holiday]
37
39
 
38
40
  !!! note "If Public Holiday falls on weekends, (in lieu) on workday"
39
41
  Despite the wording, this usually only applies to Monday only for holidays,
@@ -18,7 +18,7 @@ class Liberia(HolidayBase, ChristianHolidays, InternationalHolidays):
18
18
  """Liberia holidays.
19
19
 
20
20
  References:
21
- * [Patriotic and Cultural Observances Law 1956](http://www.liberlii.org/lr/legis/codes/pacolt25lcolr654/)
21
+ * [Patriotic and Cultural Observances Law 1956](http://archive.today/2026.01.22-053103/http://www.liberlii.org/lr/legis/codes/pacolt25lcolr654/)
22
22
 
23
23
  Inauguration Day is celebrated on the first Monday of January in the year after the
24
24
  Presidential elections.
@@ -23,7 +23,7 @@ class Moldova(HolidayBase, ChristianHolidays, InternationalHolidays):
23
23
 
24
24
  References:
25
25
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Moldova>
26
- * <https://www.legis.md/cautare/getResults?doc_id=133686>
26
+ * <https://archive.org/details/httpswww.legis.mdcautaregetresultsdoc_id133686langro>
27
27
  """
28
28
 
29
29
  country = "MD"
@@ -46,7 +46,7 @@ class Sudan(HolidayBase, ChristianHolidays, IslamicHolidays):
46
46
 
47
47
  def _get_weekend(self, dt: date) -> set[int]:
48
48
  # The resting days are Friday and Saturday since January 26th, 2008.
49
- # https://sudantribune.com/article25544/
49
+ # https://sudantribune.com/article/25544
50
50
  return {FRI, SAT} if dt >= date(2008, JAN, 26) else {FRI}
51
51
 
52
52
  def _populate_public_holidays(self):
@@ -43,12 +43,10 @@ class Tonga(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stati
43
43
  Checked With:
44
44
  * [2017](https://web.archive.org/web/20240224051858/https://www.officeholidays.com/countries/tonga/2017)
45
45
  * [2018](https://web.archive.org/web/20220713062330/https://www.gov.to/press-release/tonga-public-holidays-for-2018/)
46
- * [2019](https://www.gov.to/press-release/tonga-public-holidays-for-2019-2/)
47
46
  * [2020](https://web.archive.org/web/20211207144655/https://www.gov.to/press-release/tonga-public-holidays-for-2020/)
48
47
  * [2021](https://web.archive.org/web/20201101134029/https://www.gov.to/press-release/tonga-public-holidays-for-2021/)
49
48
  * [2022](https://web.archive.org/web/20211216154631/https://www.gov.to/press-release/tonga-public-holidays-for-2022/)
50
49
  * [2023](https://web.archive.org/web/20221116225808/https://www.gov.to/press-release/tonga-public-holidays-for-2023/)
51
- * [2024](https://www.gov.to/press-release/tonga-public-holidays-for-2024/)
52
50
 
53
51
  1988 Revision Observance Rule:
54
52
 
@@ -169,16 +169,6 @@ class InternationalHolidays:
169
169
  """
170
170
  return self._add_holiday_jan_3(name)
171
171
 
172
- def _add_new_years_day_four(self, name) -> date:
173
- """
174
- Add New Year's Day Four (January 4th).
175
-
176
- New Year's Day is a festival observed in most of the world on
177
- 1 January, the first day of the year in the modern Gregorian calendar.
178
- https://en.wikipedia.org/wiki/New_Year's_Day
179
- """
180
- return self._add_holiday_jan_4(name)
181
-
182
172
  def _add_remembrance_day(self, name):
183
173
  """
184
174
  Add Remembrance Day / Armistice Day (Nov 11th)
Binary file
Binary file
Binary file
Binary file
@@ -89,6 +89,7 @@ THU_FRI_SUN_TO_NEXT_MON = ObservedRule({THU: +4, FRI: +3, SUN: +1})
89
89
  FRI_SAT_TO_NEXT_WORKDAY = ObservedRule({FRI: +7, SAT: +7})
90
90
  FRI_SUN_TO_NEXT_MON = ObservedRule({FRI: +3, SUN: +1})
91
91
  FRI_SUN_TO_NEXT_SAT_MON = ObservedRule({FRI: +1, SUN: +1})
92
+ FRI_SUN_TO_NEXT_WORKDAY = ObservedRule({FRI: +7, SUN: +7})
92
93
 
93
94
  SAT_SUN_TO_PREV_FRI = ObservedRule({SAT: -1, SUN: -2})
94
95
  SAT_SUN_TO_NEXT_MON = ObservedRule({SAT: +2, SUN: +1})
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: holidays
3
- Version: 0.89
3
+ Version: 0.90
4
4
  Summary: Open World Holidays Framework
5
5
  Author: Vacanza Team
6
6
  Maintainer: Arkadii Yakovets, Panpakorn Siripanich, Serhii Murza
@@ -257,9 +257,9 @@ any) in brackets, available languages and additional holiday categories. All cou
257
257
  <tr>
258
258
  <td>Armenia</td>
259
259
  <td>AM</td>
260
- <td></td>
260
+ <td>Regions: AG (Aragac̣otn), AR (Ararat), AV (Armavir), ER (Erevan), GR (Geġark'unik'), KT (Kotayk'), LO (Loṙi), SH (Širak), SU (Syunik'), TV (Tavuš), VD (Vayoć Jor)</td>
261
261
  <td>en_US, <strong>hy</strong></td>
262
- <td></td>
262
+ <td>WORKDAY</td>
263
263
  </tr>
264
264
  <tr>
265
265
  <td>Aruba</td>
@@ -4,7 +4,7 @@ holidays/helpers.py,sha256=PPCLc-YhNrK2_-2Zdy-K0Ip3F6hzJILLC9GnR8jSPQs,1382
4
4
  holidays/holiday_base.py,sha256=WHsieXG7EM8ZFobdpIHN2-KSuPO7zp6Q8dpJ5mfF7ck,55247
5
5
  holidays/ical.py,sha256=4FG4KZ9Ku1x8AtP9HRrkeRgR6viO6SkzjVrDtISoWEA,8469
6
6
  holidays/no_holiday_base.py,sha256=m-2RTn7zWOHqlJgUaFIhq3tkcSfqJyLB0P6RxAMJELs,774
7
- holidays/observed_holiday_base.py,sha256=mAgHpWqpnLMmEGSmNBO9XE9QN04fiIMm_fNtQlukLns,9665
7
+ holidays/observed_holiday_base.py,sha256=jou2DIPMHqM0wB7ccB5YIBmYF9MtkGbnY3_fvLNx9vs,9724
8
8
  holidays/py.typed,sha256=EUaxvGLCfdycmOVEDt64l9fUKWuyPBxOEQWGfnMnrxE,171
9
9
  holidays/registry.py,sha256=M3O8Laltg2faWKD6mxmmV7g75AC0jv9TeoV5FD6A81c,17257
10
10
  holidays/utils.py,sha256=OP6r3woD-SM6LY_dxXkxpY5nE7DQtpMwsvPKk0mnbuo,17417
@@ -40,9 +40,9 @@ holidays/countries/anguilla.py,sha256=3bblKJp2abi_G1m5O4HEBogZmthEGB6kfogIP44J2T
40
40
  holidays/countries/antarctica.py,sha256=uPCsOAm80T0_i5-aIE5c2I7b8Iptw7YsvDIBZTwW_ps,1735
41
41
  holidays/countries/antigua_and_barbuda.py,sha256=izo24Zw6dczz0sTf6So_BQZrsx-7CWESBzJOaYCn1pI,7022
42
42
  holidays/countries/argentina.py,sha256=c5HGv7_x9bLuXXi9YV1Zcc9nR5DSgln4Kwq5w6wKzg8,45849
43
- holidays/countries/armenia.py,sha256=qCKLdthbrcjDE50hIRR3ONjoAhuiH05G1qG5kv5Qcvo,3810
43
+ holidays/countries/armenia.py,sha256=GSZBk3j1vSrEwkJqCYuOJWf5eCnUyqj3xO7oVHYShIQ,22784
44
44
  holidays/countries/aruba.py,sha256=PDeeK2AYbMtf3Dojo7c4DFztZStIu3uRge8mEqYXfKk,5891
45
- holidays/countries/australia.py,sha256=wmVVOL0muFD8NWWC9S6grKZ86l5IxQ3EnmXJE_-JbnA,33830
45
+ holidays/countries/australia.py,sha256=Nn_UC155c6q9ovaITHKeMXubq2jaYi1NluDCCaOcj9Q,33861
46
46
  holidays/countries/austria.py,sha256=wOKVyMZ-06kZf4t2-Js-FGJz7aUpcdimQwVVjsxZLOo,4931
47
47
  holidays/countries/azerbaijan.py,sha256=FNeUGYu6Ak97m7AKgX5c_qN9pQsePyiRAuSy8lDbEQU,12472
48
48
  holidays/countries/bahamas.py,sha256=IzPmcH31u1-uKGm-tgRyVBNgXaYxw1EbCtqx8Tl0hb0,5686
@@ -63,12 +63,12 @@ holidays/countries/bouvet_island.py,sha256=IebgaEbj_DgtgaD-GFjTYKSJd7DbJVTPrblHi
63
63
  holidays/countries/brazil.py,sha256=SrUUsn6fDH-1G4CAlujjv2meLFPntB5KihRoEKT1SwQ,14886
64
64
  holidays/countries/british_indian_ocean_territory.py,sha256=EJFbmi4Ffn9i2QKPjok_najwhIkU1aH2DGm2o4jhazQ,902
65
65
  holidays/countries/british_virgin_islands.py,sha256=pGMktxs0IPAGYhdk4uxM0rVR-WiNbCoaoLxj1OyRFAA,8080
66
- holidays/countries/brunei.py,sha256=NrfOQLuFXkvcrY3E89tUtAdF9j63yEJT6Q0KUoRFIIU,15493
66
+ holidays/countries/brunei.py,sha256=sqUUKtkPZ9-rAVBCERM-J2nCq_dc3WI_3DEWeb62lpQ,13876
67
67
  holidays/countries/bulgaria.py,sha256=uO_EQIXQu_OBYYD69tQZqD9jXhA_-Nc00FG_-N-vyTg,13843
68
68
  holidays/countries/burkina_faso.py,sha256=gIRNkfkBjUAv1Z4WC_4OrQZXyk-LKYnvDiZbSe6MbNo,4328
69
69
  holidays/countries/burundi.py,sha256=wrOpTuoNCDgufOdqScPfttzeU80Zm8hBIfM8bZGI96Q,5697
70
70
  holidays/countries/cabo_verde.py,sha256=xzJCT6RDuQD348ze5PltfcHxUZbdIx52va17kNLimLU,11101
71
- holidays/countries/cambodia.py,sha256=tlKI2k-Lh8n_F15Oc1Bs--pb5Iotj-tY-XDCXJuH36g,15664
71
+ holidays/countries/cambodia.py,sha256=IekMeXHf7TO7Fmg-ffYKdeCgvovlORP4lwfmpUzdjUI,15740
72
72
  holidays/countries/cameroon.py,sha256=IUO6MCKcgrUXA0wgPf9U_BVckY1PA5KzCuG6O_TLziw,5020
73
73
  holidays/countries/canada.py,sha256=KbrDwumUrxpBI2_dZoUbzY7dx68jRkUdmEq4cIXouEI,20815
74
74
  holidays/countries/cayman_islands.py,sha256=1L1sAH26L0e3-K14ypw9lTpOD6MwOK2-3b0De3JLDCc,7104
@@ -98,7 +98,7 @@ holidays/countries/egypt.py,sha256=_lGhUY_ckPVUOfCvTz0Do3dMl7T4NPxuMbTzqXlgdOg,8
98
98
  holidays/countries/el_salvador.py,sha256=pP7luTp-pYMKVNnUQkp22B49FDAGaAcbwd1EUiP0POo,3761
99
99
  holidays/countries/equatorial_guinea.py,sha256=BUHTGy5Yr22iaYqspulfLHEnWlp8pugorEkASkBQtTI,6189
100
100
  holidays/countries/eritrea.py,sha256=XRbOTQc_EVR2_qe_8BRbhjVvJc_khVR49h-GpvLF3mQ,3480
101
- holidays/countries/estonia.py,sha256=AnQxyropZ41-L7SFj5GdbAx5pzK1bGjfsF0ABEuYyvw,4690
101
+ holidays/countries/estonia.py,sha256=C0dNHwwfNCJ5sudE5X9xvYDhf8c7cK0wbH6m8fI1DA0,4733
102
102
  holidays/countries/eswatini.py,sha256=MjjoG18BHxb2QT9ebxZqMhaPgwwGD8DB5goayXKVLUI,3293
103
103
  holidays/countries/ethiopia.py,sha256=CeO9kRgQebPkV_FGSqy8tLHiDVbCcMBAk4ReJ6CHbec,5323
104
104
  holidays/countries/falkland_islands.py,sha256=_AimxxPFsvA6QQ-buOVqu1AzaiJZJCv-iihMZS2LB9I,5717
@@ -112,7 +112,7 @@ holidays/countries/french_southern_territories.py,sha256=l14M6WkE-WlOr7tBfcOPN3V
112
112
  holidays/countries/gabon.py,sha256=tmbeGLPgG6yMlf3lRDxug49pQIaxIp_yOaU_oclLMpw,3981
113
113
  holidays/countries/gambia.py,sha256=I8abRqOy9ImVATwQjLVwoQgtTZ3p8aC93yBTn_ASmIA,5690
114
114
  holidays/countries/georgia.py,sha256=nM0-c5-iEwcT41FfWUj0yHnhY0b4RY4CR4sP0tiIqXI,4529
115
- holidays/countries/germany.py,sha256=vcX0BNEfLRQfCB0vj1L1OU_5_NzSWTUcwTxaoqDvLF8,12185
115
+ holidays/countries/germany.py,sha256=KpG3AjSdaQ9T1j5SC3ph-OwWUcoqv8IUelt5VZytQ60,12279
116
116
  holidays/countries/ghana.py,sha256=XkG8LvAGVQ3MorAD66CfbCHswwuTVFCuQ0Wd8m2Il6A,3417
117
117
  holidays/countries/gibraltar.py,sha256=9tAScmGEy1t_v4Wqu93h9iwt-DUKQ0iPn9fbW3JUIBw,10522
118
118
  holidays/countries/greece.py,sha256=4BSic1B7x27CwI4AQNrLmUE-WxgUlOgAYYhBQCh7PHg,3600
@@ -131,14 +131,14 @@ holidays/countries/honduras.py,sha256=9J9_DvStkrY1gHEwxDREAA6NyBsGOK_Aj9wxxUiymM
131
131
  holidays/countries/hongkong.py,sha256=gbBDa6UorIFDnXJ5JYBpvx6Yy7-ckFJ1y3EgxnESeT4,16456
132
132
  holidays/countries/hungary.py,sha256=RmszSXo8ZuUd9HfUq0YiqCjuGS_jMAFnohFm0N58GaQ,10548
133
133
  holidays/countries/iceland.py,sha256=crwo_LD9qc4uAQWSXYZCpN_drpsK11o7lrndeoATSE8,3001
134
- holidays/countries/india.py,sha256=I3OdCEq4t6fkEsQoxD8WB6T-jHyPMxcyqOApfdnANuQ,19126
134
+ holidays/countries/india.py,sha256=AUJYtHDJSo1TILE30Rn1B_FE2Tqer0Sol-6DjzdsHyk,19187
135
135
  holidays/countries/indonesia.py,sha256=M9SiwfZpwWc3Xn0Nixdb-z2b4_aUbHu3I6i-18SV__U,29753
136
136
  holidays/countries/iran.py,sha256=wwGrBKxxTRvnj1yCLbqXdFdpgJ0gx578M9fENHSyvIw,10504
137
137
  holidays/countries/iraq.py,sha256=EE798TLNtEo0phcZHYuT5C_G4dj4l5qGbqHt-R7iJcA,9488
138
138
  holidays/countries/ireland.py,sha256=uDPnNZzh4yYzFSW51yaPBUkW2ijX00IIZ7PoO7mlgwM,3176
139
139
  holidays/countries/isle_of_man.py,sha256=VEZyDqGsQqn8sObZcycxSeTYwkovKDK4tcL2JAE6G-o,2588
140
140
  holidays/countries/israel.py,sha256=RNK2hX0nohJJ-esJoeCg6kM3VFdUtwlvS_KMIoQC_u8,5102
141
- holidays/countries/italy.py,sha256=l9f3AVgon1NC4aYdn17PhTQzkgRgONcXSmu6hKn9VHM,38277
141
+ holidays/countries/italy.py,sha256=W3mesMSDhnPUPdoOXUhe-X8CnQk6S-x5BJT7gKn48Ko,38541
142
142
  holidays/countries/ivory_coast.py,sha256=Hi3tWG3-TiPUKqrujt8UTaNvguSBH66AK1xqnutAH24,6113
143
143
  holidays/countries/jamaica.py,sha256=FqI3wVQUVSRf3YDnST-w9Fi-Kq_9PIELnStV5VXkO9Q,2475
144
144
  holidays/countries/japan.py,sha256=jDYS5dmnnxb6mf5RCAYm_GFGcFG_o-K_UtthQZQmvaU,9036
@@ -149,11 +149,11 @@ holidays/countries/kenya.py,sha256=5POiTDWI_UsT0ON-q9zuFfAnGwu7og3y3dXBIzrcJgs,8
149
149
  holidays/countries/kiribati.py,sha256=E9i3dxQXbB9ftPj01k0xWd2Z-77YfI9n9vRi-DS6dfM,4738
150
150
  holidays/countries/kuwait.py,sha256=N2tSEq6_B9JW-Xfkf5oOo3oEo07vylrkyNp6qgY-QSA,3339
151
151
  holidays/countries/kyrgyzstan.py,sha256=TuqX01mA1WWNCwX7WCxWk-58O5_In0yT7SYaMSLMqY0,3073
152
- holidays/countries/laos.py,sha256=EUIUAFb2NCRGO_OhxMV-CfKNHBdMHwyit8HwmfwBv8s,17678
152
+ holidays/countries/laos.py,sha256=5bgJuyycs61R-aebnhHj2X7wFXK-dUiEiQK6Xa9C8WM,17977
153
153
  holidays/countries/latvia.py,sha256=wm8pkcHuKesA3NYTb9BHHcH31dWAyVXGIiLJgSBRebE,4261
154
154
  holidays/countries/lebanon.py,sha256=UMrhfMI5WIymBWaljcAR5_zNbgTL_Ka5LHhUvDBcJOI,12838
155
155
  holidays/countries/lesotho.py,sha256=fTYUWvU2ko-C4GaLjAalYC1TVa4FEODV_7wHNQwAuEk,2781
156
- holidays/countries/liberia.py,sha256=gWr7JclW82TAQsDGMd8BCs11JgkNLl7zzpRQqZY69Ho,2582
156
+ holidays/countries/liberia.py,sha256=-dihCpEd6Z7sP60QyLmLxQTi-oaG17sjugUQhQNUwtQ,2621
157
157
  holidays/countries/libya.py,sha256=5rtfSCDthkIua-W89dCzK3nXx339ijAVRkbB2_5SiIc,7428
158
158
  holidays/countries/liechtenstein.py,sha256=9_EmpnLTJ4NSVEmnRPdObrl308DPH0sFBgFDUmWb4Mk,3282
159
159
  holidays/countries/lithuania.py,sha256=jhswyF3C20eHT8LpmXBoBDUNZ7JQ0PCO8nnkJRqkVGc,3188
@@ -172,7 +172,7 @@ holidays/countries/mauritius.py,sha256=G_BUR7RVV9skOl8v8M621n-CMIJCTioBKclAcXKYW
172
172
  holidays/countries/mayotte.py,sha256=mmYU34FjUAS_8XLdYogV2YpW6D4LfUnGlwV9BOq2CDw,1197
173
173
  holidays/countries/mexico.py,sha256=Hb64Hz2fz54gQkYT0ilAQhcwSd_ttE5iNqqRQ1Y_EtM,3338
174
174
  holidays/countries/micronesia.py,sha256=Y7otcCld8uj_axZ4_aZlICMIBGW7nczdd3_li4TZKrw,9329
175
- holidays/countries/moldova.py,sha256=Ez0m2am5rRSimDVy0Z5voX2Cu1RSdEM08nvpXD1jFZo,3370
175
+ holidays/countries/moldova.py,sha256=wdD05F_kHWMoXO8YM75yc7JC7H2SOGPTBO3r-CRRg_Y,3397
176
176
  holidays/countries/monaco.py,sha256=ASHws-sNAXuxJ54ajqqJep5u8SZcz4l7MpDZaTIjE84,3103
177
177
  holidays/countries/mongolia.py,sha256=C448CDp16rCoyA1UpflVqzu_uJDcHVhTCfaEGk61P9M,8206
178
178
  holidays/countries/montenegro.py,sha256=vifJ390WTFJV_Ni4eYTpKXh0c0E9y3XufPZvhMSeCcA,6278
@@ -240,7 +240,7 @@ holidays/countries/south_korea.py,sha256=F0OrUfnW2YgvhSb9rub1-AMne-oG4E6bAaXyPnP
240
240
  holidays/countries/south_sudan.py,sha256=pv1UrYZgY8mzUhIYpLKhsUZgvWlhG95mLln7rfdSpR4,5037
241
241
  holidays/countries/spain.py,sha256=jBx__ifpYI64xawFzIPMM7xMlwh2-84Jgf7i3CXwsKI,40577
242
242
  holidays/countries/sri_lanka.py,sha256=thoWnXKy7soR0n9Aec9xunMZRJwbGcho5vFHI_qNZ-c,19462
243
- holidays/countries/sudan.py,sha256=S4V8ClKNW5UGZpxkt4rloXt31g2GMLLwa1uFqRrw92k,4087
243
+ holidays/countries/sudan.py,sha256=lXW-03cJxeNqWwbkHbbhlVwhHoooaiUReNFNUFeMJx4,4087
244
244
  holidays/countries/suriname.py,sha256=Tq1itXrmlITjQGtiXxdsSheZeWlkZ_czVKrBveXF7yM,7315
245
245
  holidays/countries/svalbard_and_jan_mayen.py,sha256=F5vT4AlHA6t1zZMRN9XOS4cG2AEB_jjyXndli5M6WjM,1150
246
246
  holidays/countries/sweden.py,sha256=UJTz1-4mULe2MwpIGrrC71cLZcmoXkdbF2JA2X3BHeg,8274
@@ -253,7 +253,7 @@ holidays/countries/thailand.py,sha256=-Y5UDoiMQj0Up8dKmxny58VTXX9ZfC4Fvpm_8A2SDZ
253
253
  holidays/countries/timor_leste.py,sha256=fZPLBNiYk7RJty1uZ3SgJKAv3KajZFaMRcPZ9Lly6IA,24373
254
254
  holidays/countries/togo.py,sha256=N07_zzLyx3LmIlC9sPpU1mUL4462COY1IvtB8Ckbfbw,6752
255
255
  holidays/countries/tokelau.py,sha256=V3YqIdSgGH_aD-UfO_B8FMxYBSt8npQO02NfZQlkAMg,2078
256
- holidays/countries/tonga.py,sha256=n6aHJwVkkTSTbdl8vmKJJCi-a5jJPHHvaOLJzPzwVxA,10238
256
+ holidays/countries/tonga.py,sha256=fmNp5sbXiZ8LVJeJQTW1qOqvtifD3-_5dR7Xn246IDw,10070
257
257
  holidays/countries/trinidad_and_tobago.py,sha256=rfPavOw_bggv_JQIp-QdbNeAL_iRH9ZZLg1SY8dUrlM,6849
258
258
  holidays/countries/tunisia.py,sha256=3MDTgfYmOX1oYk1ynJLRoWZ6fRAVtUsp2vXxeMXILQw,3074
259
259
  holidays/countries/turkey.py,sha256=UE8eoWdfTXzBGQ15yQWYNSKGCt_2QFMcsHQphevBU2M,7123
@@ -296,7 +296,7 @@ holidays/groups/custom.py,sha256=O5I47-EOfD41iO611dFnT89p9nld4m6zKFDYx5Pa5Js,222
296
296
  holidays/groups/eastern.py,sha256=_CZqdRutoIh6ehYq2yFbpur6GkDShPkFs3Hv8haWYi8,2268
297
297
  holidays/groups/hebrew.py,sha256=j0Z3RQdT-lAi5wEBCBLvEzJ-nfkFNW1IQU9Sv8w7aoA,5552
298
298
  holidays/groups/hindu.py,sha256=oxzlyGV3J_imnjqEAIAKXkPTepAhQm6TLRJ2v9goMiw,19380
299
- holidays/groups/international.py,sha256=o1l_0mGYVBjmDbRnU6_g7x7fXRHyZRGOb_Xihy2phKc,8646
299
+ holidays/groups/international.py,sha256=_PSjZG8jko3aUNjrrGcXEqF6HJ2o78GzOSikqA0mYNk,8273
300
300
  holidays/groups/islamic.py,sha256=EKlOeJBX7yWYl30qv6h9-71N0KaJOiIFbKk3Pa1aEag,16420
301
301
  holidays/groups/mandaean.py,sha256=zYPZAoyi7M-My8ShRq8GO-JICbUVn1XFVpoJcQyTOGM,4068
302
302
  holidays/groups/mongolian.py,sha256=D1j6ruhPu85nz62Z-AjGKqK-g1ITnmeht7OTlAa7n0g,4146
@@ -402,7 +402,7 @@ holidays/locale/en_US/LC_MESSAGES/AE.mo,sha256=6UCl8hemzn6bZEOKAomo87Rpy_tTNX3Rf
402
402
  holidays/locale/en_US/LC_MESSAGES/AF.mo,sha256=lDdJ64OGb1lzsEi7GpdWYB1GHo1TL_R8uYlSqGS7Qzg,1372
403
403
  holidays/locale/en_US/LC_MESSAGES/AI.mo,sha256=WG-_8-2ahKQynCbf1aHa7ceulH2K_hHdX1pwzTfsavY,1784
404
404
  holidays/locale/en_US/LC_MESSAGES/AL.mo,sha256=PTVY0dlk3gqP5MRHtpMbE0Ew_QafAZdTsxOwXJyuV0s,1572
405
- holidays/locale/en_US/LC_MESSAGES/AM.mo,sha256=KgUkRTivoW2LwRiq5gjtLyvON6-x2pKFsuWbDzG_fcI,1536
405
+ holidays/locale/en_US/LC_MESSAGES/AM.mo,sha256=OtXSIAjuIt93WcTIlgehklLeVZh3yzAZ8pJGEL94igg,4918
406
406
  holidays/locale/en_US/LC_MESSAGES/AO.mo,sha256=o_doGFXD5ap4IYHPII3BHIdK99sc8giXdu9XBaJl7S8,1892
407
407
  holidays/locale/en_US/LC_MESSAGES/AR.mo,sha256=L9zxXA2b6Ljk2U5iv0AzNPcD3e4AuyboiJBtzNXaXsU,7899
408
408
  holidays/locale/en_US/LC_MESSAGES/AS.mo,sha256=atsqriiTEonrf3s5Ikpft5tZb84sxKb9AZum-8gotU8,435
@@ -488,7 +488,7 @@ holidays/locale/en_US/LC_MESSAGES/IN.mo,sha256=E36R8QhazKN2LJVlUg-hQxCWWdMYZztrD
488
488
  holidays/locale/en_US/LC_MESSAGES/IQ.mo,sha256=ymebw1CdVGlWLKW8hCs6EK2JEW7V8oRnb247T7oY-ts,2178
489
489
  holidays/locale/en_US/LC_MESSAGES/IR.mo,sha256=zDo4SA0mM1yZPmtsRfd8RyPc5UjF8FmLrFdGB4-UgQA,2564
490
490
  holidays/locale/en_US/LC_MESSAGES/IS.mo,sha256=qdGHBpmJTrigEQI16Hpd9sCwCXofOHW4LN6pacoqFXQ,1250
491
- holidays/locale/en_US/LC_MESSAGES/IT.mo,sha256=GrknLMmNc6Snoe27qOmkmduTv_Km7DzdLUxQsAqbR5E,8404
491
+ holidays/locale/en_US/LC_MESSAGES/IT.mo,sha256=rhtSis-JameGzfNhwa1MSzAeEA8hAbu2aVp5tDKCmmY,8454
492
492
  holidays/locale/en_US/LC_MESSAGES/JO.mo,sha256=hsZYIhQfxBDsvPa28eFcxXTPO2jCfrrQA5bISzx52E8,1176
493
493
  holidays/locale/en_US/LC_MESSAGES/JP.mo,sha256=mnMcd_1c5TEpFerVyC71abq7QKbhkBw9sMpoHIzb26Q,1699
494
494
  holidays/locale/en_US/LC_MESSAGES/KE.mo,sha256=4PL7kPq9JmlNMrH1C0X9CUWBIVtrEcnwNSXmCDcmcpk,1796
@@ -684,7 +684,7 @@ holidays/locale/hi/LC_MESSAGES/XNSE.mo,sha256=cgJCpJpWfG4PmBLjaqeBKB3_xc3JAPLjKe
684
684
  holidays/locale/hr/LC_MESSAGES/HR.mo,sha256=IZKY0I7cG6eILQCHxENpuJ8h09Cwo1FGyfvRB5aQoJ0,428
685
685
  holidays/locale/ht/LC_MESSAGES/HT.mo,sha256=vIJNBpbTLFCMJdTkPtOyZ1ntsYpwjfpnV8THbIfOg10,1832
686
686
  holidays/locale/hu/LC_MESSAGES/HU.mo,sha256=IrMjkwGu93Q9rYW7zpvUN1LwTdcwf4R-u35rP-fcSIM,430
687
- holidays/locale/hy/LC_MESSAGES/AM.mo,sha256=IyHwiq8fshCmBWatrIQw8U2ujQfkSbBVr4szRyD-CLY,430
687
+ holidays/locale/hy/LC_MESSAGES/AM.mo,sha256=CrFtkM01sJqEz-3MOFak0Lqazk62lkBZ_-Zpiv-ROfs,430
688
688
  holidays/locale/id/LC_MESSAGES/ID.mo,sha256=M760m09Eqe5kQElQd3Exf8WeenLDSbBWoWFTaBo3UoM,430
689
689
  holidays/locale/is/LC_MESSAGES/FO.mo,sha256=yxBj7ITfGAs0F5c9R5UEY1K28-tNwETGH294dlsPATM,1213
690
690
  holidays/locale/is/LC_MESSAGES/GL.mo,sha256=1FHeoJx35aAh_OdSSmbWoGQmG4J4OgJPV5MezZNhtIQ,1206
@@ -692,7 +692,7 @@ holidays/locale/is/LC_MESSAGES/IS.mo,sha256=_mQLGcq7OaaXK_ymscrfC19Kp6vak8wBvRIk
692
692
  holidays/locale/it/LC_MESSAGES/CH.mo,sha256=DVZP8ziunDwoz3CoZVgCNaBzNhAFOs65UzcONa5ME68,2106
693
693
  holidays/locale/it/LC_MESSAGES/SM.mo,sha256=cLeCG3RBuMeXbtNfiBR5ipc8a4JkU7itARQGqoVZEdU,403
694
694
  holidays/locale/it/LC_MESSAGES/VA.mo,sha256=HWy3xacsig9e7f2ZjCxDVU4OSdQ7XOMURWcILwNEtoE,429
695
- holidays/locale/it_IT/LC_MESSAGES/IT.mo,sha256=niS1KgT_bDNg8onqUG0JgmQzSsRyLBnUXBmGmvT6hNM,409
695
+ holidays/locale/it_IT/LC_MESSAGES/IT.mo,sha256=EnEtQwiXHCj2cL9h6ZaHOXMPPo2hs6TlD5j4fCw4_0g,409
696
696
  holidays/locale/ja/LC_MESSAGES/JP.mo,sha256=J7HrroYDj9MatECPEtH1ybYPM46M_t7yZdnjXoF7oaw,428
697
697
  holidays/locale/ka/LC_MESSAGES/GE.mo,sha256=BUD63XmPy6qWeoZMTMJn5eyer4SetZIQ3wnX1PfOTZg,430
698
698
  holidays/locale/kk/LC_MESSAGES/KZ.mo,sha256=p6HefOE54FY-IBhKkvBgmWd2XCjR-pgS934Rxr-iG2o,427
@@ -923,9 +923,9 @@ holidays/locale/zh_TW/LC_MESSAGES/TW.mo,sha256=NCtCnu4nFtGmai15yKhXrZbcH11lX09uQ
923
923
  holidays/mixins/__init__.py,sha256=1nT3Lv8QA5CxHN1MC2MWELagHwOPuMtX_2bnsFZZkyo,717
924
924
  holidays/mixins/child_entity.py,sha256=OLVkwF84StzbAdX1bXXteOmtwXzO1nI77BDIOImHL4E,1570
925
925
  holidays/mixins/preferred_discretionary_holidays.py,sha256=ygaJRga0RSOgbHZMt1Hpw4-DbZOdFtYHTv5Pifka4MI,1113
926
- holidays-0.89.dist-info/licenses/CONTRIBUTORS,sha256=8299GtaBZ3gWQpYVq-itwS_rfCKjkhp3g-DGCqz74Ak,2757
927
- holidays-0.89.dist-info/licenses/LICENSE,sha256=qaRbNMUziFD5hzKfNRApNOyW0rOkRWOZi8zAG9nJ4-k,1246
928
- holidays-0.89.dist-info/METADATA,sha256=--JCOgSJG3mKBFbyZZmVpXSD55ntnHF2_yxHEI-o0wU,50304
929
- holidays-0.89.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
930
- holidays-0.89.dist-info/top_level.txt,sha256=VbGrOCSM-V2kztuL_7CoDKLOgzOc85ueFsng7VYerrQ,9
931
- holidays-0.89.dist-info/RECORD,,
926
+ holidays-0.90.dist-info/licenses/CONTRIBUTORS,sha256=Q4SqzwJ-UIw8x289mBp--NN9P8KWhTquCGDlyFbCzyg,2773
927
+ holidays-0.90.dist-info/licenses/LICENSE,sha256=qaRbNMUziFD5hzKfNRApNOyW0rOkRWOZi8zAG9nJ4-k,1246
928
+ holidays-0.90.dist-info/METADATA,sha256=5TM2ptFDru8lqBmdzFy4gveaV999YyCZVzWC-W8tWuQ,50480
929
+ holidays-0.90.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
930
+ holidays-0.90.dist-info/top_level.txt,sha256=VbGrOCSM-V2kztuL_7CoDKLOgzOc85ueFsng7VYerrQ,9
931
+ holidays-0.90.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -56,6 +56,7 @@ Filip Bednárik
56
56
  Firas Kafri
57
57
  Gabriel L Martinez
58
58
  Gabriel Trabanco
59
+ Gerhard Schmidt
59
60
  Giedrius Mauza
60
61
  Gordon Inggs
61
62
  Greg Rafferty