holidays 0.87__py3-none-any.whl → 0.89__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.
- holidays/constants.py +1 -0
- holidays/countries/american_samoa.py +2 -0
- holidays/countries/argentina.py +49 -37
- holidays/countries/australia.py +13 -1
- holidays/countries/azerbaijan.py +5 -4
- holidays/countries/belarus.py +4 -2
- holidays/countries/brazil.py +27 -1
- holidays/countries/chile.py +2 -3
- holidays/countries/estonia.py +5 -5
- holidays/countries/guam.py +2 -0
- holidays/countries/italy.py +7 -7
- holidays/countries/jordan.py +6 -4
- holidays/countries/kyrgyzstan.py +3 -2
- holidays/countries/macau.py +39 -45
- holidays/countries/malaysia.py +171 -71
- holidays/countries/new_zealand.py +4 -3
- holidays/countries/northern_mariana_islands.py +2 -0
- holidays/countries/puerto_rico.py +4 -2
- holidays/countries/qatar.py +4 -5
- holidays/countries/sweden.py +35 -11
- holidays/countries/taiwan.py +6 -5
- holidays/countries/timor_leste.py +14 -20
- holidays/countries/turks_and_caicos_islands.py +13 -3
- holidays/countries/united_states.py +400 -108
- holidays/countries/united_states_minor_outlying_islands.py +2 -0
- holidays/countries/united_states_virgin_islands.py +2 -0
- holidays/countries/uzbekistan.py +12 -1
- holidays/countries/venezuela.py +113 -23
- holidays/financial/__init__.py +1 -0
- holidays/financial/bombay_stock_exchange.py +33 -0
- holidays/financial/national_stock_exchange_of_india.py +1 -1
- holidays/holiday_base.py +2 -1
- holidays/locale/en_AU/LC_MESSAGES/AU.mo +0 -0
- holidays/locale/en_IN/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/en_TC/LC_MESSAGES/TC.mo +0 -0
- holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/AU.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/US.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
- holidays/registry.py +1 -0
- holidays/utils.py +52 -0
- holidays/version.py +3 -1
- {holidays-0.87.dist-info → holidays-0.89.dist-info}/METADATA +18 -18
- {holidays-0.87.dist-info → holidays-0.89.dist-info}/RECORD +71 -65
- {holidays-0.87.dist-info → holidays-0.89.dist-info}/licenses/CONTRIBUTORS +7 -0
- {holidays-0.87.dist-info → holidays-0.89.dist-info}/WHEEL +0 -0
- {holidays-0.87.dist-info → holidays-0.89.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.87.dist-info → holidays-0.89.dist-info}/top_level.txt +0 -0
holidays/countries/macau.py
CHANGED
|
@@ -24,6 +24,8 @@ from holidays.observed_holiday_base import (
|
|
|
24
24
|
ObservedHolidayBase,
|
|
25
25
|
SUN_TO_NEXT_WORKDAY,
|
|
26
26
|
SAT_SUN_TO_NEXT_WORKDAY,
|
|
27
|
+
SAT_TO_NONE,
|
|
28
|
+
SUN_TO_NONE,
|
|
27
29
|
)
|
|
28
30
|
|
|
29
31
|
|
|
@@ -92,19 +94,7 @@ class Macau(
|
|
|
92
94
|
kwargs.setdefault("observed_since", 2011)
|
|
93
95
|
super().__init__(*args, **kwargs)
|
|
94
96
|
|
|
95
|
-
def
|
|
96
|
-
"""Macau Mandatory (Statutory) Holidays.
|
|
97
|
-
|
|
98
|
-
Decreto-Lei n.º 101/84/M - Earliest Available Version Online.
|
|
99
|
-
Decreto-Lei n.º 24/89/M - Added Ching Ming Festival.
|
|
100
|
-
Lei n.º 8/2000 - Removed Day of Portugal
|
|
101
|
-
- Added Macao S.A.R. Establishment Day.
|
|
102
|
-
- Moved Mid-Autumn to Day following Mid-Autumn to match Public Holidays.
|
|
103
|
-
Lei n.º 7/2008 - Consolidated with other laws, reaffirming 2000 Amendment list.
|
|
104
|
-
"""
|
|
105
|
-
if self._year <= 1984:
|
|
106
|
-
return None
|
|
107
|
-
|
|
97
|
+
def _populate_common(self):
|
|
108
98
|
# New Year's Day.
|
|
109
99
|
self._add_new_years_day(tr("元旦"))
|
|
110
100
|
|
|
@@ -126,6 +116,21 @@ class Macau(
|
|
|
126
116
|
# National Day of the People's Republic of China.
|
|
127
117
|
self._add_holiday_oct_1(tr("中華人民共和國國慶日"))
|
|
128
118
|
|
|
119
|
+
def _populate_public_holidays(self):
|
|
120
|
+
"""Macau Mandatory (Statutory) Holidays.
|
|
121
|
+
|
|
122
|
+
Decreto-Lei n.º 101/84/M - Earliest Available Version Online.
|
|
123
|
+
Decreto-Lei n.º 24/89/M - Added Ching Ming Festival.
|
|
124
|
+
Lei n.º 8/2000 - Removed Day of Portugal
|
|
125
|
+
- Added Macao S.A.R. Establishment Day.
|
|
126
|
+
- Moved Mid-Autumn to Day following Mid-Autumn to match Public Holidays.
|
|
127
|
+
Lei n.º 7/2008 - Consolidated with other laws, reaffirming 2000 Amendment list.
|
|
128
|
+
"""
|
|
129
|
+
if self._year <= 1984:
|
|
130
|
+
return None
|
|
131
|
+
|
|
132
|
+
self._populate_common()
|
|
133
|
+
|
|
129
134
|
# Decreto-Lei n.º 24/89/M - Adds Ching Ming as a Mandatory Holiday.
|
|
130
135
|
if self._year >= 1989:
|
|
131
136
|
# Tomb-Sweeping Day.
|
|
@@ -150,17 +155,7 @@ class Macau(
|
|
|
150
155
|
|
|
151
156
|
def _populate_optional_holidays(self):
|
|
152
157
|
"""Macau General Holidays."""
|
|
153
|
-
|
|
154
|
-
self._add_new_years_day(tr("元旦"))
|
|
155
|
-
|
|
156
|
-
# Chinese New Year's Day.
|
|
157
|
-
self._add_chinese_new_years_day(tr("農曆正月初一"))
|
|
158
|
-
|
|
159
|
-
# The second day of Chinese New Year.
|
|
160
|
-
self._add_chinese_new_years_day_two(tr("農曆正月初二"))
|
|
161
|
-
|
|
162
|
-
# The third day of Chinese New Year.
|
|
163
|
-
self._add_chinese_new_years_day_three(tr("農曆正月初三"))
|
|
158
|
+
self._populate_common()
|
|
164
159
|
|
|
165
160
|
# Tomb-Sweeping Day.
|
|
166
161
|
self._add_qingming_festival(tr("清明節"))
|
|
@@ -183,21 +178,12 @@ class Macau(
|
|
|
183
178
|
else tr("聖周星期六")
|
|
184
179
|
)
|
|
185
180
|
|
|
186
|
-
# Labor Day.
|
|
187
|
-
self._add_labor_day(tr("勞動節"))
|
|
188
|
-
|
|
189
181
|
# Dragon Boat Festival.
|
|
190
182
|
self._add_dragon_boat_festival(tr("端午節"))
|
|
191
183
|
|
|
192
|
-
# Double Ninth Festival.
|
|
193
|
-
self._add_double_ninth_festival(tr("重陽節"))
|
|
194
|
-
|
|
195
184
|
# The Day following Mid-Autumn Festival.
|
|
196
185
|
self._add_mid_autumn_festival_day_two(tr("中秋節翌日"))
|
|
197
186
|
|
|
198
|
-
# National Day of the People's Republic of China.
|
|
199
|
-
self._add_holiday_oct_1(tr("中華人民共和國國慶日"))
|
|
200
|
-
|
|
201
187
|
# All Soul's Day.
|
|
202
188
|
self._add_all_souls_day(tr("追思節"))
|
|
203
189
|
|
|
@@ -293,18 +279,12 @@ class Macau(
|
|
|
293
279
|
# New Year's Day.
|
|
294
280
|
dts_observed.add(self._add_new_years_day(tr("元旦")))
|
|
295
281
|
|
|
296
|
-
if
|
|
282
|
+
if not (
|
|
283
|
+
self._is_sunday(self._chinese_new_year) or self._is_monday(self._chinese_new_year)
|
|
284
|
+
):
|
|
297
285
|
# Chinese New Year's Eve.
|
|
298
286
|
self._add_chinese_new_years_eve(begin_time_label % self.tr("農曆除夕"))
|
|
299
287
|
|
|
300
|
-
if self._year in {2006, 2007, 2010, 2013, 2014, 2017, 2018}:
|
|
301
|
-
# The fourth day of Chinese New Year.
|
|
302
|
-
self._add_chinese_new_years_day_four(tr("農曆正月初四"))
|
|
303
|
-
|
|
304
|
-
if self._year in {2014, 2015, 2017, 2018}:
|
|
305
|
-
# The fifth day of Chinese New Year.
|
|
306
|
-
self._add_chinese_new_years_day_five(tr("農曆正月初五"))
|
|
307
|
-
|
|
308
288
|
if self._year >= 2019:
|
|
309
289
|
# Chinese New Year's Day.
|
|
310
290
|
dts_observed.add(self._add_chinese_new_years_day(tr("農曆正月初一")))
|
|
@@ -314,6 +294,17 @@ class Macau(
|
|
|
314
294
|
|
|
315
295
|
# The third day of Chinese New Year.
|
|
316
296
|
dts_observed.add(self._add_chinese_new_years_day_three(tr("農曆正月初三")))
|
|
297
|
+
else:
|
|
298
|
+
if self._is_friday(self._chinese_new_year) or self._is_weekend(self._chinese_new_year):
|
|
299
|
+
# The fourth day of Chinese New Year.
|
|
300
|
+
self._add_chinese_new_years_day_four(tr("農曆正月初四"))
|
|
301
|
+
if self._year >= 2012 and (
|
|
302
|
+
self._is_thursday(self._chinese_new_year)
|
|
303
|
+
or self._is_friday(self._chinese_new_year)
|
|
304
|
+
or self._is_saturday(self._chinese_new_year)
|
|
305
|
+
):
|
|
306
|
+
# The fifth day of Chinese New Year.
|
|
307
|
+
self._add_chinese_new_years_day_five(tr("農曆正月初五"))
|
|
317
308
|
|
|
318
309
|
# The Day before Easter.
|
|
319
310
|
dts_observed.add(self._add_holy_saturday(tr("復活節前日")))
|
|
@@ -361,9 +352,12 @@ class Macau(
|
|
|
361
352
|
dts_observed.add(self._add_christmas_day(tr("聖誕節")))
|
|
362
353
|
|
|
363
354
|
# 2012's Full-Day New Year's Eve is declared discretely.
|
|
364
|
-
if self._year >= 2007 and self._year
|
|
365
|
-
|
|
366
|
-
|
|
355
|
+
if self._year >= 2007 and self._year != 2012:
|
|
356
|
+
self._move_holiday(
|
|
357
|
+
# New Year's Eve.
|
|
358
|
+
self._add_new_years_eve(begin_time_label % self.tr("除夕")),
|
|
359
|
+
rule=SAT_TO_NONE + SUN_TO_NONE,
|
|
360
|
+
)
|
|
367
361
|
|
|
368
362
|
if self.observed:
|
|
369
363
|
self.observed_label = (
|
holidays/countries/malaysia.py
CHANGED
|
@@ -74,9 +74,27 @@ class Malaysia(
|
|
|
74
74
|
* [Holidays Act 1951](https://web.archive.org/web/20241202103403/https://www.kabinet.gov.my/bkpp/pdf/akta_warta/1951_12_31_act369.pdf)
|
|
75
75
|
* [Holidays Ordinance (Sabah Cap. 56)](https://web.archive.org/web/20201028045259/https://sagc.sabah.gov.my/sites/default/files/law/HolidaysOrdinance.pdf)
|
|
76
76
|
* [Public Holidays Ordinance (Sarawak Cap. 8)](https://web.archive.org/web/20221208142318/https://www.kabinet.gov.my/bkpp/pdf/akta_warta/sarawak_public_holidays_ord_chapter8.pdf)
|
|
77
|
-
*
|
|
77
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_Malaysia>
|
|
78
78
|
* <https://web.archive.org/web/20250123115300/https://www.nst.com.my/news/nation/2020/03/571660/agongs-birthday-moved-june-6-june-8>
|
|
79
79
|
* <https://web.archive.org/web/20240228225038/https://www.nst.com.my/news/nation/2024/02/1014012/melaka-cm-suggests-declaring-feb-20-federal-public-holiday-mark>
|
|
80
|
+
* <https://web.archive.org/web/20251216120554/https://www.kabinet.gov.my/storage/2025/08/HKA-2026.pdf>
|
|
81
|
+
|
|
82
|
+
Subdivisions Holidays References:
|
|
83
|
+
* Sabah:
|
|
84
|
+
* [2001](https://web.archive.org/web/20230605164302/https://www.sabah.gov.my/gazette/docs/000207.pdf)
|
|
85
|
+
* [2002](https://web.archive.org/web/20230605173234/https://www.sabah.gov.my/gazette/docs/000968.pdf)
|
|
86
|
+
* [2003](https://web.archive.org/web/20230418041718/https://www.sabah.gov.my/gazette/docs/001736.pdf)
|
|
87
|
+
* [2004](https://web.archive.org/web/20230414022317/https://www.sabah.gov.my/gazette/docs/001546.pdf)
|
|
88
|
+
* [2005](https://web.archive.org/web/20230420233014/https://www.sabah.gov.my/gazette/docs/001714.pdf)
|
|
89
|
+
* [2006](https://web.archive.org/web/20230414141628/https://www.sabah.gov.my/gazette/docs/001803.pdf)
|
|
90
|
+
* [2007](https://web.archive.org/web/20230414125605/https://www.sabah.gov.my/gazette/docs/001866.pdf)
|
|
91
|
+
* [2008](https://web.archive.org/web/20230605175854/https://www.sabah.gov.my/gazette/docs/001942.pdf)
|
|
92
|
+
* [2009](https://web.archive.org/web/20230605180330/https://www.sabah.gov.my/gazette/docs/001998.pdf)
|
|
93
|
+
* [Christmas Eve since 2019](https://web.archive.org/web/20221207071317/https://www.sabah.gov.my/gazette/docs/002712.pdf)
|
|
94
|
+
* [Birthday of the Governor of Sabah update 2010](https://web.archive.org/web/20230414125515/https://www.sabah.gov.my/gazette/docs/002114.pdf)
|
|
95
|
+
* [2025](https://web.archive.org/web/20251216152001/https://www.sabah.gov.my/gazette/docs/003106.pdf)
|
|
96
|
+
* [2025 changes](https://web.archive.org/web/20250330061412/https://www.sabah.gov.my/gazette/docs/003144.pdf)
|
|
97
|
+
* [2026](https://web.archive.org/web/20251010011859/https://www.sabah.gov.my/gazette/docs/003152.pdf)
|
|
80
98
|
|
|
81
99
|
Section 3 of Holidays Act 1951:
|
|
82
100
|
> If any day specified in the Schedule falls on Sunday then the day following shall be
|
|
@@ -505,12 +523,21 @@ class Malaysia(
|
|
|
505
523
|
self._add_holiday_may_30(name)
|
|
506
524
|
self._add_holiday_may_31(name)
|
|
507
525
|
|
|
508
|
-
|
|
509
|
-
|
|
526
|
+
if self._year >= 2001:
|
|
527
|
+
# Birthday of the Governor of Sabah.
|
|
528
|
+
name = tr("Hari Jadi Yang di-Pertua Negeri Sabah")
|
|
529
|
+
if self._year >= 2025:
|
|
530
|
+
self._add_holiday_mar_30(name)
|
|
531
|
+
elif self._year >= 2010:
|
|
532
|
+
self._add_holiday_1st_sat_of_oct(name)
|
|
533
|
+
elif self._year == 2005:
|
|
534
|
+
self._add_holiday_feb_11(name)
|
|
535
|
+
else:
|
|
536
|
+
self._add_holiday_sep_16(name)
|
|
510
537
|
|
|
511
538
|
if self._year >= 2019:
|
|
512
539
|
# Christmas Eve.
|
|
513
|
-
self._add_christmas_eve(tr("
|
|
540
|
+
self._add_christmas_eve(tr("Krismas (Eve)"))
|
|
514
541
|
|
|
515
542
|
def _populate_subdiv_13_public_holidays(self):
|
|
516
543
|
# New Year's Day.
|
|
@@ -616,11 +643,12 @@ class MalaysiaBuddhistHolidays(_CustomBuddhistHolidays):
|
|
|
616
643
|
2023: (MAY, 4),
|
|
617
644
|
2024: (MAY, 22),
|
|
618
645
|
2025: (MAY, 12),
|
|
646
|
+
2026: (MAY, 31),
|
|
619
647
|
}
|
|
620
648
|
|
|
621
649
|
|
|
622
650
|
class MalaysiaChineseHolidays(_CustomChineseHolidays):
|
|
623
|
-
LUNAR_NEW_YEAR_DATES_CONFIRMED_YEARS = (2001,
|
|
651
|
+
LUNAR_NEW_YEAR_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
624
652
|
|
|
625
653
|
|
|
626
654
|
class MalaysiaHinduHolidays(_CustomHinduHolidays):
|
|
@@ -650,6 +678,7 @@ class MalaysiaHinduHolidays(_CustomHinduHolidays):
|
|
|
650
678
|
2023: (NOV, 12),
|
|
651
679
|
2024: (OCT, 31),
|
|
652
680
|
2025: (OCT, 20),
|
|
681
|
+
2026: (NOV, 8),
|
|
653
682
|
}
|
|
654
683
|
|
|
655
684
|
THAIPUSAM_DATES = {
|
|
@@ -667,7 +696,7 @@ class MalaysiaHinduHolidays(_CustomHinduHolidays):
|
|
|
667
696
|
|
|
668
697
|
|
|
669
698
|
class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
670
|
-
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2001,
|
|
699
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
671
700
|
EID_AL_ADHA_DATES = {
|
|
672
701
|
2001: (MAR, 6),
|
|
673
702
|
2002: (FEB, 23),
|
|
@@ -687,7 +716,7 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
687
716
|
2025: (JUN, 7),
|
|
688
717
|
}
|
|
689
718
|
|
|
690
|
-
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2001,
|
|
719
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
691
720
|
EID_AL_FITR_DATES = {
|
|
692
721
|
2001: (DEC, 17),
|
|
693
722
|
2002: (DEC, 6),
|
|
@@ -697,9 +726,10 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
697
726
|
2019: (JUN, 5),
|
|
698
727
|
2023: (APR, 22),
|
|
699
728
|
2025: (MAR, 31),
|
|
729
|
+
2026: (MAR, 21),
|
|
700
730
|
}
|
|
701
731
|
|
|
702
|
-
HARI_HOL_JOHOR_DATES_CONFIRMED_YEARS = (2011,
|
|
732
|
+
HARI_HOL_JOHOR_DATES_CONFIRMED_YEARS = (2011, 2026)
|
|
703
733
|
HARI_HOL_JOHOR_DATES = {
|
|
704
734
|
2011: (JAN, 12),
|
|
705
735
|
2012: (DEC, 20),
|
|
@@ -712,9 +742,10 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
712
742
|
2022: (SEP, 3),
|
|
713
743
|
2023: (AUG, 23),
|
|
714
744
|
2024: (AUG, 11),
|
|
745
|
+
2026: (JUL, 21),
|
|
715
746
|
}
|
|
716
747
|
|
|
717
|
-
HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARS = (2001,
|
|
748
|
+
HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
718
749
|
HIJRI_NEW_YEAR_DATES = {
|
|
719
750
|
2003: (MAR, 5),
|
|
720
751
|
2004: (FEB, 22),
|
|
@@ -725,9 +756,10 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
725
756
|
2019: (SEP, 1),
|
|
726
757
|
2021: (AUG, 10),
|
|
727
758
|
2025: (JUN, 27),
|
|
759
|
+
2026: (JUN, 17),
|
|
728
760
|
}
|
|
729
761
|
|
|
730
|
-
ISRA_AND_MIRAJ_DATES_CONFIRMED_YEARS = (2001,
|
|
762
|
+
ISRA_AND_MIRAJ_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
731
763
|
ISRA_AND_MIRAJ_DATES = {
|
|
732
764
|
2001: (OCT, 15),
|
|
733
765
|
2006: (AUG, 22),
|
|
@@ -737,9 +769,10 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
737
769
|
2016: (MAY, 5),
|
|
738
770
|
2018: (APR, 14),
|
|
739
771
|
2022: (MAR, 1),
|
|
772
|
+
2026: (JAN, 17),
|
|
740
773
|
}
|
|
741
774
|
|
|
742
|
-
MAWLID_DATES_CONFIRMED_YEARS = (2001,
|
|
775
|
+
MAWLID_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
743
776
|
MAWLID_DATES = {
|
|
744
777
|
2003: (MAY, 14),
|
|
745
778
|
2004: (MAY, 2),
|
|
@@ -757,7 +790,7 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
757
790
|
2025: (SEP, 5),
|
|
758
791
|
}
|
|
759
792
|
|
|
760
|
-
NUZUL_AL_QURAN_DATES_CONFIRMED_YEARS = (2001,
|
|
793
|
+
NUZUL_AL_QURAN_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
761
794
|
NUZUL_AL_QURAN_DATES = {
|
|
762
795
|
2001: (DEC, 3),
|
|
763
796
|
2003: (NOV, 12),
|
|
@@ -769,9 +802,10 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
769
802
|
2022: (APR, 19),
|
|
770
803
|
2024: (MAR, 28),
|
|
771
804
|
2025: (MAR, 18),
|
|
805
|
+
2026: (MAR, 7),
|
|
772
806
|
}
|
|
773
807
|
|
|
774
|
-
RAMADAN_BEGINNING_DATES_CONFIRMED_YEARS = (2001,
|
|
808
|
+
RAMADAN_BEGINNING_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
775
809
|
RAMADAN_BEGINNING_DATES = {
|
|
776
810
|
2001: (NOV, 17),
|
|
777
811
|
2003: (OCT, 27),
|
|
@@ -784,15 +818,16 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
784
818
|
2022: (APR, 3),
|
|
785
819
|
2024: (MAR, 12),
|
|
786
820
|
2025: (MAR, 2),
|
|
821
|
+
2026: (FEB, 19),
|
|
787
822
|
}
|
|
788
823
|
|
|
789
824
|
|
|
790
825
|
class MalaysiaStaticHolidays:
|
|
791
826
|
# General election additional holiday.
|
|
792
|
-
|
|
827
|
+
general_election_additional_holiday = tr("Cuti Peristiwa (pilihan raya umum)")
|
|
793
828
|
|
|
794
829
|
# Additional holiday.
|
|
795
|
-
|
|
830
|
+
additional_holiday = tr("Cuti Peristiwa")
|
|
796
831
|
|
|
797
832
|
# Eid al-Adha.
|
|
798
833
|
eid_al_adha = tr("Hari Raya Qurban")
|
|
@@ -803,117 +838,182 @@ class MalaysiaStaticHolidays:
|
|
|
803
838
|
# Malaysia Cup Holiday.
|
|
804
839
|
malaysia_cup_holiday = tr("Cuti Piala Malaysia")
|
|
805
840
|
|
|
806
|
-
# Day of Installation of the 15th Yang di-Pertuan Agong.
|
|
807
|
-
yang_di_pertuan_agong_15_installation = tr("Hari Pertabalan Yang di-Pertuan Agong ke-15")
|
|
808
|
-
|
|
809
|
-
# Day of Installation of the 16th Yang di-Pertuan Agong.
|
|
810
|
-
yang_di_pertuan_agong_16_installation = tr("Hari Pertabalan Yang di-Pertuan Agong ke-16")
|
|
811
|
-
|
|
812
|
-
# Eid al-Fitr (additional holiday).
|
|
813
|
-
eid_al_fitr_additional_holiday = tr("Hari Raya Puasa (pergantian hari)")
|
|
814
|
-
|
|
815
|
-
# Arafat Day.
|
|
816
|
-
arafat_day = tr("Hari Arafah")
|
|
817
|
-
|
|
818
|
-
# Additional holiday in commemoration of the 2017 SEA Games.
|
|
819
|
-
additional_holiday_2017_sea_games = tr("Cuti tambahan sempena memperingati SAT 2017")
|
|
820
|
-
|
|
821
841
|
special_public_holidays = {
|
|
822
|
-
1999: (NOV, 29,
|
|
842
|
+
1999: (NOV, 29, general_election_additional_holiday),
|
|
823
843
|
2017: (
|
|
824
|
-
|
|
825
|
-
(
|
|
844
|
+
# Day of Installation of the 15th Yang di-Pertuan Agong.
|
|
845
|
+
(APR, 24, tr("Hari Pertabalan Yang di-Pertuan Agong ke-15")),
|
|
846
|
+
# Additional holiday in commemoration of the 2017 SEA Games.
|
|
847
|
+
(SEP, 4, tr("Cuti tambahan sempena memperingati SAT 2017")),
|
|
826
848
|
),
|
|
827
|
-
2018: (MAY, 9,
|
|
828
|
-
|
|
849
|
+
2018: (MAY, 9, general_election_additional_holiday),
|
|
850
|
+
# Day of Installation of the 16th Yang di-Pertuan Agong.
|
|
851
|
+
2019: (JUL, 30, tr("Hari Pertabalan Yang di-Pertuan Agong ke-16")),
|
|
829
852
|
2022: (
|
|
830
|
-
(NOV, 18,
|
|
831
|
-
(NOV, 19,
|
|
832
|
-
(NOV, 28,
|
|
853
|
+
(NOV, 18, general_election_additional_holiday),
|
|
854
|
+
(NOV, 19, general_election_additional_holiday),
|
|
855
|
+
(NOV, 28, additional_holiday),
|
|
833
856
|
),
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
special_14_public_holidays = {
|
|
838
|
-
2021: (DEC, 3, malaysia_cup_holiday),
|
|
839
|
-
}
|
|
840
|
-
|
|
841
|
-
special_15_public_holidays = {
|
|
842
|
-
2021: (DEC, 3, malaysia_cup_holiday),
|
|
857
|
+
# Eid al-Fitr (additional holiday).
|
|
858
|
+
2023: (APR, 21, tr("Hari Raya Puasa (pergantian hari)")),
|
|
859
|
+
2025: (SEP, 15, additional_holiday),
|
|
843
860
|
}
|
|
844
861
|
|
|
845
|
-
|
|
846
|
-
2021: (DEC, 3, malaysia_cup_holiday),
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
special_13_public_holidays = {
|
|
862
|
+
special_01_public_holidays = {
|
|
850
863
|
2018: (
|
|
851
|
-
(MAY,
|
|
852
|
-
(MAY,
|
|
864
|
+
(MAY, 10, additional_holiday),
|
|
865
|
+
(MAY, 13, additional_holiday),
|
|
853
866
|
),
|
|
854
867
|
}
|
|
855
|
-
|
|
856
868
|
special_01_public_holidays_observed = {
|
|
857
869
|
2022: (MAY, 4, labor_day),
|
|
858
870
|
}
|
|
859
871
|
|
|
872
|
+
special_02_public_holidays = {
|
|
873
|
+
2018: (
|
|
874
|
+
(MAY, 10, additional_holiday),
|
|
875
|
+
(MAY, 13, additional_holiday),
|
|
876
|
+
),
|
|
877
|
+
}
|
|
860
878
|
special_02_public_holidays_observed = {
|
|
861
879
|
2022: (MAY, 4, labor_day),
|
|
862
880
|
}
|
|
863
881
|
|
|
882
|
+
special_03_public_holidays = {
|
|
883
|
+
2018: (
|
|
884
|
+
(MAY, 10, additional_holiday),
|
|
885
|
+
(MAY, 13, additional_holiday),
|
|
886
|
+
),
|
|
887
|
+
}
|
|
864
888
|
special_03_public_holidays_observed = {
|
|
865
889
|
2022: (MAY, 4, labor_day),
|
|
866
890
|
}
|
|
867
891
|
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
2007: (JAN, 2, eid_al_adha),
|
|
892
|
+
special_04_public_holidays = {
|
|
893
|
+
2018: (
|
|
894
|
+
(MAY, 10, additional_holiday),
|
|
895
|
+
(MAY, 11, additional_holiday),
|
|
896
|
+
),
|
|
874
897
|
}
|
|
875
|
-
|
|
876
898
|
special_04_public_holidays_observed = {
|
|
877
899
|
2007: (JAN, 2, eid_al_adha),
|
|
878
900
|
}
|
|
879
901
|
|
|
902
|
+
special_05_public_holidays = {
|
|
903
|
+
2018: (
|
|
904
|
+
(MAY, 10, additional_holiday),
|
|
905
|
+
(MAY, 11, additional_holiday),
|
|
906
|
+
),
|
|
907
|
+
}
|
|
880
908
|
special_05_public_holidays_observed = {
|
|
881
909
|
2007: (JAN, 2, eid_al_adha),
|
|
882
910
|
}
|
|
883
911
|
|
|
912
|
+
special_06_public_holidays = {
|
|
913
|
+
2018: (
|
|
914
|
+
(MAY, 10, additional_holiday),
|
|
915
|
+
(MAY, 11, additional_holiday),
|
|
916
|
+
),
|
|
917
|
+
}
|
|
884
918
|
special_06_public_holidays_observed = {
|
|
885
919
|
2007: (JAN, 2, eid_al_adha),
|
|
886
920
|
}
|
|
887
921
|
|
|
888
|
-
|
|
922
|
+
special_07_public_holidays = {
|
|
923
|
+
2018: (
|
|
924
|
+
(MAY, 10, additional_holiday),
|
|
925
|
+
(MAY, 11, additional_holiday),
|
|
926
|
+
),
|
|
927
|
+
}
|
|
928
|
+
special_07_public_holidays_observed = {
|
|
889
929
|
2007: (JAN, 2, eid_al_adha),
|
|
890
930
|
}
|
|
891
931
|
|
|
892
|
-
|
|
932
|
+
special_08_public_holidays = {
|
|
933
|
+
2018: (
|
|
934
|
+
(MAY, 10, additional_holiday),
|
|
935
|
+
(MAY, 11, additional_holiday),
|
|
936
|
+
),
|
|
937
|
+
}
|
|
938
|
+
special_08_public_holidays_observed = {
|
|
893
939
|
2007: (JAN, 2, eid_al_adha),
|
|
894
940
|
}
|
|
895
941
|
|
|
896
|
-
|
|
942
|
+
special_09_public_holidays = {
|
|
943
|
+
2018: (
|
|
944
|
+
(MAY, 10, additional_holiday),
|
|
945
|
+
(MAY, 11, additional_holiday),
|
|
946
|
+
),
|
|
947
|
+
}
|
|
948
|
+
special_09_public_holidays_observed = {
|
|
897
949
|
2007: (JAN, 2, eid_al_adha),
|
|
898
950
|
}
|
|
899
951
|
|
|
900
|
-
|
|
952
|
+
special_10_public_holidays = {
|
|
953
|
+
2018: (
|
|
954
|
+
(MAY, 10, additional_holiday),
|
|
955
|
+
(MAY, 11, additional_holiday),
|
|
956
|
+
),
|
|
957
|
+
}
|
|
958
|
+
special_10_public_holidays_observed = {
|
|
901
959
|
2007: (JAN, 2, eid_al_adha),
|
|
902
960
|
}
|
|
903
961
|
|
|
962
|
+
special_11_public_holidays = {
|
|
963
|
+
2018: (
|
|
964
|
+
(MAY, 10, additional_holiday),
|
|
965
|
+
(MAY, 13, additional_holiday),
|
|
966
|
+
),
|
|
967
|
+
}
|
|
968
|
+
special_11_public_holidays_observed = {
|
|
969
|
+
# Arafat Day.
|
|
970
|
+
2007: (JAN, 2, tr("Hari Arafah")),
|
|
971
|
+
2022: (MAY, 4, labor_day),
|
|
972
|
+
}
|
|
973
|
+
|
|
904
974
|
special_12_public_holidays_observed = {
|
|
905
975
|
2007: (JAN, 2, eid_al_adha),
|
|
906
976
|
}
|
|
907
977
|
|
|
908
|
-
|
|
978
|
+
special_13_public_holidays = {
|
|
979
|
+
2018: (
|
|
980
|
+
(MAY, 17, additional_holiday),
|
|
981
|
+
(MAY, 18, additional_holiday),
|
|
982
|
+
),
|
|
983
|
+
}
|
|
984
|
+
special_13_public_holidays_observed = {
|
|
909
985
|
2007: (JAN, 2, eid_al_adha),
|
|
910
986
|
}
|
|
911
987
|
|
|
912
|
-
|
|
988
|
+
special_14_public_holidays = {
|
|
989
|
+
2018: (
|
|
990
|
+
(MAY, 10, additional_holiday),
|
|
991
|
+
(MAY, 11, additional_holiday),
|
|
992
|
+
),
|
|
993
|
+
2021: (DEC, 3, malaysia_cup_holiday),
|
|
994
|
+
}
|
|
995
|
+
special_14_public_holidays_observed = {
|
|
913
996
|
2007: (JAN, 2, eid_al_adha),
|
|
914
997
|
}
|
|
915
998
|
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
999
|
+
special_15_public_holidays = {
|
|
1000
|
+
2018: (
|
|
1001
|
+
(MAY, 10, additional_holiday),
|
|
1002
|
+
(MAY, 11, additional_holiday),
|
|
1003
|
+
),
|
|
1004
|
+
2021: (DEC, 3, malaysia_cup_holiday),
|
|
1005
|
+
}
|
|
1006
|
+
special_15_public_holidays_observed = {
|
|
1007
|
+
2007: (JAN, 2, eid_al_adha),
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
special_16_public_holidays = {
|
|
1011
|
+
2018: (
|
|
1012
|
+
(MAY, 10, additional_holiday),
|
|
1013
|
+
(MAY, 11, additional_holiday),
|
|
1014
|
+
),
|
|
1015
|
+
2021: (DEC, 3, malaysia_cup_holiday),
|
|
1016
|
+
}
|
|
1017
|
+
special_16_public_holidays_observed = {
|
|
1018
|
+
2007: (JAN, 2, eid_al_adha),
|
|
919
1019
|
}
|
|
@@ -243,8 +243,8 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
243
243
|
|
|
244
244
|
if self.subdiv == "New Plymouth":
|
|
245
245
|
self._populate_subdiv_tki_public_holidays()
|
|
246
|
-
elif self.subdiv == "
|
|
247
|
-
self.
|
|
246
|
+
elif self.subdiv == "STC":
|
|
247
|
+
self._populate_subdiv_south_canterbury_public_holidays()
|
|
248
248
|
elif self.subdiv in {"WTL", "Westland"}:
|
|
249
249
|
self._populate_subdiv_wtc_public_holidays()
|
|
250
250
|
|
|
@@ -304,7 +304,8 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
304
304
|
# Otago Anniversary Day.
|
|
305
305
|
self._add_holiday("Otago Anniversary Day", dt)
|
|
306
306
|
|
|
307
|
-
def
|
|
307
|
+
def _populate_subdiv_south_canterbury_public_holidays(self):
|
|
308
|
+
# South Canterbury Anniversary Day.
|
|
308
309
|
self._add_holiday_4th_mon_of_sep("South Canterbury Anniversary Day")
|
|
309
310
|
|
|
310
311
|
def _populate_subdiv_stl_public_holidays(self):
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from holidays.constants import PUBLIC, UNOFFICIAL
|
|
13
14
|
from holidays.countries.united_states import UnitedStates
|
|
14
15
|
from holidays.mixins.child_entity import ChildEntity
|
|
15
16
|
|
|
@@ -25,6 +26,7 @@ class NorthernMarianaIslands(ChildEntity, UnitedStates):
|
|
|
25
26
|
parent_entity = UnitedStates
|
|
26
27
|
# UNSC Resolution 21 on April 2nd, 1947.
|
|
27
28
|
start_year = 1948
|
|
29
|
+
supported_categories = (PUBLIC, UNOFFICIAL)
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
class HolidaysMP(NorthernMarianaIslands):
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from holidays.constants import HALF_DAY, PUBLIC, UNOFFICIAL
|
|
13
14
|
from holidays.countries.united_states import UnitedStates
|
|
14
15
|
from holidays.mixins.child_entity import ChildEntity
|
|
15
16
|
|
|
@@ -23,8 +24,9 @@ class PuertoRico(ChildEntity, UnitedStates):
|
|
|
23
24
|
|
|
24
25
|
country = "PR"
|
|
25
26
|
parent_entity = UnitedStates
|
|
26
|
-
#
|
|
27
|
-
start_year =
|
|
27
|
+
# Art. 387 of the 1902 Political Code of Puerto Rico.
|
|
28
|
+
start_year = 1903
|
|
29
|
+
supported_categories = (HALF_DAY, PUBLIC, UNOFFICIAL)
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
class HolidaysPR(PuertoRico):
|
holidays/countries/qatar.py
CHANGED
|
@@ -96,8 +96,8 @@ class QAT(Qatar):
|
|
|
96
96
|
|
|
97
97
|
|
|
98
98
|
class QatarIslamicHolidays(_CustomIslamicHolidays):
|
|
99
|
-
# https://web.archive.org/web/
|
|
100
|
-
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2005,
|
|
99
|
+
# https://web.archive.org/web/20260107122007/https://www.timeanddate.com/holidays/qatar/eid-al-adha
|
|
100
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2005, 2025)
|
|
101
101
|
EID_AL_ADHA_DATES = {
|
|
102
102
|
2008: (DEC, 9),
|
|
103
103
|
2009: (NOV, 28),
|
|
@@ -126,8 +126,7 @@ class QatarStaticHolidays:
|
|
|
126
126
|
* [New Year's Holiday](https://web.archive.org/web/20250119073018/https://www.expatica.com/qa/lifestyle/holidays/qatar-public-holidays-74585/)
|
|
127
127
|
"""
|
|
128
128
|
|
|
129
|
-
# New Year's Holiday.
|
|
130
|
-
name = tr("عطلة رأس السنة")
|
|
131
129
|
special_public_holidays = {
|
|
132
|
-
|
|
130
|
+
# New Year's Holiday.
|
|
131
|
+
2025: (JAN, 2, tr("عطلة رأس السنة")),
|
|
133
132
|
}
|