holidays 0.78__py3-none-any.whl → 0.80__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/hindu.py +1 -0
- holidays/calendars/islamic.py +16 -4
- holidays/calendars/julian.py +14 -0
- holidays/calendars/mandaean.py +59 -0
- holidays/calendars/tibetan.py +1466 -0
- holidays/constants.py +2 -1
- holidays/countries/__init__.py +20 -0
- holidays/countries/afghanistan.py +6 -39
- holidays/countries/albania.py +3 -22
- holidays/countries/argentina.py +7 -18
- holidays/countries/australia.py +191 -295
- holidays/countries/azerbaijan.py +6 -39
- holidays/countries/bahrain.py +29 -38
- holidays/countries/bhutan.py +194 -0
- holidays/countries/bosnia_and_herzegovina.py +7 -28
- holidays/countries/brunei.py +7 -117
- holidays/countries/burkina_faso.py +9 -15
- holidays/countries/burundi.py +95 -40
- holidays/countries/cameroon.py +8 -34
- holidays/countries/canada.py +9 -1
- holidays/countries/central_african_republic.py +3 -16
- holidays/countries/chad.py +9 -17
- holidays/countries/chile.py +20 -4
- holidays/countries/christmas_island.py +10 -15
- holidays/countries/cocos_islands.py +5 -24
- holidays/countries/comoros.py +121 -0
- holidays/countries/egypt.py +5 -37
- holidays/countries/eritrea.py +104 -0
- holidays/countries/ethiopia.py +18 -47
- holidays/countries/fiji.py +1 -2
- holidays/countries/gabon.py +5 -23
- holidays/countries/gambia.py +168 -0
- holidays/countries/georgia.py +9 -7
- holidays/countries/guinea.py +5 -27
- holidays/countries/guinea_bissau.py +96 -0
- holidays/countries/guyana.py +2 -17
- holidays/countries/india.py +12 -25
- holidays/countries/indonesia.py +6 -158
- 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/kyrgyzstan.py +2 -0
- holidays/countries/lebanon.py +5 -87
- holidays/countries/liberia.py +80 -0
- holidays/countries/libya.py +5 -37
- holidays/countries/macau.py +65 -63
- holidays/countries/malaysia.py +9 -130
- holidays/countries/maldives.py +2 -0
- holidays/countries/mali.py +4 -9
- holidays/countries/mauritania.py +2 -0
- 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/nigeria.py +198 -27
- holidays/countries/north_macedonia.py +3 -39
- holidays/countries/oman.py +6 -28
- holidays/countries/pakistan.py +5 -30
- holidays/countries/palestine.py +2 -5
- holidays/countries/philippines.py +3 -33
- holidays/countries/qatar.py +3 -45
- holidays/countries/rwanda.py +162 -0
- holidays/countries/saudi_arabia.py +3 -0
- holidays/countries/senegal.py +6 -16
- holidays/countries/sierra_leone.py +5 -21
- holidays/countries/singapore.py +7 -59
- holidays/countries/somalia.py +79 -0
- holidays/countries/south_georgia_and_the_south_sandwich_islands.py +160 -0
- holidays/countries/south_sudan.py +133 -0
- holidays/countries/spain.py +7 -10
- holidays/countries/sri_lanka.py +3 -14
- holidays/countries/suriname.py +11 -19
- holidays/countries/syrian_arab_republic.py +134 -0
- holidays/countries/tajikistan.py +116 -0
- holidays/countries/tanzania.py +291 -153
- 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 +164 -0
- holidays/countries/uganda.py +101 -0
- holidays/countries/united_arab_emirates.py +5 -29
- holidays/countries/uzbekistan.py +3 -31
- holidays/countries/yemen.py +8 -52
- holidays/financial/__init__.py +5 -0
- holidays/financial/national_stock_exchange_of_india.py +169 -0
- holidays/groups/__init__.py +2 -0
- holidays/groups/christian.py +48 -12
- holidays/groups/eastern.py +1 -1
- holidays/groups/international.py +17 -1
- holidays/groups/islamic.py +1 -1
- holidays/groups/mandaean.py +107 -0
- holidays/groups/tibetan.py +153 -0
- holidays/holiday_base.py +14 -0
- 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/bs/LC_MESSAGES/BA.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_IN/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/en_NG/LC_MESSAGES/NG.mo +0 -0
- holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GE.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/MO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TJ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/RW.mo +0 -0
- holidays/locale/fr_BI/LC_MESSAGES/BI.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/pt_GW/LC_MESSAGES/GW.mo +0 -0
- holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/ru/LC_MESSAGES/TJ.mo +0 -0
- holidays/locale/ru/LC_MESSAGES/TM.mo +0 -0
- holidays/locale/rw/LC_MESSAGES/RW.mo +0 -0
- holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
- holidays/locale/tg/LC_MESSAGES/TJ.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/tk/LC_MESSAGES/TM.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/registry.py +46 -14
- holidays/version.py +1 -1
- {holidays-0.78.dist-info → holidays-0.80.dist-info}/METADATA +127 -9
- {holidays-0.78.dist-info → holidays-0.80.dist-info}/RECORD +161 -113
- {holidays-0.78.dist-info → holidays-0.80.dist-info}/licenses/CONTRIBUTORS +2 -0
- {holidays-0.78.dist-info → holidays-0.80.dist-info}/WHEEL +0 -0
- {holidays-0.78.dist-info → holidays-0.80.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.78.dist-info → holidays-0.80.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/kyrgyzstan.py
CHANGED