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
holidays/countries/nigeria.py
CHANGED
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
-
from
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
15
|
+
from holidays.calendars import _CustomIslamicHolidays
|
|
16
|
+
from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
|
|
14
17
|
from holidays.groups import (
|
|
15
18
|
ChristianHolidays,
|
|
16
19
|
InternationalHolidays,
|
|
@@ -27,11 +30,33 @@ class Nigeria(
|
|
|
27
30
|
|
|
28
31
|
References:
|
|
29
32
|
* <https://en.wikipedia.org/wiki/Public_holidays_in_Nigeria>
|
|
33
|
+
* [Public Holidays Decree 1979](https://web.archive.org/web/20240616072641/https://archive.gazettes.africa/archive/ng/1979/ng-government-gazette-supplement-dated-1979-02-01-no-5.pdf)
|
|
34
|
+
* [Public Holidays (Amendment) Decree 1984](https://web.archive.org/web/20240615185836/https://archive.gazettes.africa/archive/ng/1984/ng-government-gazette-supplement-dated-1984-08-30-no-52-part-a.pdf)
|
|
35
|
+
* [Public Holidays Act (2004 Consolidated Version)](https://web.archive.org/web/20250822094939/https://placng.org/lawsofnigeria/view2.php?sn=467)
|
|
36
|
+
* <https://web.archive.org/web/20250829024504/https://fmino.gov.ng/may-29th-in-nigerias-history/>
|
|
37
|
+
* <https://web.archive.org/web/20250829084254/https://www.iita.org/wp-content/uploads/2017/01/The-Bulletin-23-27-May-2011-No.-2070.pdf>
|
|
38
|
+
* <https://web.archive.org/web/20170618031224/http://pulse.ng/local/inauguration-day-fg-declares-may-29-public-holiday-id3795830.html>
|
|
39
|
+
* <https://web.archive.org/web/20250829081956/https://dailypost.ng/2019/05/27/fg-declares-may-29-public-holiday/>
|
|
40
|
+
* <https://web.archive.org/web/20230620060859/https://interior.gov.ng/fg-declares-monday-may-29th-2023-work-free-day-for-presidential-inauguration/>
|
|
41
|
+
* <https://web.archive.org/web/20250829060151/https://statehouse.gov.ng/news/president-buhari-declares-june-12-the-new-democracy-day/>
|
|
42
|
+
* <https://web.archive.org/web/20250829085227/https://www.nairaland.com/4548139/may-29-remains-inauguration-day>
|
|
43
|
+
* <https://web.archive.org/web/20250829030023/https://www.timeanddate.com/holidays/nigeria/2025?hol=9>
|
|
44
|
+
|
|
45
|
+
In-lieu holidays have been in effect since at least 2010:
|
|
46
|
+
* <http://archive.today/2025.08.30-142719/https://www.vanguardngr.com/2010/05/fg-declares-may-31-public-holiday-for-democracy/>
|
|
30
47
|
"""
|
|
31
48
|
|
|
32
49
|
country = "NG"
|
|
33
|
-
|
|
50
|
+
default_language = "en_NG"
|
|
51
|
+
# %s (estimated).
|
|
52
|
+
estimated_label = tr("%s (estimated)")
|
|
53
|
+
# %s (observed, estimated).
|
|
54
|
+
observed_estimated_label = tr("%s (observed, estimated)")
|
|
55
|
+
# %s (observed).
|
|
56
|
+
observed_label = tr("%s (observed)")
|
|
57
|
+
# Public Holidays Decree 1979, in effect from January 1st, 1979.
|
|
34
58
|
start_year = 1979
|
|
59
|
+
supported_languages = ("en_NG", "en_US")
|
|
35
60
|
|
|
36
61
|
def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
|
|
37
62
|
"""
|
|
@@ -42,53 +67,69 @@ class Nigeria(
|
|
|
42
67
|
"""
|
|
43
68
|
ChristianHolidays.__init__(self)
|
|
44
69
|
InternationalHolidays.__init__(self)
|
|
45
|
-
IslamicHolidays.__init__(
|
|
70
|
+
IslamicHolidays.__init__(
|
|
71
|
+
self, cls=NigeriaIslamicHolidays, show_estimated=islamic_show_estimated
|
|
72
|
+
)
|
|
46
73
|
StaticHolidays.__init__(self, NigeriaStaticHolidays)
|
|
47
74
|
kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY)
|
|
48
|
-
kwargs.setdefault("observed_since",
|
|
75
|
+
kwargs.setdefault("observed_since", 2010)
|
|
49
76
|
super().__init__(*args, **kwargs)
|
|
50
77
|
|
|
51
78
|
def _populate_public_holidays(self):
|
|
52
79
|
dts_observed = set()
|
|
53
80
|
|
|
54
81
|
# New Year's Day.
|
|
55
|
-
dts_observed.add(self._add_new_years_day("New Year's Day"))
|
|
82
|
+
dts_observed.add(self._add_new_years_day(tr("New Year's Day")))
|
|
83
|
+
|
|
84
|
+
# Good Friday.
|
|
85
|
+
self._add_good_friday(tr("Good Friday"))
|
|
56
86
|
|
|
57
|
-
|
|
58
|
-
self._add_easter_monday("Easter Monday")
|
|
87
|
+
# Easter Monday.
|
|
88
|
+
self._add_easter_monday(tr("Easter Monday"))
|
|
59
89
|
|
|
60
|
-
#
|
|
61
|
-
if self._year >=
|
|
62
|
-
|
|
90
|
+
# Added via Public Holidays (Amendment) Decree 1984 on August 28th, 1984.
|
|
91
|
+
if self._year >= 1985:
|
|
92
|
+
# Workers' Day.
|
|
93
|
+
dts_observed.add(self._add_labor_day(tr("Workers' Day")))
|
|
63
94
|
|
|
64
|
-
#
|
|
95
|
+
# Added via Public Holidays (Amendment) Decree 2000.
|
|
96
|
+
# Changed to June 12th for 2019 onwards on July 6th, 2018.
|
|
65
97
|
if self._year >= 2000:
|
|
66
|
-
|
|
98
|
+
# Democracy Day.
|
|
99
|
+
name = tr("Democracy Day")
|
|
67
100
|
dts_observed.add(
|
|
68
101
|
self._add_holiday_jun_12(name)
|
|
69
102
|
if self._year >= 2019
|
|
70
103
|
else self._add_holiday_may_29(name)
|
|
71
104
|
)
|
|
72
105
|
|
|
73
|
-
|
|
74
|
-
|
|
106
|
+
if self._year >= 1999 and self._year % 4 == 3:
|
|
107
|
+
# Presidential Inauguration Day.
|
|
108
|
+
self._add_holiday_may_29(tr("Presidential Inauguration Day"))
|
|
109
|
+
|
|
110
|
+
# National Day.
|
|
111
|
+
dts_observed.add(self._add_holiday_oct_1(tr("National Day")))
|
|
112
|
+
|
|
113
|
+
# Christmas Day.
|
|
114
|
+
dts_observed.add(self._add_christmas_day(tr("Christmas Day")))
|
|
75
115
|
|
|
76
|
-
#
|
|
77
|
-
dts_observed.add(self.
|
|
116
|
+
# Boxing Day.
|
|
117
|
+
dts_observed.add(self._add_christmas_day_two(tr("Boxing Day")))
|
|
78
118
|
|
|
79
|
-
#
|
|
80
|
-
dts_observed.
|
|
119
|
+
# Prophet's Birthday.
|
|
120
|
+
dts_observed.update(self._add_mawlid_day(tr("Id el Maulud")))
|
|
81
121
|
|
|
82
122
|
# Eid al-Fitr.
|
|
83
|
-
dts_observed.update(self._add_eid_al_fitr_day("
|
|
84
|
-
|
|
123
|
+
dts_observed.update(self._add_eid_al_fitr_day(tr("Id el Fitr")))
|
|
124
|
+
|
|
125
|
+
# Eid al-Fitr Holiday.
|
|
126
|
+
dts_observed.update(self._add_eid_al_fitr_day_two(tr("Id el Fitr Holiday")))
|
|
85
127
|
|
|
86
128
|
# Eid al-Adha.
|
|
87
|
-
dts_observed.update(self._add_eid_al_adha_day("
|
|
88
|
-
dts_observed.update(self._add_eid_al_adha_day_two("Eid-el-Kabir Holiday"))
|
|
129
|
+
dts_observed.update(self._add_eid_al_adha_day(tr("Id el Kabir")))
|
|
89
130
|
|
|
90
|
-
#
|
|
91
|
-
dts_observed.update(self.
|
|
131
|
+
# Eid al-Adha Holiday.
|
|
132
|
+
dts_observed.update(self._add_eid_al_adha_day_two(tr("Id el Kabir Holiday")))
|
|
92
133
|
|
|
93
134
|
if self.observed:
|
|
94
135
|
self._populate_observed(dts_observed)
|
|
@@ -102,10 +143,140 @@ class NGA(Nigeria):
|
|
|
102
143
|
pass
|
|
103
144
|
|
|
104
145
|
|
|
146
|
+
class NigeriaIslamicHolidays(_CustomIslamicHolidays):
|
|
147
|
+
# https://web.archive.org/web/20250829051803/https://www.timeanddate.com/holidays/nigeria/id-el-kabir
|
|
148
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (1979, 2025)
|
|
149
|
+
EID_AL_ADHA_DATES = {
|
|
150
|
+
1979: (NOV, 1),
|
|
151
|
+
1980: (OCT, 20),
|
|
152
|
+
1981: (OCT, 9),
|
|
153
|
+
1982: (SEP, 29),
|
|
154
|
+
1983: (SEP, 18),
|
|
155
|
+
1984: (SEP, 6),
|
|
156
|
+
1985: (AUG, 27),
|
|
157
|
+
1986: (AUG, 16),
|
|
158
|
+
1987: (AUG, 6),
|
|
159
|
+
1988: (JUL, 25),
|
|
160
|
+
1989: (JUL, 14),
|
|
161
|
+
1990: (JUL, 4),
|
|
162
|
+
1991: (JUN, 23),
|
|
163
|
+
1993: (JUN, 1),
|
|
164
|
+
1994: (MAY, 21),
|
|
165
|
+
1995: (MAY, 10),
|
|
166
|
+
1996: (APR, 29),
|
|
167
|
+
1997: (APR, 18),
|
|
168
|
+
1998: (APR, 8),
|
|
169
|
+
1999: (MAR, 28),
|
|
170
|
+
2001: (MAR, 6),
|
|
171
|
+
2002: (FEB, 23),
|
|
172
|
+
2003: (FEB, 12),
|
|
173
|
+
2004: (FEB, 2),
|
|
174
|
+
2007: (DEC, 19),
|
|
175
|
+
2008: (DEC, 9),
|
|
176
|
+
2009: (NOV, 28),
|
|
177
|
+
2010: (NOV, 17),
|
|
178
|
+
2011: (NOV, 7),
|
|
179
|
+
2014: (OCT, 6),
|
|
180
|
+
2015: (SEP, 24),
|
|
181
|
+
2016: (SEP, 12),
|
|
182
|
+
2017: (SEP, 2),
|
|
183
|
+
2018: (AUG, 22),
|
|
184
|
+
2019: (AUG, 12),
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
# https://web.archive.org/web/20250829052410/https://www.timeanddate.com/holidays/nigeria/id-el-fitr
|
|
188
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (1979, 2025)
|
|
189
|
+
EID_AL_FITR_DATES = {
|
|
190
|
+
1979: (AUG, 25),
|
|
191
|
+
1980: (AUG, 13),
|
|
192
|
+
1981: (AUG, 2),
|
|
193
|
+
1982: (JUL, 23),
|
|
194
|
+
1983: (JUL, 12),
|
|
195
|
+
1985: (JUN, 20),
|
|
196
|
+
1986: (JUN, 9),
|
|
197
|
+
1987: (MAY, 30),
|
|
198
|
+
1988: (MAY, 18),
|
|
199
|
+
1989: (MAY, 7),
|
|
200
|
+
1990: (APR, 27),
|
|
201
|
+
1991: (APR, 16),
|
|
202
|
+
1993: (MAR, 25),
|
|
203
|
+
1994: (MAR, 14),
|
|
204
|
+
1995: (MAR, 3),
|
|
205
|
+
1996: (FEB, 21),
|
|
206
|
+
1997: (FEB, 9),
|
|
207
|
+
1998: (JAN, 30),
|
|
208
|
+
1999: (JAN, 19),
|
|
209
|
+
2000: ((JAN, 8), (DEC, 28)),
|
|
210
|
+
2001: (DEC, 17),
|
|
211
|
+
2002: (DEC, 6),
|
|
212
|
+
2003: (NOV, 26),
|
|
213
|
+
2005: (NOV, 4),
|
|
214
|
+
2006: (OCT, 24),
|
|
215
|
+
2007: (OCT, 12),
|
|
216
|
+
2008: (SEP, 29),
|
|
217
|
+
2009: (SEP, 21),
|
|
218
|
+
2010: (SEP, 9),
|
|
219
|
+
2012: (AUG, 20),
|
|
220
|
+
2017: (JUN, 26),
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
# https://web.archive.org/web/20250829053435/https://www.timeanddate.com/holidays/nigeria/id-el-maulud
|
|
224
|
+
# https://web.archive.org/web/20250829054319/https://pmnewsnigeria.com/2012/02/03/fg-declares-6-feb-public-holiday/
|
|
225
|
+
MAWLID_DATES_CONFIRMED_YEARS = (1979, 2025)
|
|
226
|
+
MAWLID_DATES = {
|
|
227
|
+
1979: (FEB, 10),
|
|
228
|
+
1982: ((JAN, 8), (DEC, 28)),
|
|
229
|
+
1983: (DEC, 17),
|
|
230
|
+
1984: (DEC, 6),
|
|
231
|
+
1985: (NOV, 25),
|
|
232
|
+
1986: (NOV, 15),
|
|
233
|
+
1987: (NOV, 4),
|
|
234
|
+
1988: (OCT, 23),
|
|
235
|
+
1989: (OCT, 13),
|
|
236
|
+
1990: (OCT, 2),
|
|
237
|
+
1991: (SEP, 21),
|
|
238
|
+
1992: (SEP, 10),
|
|
239
|
+
1993: (AUG, 30),
|
|
240
|
+
1995: (AUG, 9),
|
|
241
|
+
1996: (JUL, 28),
|
|
242
|
+
1997: (JUL, 18),
|
|
243
|
+
1998: (JUL, 7),
|
|
244
|
+
2000: (JUN, 15),
|
|
245
|
+
2003: (MAY, 14),
|
|
246
|
+
2004: (MAY, 2),
|
|
247
|
+
2006: (APR, 11),
|
|
248
|
+
2011: (FEB, 16),
|
|
249
|
+
2012: (FEB, 6),
|
|
250
|
+
2015: ((JAN, 2), (DEC, 24)),
|
|
251
|
+
2016: (DEC, 12),
|
|
252
|
+
2017: (DEC, 1),
|
|
253
|
+
2021: (OCT, 19),
|
|
254
|
+
2024: (SEP, 16),
|
|
255
|
+
2025: (SEP, 5),
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
|
|
105
259
|
class NigeriaStaticHolidays:
|
|
260
|
+
"""Nigeria special holidays.
|
|
261
|
+
|
|
262
|
+
References:
|
|
263
|
+
* <https://web.archive.org/web/20250829090324/https://www.pambazuka.org/governance/nigeria-holiday-blow-presidential-hopeful>
|
|
264
|
+
* <https://web.archive.org/web/20250829084913/https://www.nbcnews.com/id/wbna36974655>
|
|
265
|
+
* <https://web.archive.org/web/20250829081641/https://businessday.ng/uncategorized/article/2019-elections-fg-declares-friday-public-holiday-excludes-banksothers/>
|
|
266
|
+
* <https://web.archive.org/web/20250829024209/https://statehouse.gov.ng/news/new-date-for-special-federal-executive-council-session-in-honour-of-president-muhammadu-buhari-to-be-announced/>
|
|
267
|
+
"""
|
|
268
|
+
|
|
269
|
+
# Public Holiday for Elections.
|
|
270
|
+
name_elections = tr("Public Holiday for Elections")
|
|
271
|
+
|
|
106
272
|
special_public_holidays = {
|
|
107
|
-
|
|
108
|
-
(
|
|
109
|
-
(
|
|
273
|
+
2007: (
|
|
274
|
+
(APR, 12, name_elections),
|
|
275
|
+
(APR, 13, name_elections),
|
|
110
276
|
),
|
|
277
|
+
# Day of Mourning for President Umaru Yar'Adua.
|
|
278
|
+
2010: (MAY, 6, tr("Day of Mourning for President Umaru Yar'Adua")),
|
|
279
|
+
2019: (FEB, 22, name_elections),
|
|
280
|
+
# Day of Mourning for President Muhammadu Buhari.
|
|
281
|
+
2025: (JUL, 15, tr("Day of Mourning for President Muhammadu Buhari")),
|
|
111
282
|
}
|
|
@@ -13,18 +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
|
|
17
|
-
GREGORIAN_CALENDAR,
|
|
18
|
-
MAR,
|
|
19
|
-
APR,
|
|
20
|
-
MAY,
|
|
21
|
-
JUN,
|
|
22
|
-
JUL,
|
|
23
|
-
AUG,
|
|
24
|
-
SEP,
|
|
25
|
-
OCT,
|
|
26
|
-
NOV,
|
|
27
|
-
)
|
|
16
|
+
from holidays.calendars.gregorian import GREGORIAN_CALENDAR, APR, MAY, JUL, SEP, OCT
|
|
28
17
|
from holidays.calendars.julian import JULIAN_CALENDAR
|
|
29
18
|
from holidays.constants import (
|
|
30
19
|
ALBANIAN,
|
|
@@ -262,42 +251,17 @@ class MKD(NorthMacedonia):
|
|
|
262
251
|
|
|
263
252
|
|
|
264
253
|
class NorthMacedoniaIslamicHolidays(_CustomIslamicHolidays):
|
|
254
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2010, 2025)
|
|
265
255
|
EID_AL_ADHA_DATES = {
|
|
266
|
-
2010: (NOV, 16),
|
|
267
|
-
2011: (NOV, 6),
|
|
268
256
|
2012: (OCT, 25),
|
|
269
|
-
2013: (OCT, 15),
|
|
270
|
-
2014: (OCT, 4),
|
|
271
257
|
2015: (SEP, 24),
|
|
272
258
|
2016: (SEP, 12),
|
|
273
|
-
2017: (SEP, 1),
|
|
274
|
-
2018: (AUG, 21),
|
|
275
|
-
2019: (AUG, 11),
|
|
276
|
-
2020: (JUL, 31),
|
|
277
|
-
2021: (JUL, 20),
|
|
278
|
-
2022: (JUL, 9),
|
|
279
|
-
2023: (JUN, 28),
|
|
280
|
-
2024: (JUN, 16),
|
|
281
|
-
2025: (JUN, 6),
|
|
282
259
|
}
|
|
283
260
|
|
|
261
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2010, 2025)
|
|
284
262
|
EID_AL_FITR_DATES = {
|
|
285
263
|
2010: (SEP, 9),
|
|
286
|
-
2011: (AUG, 30),
|
|
287
|
-
2012: (AUG, 19),
|
|
288
|
-
2013: (AUG, 8),
|
|
289
|
-
2014: (JUL, 28),
|
|
290
|
-
2015: (JUL, 17),
|
|
291
264
|
2016: (JUL, 5),
|
|
292
|
-
2017: (JUN, 25),
|
|
293
|
-
2018: (JUN, 15),
|
|
294
|
-
2019: (JUN, 4),
|
|
295
|
-
2020: (MAY, 24),
|
|
296
|
-
2021: (MAY, 13),
|
|
297
|
-
2022: (MAY, 2),
|
|
298
|
-
2023: (APR, 21),
|
|
299
|
-
2024: (APR, 10),
|
|
300
|
-
2025: (MAR, 30),
|
|
301
265
|
}
|
|
302
266
|
|
|
303
267
|
|
holidays/countries/oman.py
CHANGED
|
@@ -14,17 +14,14 @@ from gettext import gettext as tr
|
|
|
14
14
|
|
|
15
15
|
from holidays.calendars import _CustomIslamicHolidays
|
|
16
16
|
from holidays.calendars.gregorian import (
|
|
17
|
-
JAN,
|
|
18
17
|
FEB,
|
|
19
18
|
MAR,
|
|
20
19
|
APR,
|
|
21
|
-
MAY,
|
|
22
20
|
JUN,
|
|
23
21
|
JUL,
|
|
24
22
|
AUG,
|
|
25
23
|
SEP,
|
|
26
24
|
OCT,
|
|
27
|
-
NOV,
|
|
28
25
|
THU,
|
|
29
26
|
FRI,
|
|
30
27
|
SAT,
|
|
@@ -123,63 +120,44 @@ class OMN(Oman):
|
|
|
123
120
|
|
|
124
121
|
class OmanIslamicHolidays(_CustomIslamicHolidays):
|
|
125
122
|
# https://web.archive.org/web/20240911084650/https://www.timeanddate.com/holidays/oman/muharram-new-year
|
|
123
|
+
HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARS = (2018, 2024)
|
|
126
124
|
HIJRI_NEW_YEAR_DATES = {
|
|
127
|
-
2018: (SEP, 11),
|
|
128
125
|
2019: (SEP, 1),
|
|
129
126
|
2020: (AUG, 21),
|
|
130
127
|
2021: (AUG, 10),
|
|
131
|
-
2022: (JUL, 30),
|
|
132
128
|
2023: (JUL, 20),
|
|
133
|
-
2024: (JUL, 7),
|
|
134
129
|
}
|
|
135
130
|
|
|
136
131
|
# https://web.archive.org/web/20240810230306/https://www.timeanddate.com/holidays/oman/prophet-birthday
|
|
132
|
+
MAWLID_DATES_CONFIRMED_YEARS = (2018, 2024)
|
|
137
133
|
MAWLID_DATES = {
|
|
138
|
-
2018: (NOV, 20),
|
|
139
|
-
2019: (NOV, 9),
|
|
140
|
-
2020: (OCT, 29),
|
|
141
134
|
2021: (OCT, 19),
|
|
142
135
|
2022: (OCT, 9),
|
|
143
136
|
2023: (SEP, 28),
|
|
144
|
-
2024: (SEP, 15),
|
|
145
137
|
}
|
|
146
138
|
|
|
147
139
|
# https://web.archive.org/web/20241231191036/https://www.timeanddate.com/holidays/oman/isra-miraj
|
|
140
|
+
ISRA_AND_MIRAJ_DATES_CONFIRMED_YEARS = (2018, 2025)
|
|
148
141
|
ISRA_AND_MIRAJ_DATES = {
|
|
149
|
-
2018: (APR, 13),
|
|
150
|
-
2019: (APR, 3),
|
|
151
|
-
2020: (MAR, 22),
|
|
152
|
-
2021: (MAR, 11),
|
|
153
142
|
2022: (MAR, 1),
|
|
154
143
|
2023: (FEB, 19),
|
|
155
|
-
2024: (FEB, 8),
|
|
156
|
-
2025: (JAN, 27),
|
|
157
144
|
}
|
|
158
145
|
|
|
159
146
|
# https://web.archive.org/web/20240913230603/https://www.timeanddate.com/holidays/oman/eid-al-adha
|
|
147
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2019, 2024)
|
|
160
148
|
EID_AL_ADHA_DATES = {
|
|
161
|
-
2019: (AUG, 11),
|
|
162
|
-
2020: (JUL, 31),
|
|
163
|
-
2021: (JUL, 20),
|
|
164
|
-
2022: (JUL, 9),
|
|
165
|
-
2023: (JUN, 28),
|
|
166
149
|
2024: (JUN, 17),
|
|
167
150
|
}
|
|
168
151
|
|
|
169
152
|
# https://web.archive.org/web/20241231191036/https://www.timeanddate.com/holidays/oman/eid-al-fitr
|
|
153
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2019, 2025)
|
|
170
154
|
EID_AL_FITR_DATES = {
|
|
171
|
-
2019: (JUN, 4),
|
|
172
|
-
2020: (MAY, 24),
|
|
173
|
-
2021: (MAY, 13),
|
|
174
|
-
2022: (MAY, 2),
|
|
175
155
|
2023: (APR, 22),
|
|
176
|
-
2024: (APR, 10),
|
|
177
156
|
2025: (MAR, 31),
|
|
178
157
|
}
|
|
179
158
|
|
|
180
159
|
# https://web.archive.org/web/20240814104839/https://www.timeanddate.com/holidays/oman/ramadan-begins
|
|
160
|
+
RAMADAN_BEGINNING_DATES_CONFIRMED_YEARS = (2023, 2025)
|
|
181
161
|
RAMADAN_BEGINNING_DATES = {
|
|
182
|
-
2023: (MAR, 23),
|
|
183
162
|
2024: (MAR, 12),
|
|
184
|
-
2025: (MAR, 1),
|
|
185
163
|
}
|
holidays/countries/pakistan.py
CHANGED
|
@@ -107,48 +107,32 @@ class PAK(Pakistan):
|
|
|
107
107
|
|
|
108
108
|
class PakistanIslamicHolidays(_CustomIslamicHolidays):
|
|
109
109
|
# https://web.archive.org/web/20250724060822/https://www.timeanddate.com/holidays/pakistan/ashura
|
|
110
|
+
ASHURA_DATES_CONFIRMED_YEARS = (2005, 2025)
|
|
110
111
|
ASHURA_DATES = {
|
|
111
112
|
2005: (FEB, 18),
|
|
112
113
|
2006: (FEB, 8),
|
|
113
114
|
2007: (JAN, 28),
|
|
114
115
|
2008: (JAN, 18),
|
|
115
116
|
2009: ((JAN, 6), (DEC, 26)),
|
|
116
|
-
2010: (DEC, 16),
|
|
117
|
-
2011: (DEC, 5),
|
|
118
117
|
2012: (NOV, 23),
|
|
119
|
-
2013: (NOV, 13),
|
|
120
|
-
2014: (NOV, 3),
|
|
121
|
-
2015: (OCT, 23),
|
|
122
|
-
2016: (OCT, 11),
|
|
123
|
-
2017: (SEP, 30),
|
|
124
118
|
2018: (SEP, 21),
|
|
125
|
-
2019: (SEP, 9),
|
|
126
|
-
2020: (AUG, 29),
|
|
127
|
-
2021: (AUG, 18),
|
|
128
119
|
2022: (AUG, 9),
|
|
129
|
-
2023: (JUL, 28),
|
|
130
|
-
2024: (JUL, 16),
|
|
131
120
|
2025: (JUL, 6),
|
|
132
121
|
}
|
|
133
122
|
|
|
134
123
|
# https://web.archive.org/web/20250724060629/https://www.timeanddate.com/holidays/pakistan/eid-ul-azha
|
|
124
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2005, 2025)
|
|
135
125
|
EID_AL_ADHA_DATES = {
|
|
136
|
-
2005: (JAN, 21),
|
|
137
|
-
2006: ((JAN, 10), (DEC, 31)),
|
|
138
|
-
2007: (DEC, 20),
|
|
139
126
|
2008: (DEC, 9),
|
|
140
127
|
2009: (NOV, 28),
|
|
141
128
|
2010: (NOV, 17),
|
|
142
129
|
2011: (NOV, 7),
|
|
143
|
-
2012: (OCT, 26),
|
|
144
|
-
2013: (OCT, 15),
|
|
145
130
|
2014: (OCT, 6),
|
|
146
131
|
2015: (SEP, 24),
|
|
147
132
|
2016: (SEP, 12),
|
|
148
133
|
2017: (SEP, 2),
|
|
149
134
|
2018: (AUG, 22),
|
|
150
135
|
2019: (AUG, 12),
|
|
151
|
-
2020: (JUL, 31),
|
|
152
136
|
2021: (JUL, 21),
|
|
153
137
|
2022: (JUL, 10),
|
|
154
138
|
2023: (JUN, 29),
|
|
@@ -157,41 +141,32 @@ class PakistanIslamicHolidays(_CustomIslamicHolidays):
|
|
|
157
141
|
}
|
|
158
142
|
|
|
159
143
|
# https://web.archive.org/web/20250724060834/https://www.timeanddate.com/holidays/pakistan/eid-ul-fitr-1
|
|
144
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2005, 2025)
|
|
160
145
|
EID_AL_FITR_DATES = {
|
|
161
146
|
2005: (NOV, 4),
|
|
162
147
|
2006: (OCT, 24),
|
|
163
|
-
2007: (OCT, 13),
|
|
164
148
|
2008: (OCT, 2),
|
|
165
149
|
2009: (SEP, 21),
|
|
166
|
-
2010: (SEP, 10),
|
|
167
150
|
2011: (AUG, 31),
|
|
168
|
-
2012: (AUG, 19),
|
|
169
|
-
2013: (AUG, 8),
|
|
170
151
|
2014: (JUL, 29),
|
|
171
|
-
2015: (JUL, 17),
|
|
172
|
-
2016: (JUL, 6),
|
|
173
152
|
2017: (JUN, 26),
|
|
174
153
|
2018: (JUN, 16),
|
|
175
154
|
2019: (JUN, 5),
|
|
176
|
-
2020: (MAY, 24),
|
|
177
|
-
2021: (MAY, 13),
|
|
178
155
|
2022: (MAY, 3),
|
|
179
156
|
2023: (APR, 22),
|
|
180
|
-
2024: (APR, 10),
|
|
181
157
|
2025: (MAR, 31),
|
|
182
158
|
}
|
|
183
159
|
|
|
184
160
|
# https://web.archive.org/web/20250724061027/https://www.timeanddate.com/holidays/pakistan/eid-milad-un-nabi
|
|
161
|
+
|
|
162
|
+
MAWLID_DATES_CONFIRMED_YEARS = (2005, 2024)
|
|
185
163
|
MAWLID_DATES = {
|
|
186
164
|
2005: (APR, 22),
|
|
187
165
|
2006: (APR, 11),
|
|
188
|
-
2007: (MAR, 31),
|
|
189
166
|
2008: (MAR, 21),
|
|
190
|
-
2009: (MAR, 9),
|
|
191
167
|
2010: (MAR, 1),
|
|
192
168
|
2011: (FEB, 17),
|
|
193
169
|
2012: (FEB, 5),
|
|
194
|
-
2013: (JAN, 24),
|
|
195
170
|
2014: (JAN, 14),
|
|
196
171
|
2015: (JAN, 4),
|
|
197
172
|
2016: (DEC, 12),
|
holidays/countries/palestine.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 GREGORIAN_CALENDAR
|
|
16
|
+
from holidays.calendars.gregorian import GREGORIAN_CALENDAR
|
|
17
17
|
from holidays.calendars.julian import JULIAN_CALENDAR
|
|
18
18
|
from holidays.constants import CATHOLIC, ORTHODOX, PUBLIC
|
|
19
19
|
from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
@@ -171,7 +171,4 @@ class PSE(Palestine):
|
|
|
171
171
|
|
|
172
172
|
|
|
173
173
|
class PalestineIslamicHolidays(_CustomIslamicHolidays):
|
|
174
|
-
|
|
175
|
-
MAWLID_DATES = {
|
|
176
|
-
2023: (SEP, 27),
|
|
177
|
-
}
|
|
174
|
+
MAWLID_DATES_CONFIRMED_YEARS = (2020, 2024)
|
|
@@ -201,68 +201,38 @@ class PHL(Philippines):
|
|
|
201
201
|
|
|
202
202
|
|
|
203
203
|
class PhilippinesChineseHolidays(_CustomChineseHolidays):
|
|
204
|
-
|
|
205
|
-
2012: (JAN, 23),
|
|
206
|
-
2013: (FEB, 10),
|
|
207
|
-
2014: (JAN, 31),
|
|
208
|
-
2015: (FEB, 19),
|
|
209
|
-
2016: (FEB, 8),
|
|
210
|
-
2017: (JAN, 28),
|
|
211
|
-
2018: (FEB, 16),
|
|
212
|
-
2019: (FEB, 5),
|
|
213
|
-
2020: (JAN, 25),
|
|
214
|
-
2021: (FEB, 12),
|
|
215
|
-
2022: (FEB, 1),
|
|
216
|
-
2023: (JAN, 22),
|
|
217
|
-
2024: (FEB, 10),
|
|
218
|
-
2025: (JAN, 29),
|
|
219
|
-
}
|
|
204
|
+
LUNAR_NEW_YEAR_DATES_CONFIRMED_YEARS = (2012, 2025)
|
|
220
205
|
|
|
221
206
|
|
|
222
207
|
class PhilippinesIslamicHolidays(_CustomIslamicHolidays):
|
|
208
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2010, 2025)
|
|
223
209
|
EID_AL_ADHA_DATES = {
|
|
224
210
|
2010: (NOV, 17),
|
|
225
211
|
2011: (NOV, 7),
|
|
226
|
-
2012: (OCT, 26),
|
|
227
|
-
2013: (OCT, 15),
|
|
228
212
|
2014: (OCT, 6),
|
|
229
213
|
2015: (SEP, 25),
|
|
230
214
|
2016: (SEP, 10),
|
|
231
215
|
2017: (SEP, 2),
|
|
232
|
-
2018: (AUG, 21),
|
|
233
216
|
2019: (AUG, 12),
|
|
234
|
-
2020: (JUL, 31),
|
|
235
|
-
2021: (JUL, 20),
|
|
236
|
-
2022: (JUL, 9),
|
|
237
|
-
2023: (JUN, 28),
|
|
238
217
|
2024: (JUN, 17),
|
|
239
|
-
2025: (JUN, 6),
|
|
240
218
|
}
|
|
241
219
|
|
|
220
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2002, 2025)
|
|
242
221
|
EID_AL_FITR_DATES = {
|
|
243
222
|
2002: (DEC, 6),
|
|
244
223
|
2003: (NOV, 26),
|
|
245
|
-
2004: (NOV, 14),
|
|
246
224
|
2005: (NOV, 4),
|
|
247
225
|
2006: (OCT, 24),
|
|
248
226
|
2007: (OCT, 12),
|
|
249
|
-
2008: (OCT, 1),
|
|
250
227
|
2009: (SEP, 21),
|
|
251
|
-
2010: (SEP, 10),
|
|
252
|
-
2011: (AUG, 30),
|
|
253
228
|
2012: (AUG, 20),
|
|
254
229
|
2013: (AUG, 9),
|
|
255
230
|
2014: (JUL, 29),
|
|
256
|
-
2015: (JUL, 17),
|
|
257
231
|
2016: (JUL, 7),
|
|
258
232
|
2017: (JUN, 26),
|
|
259
|
-
2018: (JUN, 15),
|
|
260
233
|
2019: (JUN, 5),
|
|
261
234
|
2020: (MAY, 25),
|
|
262
|
-
2021: (MAY, 13),
|
|
263
235
|
2022: (MAY, 3),
|
|
264
|
-
2023: (APR, 21),
|
|
265
|
-
2024: (APR, 10),
|
|
266
236
|
2025: (APR, 1),
|
|
267
237
|
}
|
|
268
238
|
|