holidays 0.63__py3-none-any.whl → 0.64__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/hebrew.py +32 -3
- holidays/constants.py +1 -0
- holidays/countries/__init__.py +1 -0
- holidays/countries/afghanistan.py +104 -0
- holidays/countries/azerbaijan.py +2 -2
- holidays/countries/belarus.py +93 -14
- holidays/countries/el_salvador.py +45 -24
- holidays/countries/israel.py +55 -80
- holidays/countries/kazakhstan.py +2 -2
- holidays/countries/montenegro.py +143 -27
- holidays/countries/norway.py +1 -1
- holidays/countries/poland.py +9 -1
- holidays/countries/russia.py +1 -1
- holidays/countries/ukraine.py +19 -10
- holidays/financial/ny_stock_exchange.py +81 -44
- holidays/groups/__init__.py +1 -0
- holidays/groups/christian.py +2 -0
- holidays/groups/custom.py +12 -0
- holidays/groups/hebrew.py +151 -0
- holidays/holiday_base.py +2 -2
- holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/be/LC_MESSAGES/BY.po +53 -17
- holidays/locale/cnr/LC_MESSAGES/ME.mo +0 -0
- holidays/locale/cnr/LC_MESSAGES/ME.po +102 -0
- holidays/locale/en_US/LC_MESSAGES/AF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AF.po +98 -0
- holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BY.po +61 -20
- holidays/locale/en_US/LC_MESSAGES/ME.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ME.po +102 -0
- holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PL.po +7 -5
- holidays/locale/en_US/LC_MESSAGES/SV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SV.po +75 -0
- holidays/locale/es/LC_MESSAGES/SV.mo +0 -0
- holidays/locale/es/LC_MESSAGES/SV.po +75 -0
- holidays/locale/fa_AF/LC_MESSAGES/AF.mo +0 -0
- holidays/locale/fa_AF/LC_MESSAGES/AF.po +98 -0
- holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/pl/LC_MESSAGES/PL.po +8 -4
- holidays/locale/ps_AF/LC_MESSAGES/AF.mo +0 -0
- holidays/locale/ps_AF/LC_MESSAGES/AF.po +98 -0
- holidays/locale/ru/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/ru/LC_MESSAGES/BY.po +111 -0
- holidays/locale/th/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/th/LC_MESSAGES/BY.po +109 -0
- holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/NO.po +80 -0
- holidays/locale/th/LC_MESSAGES/RU.mo +0 -0
- holidays/locale/th/LC_MESSAGES/RU.po +90 -0
- holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/UA.po +114 -0
- holidays/locale/uk/LC_MESSAGES/ME.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ME.po +102 -0
- holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PL.po +7 -5
- holidays/locale/uk/LC_MESSAGES/SV.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SV.po +75 -0
- holidays/registry.py +1 -0
- holidays/version.py +1 -1
- {holidays-0.63.dist-info → holidays-0.64.dist-info}/AUTHORS +1 -0
- {holidays-0.63.dist-info → holidays-0.64.dist-info}/METADATA +16 -11
- {holidays-0.63.dist-info → holidays-0.64.dist-info}/RECORD +66 -36
- {holidays-0.63.dist-info → holidays-0.64.dist-info}/WHEEL +1 -1
- {holidays-0.63.dist-info → holidays-0.64.dist-info}/LICENSE +0 -0
- {holidays-0.63.dist-info → holidays-0.64.dist-info}/top_level.txt +0 -0
holidays/countries/kazakhstan.py
CHANGED
|
@@ -278,7 +278,6 @@ class KazakhstanStaticHolidays:
|
|
|
278
278
|
2019: (MAY, 10, MAY, 4),
|
|
279
279
|
2020: (
|
|
280
280
|
(JAN, 3, JAN, 5),
|
|
281
|
-
(MAY, 8, MAY, 11),
|
|
282
281
|
(DEC, 18, DEC, 20),
|
|
283
282
|
),
|
|
284
283
|
2021: (JUL, 5, JUL, 3),
|
|
@@ -293,5 +292,6 @@ class KazakhstanStaticHolidays:
|
|
|
293
292
|
}
|
|
294
293
|
|
|
295
294
|
special_public_holidays_observed = {
|
|
296
|
-
|
|
295
|
+
# Victory Day.
|
|
296
|
+
2020: (MAY, 8, tr("Жеңіс күні")),
|
|
297
297
|
}
|
holidays/countries/montenegro.py
CHANGED
|
@@ -10,65 +10,141 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
15
|
+
from holidays.calendars import _CustomIslamicHolidays
|
|
16
|
+
from holidays.calendars.gregorian import GREGORIAN_CALENDAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV
|
|
13
17
|
from holidays.calendars.julian import JULIAN_CALENDAR
|
|
14
|
-
from holidays.
|
|
18
|
+
from holidays.constants import CATHOLIC, HEBREW, ISLAMIC, ORTHODOX, PUBLIC, WORKDAY
|
|
19
|
+
from holidays.groups import (
|
|
20
|
+
ChristianHolidays,
|
|
21
|
+
HebrewCalendarHolidays,
|
|
22
|
+
InternationalHolidays,
|
|
23
|
+
IslamicHolidays,
|
|
24
|
+
StaticHolidays,
|
|
25
|
+
)
|
|
15
26
|
from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON, SUN_TO_NEXT_TUE
|
|
16
27
|
|
|
17
28
|
|
|
18
|
-
class Montenegro(
|
|
29
|
+
class Montenegro(
|
|
30
|
+
ObservedHolidayBase,
|
|
31
|
+
ChristianHolidays,
|
|
32
|
+
HebrewCalendarHolidays,
|
|
33
|
+
InternationalHolidays,
|
|
34
|
+
IslamicHolidays,
|
|
35
|
+
StaticHolidays,
|
|
36
|
+
):
|
|
19
37
|
"""
|
|
20
38
|
References:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- https://www.officeholidays.com/countries/montenegro/2023
|
|
39
|
+
- https://en.wikipedia.org/wiki/Public_holidays_in_Montenegro
|
|
40
|
+
- `Zakon o državnim i drugim praznicima <https://wapi.gov.me/download-preview/927f23a3-db4e-4f65-9f29-ce3c9dde0c90?version=1.0>`_
|
|
41
|
+
- `Zakon o svetkovanju vjerskih praznika <https://wapi.gov.me/download-preview/4f0b05a4-c85b-4eb2-bc29-0ad8363a9ba3?version=1.0>`_
|
|
25
42
|
"""
|
|
26
43
|
|
|
27
44
|
country = "ME"
|
|
28
|
-
|
|
45
|
+
default_language = "cnr"
|
|
46
|
+
# %s (estimated).
|
|
47
|
+
estimated_label = tr("%s (procijenjeno)")
|
|
48
|
+
# %s (observed).
|
|
49
|
+
observed_label = tr("%s (neradni dan)")
|
|
50
|
+
# %s (observed, estimated).
|
|
51
|
+
observed_estimated_label = tr("%s (neradni dan, procijenjeno)")
|
|
52
|
+
supported_languages = ("cnr", "en_US", "uk")
|
|
53
|
+
supported_categories = (CATHOLIC, ISLAMIC, HEBREW, ORTHODOX, PUBLIC, WORKDAY)
|
|
54
|
+
start_year = 2007
|
|
29
55
|
|
|
30
56
|
def __init__(self, *args, **kwargs):
|
|
31
57
|
ChristianHolidays.__init__(self, calendar=JULIAN_CALENDAR)
|
|
58
|
+
HebrewCalendarHolidays.__init__(self)
|
|
32
59
|
InternationalHolidays.__init__(self)
|
|
60
|
+
IslamicHolidays.__init__(self, cls=MontenegroIslamicHolidays)
|
|
61
|
+
StaticHolidays.__init__(self, cls=MontenegroStaticHolidays)
|
|
33
62
|
kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
|
|
34
63
|
super().__init__(*args, **kwargs)
|
|
35
64
|
|
|
36
65
|
def _populate_public_holidays(self):
|
|
37
66
|
# New Year's Day.
|
|
38
|
-
name = "
|
|
67
|
+
name = tr("Nova godina")
|
|
39
68
|
self._add_observed(self._add_new_years_day(name), rule=SUN_TO_NEXT_TUE)
|
|
40
69
|
self._add_observed(self._add_new_years_day_two(name))
|
|
41
70
|
|
|
42
|
-
#
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
# Orthodox Christmas.
|
|
46
|
-
self._add_christmas_day("Orthodox Christmas")
|
|
47
|
-
|
|
48
|
-
# Labour Day.
|
|
49
|
-
name = "Labour Day"
|
|
71
|
+
# Labor Day.
|
|
72
|
+
name = tr("Praznik rada")
|
|
50
73
|
self._add_observed(self._add_labor_day(name), rule=SUN_TO_NEXT_TUE)
|
|
51
74
|
self._add_observed(self._add_labor_day_two(name))
|
|
52
75
|
|
|
53
|
-
# Good Friday.
|
|
54
|
-
self._add_good_friday("Orthodox Good Friday")
|
|
55
|
-
|
|
56
|
-
# Easter Sunday.
|
|
57
|
-
self._add_easter_sunday("Orthodox Easter Sunday")
|
|
58
|
-
|
|
59
|
-
# Easter Monday.
|
|
60
|
-
self._add_easter_monday("Orthodox Easter Monday")
|
|
61
|
-
|
|
62
76
|
# Independence Day.
|
|
63
|
-
name = "
|
|
77
|
+
name = tr("Dan nezavisnosti")
|
|
64
78
|
self._add_observed(self._add_holiday_may_21(name), rule=SUN_TO_NEXT_TUE)
|
|
65
79
|
self._add_observed(self._add_holiday_may_22(name))
|
|
66
80
|
|
|
67
81
|
# Statehood Day.
|
|
68
|
-
name = "
|
|
82
|
+
name = tr("Dan državnosti")
|
|
69
83
|
self._add_observed(self._add_holiday_jul_13(name), rule=SUN_TO_NEXT_TUE)
|
|
70
84
|
self._add_observed(self._add_holiday_jul_14(name))
|
|
71
85
|
|
|
86
|
+
if self._year >= 2022:
|
|
87
|
+
# Njegos Day.
|
|
88
|
+
self._add_observed(self._add_holiday_nov_13(tr("Njegošev dan")))
|
|
89
|
+
|
|
90
|
+
def _populate_catholic_holidays(self):
|
|
91
|
+
# Good Friday.
|
|
92
|
+
self._add_good_friday(tr("Veliki petak"), GREGORIAN_CALENDAR)
|
|
93
|
+
|
|
94
|
+
# Easter.
|
|
95
|
+
self._add_easter_monday(tr("Uskrs"), GREGORIAN_CALENDAR)
|
|
96
|
+
|
|
97
|
+
# All Saints' Day.
|
|
98
|
+
self._add_all_saints_day(tr("Svi Sveti"))
|
|
99
|
+
|
|
100
|
+
# Christmas Eve.
|
|
101
|
+
self._add_christmas_eve(tr("Badnji dan"), GREGORIAN_CALENDAR)
|
|
102
|
+
|
|
103
|
+
# Christmas.
|
|
104
|
+
name = tr("Božić")
|
|
105
|
+
self._add_christmas_day(name, GREGORIAN_CALENDAR)
|
|
106
|
+
self._add_christmas_day_two(name, GREGORIAN_CALENDAR)
|
|
107
|
+
|
|
108
|
+
def _populate_hebrew_holidays(self):
|
|
109
|
+
# Pesach.
|
|
110
|
+
self._add_passover(tr("Pasha"), range(2))
|
|
111
|
+
|
|
112
|
+
# Yom Kippur.
|
|
113
|
+
self._add_yom_kippur(tr("Jom Kipur"), range(2))
|
|
114
|
+
|
|
115
|
+
def _populate_islamic_holidays(self):
|
|
116
|
+
# Eid al-Fitr.
|
|
117
|
+
name = tr("Ramazanski bajram")
|
|
118
|
+
self._add_eid_al_fitr_day(name)
|
|
119
|
+
self._add_eid_al_fitr_day_two(name)
|
|
120
|
+
self._add_eid_al_fitr_day_three(name)
|
|
121
|
+
|
|
122
|
+
# Eid al-Adha.
|
|
123
|
+
name = tr("Kurbanski bajram")
|
|
124
|
+
self._add_eid_al_adha_day(name)
|
|
125
|
+
self._add_eid_al_adha_day_two(name)
|
|
126
|
+
self._add_eid_al_adha_day_three(name)
|
|
127
|
+
|
|
128
|
+
def _populate_orthodox_holidays(self):
|
|
129
|
+
# Good Friday.
|
|
130
|
+
self._add_good_friday(tr("Veliki petak"))
|
|
131
|
+
|
|
132
|
+
# Easter.
|
|
133
|
+
self._add_easter_monday(tr("Uskrs"))
|
|
134
|
+
|
|
135
|
+
# Christmas Eve.
|
|
136
|
+
self._add_christmas_eve(tr("Badnji dan"))
|
|
137
|
+
|
|
138
|
+
# Christmas.
|
|
139
|
+
name = tr("Božić")
|
|
140
|
+
self._add_christmas_day(name)
|
|
141
|
+
self._add_christmas_day_two(name)
|
|
142
|
+
|
|
143
|
+
def _populate_workday_holidays(self):
|
|
144
|
+
if self._year >= 2022:
|
|
145
|
+
# Ecological State Day.
|
|
146
|
+
self._add_holiday_sep_20(tr("Dan Ekološke države"))
|
|
147
|
+
|
|
72
148
|
|
|
73
149
|
class ME(Montenegro):
|
|
74
150
|
pass
|
|
@@ -76,3 +152,43 @@ class ME(Montenegro):
|
|
|
76
152
|
|
|
77
153
|
class MNE(Montenegro):
|
|
78
154
|
pass
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class MontenegroIslamicHolidays(_CustomIslamicHolidays):
|
|
158
|
+
EID_AL_ADHA_DATES = {
|
|
159
|
+
2012: (OCT, 26),
|
|
160
|
+
2013: (OCT, 15),
|
|
161
|
+
2014: (OCT, 5),
|
|
162
|
+
2015: (SEP, 24),
|
|
163
|
+
2016: (SEP, 13),
|
|
164
|
+
2017: (SEP, 2),
|
|
165
|
+
2018: (AUG, 22),
|
|
166
|
+
2019: (AUG, 11),
|
|
167
|
+
2020: (JUL, 31),
|
|
168
|
+
2021: (JUL, 20),
|
|
169
|
+
2022: (JUL, 9),
|
|
170
|
+
2023: (JUN, 28),
|
|
171
|
+
2024: (JUN, 16),
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
EID_AL_FITR_DATES = {
|
|
175
|
+
2012: (AUG, 19),
|
|
176
|
+
2013: (AUG, 8),
|
|
177
|
+
2014: (JUL, 29),
|
|
178
|
+
2015: (JUL, 18),
|
|
179
|
+
2016: (JUL, 7),
|
|
180
|
+
2017: (JUN, 26),
|
|
181
|
+
2018: (JUN, 15),
|
|
182
|
+
2019: (JUN, 4),
|
|
183
|
+
2020: (MAY, 24),
|
|
184
|
+
2021: (MAY, 13),
|
|
185
|
+
2022: (MAY, 2),
|
|
186
|
+
2023: (APR, 21),
|
|
187
|
+
2024: (APR, 10),
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
class MontenegroStaticHolidays:
|
|
192
|
+
special_public_holidays = {
|
|
193
|
+
2024: (NOV, 14, tr("Njegošev dan")),
|
|
194
|
+
}
|
holidays/countries/norway.py
CHANGED
|
@@ -35,7 +35,7 @@ class Norway(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
35
35
|
|
|
36
36
|
country = "NO"
|
|
37
37
|
default_language = "no"
|
|
38
|
-
supported_languages = ("en_US", "no", "uk")
|
|
38
|
+
supported_languages = ("en_US", "no", "th", "uk")
|
|
39
39
|
|
|
40
40
|
def __init__(self, include_sundays=False, *args, **kwargs):
|
|
41
41
|
"""
|
holidays/countries/poland.py
CHANGED
|
@@ -19,7 +19,10 @@ from holidays.holiday_base import HolidayBase
|
|
|
19
19
|
|
|
20
20
|
class Poland(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
|
|
21
21
|
"""
|
|
22
|
-
|
|
22
|
+
References:
|
|
23
|
+
- https://en.wikipedia.org/wiki/Public_holidays_in_Poland
|
|
24
|
+
- https://pl.wikipedia.org/wiki/Dni_wolne_od_pracy_w_Polsce
|
|
25
|
+
- https://isap.sejm.gov.pl/isap.nsf/DocDetails.xsp?id=WDU20240001965
|
|
23
26
|
"""
|
|
24
27
|
|
|
25
28
|
country = "PL"
|
|
@@ -104,8 +107,13 @@ class Poland(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolida
|
|
|
104
107
|
tr("Niepokalane Poczęcie Najświętszej Marii Panny")
|
|
105
108
|
)
|
|
106
109
|
|
|
110
|
+
if self._year >= 2025:
|
|
111
|
+
# Christmas Eve.
|
|
112
|
+
self._add_christmas_eve(tr("Wigilia Bożego Narodzenia"))
|
|
113
|
+
|
|
107
114
|
# Christmas Day.
|
|
108
115
|
self._add_christmas_day(tr("Boże Narodzenie (pierwszy dzień)"))
|
|
116
|
+
|
|
109
117
|
# Second Day of Christmas.
|
|
110
118
|
self._add_christmas_day_two(tr("Boże Narodzenie (drugi dzień)"))
|
|
111
119
|
|
holidays/countries/russia.py
CHANGED
|
@@ -26,7 +26,7 @@ class Russia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
|
|
|
26
26
|
|
|
27
27
|
country = "RU"
|
|
28
28
|
default_language = "ru"
|
|
29
|
-
supported_languages = ("en_US", "ru")
|
|
29
|
+
supported_languages = ("en_US", "ru", "th")
|
|
30
30
|
start_year = 1991
|
|
31
31
|
|
|
32
32
|
def __init__(self, *args, **kwargs):
|
holidays/countries/ukraine.py
CHANGED
|
@@ -25,8 +25,9 @@ class Ukraine(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Sta
|
|
|
25
25
|
"""
|
|
26
26
|
Ukraine holidays.
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
- https://zakon1.rada.gov.ua/laws/show/322-08/paran454#n454
|
|
28
|
+
References:
|
|
29
|
+
- Labor Code of Ukraine, Art. 73 `<https://zakon1.rada.gov.ua/laws/show/322-08/paran454#n454>`_
|
|
30
|
+
- https://zakon.rada.gov.ua/laws/show/585-12
|
|
30
31
|
"""
|
|
31
32
|
|
|
32
33
|
country = "UA"
|
|
@@ -34,7 +35,7 @@ class Ukraine(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Sta
|
|
|
34
35
|
# %s (observed).
|
|
35
36
|
observed_label = tr("%s (вихідний)")
|
|
36
37
|
supported_categories = (PUBLIC, WORKDAY)
|
|
37
|
-
supported_languages = ("ar", "en_US", "uk")
|
|
38
|
+
supported_languages = ("ar", "en_US", "th", "uk")
|
|
38
39
|
# The current set of holidays came into force in 1991.
|
|
39
40
|
start_year = 1991
|
|
40
41
|
|
|
@@ -71,10 +72,9 @@ class Ukraine(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Sta
|
|
|
71
72
|
# International Women's Day.
|
|
72
73
|
dts_observed.add(self._add_womens_day(tr("Міжнародний жіночий день")))
|
|
73
74
|
|
|
74
|
-
if (self._year >= 2022)
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
dts_observed.add(self._add_easter_sunday(tr("Великдень (Пасха)")))
|
|
75
|
+
if (self._year >= 2022) is is_martial_law:
|
|
76
|
+
# Easter Sunday (Pascha).
|
|
77
|
+
dts_observed.add(self._add_easter_sunday(tr("Великдень (Пасха)")))
|
|
78
78
|
|
|
79
79
|
# Holy Trinity Day.
|
|
80
80
|
dts_observed.add(self._add_whit_sunday(tr("Трійця")))
|
|
@@ -169,6 +169,7 @@ class UKR(Ukraine):
|
|
|
169
169
|
class UkraineStaticHolidays:
|
|
170
170
|
"""
|
|
171
171
|
Substituted holidays:
|
|
172
|
+
- `1991 <https://zakon.rada.gov.ua/laws/show/60-91-%D0%BF>`_
|
|
172
173
|
- `1992 [1] <https://zakon.rada.gov.ua/laws/show/202-92-%D0%BF>`_
|
|
173
174
|
- `1992 [2] <https://zakon.rada.gov.ua/laws/show/377-91-%D0%BF>`_
|
|
174
175
|
- `1993 [1] <https://zakon.rada.gov.ua/laws/show/563-93-%D0%BF>`_
|
|
@@ -178,8 +179,9 @@ class UkraineStaticHolidays:
|
|
|
178
179
|
- `1995 [2] <https://zakon.rada.gov.ua/laws/show/634-95-%D0%BF>`_
|
|
179
180
|
- `1995 [3] <https://zakon.rada.gov.ua/laws/show/266-95-%D0%BF>`_
|
|
180
181
|
- `1996 <https://zakon.rada.gov.ua/laws/show/424-96-%D0%BF>`_
|
|
181
|
-
- `1997[1] <https://zakon.rada.gov.ua/laws/show/326-97-%D0%BF>`_
|
|
182
|
-
- `1997[2] <https://zakon.rada.gov.ua/laws/show/1547-96-%D0%BF>`_
|
|
182
|
+
- `1997 [1] <https://zakon.rada.gov.ua/laws/show/326-97-%D0%BF>`_
|
|
183
|
+
- `1997 [2] <https://zakon.rada.gov.ua/laws/show/1547-96-%D0%BF>`_
|
|
184
|
+
- `1998 <https://zakon.rada.gov.ua/laws/show/1404-97-%D0%BF>`_,
|
|
183
185
|
- `1999 [1] <https://zakon.rada.gov.ua/laws/show/1433-99-%D0%BF>`_,
|
|
184
186
|
- `1999 [2] <https://zakon.rada.gov.ua/laws/show/558-99-%D0%BF>`_,
|
|
185
187
|
- `1999 [3] <https://zakon.rada.gov.ua/laws/show/2070-98-%D0%BF>`_
|
|
@@ -221,6 +223,11 @@ class UkraineStaticHolidays:
|
|
|
221
223
|
# Day off (substituted from %s).
|
|
222
224
|
substituted_label = tr("Вихідний день (перенесено з %s)")
|
|
223
225
|
special_public_holidays = {
|
|
226
|
+
1991: (
|
|
227
|
+
(MAY, 3, MAY, 5),
|
|
228
|
+
(MAY, 10, MAY, 12),
|
|
229
|
+
(JUL, 15, JUL, 13),
|
|
230
|
+
),
|
|
224
231
|
1992: (
|
|
225
232
|
(JAN, 6, JAN, 4),
|
|
226
233
|
(APR, 27, MAY, 16),
|
|
@@ -244,9 +251,11 @@ class UkraineStaticHolidays:
|
|
|
244
251
|
1997: (
|
|
245
252
|
(JAN, 2, DEC, 28, 1996),
|
|
246
253
|
(JAN, 6, JAN, 4),
|
|
254
|
+
(JAN, 8, JAN, 11),
|
|
247
255
|
(APR, 29, APR, 19),
|
|
248
256
|
(APR, 30, MAY, 17),
|
|
249
257
|
),
|
|
258
|
+
1998: (JAN, 2, JAN, 4),
|
|
250
259
|
1999: (
|
|
251
260
|
(JAN, 8, JAN, 10),
|
|
252
261
|
(APR, 12, APR, 24),
|
|
@@ -324,7 +333,7 @@ class UkraineStaticHolidays:
|
|
|
324
333
|
),
|
|
325
334
|
2012: (
|
|
326
335
|
(MAR, 9, MAR, 3),
|
|
327
|
-
(APR,
|
|
336
|
+
(APR, 30, APR, 28),
|
|
328
337
|
(JUN, 29, JUL, 7),
|
|
329
338
|
(DEC, 31, DEC, 29),
|
|
330
339
|
),
|
|
@@ -147,22 +147,58 @@ class NYSE(NewYorkStockExchange):
|
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
class NewYorkStockExchangeStaticHolidays:
|
|
150
|
+
"""
|
|
151
|
+
References:
|
|
152
|
+
- https://guides.loc.gov/presidents-portraits/chronological
|
|
153
|
+
- https://www.presidency.ucsb.edu/documents/proclamation-3561-national-day-mourning-for-president-kennedy
|
|
154
|
+
"""
|
|
155
|
+
|
|
156
|
+
# Blizzard of 1888.
|
|
157
|
+
name_blizard_1888 = "Blizzard of 1888"
|
|
158
|
+
|
|
159
|
+
# Centennial of George Washington's Inauguration.
|
|
160
|
+
name_george_washington_centennial = "Centennial of George Washington's Inauguration"
|
|
161
|
+
|
|
162
|
+
# Columbian Celebration.
|
|
163
|
+
name_columbian_celebration = "Columbian Celebration"
|
|
164
|
+
|
|
165
|
+
# Heatless Day.
|
|
166
|
+
name_heatless_day = "Heatless Day"
|
|
167
|
+
|
|
168
|
+
# Catch Up Day.
|
|
169
|
+
name_catch_up_day = "Catch Up Day"
|
|
170
|
+
|
|
171
|
+
# Special Bank Holiday.
|
|
172
|
+
name_special_bank_holiday = "Special Bank Holiday"
|
|
173
|
+
|
|
174
|
+
# V-J Day (WWII).
|
|
175
|
+
name_vj_day_wwii = "V-J Day (WWII)"
|
|
176
|
+
|
|
177
|
+
# Christmas Eve.
|
|
178
|
+
name_christmas_eve = "Christmas Eve"
|
|
179
|
+
|
|
180
|
+
# Closed for Sept 11, 2001 Attacks.
|
|
181
|
+
name_sept11_attacks = "Closed for Sept 11, 2001 Attacks"
|
|
182
|
+
|
|
183
|
+
# Hurricane Sandy.
|
|
184
|
+
name_hurricane_sandy = "Hurricane Sandy"
|
|
185
|
+
|
|
150
186
|
special_public_holidays = {
|
|
151
187
|
1888: (
|
|
152
|
-
(MAR, 12,
|
|
153
|
-
(MAR, 13,
|
|
188
|
+
(MAR, 12, name_blizard_1888),
|
|
189
|
+
(MAR, 13, name_blizard_1888),
|
|
154
190
|
(NOV, 30, "Thanksgiving Friday 1888"),
|
|
155
191
|
),
|
|
156
192
|
1889: (
|
|
157
|
-
(APR, 29,
|
|
158
|
-
(APR, 30,
|
|
159
|
-
(MAY, 1,
|
|
193
|
+
(APR, 29, name_george_washington_centennial),
|
|
194
|
+
(APR, 30, name_george_washington_centennial),
|
|
195
|
+
(MAY, 1, name_george_washington_centennial),
|
|
160
196
|
),
|
|
161
197
|
1892: (
|
|
162
|
-
(OCT, 12,
|
|
163
|
-
(OCT, 21,
|
|
198
|
+
(OCT, 12, name_columbian_celebration),
|
|
199
|
+
(OCT, 21, name_columbian_celebration),
|
|
164
200
|
),
|
|
165
|
-
1893: (APR, 27,
|
|
201
|
+
1893: (APR, 27, name_columbian_celebration),
|
|
166
202
|
1897: (APR, 27, "Grant's Birthday"),
|
|
167
203
|
1898: (MAY, 4, "Charter Day"),
|
|
168
204
|
1899: (
|
|
@@ -170,17 +206,17 @@ class NewYorkStockExchangeStaticHolidays:
|
|
|
170
206
|
(JUL, 3, "Monday before Independence Day"),
|
|
171
207
|
(SEP, 29, "Admiral Dewey Celebration"),
|
|
172
208
|
),
|
|
173
|
-
1900: (DEC, 24,
|
|
209
|
+
1900: (DEC, 24, name_christmas_eve),
|
|
174
210
|
1901: (
|
|
175
211
|
(JUL, 5, "Friday after Independence Day"),
|
|
176
|
-
(SEP, 19, "
|
|
212
|
+
(SEP, 19, "National Day of Mourning for President WIlliam McKinley"),
|
|
177
213
|
),
|
|
178
214
|
1903: (APR, 22, "Opening of new NYSE building"),
|
|
179
215
|
1917: (JUN, 5, "Draft Registration Day"),
|
|
180
216
|
1918: (
|
|
181
|
-
(JAN, 28,
|
|
182
|
-
(FEB, 4,
|
|
183
|
-
(FEB, 11,
|
|
217
|
+
(JAN, 28, name_heatless_day),
|
|
218
|
+
(FEB, 4, name_heatless_day),
|
|
219
|
+
(FEB, 11, name_heatless_day),
|
|
184
220
|
(SEP, 12, "Draft Registration Day"),
|
|
185
221
|
(NOV, 11, "Armistice Day"),
|
|
186
222
|
),
|
|
@@ -191,58 +227,59 @@ class NewYorkStockExchangeStaticHolidays:
|
|
|
191
227
|
),
|
|
192
228
|
1923: (
|
|
193
229
|
(AUG, 3, "Death of President Warren G. Harding"),
|
|
194
|
-
(AUG, 10, "
|
|
230
|
+
(AUG, 10, "National Day of Mourning for President Warren G. Harding"),
|
|
195
231
|
),
|
|
196
232
|
1927: (JUN, 13, "Parade for Colonel Charles Lindbergh"),
|
|
197
233
|
1929: (
|
|
198
|
-
(NOV, 1,
|
|
199
|
-
(NOV, 29,
|
|
234
|
+
(NOV, 1, name_catch_up_day),
|
|
235
|
+
(NOV, 29, name_catch_up_day),
|
|
200
236
|
),
|
|
201
237
|
1933: (
|
|
202
|
-
(MAR, 6,
|
|
203
|
-
(MAR, 7,
|
|
204
|
-
(MAR, 8,
|
|
205
|
-
(MAR, 9,
|
|
206
|
-
(MAR, 10,
|
|
207
|
-
(MAR, 13,
|
|
208
|
-
(MAR, 14,
|
|
238
|
+
(MAR, 6, name_special_bank_holiday),
|
|
239
|
+
(MAR, 7, name_special_bank_holiday),
|
|
240
|
+
(MAR, 8, name_special_bank_holiday),
|
|
241
|
+
(MAR, 9, name_special_bank_holiday),
|
|
242
|
+
(MAR, 10, name_special_bank_holiday),
|
|
243
|
+
(MAR, 13, name_special_bank_holiday),
|
|
244
|
+
(MAR, 14, name_special_bank_holiday),
|
|
209
245
|
),
|
|
210
246
|
1945: (
|
|
211
|
-
(AUG, 15,
|
|
212
|
-
(AUG, 16,
|
|
213
|
-
(DEC, 24,
|
|
247
|
+
(AUG, 15, name_vj_day_wwii),
|
|
248
|
+
(AUG, 16, name_vj_day_wwii),
|
|
249
|
+
(DEC, 24, name_christmas_eve),
|
|
214
250
|
),
|
|
215
|
-
1954: (DEC, 24,
|
|
216
|
-
1956: (DEC, 24,
|
|
251
|
+
1954: (DEC, 24, name_christmas_eve),
|
|
252
|
+
1956: (DEC, 24, name_christmas_eve),
|
|
217
253
|
1958: (DEC, 26, "Day after Christmas"),
|
|
218
254
|
1961: (MAY, 29, "Day before Decoration Day"),
|
|
219
|
-
1963: (NOV, 25, "
|
|
220
|
-
1965: (DEC, 24,
|
|
255
|
+
1963: (NOV, 25, "National Day of Mourning for President John F. Kennedy"),
|
|
256
|
+
1965: (DEC, 24, name_christmas_eve),
|
|
221
257
|
1968: (
|
|
222
|
-
(APR, 9, "Day of Mourning for Martin Luther King Jr."),
|
|
258
|
+
(APR, 9, "National Day of Mourning for Martin Luther King Jr."),
|
|
223
259
|
(JUL, 5, "Day after Independence Day"),
|
|
224
260
|
),
|
|
225
261
|
1969: (
|
|
226
262
|
(FEB, 10, "Heavy Snow"),
|
|
227
|
-
(MAR, 31, "
|
|
263
|
+
(MAR, 31, "National Day of Mourning for former President Dwight D. Eisenhower"),
|
|
228
264
|
(JUL, 21, "National Participation in Lunar Exploration"),
|
|
229
265
|
),
|
|
230
|
-
1972: (DEC, 28, "
|
|
231
|
-
1973: (JAN, 25, "
|
|
266
|
+
1972: (DEC, 28, "National Day of Mourning for former President Harry S. Truman"),
|
|
267
|
+
1973: (JAN, 25, "National Day of Mourning for former President Lyndon B. Johnson"),
|
|
232
268
|
1977: (JUL, 14, "Blackout in New York City"),
|
|
233
269
|
1985: (SEP, 27, "Hurricane Gloria"),
|
|
234
|
-
1994: (APR, 27, "
|
|
270
|
+
1994: (APR, 27, "National Day of Mourning for former President Richard M. Nixon"),
|
|
235
271
|
2001: (
|
|
236
|
-
(SEP, 11,
|
|
237
|
-
(SEP, 12,
|
|
238
|
-
(SEP, 13,
|
|
239
|
-
(SEP, 14,
|
|
272
|
+
(SEP, 11, name_sept11_attacks),
|
|
273
|
+
(SEP, 12, name_sept11_attacks),
|
|
274
|
+
(SEP, 13, name_sept11_attacks),
|
|
275
|
+
(SEP, 14, name_sept11_attacks),
|
|
240
276
|
),
|
|
241
|
-
2004: (JUN, 11, "Day of Mourning for President Ronald
|
|
242
|
-
2007: (JAN, 2, "Day of Mourning for President Gerald R. Ford"),
|
|
277
|
+
2004: (JUN, 11, "National Day of Mourning for former President Ronald Reagan"),
|
|
278
|
+
2007: (JAN, 2, "National Day of Mourning for former President Gerald R. Ford"),
|
|
243
279
|
2012: (
|
|
244
|
-
(OCT, 29,
|
|
245
|
-
(OCT, 30,
|
|
280
|
+
(OCT, 29, name_hurricane_sandy),
|
|
281
|
+
(OCT, 30, name_hurricane_sandy),
|
|
246
282
|
),
|
|
247
|
-
2018: (DEC, 5, "Day of Mourning for President George H.W. Bush"),
|
|
283
|
+
2018: (DEC, 5, "National Day of Mourning for former President George H. W. Bush"),
|
|
284
|
+
2025: (JAN, 9, "National Day of Mourning for former President Jimmy Carter"),
|
|
248
285
|
}
|
holidays/groups/__init__.py
CHANGED
|
@@ -17,6 +17,7 @@ from holidays.groups.chinese import ChineseCalendarHolidays
|
|
|
17
17
|
from holidays.groups.christian import ChristianHolidays
|
|
18
18
|
from holidays.groups.custom import StaticHolidays
|
|
19
19
|
from holidays.groups.eastern import EasternCalendarHolidays
|
|
20
|
+
from holidays.groups.hebrew import HebrewCalendarHolidays
|
|
20
21
|
from holidays.groups.hindu import HinduCalendarHolidays
|
|
21
22
|
from holidays.groups.international import InternationalHolidays
|
|
22
23
|
from holidays.groups.islamic import IslamicHolidays
|
holidays/groups/christian.py
CHANGED
|
@@ -110,7 +110,9 @@ class ChristianHolidays:
|
|
|
110
110
|
|
|
111
111
|
All Souls' Day is a day of prayer and remembrance for the faithful
|
|
112
112
|
departed, observed by certain Christian denominations on 2 November.
|
|
113
|
+
In Belarussian tradition it is called Dziady.
|
|
113
114
|
https://en.wikipedia.org/wiki/All_Souls%27_Day
|
|
115
|
+
https://en.wikipedia.org/wiki/Dziady
|
|
114
116
|
"""
|
|
115
117
|
return self._add_holiday_nov_2(name)
|
|
116
118
|
|
holidays/groups/custom.py
CHANGED
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from datetime import date
|
|
14
|
+
|
|
15
|
+
from holidays.helpers import _normalize_tuple
|
|
16
|
+
|
|
13
17
|
|
|
14
18
|
class StaticHolidays:
|
|
15
19
|
"""Helper class for special and substituted holidays support.
|
|
@@ -33,3 +37,11 @@ class StaticHolidays:
|
|
|
33
37
|
):
|
|
34
38
|
setattr(self, attribute_name, value)
|
|
35
39
|
self.has_substituted_holidays = True
|
|
40
|
+
|
|
41
|
+
# Populate substituted holidays from adjacent years.
|
|
42
|
+
self.weekend_workdays = set()
|
|
43
|
+
for special_public_holidays in getattr(self, "special_public_holidays", {}).values():
|
|
44
|
+
for special_public_holiday in _normalize_tuple(special_public_holidays):
|
|
45
|
+
if len(special_public_holiday) == 5: # The fifth element is the year.
|
|
46
|
+
_, _, from_month, from_day, from_year = special_public_holiday
|
|
47
|
+
self.weekend_workdays.add(date(from_year, from_month, from_day))
|