holidays 0.77__py3-none-any.whl → 0.79__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/calendars/__init__.py +1 -0
- holidays/calendars/chinese.py +14 -4
- holidays/calendars/ethiopian.py +31 -0
- holidays/calendars/islamic.py +48 -5
- holidays/calendars/julian.py +14 -0
- holidays/calendars/mandaean.py +59 -0
- holidays/calendars/tibetan.py +1466 -0
- holidays/constants.py +2 -0
- holidays/countries/__init__.py +14 -0
- holidays/countries/afghanistan.py +6 -39
- holidays/countries/albania.py +3 -22
- holidays/countries/argentina.py +3 -18
- holidays/countries/azerbaijan.py +6 -39
- holidays/countries/bahrain.py +29 -38
- holidays/countries/bhutan.py +194 -0
- holidays/countries/bosnia_and_herzegovina.py +2 -27
- holidays/countries/brunei.py +7 -117
- holidays/countries/burkina_faso.py +4 -15
- holidays/countries/cameroon.py +3 -34
- holidays/countries/canada.py +2 -1
- holidays/countries/central_african_republic.py +3 -16
- holidays/countries/chad.py +4 -17
- holidays/countries/chile.py +20 -4
- holidays/countries/christmas_island.py +4 -15
- holidays/countries/cocos_islands.py +5 -24
- holidays/countries/egypt.py +175 -51
- holidays/countries/ethiopia.py +18 -47
- holidays/countries/fiji.py +1 -2
- holidays/countries/gabon.py +3 -23
- holidays/countries/gambia.py +168 -0
- holidays/countries/germany.py +41 -0
- holidays/countries/guinea.py +5 -27
- holidays/countries/guinea_bissau.py +100 -0
- holidays/countries/guyana.py +2 -17
- holidays/countries/india.py +12 -25
- holidays/countries/indonesia.py +11 -160
- holidays/countries/iran.py +16 -126
- holidays/countries/iraq.py +276 -0
- holidays/countries/kazakhstan.py +2 -18
- holidays/countries/kenya.py +2 -8
- holidays/countries/kiribati.py +124 -0
- holidays/countries/lebanon.py +5 -87
- holidays/countries/liberia.py +80 -0
- holidays/countries/libya.py +5 -37
- holidays/countries/luxembourg.py +13 -0
- holidays/countries/malaysia.py +9 -130
- holidays/countries/mali.py +4 -9
- holidays/countries/mauritius.py +1 -2
- holidays/countries/montenegro.py +3 -18
- holidays/countries/nepal.py +42 -44
- holidays/countries/niger.py +14 -74
- holidays/countries/north_macedonia.py +3 -39
- holidays/countries/oman.py +6 -28
- holidays/countries/pakistan.py +12 -35
- holidays/countries/palestine.py +2 -5
- holidays/countries/philippines.py +3 -33
- holidays/countries/pitcairn_islands.py +85 -0
- holidays/countries/qatar.py +3 -45
- holidays/countries/saudi_arabia.py +46 -35
- holidays/countries/senegal.py +6 -16
- holidays/countries/sierra_leone.py +4 -20
- holidays/countries/singapore.py +3 -59
- holidays/countries/south_georgia_and_the_south_sandwich_islands.py +160 -0
- holidays/countries/spain.py +3 -10
- holidays/countries/sri_lanka.py +3 -14
- holidays/countries/suriname.py +11 -19
- holidays/countries/syrian_arab_republic.py +134 -0
- holidays/countries/tanzania.py +3 -9
- holidays/countries/timor_leste.py +2 -17
- holidays/countries/togo.py +4 -29
- holidays/countries/trinidad_and_tobago.py +2 -9
- holidays/countries/turkey.py +2 -116
- holidays/countries/turkmenistan.py +158 -0
- holidays/countries/united_arab_emirates.py +5 -29
- holidays/countries/uzbekistan.py +3 -31
- holidays/countries/yemen.py +8 -52
- holidays/groups/__init__.py +2 -0
- holidays/groups/christian.py +48 -12
- holidays/groups/international.py +17 -1
- holidays/groups/islamic.py +1 -11
- holidays/groups/mandaean.py +107 -0
- holidays/groups/tibetan.py +153 -0
- holidays/holiday_base.py +86 -91
- holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/IQ.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/SY.mo +0 -0
- holidays/locale/{ar → ar_EG}/LC_MESSAGES/EG.mo +0 -0
- holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/en_GM/LC_MESSAGES/GM.mo +0 -0
- holidays/locale/en_GS/LC_MESSAGES/GS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IQ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TM.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/EG.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/pt_GW/LC_MESSAGES/GW.mo +0 -0
- holidays/locale/ru/LC_MESSAGES/TM.mo +0 -0
- holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/tk/LC_MESSAGES/TM.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
- holidays/registry.py +14 -0
- holidays/utils.py +18 -18
- holidays/version.py +1 -1
- {holidays-0.77.dist-info → holidays-0.79.dist-info}/METADATA +79 -9
- {holidays-0.77.dist-info → holidays-0.79.dist-info}/RECORD +121 -92
- {holidays-0.77.dist-info → holidays-0.79.dist-info}/licenses/CONTRIBUTORS +3 -0
- {holidays-0.77.dist-info → holidays-0.79.dist-info}/WHEEL +0 -0
- {holidays-0.77.dist-info → holidays-0.79.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.77.dist-info → holidays-0.79.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# holidays
|
|
2
|
+
# --------
|
|
3
|
+
# A fast, efficient Python library for generating country, province and state
|
|
4
|
+
# specific sets of holidays on the fly. It aims to make determining whether a
|
|
5
|
+
# specific date is a holiday as fast and flexible as possible.
|
|
6
|
+
#
|
|
7
|
+
# Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
|
|
8
|
+
# dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
|
|
9
|
+
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
|
|
10
|
+
# Website: https://github.com/vacanza/holidays
|
|
11
|
+
# License: MIT (see LICENSE file)
|
|
12
|
+
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
15
|
+
from holidays.calendars import _CustomIslamicHolidays
|
|
16
|
+
from holidays.calendars.gregorian import JAN, MAR, JUN, JUL, AUG, SEP, OCT, NOV, DEC, FRI, SAT
|
|
17
|
+
from holidays.constants import CHRISTIAN, HEBREW, PUBLIC, SABIAN, YAZIDI
|
|
18
|
+
from holidays.groups import (
|
|
19
|
+
ChristianHolidays,
|
|
20
|
+
HebrewCalendarHolidays,
|
|
21
|
+
InternationalHolidays,
|
|
22
|
+
IslamicHolidays,
|
|
23
|
+
MandaeanHolidays,
|
|
24
|
+
)
|
|
25
|
+
from holidays.holiday_base import HolidayBase
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class Iraq(
|
|
29
|
+
HolidayBase,
|
|
30
|
+
ChristianHolidays,
|
|
31
|
+
HebrewCalendarHolidays,
|
|
32
|
+
InternationalHolidays,
|
|
33
|
+
IslamicHolidays,
|
|
34
|
+
MandaeanHolidays,
|
|
35
|
+
):
|
|
36
|
+
"""Iraq holidays.
|
|
37
|
+
|
|
38
|
+
References:
|
|
39
|
+
- [Law No. 10 of 1963](https://web.archive.org/web/20200220135833/http://wiki.dorar-aliraq.net:80/iraqilaws/law/1447.html)
|
|
40
|
+
- [1968 Amendment to Law No. 10 of 1963](https://web.archive.org/web/20250730075454/https://wiki.dorar-aliraq.net/iraqilaws/law/18741.html)
|
|
41
|
+
- [Law No. 110 of 1972](https://web.archive.org/web/20240820010527/https://wiki.dorar-aliraq.net/iraqilaws/law/5663.html)
|
|
42
|
+
- [1973 Amendment to Law No. 110 of 1972](https://web.archive.org/web/20250730080337/https://wiki.dorar-aliraq.net/iraqilaws/law/6165.html)
|
|
43
|
+
- [Official Holiday Law 2024](https://web.archive.org/web/20250629123214/https://natlex.ilo.org/dyn/natlex2/natlex2/files/download/116577/قانون%20العطل%20الرسمية%20-%20Copy%20-%20Copy_396.pdf)
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
country = "IQ"
|
|
47
|
+
default_language = "ar"
|
|
48
|
+
# %s (estimated).
|
|
49
|
+
estimated_label = tr("%s (المقدرة)")
|
|
50
|
+
start_year = 1964
|
|
51
|
+
supported_categories = (CHRISTIAN, HEBREW, PUBLIC, SABIAN, YAZIDI)
|
|
52
|
+
supported_languages = ("ar", "en_US")
|
|
53
|
+
weekend = {FRI, SAT}
|
|
54
|
+
|
|
55
|
+
def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
|
|
56
|
+
"""
|
|
57
|
+
Args:
|
|
58
|
+
islamic_show_estimated:
|
|
59
|
+
Whether to add "estimated" label to Islamic holidays name
|
|
60
|
+
if holiday date is estimated.
|
|
61
|
+
"""
|
|
62
|
+
ChristianHolidays.__init__(self)
|
|
63
|
+
HebrewCalendarHolidays.__init__(self)
|
|
64
|
+
InternationalHolidays.__init__(self)
|
|
65
|
+
IslamicHolidays.__init__(
|
|
66
|
+
self, cls=IraqIslamicHolidays, show_estimated=islamic_show_estimated
|
|
67
|
+
)
|
|
68
|
+
MandaeanHolidays.__init__(self)
|
|
69
|
+
super().__init__(*args, **kwargs)
|
|
70
|
+
|
|
71
|
+
def _populate_public_holidays(self):
|
|
72
|
+
if self._year >= 1973:
|
|
73
|
+
# New Year's Day.
|
|
74
|
+
self._add_new_years_day(tr("رأس السنة الميلادية"))
|
|
75
|
+
|
|
76
|
+
# Army Day.
|
|
77
|
+
self._add_holiday_jan_6(tr("عيد الجيش"))
|
|
78
|
+
|
|
79
|
+
if self._year <= 2024:
|
|
80
|
+
# February 8 Revolution.
|
|
81
|
+
self._add_holiday_feb_8(tr("ثورة 8 شباط"))
|
|
82
|
+
|
|
83
|
+
if self._year >= 2025:
|
|
84
|
+
# Commemoration of the Saddam Baath crimes against the Iraqi people.
|
|
85
|
+
self._add_holiday_mar_16(tr("ذكرى جرائم البعث والأنفال والهجوم على حلبجة"))
|
|
86
|
+
|
|
87
|
+
if self._year >= 1969:
|
|
88
|
+
# Nowruz.
|
|
89
|
+
self._add_holiday_mar_21(tr("عيد نوروز"))
|
|
90
|
+
|
|
91
|
+
# Labor Day.
|
|
92
|
+
self._add_labor_day(tr("عيد العمال العالمي"))
|
|
93
|
+
|
|
94
|
+
if self._year <= 2023:
|
|
95
|
+
# July 14 Revolution.
|
|
96
|
+
self._add_holiday_jul_14(tr("ثورة 14 تموز"))
|
|
97
|
+
|
|
98
|
+
if 1969 <= self._year <= 2023:
|
|
99
|
+
# July 17 Revolution.
|
|
100
|
+
self._add_holiday_jul_17(tr("ثورة 17 تموز"))
|
|
101
|
+
|
|
102
|
+
# Islamic New Year.
|
|
103
|
+
self._add_islamic_new_year_day(tr("رأس السنة الهجرية"))
|
|
104
|
+
|
|
105
|
+
# Ashura.
|
|
106
|
+
self._add_ashura_day(tr("عاشوراء"))
|
|
107
|
+
|
|
108
|
+
# Prophet's Birthday.
|
|
109
|
+
self._add_mawlid_day(tr("المولد النبوي الشريف"))
|
|
110
|
+
|
|
111
|
+
# Eid al-Fitr.
|
|
112
|
+
name = tr("عيد الفطر")
|
|
113
|
+
self._add_eid_al_fitr_day(name)
|
|
114
|
+
self._add_eid_al_fitr_day_two(name)
|
|
115
|
+
self._add_eid_al_fitr_day_three(name)
|
|
116
|
+
|
|
117
|
+
# Day of Arafah.
|
|
118
|
+
self._add_arafah_day(tr("يوم عرفة"))
|
|
119
|
+
|
|
120
|
+
# Eid al-Adha.
|
|
121
|
+
name = tr("عيد الأضحى")
|
|
122
|
+
self._add_eid_al_adha_day(name)
|
|
123
|
+
self._add_eid_al_adha_day_two(name)
|
|
124
|
+
self._add_eid_al_adha_day_three(name)
|
|
125
|
+
|
|
126
|
+
if self._year >= 2024:
|
|
127
|
+
# Eid al-Ghadir.
|
|
128
|
+
self._add_eid_al_ghadir_day(tr("عيد الغدير"))
|
|
129
|
+
|
|
130
|
+
def _populate_christian_holidays(self):
|
|
131
|
+
if self._year <= 1972:
|
|
132
|
+
# New Year's Day.
|
|
133
|
+
self._add_new_years_day(tr("رأس السنة الميلادية"))
|
|
134
|
+
|
|
135
|
+
# Easter Sunday.
|
|
136
|
+
self._add_easter_sunday(tr("أحد الفصح"))
|
|
137
|
+
|
|
138
|
+
# Easter Monday.
|
|
139
|
+
self._add_easter_monday(tr("إثنين الفصح"))
|
|
140
|
+
|
|
141
|
+
# Christmas Day.
|
|
142
|
+
self._add_christmas_day(tr("عيد الميلاد"))
|
|
143
|
+
|
|
144
|
+
def _populate_hebrew_holidays(self):
|
|
145
|
+
if self._year <= 2023:
|
|
146
|
+
# Pesach.
|
|
147
|
+
self._add_passover(tr("عيد الفصح"), range(2))
|
|
148
|
+
|
|
149
|
+
# Yom Kippur.
|
|
150
|
+
self._add_yom_kippur(tr("يوم الكفارة"))
|
|
151
|
+
|
|
152
|
+
# Sukkot.
|
|
153
|
+
self._add_sukkot(tr("عيد المظلة"), range(2))
|
|
154
|
+
|
|
155
|
+
def _populate_sabian_holidays(self):
|
|
156
|
+
if self._year <= 1972:
|
|
157
|
+
return None
|
|
158
|
+
|
|
159
|
+
# Great Feast.
|
|
160
|
+
name = tr("يوما عيد البنجة")
|
|
161
|
+
self._add_great_feast_day(name)
|
|
162
|
+
self._add_great_feast_day_two(name)
|
|
163
|
+
if self._year >= 2024:
|
|
164
|
+
self._add_great_feast_day_three(name)
|
|
165
|
+
self._add_great_feast_day_four(name)
|
|
166
|
+
|
|
167
|
+
# Feast of Creation.
|
|
168
|
+
name = tr("عيد الخليقة")
|
|
169
|
+
self._add_parwanaya_day(name)
|
|
170
|
+
self._add_parwanaya_day_two(name)
|
|
171
|
+
if self._year >= 2024:
|
|
172
|
+
self._add_parwanaya_day_three(name)
|
|
173
|
+
self._add_parwanaya_day_four(name)
|
|
174
|
+
self._add_parwanaya_day_five(name)
|
|
175
|
+
|
|
176
|
+
# Little Feast.
|
|
177
|
+
name = tr("عيد الصغير")
|
|
178
|
+
self._add_dehwa_hanina_day(name)
|
|
179
|
+
if self._year >= 2024:
|
|
180
|
+
self._add_dehwa_hanina_day_two(name)
|
|
181
|
+
|
|
182
|
+
# Prophet Yahya's Birthday.
|
|
183
|
+
self._add_dehwa_daimana_day(tr("مولد النبي يحيى عليه السلام"))
|
|
184
|
+
|
|
185
|
+
def _populate_yazidi_holidays(self):
|
|
186
|
+
# Yazidi New Year.
|
|
187
|
+
self._add_holiday_1st_wed_from_apr_14(tr("رأس السنة الإيزيدية"))
|
|
188
|
+
|
|
189
|
+
# Yazidi Summer Festival.
|
|
190
|
+
name = tr("مهرجان الصيف اليزيدي")
|
|
191
|
+
if self._year <= 2023:
|
|
192
|
+
self._add_holiday_jul_31(name)
|
|
193
|
+
self._add_holiday_aug_1(name)
|
|
194
|
+
self._add_holiday_aug_2(name)
|
|
195
|
+
self._add_holiday_aug_3(name)
|
|
196
|
+
|
|
197
|
+
# Feast of the Assembly.
|
|
198
|
+
name = tr("عيد الجمعية")
|
|
199
|
+
self._add_holiday_oct_6(name)
|
|
200
|
+
self._add_holiday_oct_7(name)
|
|
201
|
+
self._add_holiday_oct_8(name)
|
|
202
|
+
self._add_holiday_oct_9(name)
|
|
203
|
+
self._add_holiday_oct_10(name)
|
|
204
|
+
self._add_holiday_oct_11(name)
|
|
205
|
+
self._add_holiday_oct_12(name)
|
|
206
|
+
self._add_holiday_oct_13(name)
|
|
207
|
+
|
|
208
|
+
# Feast of Êzî.
|
|
209
|
+
self._add_holiday_1st_fri_from_dec_14(tr("عيد إيزي"))
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
class IQ(Iraq):
|
|
213
|
+
pass
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
class IRQ(Iraq):
|
|
217
|
+
pass
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
class IraqIslamicHolidays(_CustomIslamicHolidays):
|
|
221
|
+
# https://web.archive.org/web/20240908214306/https://www.timeanddate.com/holidays/iraq/ashura
|
|
222
|
+
ASHURA_DATES_CONFIRMED_YEARS = (2013, 2025)
|
|
223
|
+
ASHURA_DATES = {
|
|
224
|
+
2013: (NOV, 14),
|
|
225
|
+
2015: (OCT, 24),
|
|
226
|
+
2016: (OCT, 12),
|
|
227
|
+
2017: (OCT, 1),
|
|
228
|
+
2019: (SEP, 10),
|
|
229
|
+
2020: (AUG, 30),
|
|
230
|
+
2021: (AUG, 19),
|
|
231
|
+
2023: (JUL, 29),
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
# https://web.archive.org/web/20250524093010/https://www.timeanddate.com/holidays/iraq/eid-al-adha
|
|
235
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2013, 2025)
|
|
236
|
+
EID_AL_ADHA_DATES = {
|
|
237
|
+
2015: (SEP, 24),
|
|
238
|
+
2016: (SEP, 13),
|
|
239
|
+
2017: (SEP, 2),
|
|
240
|
+
2018: (AUG, 22),
|
|
241
|
+
2019: (AUG, 12),
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
# https://web.archive.org/web/20250514061230/https://www.timeanddate.com/holidays/iraq/eid-al-fitr
|
|
245
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2013, 2025)
|
|
246
|
+
EID_AL_FITR_DATES = {
|
|
247
|
+
2015: (JUL, 18),
|
|
248
|
+
2016: (JUL, 7),
|
|
249
|
+
2017: (JUN, 26),
|
|
250
|
+
2025: (MAR, 31),
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
# https://web.archive.org/web/20241009070642/https://www.timeanddate.com/holidays/iraq/eid-al-ghadeer
|
|
254
|
+
EID_AL_GHADIR_DATES_CONFIRMED_YEARS = (2024, 2025)
|
|
255
|
+
EID_AL_GHADIR_DATES = {
|
|
256
|
+
2025: (JUN, 15),
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
# https://web.archive.org/web/20240720191242/https://www.timeanddate.com/holidays/iraq/islamic-new-year
|
|
260
|
+
HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARS = (2013, 2025)
|
|
261
|
+
HIJRI_NEW_YEAR_DATES = {
|
|
262
|
+
2013: (NOV, 5),
|
|
263
|
+
2015: (OCT, 15),
|
|
264
|
+
2016: (OCT, 3),
|
|
265
|
+
2017: (SEP, 22),
|
|
266
|
+
2020: (AUG, 21),
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
# https://web.archive.org/web/20240918050148/https://www.timeanddate.com/holidays/iraq/prophet-birthday
|
|
270
|
+
MAWLID_DATES_CONFIRMED_YEARS = (2013, 2025)
|
|
271
|
+
MAWLID_DATES = {
|
|
272
|
+
2014: (JAN, 14),
|
|
273
|
+
2016: (DEC, 12),
|
|
274
|
+
2017: (DEC, 1),
|
|
275
|
+
2018: (NOV, 21),
|
|
276
|
+
}
|
holidays/countries/kazakhstan.py
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
from gettext import gettext as tr
|
|
14
14
|
|
|
15
15
|
from holidays.calendars import _CustomIslamicHolidays
|
|
16
|
-
from holidays.calendars.gregorian import JAN, MAR, APR, MAY,
|
|
16
|
+
from holidays.calendars.gregorian import JAN, MAR, APR, MAY, JUL, AUG, SEP, OCT, DEC
|
|
17
17
|
from holidays.calendars.julian import JULIAN_CALENDAR
|
|
18
18
|
from holidays.groups import (
|
|
19
19
|
ChristianHolidays,
|
|
@@ -146,27 +146,11 @@ class KAZ(Kazakhstan):
|
|
|
146
146
|
|
|
147
147
|
|
|
148
148
|
class KazakhstanIslamicHolidays(_CustomIslamicHolidays):
|
|
149
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2006, 2025)
|
|
149
150
|
EID_AL_ADHA_DATES = {
|
|
150
151
|
2006: (JAN, 10),
|
|
151
|
-
2007: (DEC, 20),
|
|
152
|
-
2008: (DEC, 8),
|
|
153
|
-
2009: (NOV, 27),
|
|
154
|
-
2010: (NOV, 16),
|
|
155
|
-
2011: (NOV, 6),
|
|
156
|
-
2012: (OCT, 26),
|
|
157
|
-
2013: (OCT, 15),
|
|
158
|
-
2014: (OCT, 4),
|
|
159
152
|
2015: (SEP, 24),
|
|
160
153
|
2016: (SEP, 12),
|
|
161
|
-
2017: (SEP, 1),
|
|
162
|
-
2018: (AUG, 21),
|
|
163
|
-
2019: (AUG, 11),
|
|
164
|
-
2020: (JUL, 31),
|
|
165
|
-
2021: (JUL, 20),
|
|
166
|
-
2022: (JUL, 9),
|
|
167
|
-
2023: (JUN, 28),
|
|
168
|
-
2024: (JUN, 16),
|
|
169
|
-
2025: (JUN, 6),
|
|
170
154
|
}
|
|
171
155
|
|
|
172
156
|
|
holidays/countries/kenya.py
CHANGED
|
@@ -174,32 +174,26 @@ class KenyaHinduHolidays(_CustomHinduHolidays):
|
|
|
174
174
|
|
|
175
175
|
|
|
176
176
|
class KenyaIslamicHolidays(_CustomIslamicHolidays):
|
|
177
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2014, 2024)
|
|
177
178
|
EID_AL_ADHA_DATES = {
|
|
178
179
|
2014: (OCT, 6),
|
|
179
180
|
2015: (SEP, 24),
|
|
180
181
|
2016: (SEP, 12),
|
|
181
|
-
2017: (SEP, 1),
|
|
182
|
-
2018: (AUG, 21),
|
|
183
182
|
2019: (AUG, 12),
|
|
184
|
-
2020: (JUL, 31),
|
|
185
|
-
2021: (JUL, 20),
|
|
186
183
|
2022: (JUL, 11),
|
|
187
|
-
2023: (JUN, 28),
|
|
188
184
|
2024: (JUN, 17),
|
|
189
185
|
}
|
|
190
186
|
|
|
187
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2014, 2024)
|
|
191
188
|
EID_AL_FITR_DATES = {
|
|
192
189
|
2014: (JUL, 29),
|
|
193
190
|
2015: (JUL, 18),
|
|
194
191
|
2016: (JUL, 7),
|
|
195
192
|
2017: (JUN, 26),
|
|
196
|
-
2018: (JUN, 15),
|
|
197
193
|
2019: (JUN, 5),
|
|
198
194
|
2020: (MAY, 25),
|
|
199
195
|
2021: (MAY, 14),
|
|
200
196
|
2022: (MAY, 3),
|
|
201
|
-
2023: (APR, 21),
|
|
202
|
-
2024: (APR, 10),
|
|
203
197
|
}
|
|
204
198
|
|
|
205
199
|
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# holidays
|
|
2
|
+
# --------
|
|
3
|
+
# A fast, efficient Python library for generating country, province and state
|
|
4
|
+
# specific sets of holidays on the fly. It aims to make determining whether a
|
|
5
|
+
# specific date is a holiday as fast and flexible as possible.
|
|
6
|
+
#
|
|
7
|
+
# Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
|
|
8
|
+
# dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
|
|
9
|
+
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
|
|
10
|
+
# Website: https://github.com/vacanza/holidays
|
|
11
|
+
# License: MIT (see LICENSE file)
|
|
12
|
+
|
|
13
|
+
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
14
|
+
from holidays.observed_holiday_base import (
|
|
15
|
+
ObservedHolidayBase,
|
|
16
|
+
SAT_SUN_TO_NEXT_MON,
|
|
17
|
+
SAT_SUN_TO_NEXT_MON_TUE,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Kiribati(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
22
|
+
"""Kiribati holidays.
|
|
23
|
+
|
|
24
|
+
References:
|
|
25
|
+
* [Public Holidays Ordinance](https://web.archive.org/web/20250130150749/https://www.paclii.org/ki/legis/consol_act/pho216/)
|
|
26
|
+
* [Public Holidays (Amendment) Act 2002](https://web.archive.org/web/20250130161614/https://www.paclii.org/ki/legis/num_act/pha2002243/)
|
|
27
|
+
* [Public Holidays Act Consolidated](https://web.archive.org/web/20250404213705/https://www.paclii.org/ki/legis/consol_act/pho216.pdf)
|
|
28
|
+
|
|
29
|
+
Note:
|
|
30
|
+
The 2025 holidays list for Kiribati
|
|
31
|
+
(http://web.archive.org/web/20250808191339/https://www.pso.gov.ki/kiribati-national-public-holidays-2025/)
|
|
32
|
+
mentions the following holidays even though they do not appear in the law:
|
|
33
|
+
Labor Day, National Culture and Senior Citizens Day, National Police Day, and World
|
|
34
|
+
Teachers' Day.
|
|
35
|
+
|
|
36
|
+
Additionally, the list shows that traditional holidays (International Women's Day,
|
|
37
|
+
Labor Day, Gospel Day, and Human Rights and Peace Day) were celebrated on different
|
|
38
|
+
dates than usual, seemingly shifting Thursday/Saturday holidays to the adjacent Friday.
|
|
39
|
+
No legal provision or start year was cited for this adjustment.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
country = "KI"
|
|
43
|
+
observed_label = "%s (observed)"
|
|
44
|
+
start_year = 1980
|
|
45
|
+
|
|
46
|
+
def __init__(self, *args, **kwargs):
|
|
47
|
+
ChristianHolidays.__init__(self)
|
|
48
|
+
InternationalHolidays.__init__(self)
|
|
49
|
+
kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
|
|
50
|
+
super().__init__(*args, **kwargs)
|
|
51
|
+
|
|
52
|
+
def _populate_public_holidays(self):
|
|
53
|
+
# New Year's Day.
|
|
54
|
+
self._add_observed(self._add_new_years_day("New Year's Day"))
|
|
55
|
+
|
|
56
|
+
if self._year >= 2003:
|
|
57
|
+
# International Women's Day.
|
|
58
|
+
self._add_observed(self._add_womens_day("International Women's Day"))
|
|
59
|
+
|
|
60
|
+
# Good Friday.
|
|
61
|
+
self._add_good_friday("Good Friday")
|
|
62
|
+
|
|
63
|
+
if self._year <= 2002:
|
|
64
|
+
# Holy Saturday.
|
|
65
|
+
self._add_holy_saturday("Holy Saturday")
|
|
66
|
+
|
|
67
|
+
# Easter Monday.
|
|
68
|
+
self._add_easter_monday("Easter Monday")
|
|
69
|
+
|
|
70
|
+
if self._year >= 2003:
|
|
71
|
+
# National Health Day.
|
|
72
|
+
self._add_observed(self._add_holiday_apr_19("National Health Day"))
|
|
73
|
+
|
|
74
|
+
if 1993 <= self._year <= 2002:
|
|
75
|
+
# Public Holiday.
|
|
76
|
+
self._add_observed(self._add_holiday_may_9("Public Holiday"))
|
|
77
|
+
|
|
78
|
+
if self._year >= 2002:
|
|
79
|
+
# Gospel Day.
|
|
80
|
+
self._add_holiday_jul_11("Gospel Day")
|
|
81
|
+
|
|
82
|
+
if self._year >= 1993:
|
|
83
|
+
# National Day - Independence Anniversary.
|
|
84
|
+
self._add_observed(self._add_holiday_jul_12("National Day - Independence Anniversary"))
|
|
85
|
+
|
|
86
|
+
if self._year >= 2002:
|
|
87
|
+
# National Day (in honor of Unimwane).
|
|
88
|
+
self._add_holiday_jul_15("National Day (in honor of Unimwane)")
|
|
89
|
+
# National Day (in honor of Unaine).
|
|
90
|
+
self._add_observed(self._add_holiday_jul_16("National Day (in honor of Unaine)"))
|
|
91
|
+
|
|
92
|
+
if self._year <= 2002:
|
|
93
|
+
# Public Holiday.
|
|
94
|
+
self._add_holiday_1st_mon_of_aug("Public Holiday")
|
|
95
|
+
else:
|
|
96
|
+
# Youth Day.
|
|
97
|
+
self._add_observed(self._add_holiday_aug_5("Youth Day"))
|
|
98
|
+
|
|
99
|
+
if self._year <= 1992:
|
|
100
|
+
# Public Holiday.
|
|
101
|
+
self._add_observed(self._add_holiday_nov_10("Public Holiday"))
|
|
102
|
+
|
|
103
|
+
if self._year >= 1993:
|
|
104
|
+
# Human Rights and Peace Day.
|
|
105
|
+
name = "Human Rights and Peace Day"
|
|
106
|
+
self._add_observed(
|
|
107
|
+
self._add_holiday_dec_9(name)
|
|
108
|
+
if self._year >= 2003
|
|
109
|
+
else self._add_holiday_dec_10(name)
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
# Christmas Day.
|
|
113
|
+
self._add_observed(self._add_christmas_day("Christmas Day"), rule=SAT_SUN_TO_NEXT_MON_TUE)
|
|
114
|
+
|
|
115
|
+
# Boxing Day.
|
|
116
|
+
self._add_observed(self._add_christmas_day_two("Boxing Day"), rule=SAT_SUN_TO_NEXT_MON_TUE)
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
class KI(Kiribati):
|
|
120
|
+
pass
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class KIR(Kiribati):
|
|
124
|
+
pass
|
holidays/countries/lebanon.py
CHANGED
|
@@ -190,10 +190,10 @@ class LBN(Lebanon):
|
|
|
190
190
|
|
|
191
191
|
class LebanonIslamicHolidays(_CustomIslamicHolidays):
|
|
192
192
|
# https://web.archive.org/web/20250426220233/https://www.timeanddate.com/holidays/lebanon/first-day-ashura
|
|
193
|
+
ASHURA_DATES_CONFIRMED_YEARS = (1978, 2024)
|
|
193
194
|
ASHURA_DATES = {
|
|
194
195
|
1978: (DEC, 11),
|
|
195
196
|
1979: (NOV, 30),
|
|
196
|
-
1980: (NOV, 18),
|
|
197
197
|
1981: (NOV, 8),
|
|
198
198
|
1982: (OCT, 28),
|
|
199
199
|
1983: (OCT, 17),
|
|
@@ -206,28 +206,15 @@ class LebanonIslamicHolidays(_CustomIslamicHolidays):
|
|
|
206
206
|
1990: (AUG, 2),
|
|
207
207
|
1991: (JUL, 22),
|
|
208
208
|
1992: (JUL, 11),
|
|
209
|
-
1993: (JUN, 30),
|
|
210
|
-
1994: (JUN, 19),
|
|
211
209
|
1995: (JUN, 9),
|
|
212
210
|
1996: (MAY, 28),
|
|
213
211
|
1997: (MAY, 18),
|
|
214
212
|
1998: (MAY, 7),
|
|
215
|
-
1999: (APR, 26),
|
|
216
|
-
2000: (APR, 15),
|
|
217
|
-
2001: (APR, 4),
|
|
218
|
-
2002: (MAR, 24),
|
|
219
213
|
2003: (MAR, 14),
|
|
220
214
|
2004: (MAR, 2),
|
|
221
|
-
2005: (FEB, 19),
|
|
222
|
-
2006: (FEB, 9),
|
|
223
|
-
2007: (JAN, 29),
|
|
224
|
-
2008: (JAN, 19),
|
|
225
|
-
2009: ((JAN, 7), (DEC, 27)),
|
|
226
215
|
2010: (DEC, 17),
|
|
227
216
|
2011: (DEC, 6),
|
|
228
|
-
2012: (NOV, 24),
|
|
229
217
|
2013: (NOV, 14),
|
|
230
|
-
2014: (NOV, 3),
|
|
231
218
|
2015: (OCT, 24),
|
|
232
219
|
2016: (OCT, 12),
|
|
233
220
|
2017: (OCT, 1),
|
|
@@ -236,11 +223,10 @@ class LebanonIslamicHolidays(_CustomIslamicHolidays):
|
|
|
236
223
|
2020: (AUG, 30),
|
|
237
224
|
2021: (AUG, 19),
|
|
238
225
|
2022: (AUG, 9),
|
|
239
|
-
2023: (JUL, 28),
|
|
240
|
-
2024: (JUL, 16),
|
|
241
226
|
}
|
|
242
227
|
|
|
243
228
|
# https://web.archive.org/web/20250316072400/https://www.timeanddate.com/holidays/lebanon/eid-al-adha
|
|
229
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (1978, 2025)
|
|
244
230
|
EID_AL_ADHA_DATES = {
|
|
245
231
|
1978: (NOV, 11),
|
|
246
232
|
1979: (NOV, 1),
|
|
@@ -256,7 +242,6 @@ class LebanonIslamicHolidays(_CustomIslamicHolidays):
|
|
|
256
242
|
1989: (JUL, 14),
|
|
257
243
|
1990: (JUL, 4),
|
|
258
244
|
1991: (JUN, 23),
|
|
259
|
-
1992: (JUN, 11),
|
|
260
245
|
1993: (JUN, 1),
|
|
261
246
|
1994: (MAY, 21),
|
|
262
247
|
1995: (MAY, 10),
|
|
@@ -264,35 +249,24 @@ class LebanonIslamicHolidays(_CustomIslamicHolidays):
|
|
|
264
249
|
1997: (APR, 18),
|
|
265
250
|
1998: (APR, 8),
|
|
266
251
|
1999: (MAR, 28),
|
|
267
|
-
2000: (MAR, 16),
|
|
268
252
|
2001: (MAR, 6),
|
|
269
253
|
2002: (FEB, 23),
|
|
270
254
|
2003: (FEB, 12),
|
|
271
255
|
2004: (FEB, 2),
|
|
272
|
-
2005: (JAN, 21),
|
|
273
|
-
2006: ((JAN, 10), (DEC, 31)),
|
|
274
|
-
2007: (DEC, 20),
|
|
275
256
|
2008: (DEC, 9),
|
|
276
257
|
2009: (NOV, 28),
|
|
277
258
|
2010: (NOV, 17),
|
|
278
259
|
2011: (NOV, 7),
|
|
279
|
-
2012: (OCT, 26),
|
|
280
|
-
2013: (OCT, 15),
|
|
281
260
|
2014: (OCT, 5),
|
|
282
261
|
2015: (SEP, 24),
|
|
283
262
|
2016: (SEP, 13),
|
|
284
263
|
2017: (SEP, 2),
|
|
285
264
|
2018: (AUG, 22),
|
|
286
265
|
2019: (AUG, 12),
|
|
287
|
-
2020: (JUL, 31),
|
|
288
|
-
2021: (JUL, 20),
|
|
289
|
-
2022: (JUL, 9),
|
|
290
|
-
2023: (JUN, 28),
|
|
291
|
-
2024: (JUN, 16),
|
|
292
|
-
2025: (JUN, 6),
|
|
293
266
|
}
|
|
294
267
|
|
|
295
268
|
# https://web.archive.org/web/20250216042303/https://www.timeanddate.com/holidays/lebanon/eid-al-fitr
|
|
269
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (1978, 2025)
|
|
296
270
|
EID_AL_FITR_DATES = {
|
|
297
271
|
1978: (SEP, 4),
|
|
298
272
|
1979: (AUG, 25),
|
|
@@ -300,7 +274,6 @@ class LebanonIslamicHolidays(_CustomIslamicHolidays):
|
|
|
300
274
|
1981: (AUG, 2),
|
|
301
275
|
1982: (JUL, 23),
|
|
302
276
|
1983: (JUL, 12),
|
|
303
|
-
1984: (JUN, 30),
|
|
304
277
|
1985: (JUN, 20),
|
|
305
278
|
1986: (JUN, 9),
|
|
306
279
|
1987: (MAY, 30),
|
|
@@ -308,7 +281,6 @@ class LebanonIslamicHolidays(_CustomIslamicHolidays):
|
|
|
308
281
|
1989: (MAY, 7),
|
|
309
282
|
1990: (APR, 27),
|
|
310
283
|
1991: (APR, 16),
|
|
311
|
-
1992: (APR, 4),
|
|
312
284
|
1993: (MAR, 25),
|
|
313
285
|
1994: (MAR, 14),
|
|
314
286
|
1995: (MAR, 3),
|
|
@@ -320,35 +292,21 @@ class LebanonIslamicHolidays(_CustomIslamicHolidays):
|
|
|
320
292
|
2001: (DEC, 17),
|
|
321
293
|
2002: (DEC, 6),
|
|
322
294
|
2003: (NOV, 26),
|
|
323
|
-
2004: (NOV, 14),
|
|
324
295
|
2005: (NOV, 4),
|
|
325
296
|
2006: (OCT, 24),
|
|
326
|
-
2007: (OCT, 13),
|
|
327
297
|
2008: (OCT, 2),
|
|
328
298
|
2009: (SEP, 21),
|
|
329
|
-
2010: (SEP, 10),
|
|
330
299
|
2011: (AUG, 31),
|
|
331
|
-
2012: (AUG, 19),
|
|
332
|
-
2013: (AUG, 8),
|
|
333
300
|
2014: (JUL, 29),
|
|
334
|
-
2015: (JUL, 17),
|
|
335
301
|
2016: (JUL, 7),
|
|
336
302
|
2017: (JUN, 26),
|
|
337
|
-
2018: (JUN, 15),
|
|
338
|
-
2019: (JUN, 4),
|
|
339
|
-
2020: (MAY, 24),
|
|
340
|
-
2021: (MAY, 13),
|
|
341
|
-
2022: (MAY, 2),
|
|
342
|
-
2023: (APR, 21),
|
|
343
|
-
2024: (APR, 10),
|
|
344
|
-
2025: (MAR, 30),
|
|
345
303
|
}
|
|
346
304
|
|
|
347
305
|
# https://web.archive.org/web/20250428034326/https://www.timeanddate.com/holidays/lebanon/muharram
|
|
306
|
+
HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARS = (1978, 2025)
|
|
348
307
|
HIJRI_NEW_YEAR_DATES = {
|
|
349
308
|
1978: (DEC, 2),
|
|
350
309
|
1979: (NOV, 21),
|
|
351
|
-
1980: (NOV, 9),
|
|
352
310
|
1981: (OCT, 30),
|
|
353
311
|
1982: (OCT, 19),
|
|
354
312
|
1983: (OCT, 8),
|
|
@@ -361,47 +319,24 @@ class LebanonIslamicHolidays(_CustomIslamicHolidays):
|
|
|
361
319
|
1990: (JUL, 24),
|
|
362
320
|
1991: (JUL, 13),
|
|
363
321
|
1992: (JUL, 2),
|
|
364
|
-
1993: (JUN, 21),
|
|
365
|
-
1994: (JUN, 10),
|
|
366
322
|
1995: (MAY, 31),
|
|
367
323
|
1996: (MAY, 19),
|
|
368
324
|
1997: (MAY, 9),
|
|
369
325
|
1998: (APR, 28),
|
|
370
|
-
1999: (APR, 17),
|
|
371
|
-
2000: (APR, 6),
|
|
372
|
-
2001: (MAR, 26),
|
|
373
|
-
2002: (MAR, 15),
|
|
374
326
|
2003: (MAR, 5),
|
|
375
327
|
2004: (FEB, 22),
|
|
376
|
-
2005: (FEB, 10),
|
|
377
|
-
2006: (JAN, 31),
|
|
378
|
-
2007: (JAN, 20),
|
|
379
|
-
2008: ((JAN, 10), (DEC, 29)),
|
|
380
|
-
2009: (DEC, 18),
|
|
381
328
|
2010: (DEC, 8),
|
|
382
329
|
2011: (NOV, 27),
|
|
383
|
-
2012: (NOV, 15),
|
|
384
330
|
2013: (NOV, 5),
|
|
385
|
-
2014: (OCT, 25),
|
|
386
|
-
2015: (OCT, 14),
|
|
387
331
|
2016: (OCT, 3),
|
|
388
332
|
2017: (SEP, 22),
|
|
389
|
-
2018: (SEP, 11),
|
|
390
|
-
2019: (AUG, 31),
|
|
391
|
-
2020: (AUG, 20),
|
|
392
|
-
2021: (AUG, 9),
|
|
393
|
-
2022: (JUL, 30),
|
|
394
|
-
2023: (JUL, 19),
|
|
395
|
-
2024: (JUL, 7),
|
|
396
|
-
2025: (JUN, 26),
|
|
397
333
|
}
|
|
398
334
|
|
|
399
335
|
# https://web.archive.org/web/20240908071444/https://www.timeanddate.com/holidays/lebanon/prophet-birthday
|
|
336
|
+
MAWLID_DATES_CONFIRMED_YEARS = (1978, 2024)
|
|
400
337
|
MAWLID_DATES = {
|
|
401
338
|
1978: (FEB, 20),
|
|
402
339
|
1979: (FEB, 10),
|
|
403
|
-
1980: (JAN, 30),
|
|
404
|
-
1981: (JAN, 18),
|
|
405
340
|
1982: ((JAN, 8), (DEC, 28)),
|
|
406
341
|
1983: (DEC, 17),
|
|
407
342
|
1984: (DEC, 6),
|
|
@@ -414,35 +349,18 @@ class LebanonIslamicHolidays(_CustomIslamicHolidays):
|
|
|
414
349
|
1991: (SEP, 21),
|
|
415
350
|
1992: (SEP, 10),
|
|
416
351
|
1993: (AUG, 30),
|
|
417
|
-
1994: (AUG, 19),
|
|
418
352
|
1995: (AUG, 9),
|
|
419
353
|
1996: (JUL, 28),
|
|
420
354
|
1997: (JUL, 18),
|
|
421
355
|
1998: (JUL, 7),
|
|
422
|
-
1999: (JUN, 26),
|
|
423
356
|
2000: (JUN, 15),
|
|
424
|
-
2001: (JUN, 4),
|
|
425
|
-
2002: (MAY, 24),
|
|
426
357
|
2003: (MAY, 14),
|
|
427
358
|
2004: (MAY, 2),
|
|
428
|
-
2005: (APR, 21),
|
|
429
359
|
2006: (APR, 11),
|
|
430
|
-
2007: (MAR, 31),
|
|
431
|
-
2008: (MAR, 20),
|
|
432
|
-
2009: (MAR, 9),
|
|
433
|
-
2010: (FEB, 26),
|
|
434
360
|
2011: (FEB, 16),
|
|
435
361
|
2012: (FEB, 5),
|
|
436
|
-
2013: (JAN, 24),
|
|
437
362
|
2014: (JAN, 14),
|
|
438
363
|
2015: ((JAN, 3), (DEC, 24)),
|
|
439
364
|
2016: (DEC, 12),
|
|
440
365
|
2017: (DEC, 1),
|
|
441
|
-
2018: (NOV, 20),
|
|
442
|
-
2019: (NOV, 9),
|
|
443
|
-
2020: (OCT, 29),
|
|
444
|
-
2021: (OCT, 18),
|
|
445
|
-
2022: (OCT, 8),
|
|
446
|
-
2023: (SEP, 27),
|
|
447
|
-
2024: (SEP, 15),
|
|
448
366
|
}
|