holidays 0.72__py3-none-any.whl → 0.73__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/hindu.py +147 -3
- holidays/countries/__init__.py +4 -0
- holidays/countries/andorra.py +130 -46
- holidays/countries/argentina.py +10 -0
- holidays/countries/cocos_islands.py +259 -0
- holidays/countries/grenada.py +143 -0
- holidays/countries/malaysia.py +0 -8
- holidays/countries/nepal.py +441 -0
- holidays/countries/philippines.py +2 -0
- holidays/countries/togo.py +182 -0
- holidays/countries/vatican_city.py +29 -31
- holidays/groups/christian.py +3 -3
- holidays/groups/hindu.py +121 -1
- holidays/locale/ca/LC_MESSAGES/AD.mo +0 -0
- holidays/locale/coa_CC/LC_MESSAGES/CC.mo +0 -0
- holidays/locale/en_CC/LC_MESSAGES/CC.mo +0 -0
- holidays/locale/en_GD/LC_MESSAGES/GD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TG.mo +0 -0
- holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/TG.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AD.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
- holidays/registry.py +4 -0
- holidays/version.py +1 -1
- {holidays-0.72.dist-info → holidays-0.73.dist-info}/METADATA +32 -4
- {holidays-0.72.dist-info → holidays-0.73.dist-info}/RECORD +34 -20
- {holidays-0.72.dist-info → holidays-0.73.dist-info}/WHEEL +1 -1
- {holidays-0.72.dist-info → holidays-0.73.dist-info}/licenses/CONTRIBUTORS +0 -0
- {holidays-0.72.dist-info → holidays-0.73.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.72.dist-info → holidays-0.73.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,441 @@
|
|
|
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.calendars import _CustomIslamicHolidays, _CustomHinduHolidays
|
|
14
|
+
from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV
|
|
15
|
+
from holidays.constants import PUBLIC, WORKDAY
|
|
16
|
+
from holidays.groups import (
|
|
17
|
+
ChristianHolidays,
|
|
18
|
+
HinduCalendarHolidays,
|
|
19
|
+
InternationalHolidays,
|
|
20
|
+
IslamicHolidays,
|
|
21
|
+
StaticHolidays,
|
|
22
|
+
)
|
|
23
|
+
from holidays.holiday_base import HolidayBase
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class Nepal(
|
|
27
|
+
HolidayBase,
|
|
28
|
+
ChristianHolidays,
|
|
29
|
+
HinduCalendarHolidays,
|
|
30
|
+
InternationalHolidays,
|
|
31
|
+
IslamicHolidays,
|
|
32
|
+
StaticHolidays,
|
|
33
|
+
):
|
|
34
|
+
"""Nepal holidays.
|
|
35
|
+
|
|
36
|
+
References:
|
|
37
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_Nepal>
|
|
38
|
+
* <https://narayanilawfirm.org.np/list-of-public-holidays-in-nepal-2079/>
|
|
39
|
+
* <https://www.timeanddate.com/holidays/nepal/>
|
|
40
|
+
* <https://kathmandupost.com/national/2018/03/29/government-trims-public-holidays-by-22-days>
|
|
41
|
+
* <https://kathmandupost.com/national/2021/02/13/two-years-after-shortening-public-holiday-list-government-starts-adding-to-it-again>
|
|
42
|
+
* <https://english.hamropatro.com/nepali-public-holidays>
|
|
43
|
+
* <https://english.hamropatro.com/calendar>
|
|
44
|
+
* <https://www.ashesh.com.np/nepali-calendar/>
|
|
45
|
+
* <https://www.bolpatra.gov.np/egp/openDateConverter>
|
|
46
|
+
* <https://www.moha.gov.np/en/page/holidays>
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
country = "NP"
|
|
50
|
+
# %s (estimated).
|
|
51
|
+
estimated_label = "%s (estimated)"
|
|
52
|
+
start_year = 2010
|
|
53
|
+
supported_categories = (PUBLIC, WORKDAY)
|
|
54
|
+
|
|
55
|
+
def __init__(self, islamic_show_estimated: bool = True, *args, **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
|
+
HinduCalendarHolidays.__init__(self, cls=NepalHinduHolidays)
|
|
64
|
+
InternationalHolidays.__init__(self)
|
|
65
|
+
IslamicHolidays.__init__(
|
|
66
|
+
self, cls=NepalIslamicHolidays, show_estimated=islamic_show_estimated
|
|
67
|
+
)
|
|
68
|
+
StaticHolidays.__init__(self, cls=NepalStaticHolidays)
|
|
69
|
+
super().__init__(*args, **kwargs)
|
|
70
|
+
|
|
71
|
+
def _add_non_continuous_holidays(self, is_workday: bool = False):
|
|
72
|
+
"""Holidays removed by MoHA between 2019-2020."""
|
|
73
|
+
if (2019 <= self._year <= 2020) == is_workday:
|
|
74
|
+
martyrs_day_dates = {
|
|
75
|
+
2010: (JAN, 30),
|
|
76
|
+
2011: (JAN, 30),
|
|
77
|
+
2012: (JAN, 30),
|
|
78
|
+
2013: (JAN, 29),
|
|
79
|
+
2014: (JAN, 30),
|
|
80
|
+
2015: (JAN, 30),
|
|
81
|
+
2016: (JAN, 30),
|
|
82
|
+
2017: (JAN, 29),
|
|
83
|
+
2018: (JAN, 30),
|
|
84
|
+
2019: (JAN, 30),
|
|
85
|
+
2020: (JAN, 30),
|
|
86
|
+
2021: (JAN, 29),
|
|
87
|
+
2022: (JAN, 30),
|
|
88
|
+
2023: (JAN, 30),
|
|
89
|
+
2024: (JAN, 30),
|
|
90
|
+
2025: (JAN, 29),
|
|
91
|
+
2026: (JAN, 29),
|
|
92
|
+
2027: (JAN, 29),
|
|
93
|
+
2028: (JAN, 29),
|
|
94
|
+
2029: (JAN, 29),
|
|
95
|
+
2030: (JAN, 29),
|
|
96
|
+
2031: (JAN, 30),
|
|
97
|
+
2032: (JAN, 30),
|
|
98
|
+
2033: (JAN, 29),
|
|
99
|
+
}
|
|
100
|
+
if self._year in martyrs_day_dates:
|
|
101
|
+
# Martyr's Day.
|
|
102
|
+
self._add_holiday("Martyr's Day", martyrs_day_dates[self._year])
|
|
103
|
+
|
|
104
|
+
democracy_day_dates = {
|
|
105
|
+
2010: (FEB, 19),
|
|
106
|
+
2011: (FEB, 19),
|
|
107
|
+
2012: (FEB, 19),
|
|
108
|
+
2013: (FEB, 18),
|
|
109
|
+
2014: (FEB, 19),
|
|
110
|
+
2015: (FEB, 19),
|
|
111
|
+
2016: (FEB, 19),
|
|
112
|
+
2017: (FEB, 18),
|
|
113
|
+
2018: (FEB, 19),
|
|
114
|
+
2019: (FEB, 19),
|
|
115
|
+
2020: (FEB, 19),
|
|
116
|
+
2021: (FEB, 19),
|
|
117
|
+
2022: (FEB, 19),
|
|
118
|
+
2023: (FEB, 19),
|
|
119
|
+
2024: (FEB, 19),
|
|
120
|
+
2025: (FEB, 19),
|
|
121
|
+
2026: (FEB, 19),
|
|
122
|
+
2027: (FEB, 19),
|
|
123
|
+
2028: (FEB, 19),
|
|
124
|
+
2029: (FEB, 19),
|
|
125
|
+
2030: (FEB, 19),
|
|
126
|
+
2031: (FEB, 20),
|
|
127
|
+
2032: (FEB, 20),
|
|
128
|
+
2033: (FEB, 19),
|
|
129
|
+
}
|
|
130
|
+
if self._year in democracy_day_dates:
|
|
131
|
+
# National Democracy Day.
|
|
132
|
+
self._add_holiday("National Democracy Day", democracy_day_dates[self._year])
|
|
133
|
+
|
|
134
|
+
republic_day_dates = {
|
|
135
|
+
2010: (MAY, 29),
|
|
136
|
+
2011: (MAY, 29),
|
|
137
|
+
2012: (MAY, 28),
|
|
138
|
+
2013: (MAY, 29),
|
|
139
|
+
2014: (MAY, 29),
|
|
140
|
+
2015: (MAY, 29),
|
|
141
|
+
2016: (MAY, 28),
|
|
142
|
+
2017: (MAY, 29),
|
|
143
|
+
2018: (MAY, 29),
|
|
144
|
+
2019: (MAY, 29),
|
|
145
|
+
2020: (MAY, 28),
|
|
146
|
+
2021: (MAY, 29),
|
|
147
|
+
2022: (MAY, 29),
|
|
148
|
+
2023: (MAY, 29),
|
|
149
|
+
2024: (MAY, 28),
|
|
150
|
+
2025: (MAY, 28),
|
|
151
|
+
2026: (MAY, 29),
|
|
152
|
+
2027: (MAY, 29),
|
|
153
|
+
2028: (MAY, 28),
|
|
154
|
+
2029: (MAY, 28),
|
|
155
|
+
2030: (MAY, 29),
|
|
156
|
+
2031: (MAY, 29),
|
|
157
|
+
2032: (MAY, 28),
|
|
158
|
+
}
|
|
159
|
+
if self._year in republic_day_dates:
|
|
160
|
+
# Established in 2009.
|
|
161
|
+
# Republic Day.
|
|
162
|
+
self._add_holiday("Republic Day", republic_day_dates[self._year])
|
|
163
|
+
|
|
164
|
+
# Hindu Holidays.
|
|
165
|
+
|
|
166
|
+
# Ram Navami.
|
|
167
|
+
self._add_ram_navami("Ram Navami")
|
|
168
|
+
|
|
169
|
+
# Janai Poornima.
|
|
170
|
+
self._add_raksha_bandhan("Janai Poornima")
|
|
171
|
+
|
|
172
|
+
# Shree Krishna Janmashtami.
|
|
173
|
+
self._add_janmashtami("Shree Krishna Janmashtami")
|
|
174
|
+
|
|
175
|
+
# Ghatasthapana.
|
|
176
|
+
self._add_sharad_navratri("Ghatasthapana")
|
|
177
|
+
|
|
178
|
+
# Duwadashi (Dashain).
|
|
179
|
+
self._add_papankusha_duwadashi("Duwadashi (Dashain)")
|
|
180
|
+
|
|
181
|
+
def _populate_public_holidays(self):
|
|
182
|
+
if self._year >= 2023:
|
|
183
|
+
# Prithvi Jayanti.
|
|
184
|
+
self._add_holiday_jan_11("Prithvi Jayanti")
|
|
185
|
+
|
|
186
|
+
# International Women's Day.
|
|
187
|
+
self._add_womens_day("International Women's Day")
|
|
188
|
+
|
|
189
|
+
# Nepal New Year.
|
|
190
|
+
self._add_vaisakhi("Nepali New Year")
|
|
191
|
+
|
|
192
|
+
# International Labour Day.
|
|
193
|
+
self._add_labor_day("International Labour Day")
|
|
194
|
+
|
|
195
|
+
constitution_day_dates = {
|
|
196
|
+
2016: (SEP, 19),
|
|
197
|
+
2017: (SEP, 19),
|
|
198
|
+
2018: (SEP, 19),
|
|
199
|
+
2019: (SEP, 20),
|
|
200
|
+
2020: (SEP, 19),
|
|
201
|
+
2021: (SEP, 19),
|
|
202
|
+
2022: (SEP, 19),
|
|
203
|
+
2023: (SEP, 20),
|
|
204
|
+
2024: (SEP, 19),
|
|
205
|
+
2025: (SEP, 19),
|
|
206
|
+
2026: (SEP, 19),
|
|
207
|
+
2027: (SEP, 19),
|
|
208
|
+
2028: (SEP, 18),
|
|
209
|
+
2029: (SEP, 19),
|
|
210
|
+
2030: (SEP, 19),
|
|
211
|
+
2031: (SEP, 19),
|
|
212
|
+
2032: (SEP, 19),
|
|
213
|
+
}
|
|
214
|
+
if self._year in constitution_day_dates:
|
|
215
|
+
# Constitution Day.
|
|
216
|
+
self._add_holiday("Constitution Day", constitution_day_dates[self._year])
|
|
217
|
+
|
|
218
|
+
# Christmas Day.
|
|
219
|
+
self._add_christmas_day("Christmas Day")
|
|
220
|
+
|
|
221
|
+
# Hindu holidays.
|
|
222
|
+
|
|
223
|
+
# Maghe Sankranti.
|
|
224
|
+
self._add_makar_sankranti("Maghe Sankranti")
|
|
225
|
+
|
|
226
|
+
# Sonam Lhochhar.
|
|
227
|
+
self._add_sonam_losar("Sonam Lhochhar")
|
|
228
|
+
|
|
229
|
+
# Maha Shivaratri.
|
|
230
|
+
self._add_maha_shivaratri("Maha Shivaratri")
|
|
231
|
+
|
|
232
|
+
# Gyalpo Lhosar.
|
|
233
|
+
self._add_gyalpo_losar("Gyalpo Lhosar")
|
|
234
|
+
|
|
235
|
+
# Fagu Poornima.
|
|
236
|
+
self._add_nepal_holi("Fagu Poornima")
|
|
237
|
+
|
|
238
|
+
# Fagu Poornima (Terai).
|
|
239
|
+
self._add_holi("Fagu Poornima (Terai)")
|
|
240
|
+
|
|
241
|
+
# Buddha Jayanti.
|
|
242
|
+
self._add_buddha_purnima("Buddha Jayanti")
|
|
243
|
+
|
|
244
|
+
# Fulpati.
|
|
245
|
+
self._add_maha_saptami("Fulpati")
|
|
246
|
+
|
|
247
|
+
# Maha Ashtami.
|
|
248
|
+
self._add_maha_ashtami("Maha Ashtami")
|
|
249
|
+
|
|
250
|
+
# Maha Navami.
|
|
251
|
+
self._add_maha_navami("Maha Navami")
|
|
252
|
+
|
|
253
|
+
# Bijaya Dashami.
|
|
254
|
+
self._add_dussehra("Bijaya Dashami")
|
|
255
|
+
|
|
256
|
+
# Ekadashi (Dashain).
|
|
257
|
+
self._add_papankusha_ekadashi("Ekadashi (Dashain)")
|
|
258
|
+
|
|
259
|
+
# Laxmi Pooja.
|
|
260
|
+
self._add_diwali_india("Laxmi Pooja")
|
|
261
|
+
|
|
262
|
+
# Gai Tihar.
|
|
263
|
+
self._add_gau_krida("Gai Tihar")
|
|
264
|
+
|
|
265
|
+
# Gobardhan Pooja.
|
|
266
|
+
self._add_govardhan_puja("Gobardhan Pooja")
|
|
267
|
+
|
|
268
|
+
# Mha Pooja.
|
|
269
|
+
self._add_govardhan_puja("Mha Pooja")
|
|
270
|
+
|
|
271
|
+
# Bhai Tika.
|
|
272
|
+
self._add_bhai_dooj("Bhai Tika")
|
|
273
|
+
|
|
274
|
+
# Chhath Parva.
|
|
275
|
+
self._add_chhath_puja("Chhath Parva")
|
|
276
|
+
|
|
277
|
+
# Tamu Lhochhar.
|
|
278
|
+
self._add_tamu_losar("Tamu Lhochhar")
|
|
279
|
+
|
|
280
|
+
# Islamic holidays.
|
|
281
|
+
|
|
282
|
+
# Eid al-Fitr.
|
|
283
|
+
self._add_eid_al_fitr_day("Id-ul-Fitr")
|
|
284
|
+
|
|
285
|
+
# Eid al-Adha.
|
|
286
|
+
self._add_eid_al_adha_day("Bakrid")
|
|
287
|
+
|
|
288
|
+
# Removed by MoHA between 2019-2020.
|
|
289
|
+
self._add_non_continuous_holidays()
|
|
290
|
+
|
|
291
|
+
def _populate_workday_holidays(self):
|
|
292
|
+
self._add_non_continuous_holidays(is_workday=True)
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
class NepalIslamicHolidays(_CustomIslamicHolidays):
|
|
296
|
+
# Bakrid / Eid-al-Adha.
|
|
297
|
+
EID_AL_ADHA_DATES = {
|
|
298
|
+
2010: (NOV, 17),
|
|
299
|
+
2011: (NOV, 7),
|
|
300
|
+
2012: (OCT, 27),
|
|
301
|
+
2013: (OCT, 16),
|
|
302
|
+
2014: (OCT, 6),
|
|
303
|
+
2015: (SEP, 25),
|
|
304
|
+
2016: (SEP, 13),
|
|
305
|
+
2017: (SEP, 2),
|
|
306
|
+
2018: (AUG, 22),
|
|
307
|
+
2019: (AUG, 12),
|
|
308
|
+
2020: (AUG, 1),
|
|
309
|
+
2021: (JUL, 21),
|
|
310
|
+
2022: (JUL, 10),
|
|
311
|
+
2023: (JUN, 29),
|
|
312
|
+
2024: (JUN, 17),
|
|
313
|
+
2025: (JUN, 7),
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
# Id-ul-Fitr / Eid-al-Fitr.
|
|
317
|
+
EID_AL_FITR_DATES = {
|
|
318
|
+
2010: (SEP, 10),
|
|
319
|
+
2011: (AUG, 31),
|
|
320
|
+
2012: (AUG, 20),
|
|
321
|
+
2013: (AUG, 8),
|
|
322
|
+
2014: (JUL, 29),
|
|
323
|
+
2015: (JUL, 18),
|
|
324
|
+
2016: (JUL, 7),
|
|
325
|
+
2017: (JUN, 26),
|
|
326
|
+
2018: (JUN, 16),
|
|
327
|
+
2019: (JUN, 5),
|
|
328
|
+
2020: (MAY, 25),
|
|
329
|
+
2021: (MAY, 14),
|
|
330
|
+
2022: (MAY, 3),
|
|
331
|
+
2023: (APR, 22),
|
|
332
|
+
2024: (APR, 11),
|
|
333
|
+
2025: (MAR, 31),
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
class NepalHinduHolidays(_CustomHinduHolidays):
|
|
338
|
+
# Maghe Sankranti.
|
|
339
|
+
MAKAR_SANKRANTI_DATES = {
|
|
340
|
+
2022: (JAN, 15),
|
|
341
|
+
2023: (JAN, 15),
|
|
342
|
+
2024: (JAN, 15),
|
|
343
|
+
2026: (JAN, 15),
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
# Fagu Poornima (Terai).
|
|
347
|
+
HOLI_DATES = {
|
|
348
|
+
2023: (MAR, 7),
|
|
349
|
+
2026: (MAR, 3),
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
# Ram Navami.
|
|
353
|
+
RAM_NAVAMI_DATES = {
|
|
354
|
+
2026: (MAR, 27),
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
# Nepal New Year.
|
|
358
|
+
VAISAKHI_DATES = {
|
|
359
|
+
2025: (APR, 14),
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
# Janai Punima.
|
|
363
|
+
RAKSHA_BANDHAN_DATES = {
|
|
364
|
+
2022: (AUG, 12),
|
|
365
|
+
2023: (AUG, 31),
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
# Shree Krishna Janmashtami.
|
|
369
|
+
JANMASHTAMI_DATES = {
|
|
370
|
+
2023: (SEP, 6),
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
# Maha Ashtami.
|
|
374
|
+
MAHA_ASHTAMI_DATES = {
|
|
375
|
+
2020: (OCT, 24),
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
# Maha Navami.
|
|
379
|
+
MAHA_NAVAMI_DATES = {
|
|
380
|
+
2020: (OCT, 25),
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
# Bijaya Dashami.
|
|
384
|
+
DUSSEHRA_DATES = {
|
|
385
|
+
2020: (OCT, 26),
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
# Gobardhan Pooja.
|
|
389
|
+
GOVARDHAN_PUJA_DATES = {
|
|
390
|
+
2020: (NOV, 16),
|
|
391
|
+
2022: (OCT, 26),
|
|
392
|
+
2023: (NOV, 14),
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
# Chhath Parva.
|
|
396
|
+
CHHATH_PUJA_DATES = {
|
|
397
|
+
2025: (OCT, 27),
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
class NP(Nepal):
|
|
402
|
+
pass
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
class NPL(Nepal):
|
|
406
|
+
pass
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
class NepalStaticHolidays:
|
|
410
|
+
"""Nepal special holidays.
|
|
411
|
+
|
|
412
|
+
References:
|
|
413
|
+
* [Death of Krishna Prasad Bhattarai](https://myrepublica.nagariknetwork.com/news/27618/)
|
|
414
|
+
* [Death of Sushil Koirala](https://kathmandupost.com/miscellaneous/2016/02/09/cabinet-decision-koirala-to-be-honoured-with-state-funeral)
|
|
415
|
+
* [Crash of Yeti Airlines Flight 691](https://edition.cnn.com/2023/01/15/asia/nepal-yeti-airlines-crash-intl-hnk/index.html)
|
|
416
|
+
* [People's War Day Instituted](https://kathmandupost.com/national/2023/02/12/government-announces-public-holiday-on-monday-to-mark-people-s-war-day)
|
|
417
|
+
* [People's War Day Annulled](https://kathmandupost.com/national/2023/12/29/supreme-court-annuls-public-holiday-on-people-s-war-day)
|
|
418
|
+
* [Death of Subas Chandra Nembang](https://en.nepalkhabar.com/news/detail/6023/)
|
|
419
|
+
"""
|
|
420
|
+
|
|
421
|
+
# Day of National Mourning.
|
|
422
|
+
name_day_of_national_mourning = "Day of National Mourning"
|
|
423
|
+
|
|
424
|
+
# Tihar Holiday.
|
|
425
|
+
name_tihar_holiday = "Tihar Holiday"
|
|
426
|
+
|
|
427
|
+
special_public_holidays = {
|
|
428
|
+
2011: (MAR, 6, name_day_of_national_mourning),
|
|
429
|
+
2016: (FEB, 10, name_day_of_national_mourning),
|
|
430
|
+
2021: (NOV, 7, name_tihar_holiday),
|
|
431
|
+
2022: (OCT, 28, name_tihar_holiday),
|
|
432
|
+
2023: (
|
|
433
|
+
(JAN, 16, name_day_of_national_mourning),
|
|
434
|
+
# People War's Day.
|
|
435
|
+
(FEB, 13, "People War's Day"),
|
|
436
|
+
(SEP, 14, name_day_of_national_mourning),
|
|
437
|
+
(NOV, 16, name_tihar_holiday),
|
|
438
|
+
),
|
|
439
|
+
2024: (NOV, 4, name_tihar_holiday),
|
|
440
|
+
2025: (OCT, 24, name_tihar_holiday),
|
|
441
|
+
}
|
|
@@ -52,6 +52,7 @@ class Philippines(
|
|
|
52
52
|
* [Nationwide holidays 2018-2025](https://www.officialgazette.gov.ph/nationwide-holidays/2018/)
|
|
53
53
|
* [2025 Eid'l Fitr and Eid'l Adha Tentative Date](https://melbournepcg.org/?page_id=9779)
|
|
54
54
|
* [Proclamation No. 839/2025](https://www.officialgazette.gov.ph/2025/03/20/proclamation-no-839-s-2025/)
|
|
55
|
+
* [Proclamation No. 878/2025](https://www.officialgazette.gov.ph/2025/05/06/proclamation-no-878-s-2025/)
|
|
55
56
|
"""
|
|
56
57
|
|
|
57
58
|
country = "PH"
|
|
@@ -334,6 +335,7 @@ class PhilippinesStaticHolidays:
|
|
|
334
335
|
(DEC, 24, additional_special),
|
|
335
336
|
),
|
|
336
337
|
2025: (
|
|
338
|
+
(MAY, 12, election_special),
|
|
337
339
|
(JUL, 27, additional_special),
|
|
338
340
|
# All Saints' Day Eve.
|
|
339
341
|
(OCT, 31, tr("All Saints' Day Eve")),
|
|
@@ -0,0 +1,182 @@
|
|
|
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 MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV
|
|
17
|
+
from holidays.constants import PUBLIC, WORKDAY
|
|
18
|
+
from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
19
|
+
from holidays.holiday_base import HolidayBase
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class Togo(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
|
|
23
|
+
"""Togo holidays.
|
|
24
|
+
|
|
25
|
+
References:
|
|
26
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_Togo>
|
|
27
|
+
* <https://web.archive.org/web/20250507123116/https://www.timeanddate.com/holidays/togo/>
|
|
28
|
+
* <https://web.archive.org/web/20250507123425/https://www.goethe.de/ins/tg/fr/ueb/fer.html>
|
|
29
|
+
* <https://web.archive.org/web/20250507123619/https://www.republiquetogolaise.com/politique/2309-3579-23-septembre-le-togo-rend-hommage-a-ses-martyrs>
|
|
30
|
+
* <https://web.archive.org/web/20250507123840/https://islam.zmo.de/s/westafrica/item/25841#?xywh=-405%2C-94%2C2376%2C1868>
|
|
31
|
+
* <https://en.wikipedia.org/wiki/1986_Togolese_coup_attempt>
|
|
32
|
+
* <https://web.archive.org/web/20250507131725/https://www.rfi.fr/fr/afrique/20140112-togo-le-13-janvier-est-plus-jour-fete>
|
|
33
|
+
* <https://web.archive.org/web/20250507124528/https://islam.zmo.de/s/afrique_ouest/item/25800#?xywh=-1641%2C0%2C4303%2C2363>
|
|
34
|
+
* <https://web.archive.org/web/20231202052731/https://www.holidayscalendar.com/event/anniversary-of-the-failed-attack-on-lome/>
|
|
35
|
+
|
|
36
|
+
Ramadan start dates:
|
|
37
|
+
* [2015](https://web.archive.org/web/20150825071241/https://www.republicoftogo.com/toutes-les-rubriques/societe/le-mois-du-jeune-debute-le-18-juin)
|
|
38
|
+
* [2016](https://web.archive.org/web/20250507125256/https://www.republicoftogo.com/toutes-les-rubriques/societe/le-ramadan-debute-le-6-juin)
|
|
39
|
+
* [2017](https://web.archive.org/web/20250507125353/https://www.tf1info.fr/societe/le-ramadan-2017-1438-commence-le-samedi-27-mai-comment-la-date-du-debut-du-jeune-est-elle-fixee-1512235.html)
|
|
40
|
+
* [2018](https://web.archive.org/web/20250507125622/https://www.republicoftogo.com/toutes-les-rubriques/societe/debut-du-ramadan-demain)
|
|
41
|
+
* [2019](https://web.archive.org/web/20250507130404/https://www.republiquetogolaise.com/social/0605-3100-la-communaute-musulmane-du-togo-entame-ce-lundi-le-jeune-du-mois-de-ramadan)
|
|
42
|
+
* [2020](https://web.archive.org/web/20250507125837/https://www.republiquetogolaise.com/culture/2404-4278-debut-du-mois-de-ramadan)
|
|
43
|
+
* [2021](https://web.archive.org/web/20250507130643/https://www.republiquetogolaise.com/culture/1304-5393-debut-du-mois-de-ramadan)
|
|
44
|
+
* [2022](https://web.archive.org/web/20250507130847/https://www.republiquetogolaise.com/culture/0304-6745-debut-du-mois-de-ramadan)
|
|
45
|
+
* [2023](https://web.archive.org/web/20250507131022/https://www.republiquetogolaise.com/culture/2303-7864-debut-du-mois-de-ramadan)
|
|
46
|
+
* [2024](https://web.archive.org/web/20250507131215/https://www.republiquetogolaise.com/culture/1103-9017-debut-du-mois-de-ramadan)
|
|
47
|
+
* [2025](https://web.archive.org/web/20250507131439/https://www.republiquetogolaise.com/culture/2802-10360-le-jeune-de-ramadan-debute-le-1er-mars)
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
country = "TG"
|
|
51
|
+
default_language = "fr"
|
|
52
|
+
supported_categories = (PUBLIC, WORKDAY)
|
|
53
|
+
# %s (estimated).
|
|
54
|
+
estimated_label = tr("%s (estimé)")
|
|
55
|
+
supported_languages = ("en_US", "fr")
|
|
56
|
+
# Togo gained independence on April 27, 1960.
|
|
57
|
+
start_year = 1961
|
|
58
|
+
|
|
59
|
+
def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
|
|
60
|
+
"""
|
|
61
|
+
Args:
|
|
62
|
+
islamic_show_estimated:
|
|
63
|
+
Whether to add "estimated" label to Islamic holidays name
|
|
64
|
+
if holiday date is estimated.
|
|
65
|
+
"""
|
|
66
|
+
ChristianHolidays.__init__(self)
|
|
67
|
+
InternationalHolidays.__init__(self)
|
|
68
|
+
IslamicHolidays.__init__(
|
|
69
|
+
self, cls=TogoIslamicHolidays, show_estimated=islamic_show_estimated
|
|
70
|
+
)
|
|
71
|
+
super().__init__(*args, **kwargs)
|
|
72
|
+
|
|
73
|
+
def _populate_public_holidays(self):
|
|
74
|
+
# New Year's Day.
|
|
75
|
+
self._add_new_years_day(tr("Jour de l'an"))
|
|
76
|
+
|
|
77
|
+
if 1967 <= self._year <= 2013:
|
|
78
|
+
# Liberation Day.
|
|
79
|
+
self._add_holiday_jan_13(tr("Fête de la libération nationale"))
|
|
80
|
+
|
|
81
|
+
# Easter Monday.
|
|
82
|
+
self._add_easter_monday(tr("Lundi de Pâques"))
|
|
83
|
+
|
|
84
|
+
# Independence Day.
|
|
85
|
+
self._add_holiday_apr_27(tr("Fête de l'indépendance"))
|
|
86
|
+
|
|
87
|
+
# Labor Day.
|
|
88
|
+
self._add_holiday_may_1(tr("Fête du travail"))
|
|
89
|
+
|
|
90
|
+
# Ascension Day.
|
|
91
|
+
self._add_ascension_thursday(tr("Fête de l'Ascension"))
|
|
92
|
+
|
|
93
|
+
# Whit Monday.
|
|
94
|
+
self._add_whit_monday(tr("Lundi de Pentecôte"))
|
|
95
|
+
|
|
96
|
+
# Martyrs' Day.
|
|
97
|
+
self._add_holiday_jun_21(tr("Fête des Martyrs"))
|
|
98
|
+
|
|
99
|
+
# Assumption Day.
|
|
100
|
+
self._add_holiday_aug_15(tr("Assomption"))
|
|
101
|
+
|
|
102
|
+
# All Saints' Day.
|
|
103
|
+
self._add_all_saints_day(tr("Toussaint"))
|
|
104
|
+
|
|
105
|
+
# Christmas Day.
|
|
106
|
+
self._add_christmas_day(tr("Noël"))
|
|
107
|
+
|
|
108
|
+
# First Day of Ramadan.
|
|
109
|
+
self._add_ramadan_beginning_day(tr("Ramadan"))
|
|
110
|
+
|
|
111
|
+
# Eid al-Fitr.
|
|
112
|
+
self._add_eid_al_fitr_day(tr("l'Aïd El-Fitr"))
|
|
113
|
+
|
|
114
|
+
# Eid al-Adha.
|
|
115
|
+
self._add_eid_al_adha_day(tr("Tabaski"))
|
|
116
|
+
|
|
117
|
+
def _populate_workday_holidays(self):
|
|
118
|
+
if self._year >= 1987:
|
|
119
|
+
# Anniversary of the Failed Attack on Lomé.
|
|
120
|
+
self._add_holiday_sep_24(tr("Anniversaire de l'attentat manqué contre Lomé"))
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class TG(Togo):
|
|
124
|
+
pass
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
class TGO(Togo):
|
|
128
|
+
pass
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class TogoIslamicHolidays(_CustomIslamicHolidays):
|
|
132
|
+
EID_AL_ADHA_DATES = {
|
|
133
|
+
2010: (NOV, 17),
|
|
134
|
+
2011: (NOV, 7),
|
|
135
|
+
2012: (OCT, 26),
|
|
136
|
+
2013: (OCT, 15),
|
|
137
|
+
2014: (OCT, 5),
|
|
138
|
+
2015: (SEP, 24),
|
|
139
|
+
2016: (SEP, 13),
|
|
140
|
+
2017: (SEP, 2),
|
|
141
|
+
2018: (AUG, 22),
|
|
142
|
+
2019: (AUG, 11),
|
|
143
|
+
2020: (JUL, 31),
|
|
144
|
+
2021: (JUL, 20),
|
|
145
|
+
2022: (JUL, 9),
|
|
146
|
+
2023: (JUN, 28),
|
|
147
|
+
2024: (JUN, 16),
|
|
148
|
+
2025: (JUN, 7),
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
EID_AL_FITR_DATES = {
|
|
152
|
+
2010: (SEP, 10),
|
|
153
|
+
2011: (AUG, 31),
|
|
154
|
+
2012: (AUG, 19),
|
|
155
|
+
2013: (AUG, 8),
|
|
156
|
+
2014: (JUL, 29),
|
|
157
|
+
2015: (JUL, 18),
|
|
158
|
+
2016: (JUL, 7),
|
|
159
|
+
2017: (JUN, 26),
|
|
160
|
+
2018: (JUN, 15),
|
|
161
|
+
2019: (JUN, 5),
|
|
162
|
+
2020: (MAY, 24),
|
|
163
|
+
2021: (MAY, 13),
|
|
164
|
+
2022: (MAY, 2),
|
|
165
|
+
2023: (APR, 21),
|
|
166
|
+
2024: (APR, 10),
|
|
167
|
+
2025: (MAR, 30),
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
RAMADAN_BEGINNING_DATES = {
|
|
171
|
+
2015: (JUN, 18),
|
|
172
|
+
2016: (JUN, 6),
|
|
173
|
+
2017: (MAY, 27),
|
|
174
|
+
2018: (MAY, 17),
|
|
175
|
+
2019: (MAY, 6),
|
|
176
|
+
2020: (APR, 24),
|
|
177
|
+
2021: (APR, 13),
|
|
178
|
+
2022: (APR, 2),
|
|
179
|
+
2023: (MAR, 23),
|
|
180
|
+
2024: (MAR, 11),
|
|
181
|
+
2025: (MAR, 1),
|
|
182
|
+
}
|