holidays 0.47__py3-none-any.whl → 0.49__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/__init__.py +1 -1
- holidays/calendars/gregorian.py +31 -7
- holidays/calendars/persian.py +3 -2
- holidays/calendars/thai.py +24 -20
- holidays/countries/__init__.py +1 -0
- holidays/countries/angola.py +2 -2
- holidays/countries/aruba.py +2 -3
- holidays/countries/australia.py +1 -3
- holidays/countries/belgium.py +1 -2
- holidays/countries/bolivia.py +1 -2
- holidays/countries/brazil.py +1 -2
- holidays/countries/cambodia.py +7 -8
- holidays/countries/canada.py +2 -1
- holidays/countries/chile.py +6 -6
- holidays/countries/colombia.py +1 -2
- holidays/countries/curacao.py +3 -4
- holidays/countries/cyprus.py +1 -2
- holidays/countries/denmark.py +1 -2
- holidays/countries/finland.py +3 -3
- holidays/countries/france.py +1 -2
- holidays/countries/greece.py +11 -6
- holidays/countries/hongkong.py +398 -133
- holidays/countries/israel.py +13 -13
- holidays/countries/italy.py +2 -4
- holidays/countries/japan.py +17 -6
- holidays/countries/jersey.py +2 -2
- holidays/countries/laos.py +7 -23
- holidays/countries/madagascar.py +2 -3
- holidays/countries/malaysia.py +545 -235
- holidays/countries/moldova.py +1 -2
- holidays/countries/netherlands.py +2 -3
- holidays/countries/new_zealand.py +10 -11
- holidays/countries/palau.py +127 -0
- holidays/countries/portugal.py +2 -6
- holidays/countries/saudi_arabia.py +2 -3
- holidays/countries/south_korea.py +18 -5
- holidays/countries/sweden.py +2 -3
- holidays/countries/switzerland.py +2 -3
- holidays/countries/timor_leste.py +23 -1
- holidays/countries/united_states.py +1 -1
- holidays/countries/uruguay.py +3 -4
- holidays/financial/__init__.py +1 -0
- holidays/financial/ice_futures_europe.py +47 -0
- holidays/financial/ny_stock_exchange.py +17 -4
- holidays/groups/chinese.py +2 -3
- holidays/groups/christian.py +18 -19
- holidays/groups/international.py +10 -0
- holidays/groups/islamic.py +2 -2
- holidays/groups/persian.py +2 -2
- holidays/helpers.py +9 -3
- holidays/holiday_base.py +133 -66
- holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MY.po +250 -0
- holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/ms_MY/LC_MESSAGES/MY.po +250 -0
- holidays/mixins.py +31 -0
- holidays/observed_holiday_base.py +25 -13
- holidays/registry.py +2 -0
- {holidays-0.47.dist-info → holidays-0.49.dist-info}/METADATA +29 -21
- {holidays-0.47.dist-info → holidays-0.49.dist-info}/RECORD +64 -57
- {holidays-0.47.dist-info → holidays-0.49.dist-info}/AUTHORS +0 -0
- {holidays-0.47.dist-info → holidays-0.49.dist-info}/LICENSE +0 -0
- {holidays-0.47.dist-info → holidays-0.49.dist-info}/WHEEL +0 -0
- {holidays-0.47.dist-info → holidays-0.49.dist-info}/top_level.txt +0 -0
holidays/countries/israel.py
CHANGED
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/python-holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
-
from datetime import timedelta as td
|
|
14
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
15
|
from holidays.calendars import _HebrewLunisolar
|
|
16
|
+
from holidays.calendars.gregorian import _timedelta
|
|
17
17
|
from holidays.calendars.hebrew import (
|
|
18
18
|
HANUKKAH,
|
|
19
19
|
INDEPENDENCE_DAY,
|
|
@@ -73,7 +73,7 @@ class Israel(ObservedHolidayBase):
|
|
|
73
73
|
name = tr("ראש השנה")
|
|
74
74
|
rosh_hashanah_dt = self._get_holiday(ROSH_HASHANAH)
|
|
75
75
|
self._add_holiday(name, rosh_hashanah_dt)
|
|
76
|
-
self._add_holiday(name, rosh_hashanah_dt +
|
|
76
|
+
self._add_holiday(name, _timedelta(rosh_hashanah_dt, +1))
|
|
77
77
|
|
|
78
78
|
# Yom Kippur (Day of Atonement).
|
|
79
79
|
self._add_holiday(tr("יום כיפור"), self._get_holiday(YOM_KIPPUR))
|
|
@@ -83,13 +83,13 @@ class Israel(ObservedHolidayBase):
|
|
|
83
83
|
sukkot_dt = self._get_holiday(SUKKOT)
|
|
84
84
|
self._add_holiday(name, sukkot_dt)
|
|
85
85
|
# Simchat Torah / Shemini Atzeret.
|
|
86
|
-
self._add_holiday(tr("שמחת תורה/שמיני עצרת"), sukkot_dt +
|
|
86
|
+
self._add_holiday(tr("שמחת תורה/שמיני עצרת"), _timedelta(sukkot_dt, +7))
|
|
87
87
|
|
|
88
88
|
passover_dt = self._get_holiday(PASSOVER)
|
|
89
89
|
# Pesach (Passover).
|
|
90
90
|
self._add_holiday(tr("פסח"), passover_dt)
|
|
91
91
|
# Shvi'i shel Pesach (Seventh day of Passover)
|
|
92
|
-
self._add_holiday(tr("שביעי של פסח"), passover_dt +
|
|
92
|
+
self._add_holiday(tr("שביעי של פסח"), _timedelta(passover_dt, +6))
|
|
93
93
|
|
|
94
94
|
# Yom Ha-Atzmaut (Independence Day).
|
|
95
95
|
name = tr("יום העצמאות")
|
|
@@ -114,11 +114,11 @@ class Israel(ObservedHolidayBase):
|
|
|
114
114
|
sukkot_dt = self._get_holiday(SUKKOT)
|
|
115
115
|
for offset in range(1, 6):
|
|
116
116
|
# Chol HaMoed Sukkot (Feast of Tabernacles holiday).
|
|
117
|
-
self._add_holiday(tr("חול המועד סוכות"), sukkot_dt
|
|
117
|
+
self._add_holiday(tr("חול המועד סוכות"), _timedelta(sukkot_dt, offset))
|
|
118
118
|
|
|
119
119
|
if self._year >= 2008:
|
|
120
120
|
# Sigd.
|
|
121
|
-
self._add_holiday(tr("סיגד"), self._get_holiday(YOM_KIPPUR) +
|
|
121
|
+
self._add_holiday(tr("סיגד"), _timedelta(self._get_holiday(YOM_KIPPUR), +49))
|
|
122
122
|
|
|
123
123
|
# Purim.
|
|
124
124
|
self._add_holiday(tr("פורים"), self._get_holiday(PURIM))
|
|
@@ -126,12 +126,12 @@ class Israel(ObservedHolidayBase):
|
|
|
126
126
|
passover_dt = self._get_holiday(PASSOVER)
|
|
127
127
|
for offset in range(1, 6):
|
|
128
128
|
# Chol HaMoed Pesach (Passover holiday).
|
|
129
|
-
self._add_holiday(tr("חול המועד פסח"), passover_dt
|
|
129
|
+
self._add_holiday(tr("חול המועד פסח"), _timedelta(passover_dt, offset))
|
|
130
130
|
|
|
131
131
|
if self._year >= 1963:
|
|
132
132
|
# Yom Hazikaron (Fallen Soldiers and Victims of Terrorism Remembrance Day).
|
|
133
133
|
name = tr("יום הזיכרון לחללי מערכות ישראל ונפגעי פעולות האיבה")
|
|
134
|
-
remembrance_day_dt = self._get_holiday(INDEPENDENCE_DAY)
|
|
134
|
+
remembrance_day_dt = _timedelta(self._get_holiday(INDEPENDENCE_DAY), -1)
|
|
135
135
|
rule = THU_TO_PREV_WED + FRI_TO_PREV_WED
|
|
136
136
|
if self._year >= 2004:
|
|
137
137
|
rule += SUN_TO_NEXT_MON
|
|
@@ -141,7 +141,7 @@ class Israel(ObservedHolidayBase):
|
|
|
141
141
|
|
|
142
142
|
if self._year >= 1998:
|
|
143
143
|
# Yom Yerushalayim (Jerusalem Day).
|
|
144
|
-
self._add_holiday(tr("יום ירושלים"), self._get_holiday(LAG_BAOMER) +
|
|
144
|
+
self._add_holiday(tr("יום ירושלים"), _timedelta(self._get_holiday(LAG_BAOMER), +10))
|
|
145
145
|
|
|
146
146
|
# Tisha B'Av (Tisha B'Av, fast).
|
|
147
147
|
name = tr("תשעה באב")
|
|
@@ -160,18 +160,18 @@ class Israel(ObservedHolidayBase):
|
|
|
160
160
|
sukkot_dt = self._get_holiday(SUKKOT)
|
|
161
161
|
for offset in range(1, 6):
|
|
162
162
|
# Chol HaMoed Sukkot (Feast of Tabernacles holiday).
|
|
163
|
-
self._add_holiday(tr("חול המועד סוכות"), sukkot_dt
|
|
163
|
+
self._add_holiday(tr("חול המועד סוכות"), _timedelta(sukkot_dt, offset))
|
|
164
164
|
|
|
165
165
|
for year in (self._year - 1, self._year):
|
|
166
166
|
hanukkah_dt = _HebrewLunisolar._get_holiday(HANUKKAH, year)
|
|
167
167
|
for offset in range(8):
|
|
168
168
|
# Hanukkah.
|
|
169
|
-
self._add_holiday(tr("חנוכה"), hanukkah_dt
|
|
169
|
+
self._add_holiday(tr("חנוכה"), _timedelta(hanukkah_dt, offset))
|
|
170
170
|
|
|
171
171
|
# Ta`anit Ester (Fast of Esther).
|
|
172
172
|
name = tr("תענית אסתר")
|
|
173
173
|
purim_dt = self._get_holiday(PURIM)
|
|
174
|
-
taanit_ester_dt = purim_dt
|
|
174
|
+
taanit_ester_dt = _timedelta(purim_dt, -1)
|
|
175
175
|
is_observed, _ = self._add_observed(taanit_ester_dt, name, SAT_TO_PREV_THU)
|
|
176
176
|
if not is_observed:
|
|
177
177
|
self._add_holiday(name, taanit_ester_dt)
|
|
@@ -182,7 +182,7 @@ class Israel(ObservedHolidayBase):
|
|
|
182
182
|
passover_dt = self._get_holiday(PASSOVER)
|
|
183
183
|
for offset in range(1, 6):
|
|
184
184
|
# Chol HaMoed Pesach (Passover holiday).
|
|
185
|
-
self._add_holiday(tr("חול המועד פסח"), passover_dt
|
|
185
|
+
self._add_holiday(tr("חול המועד פסח"), _timedelta(passover_dt, offset))
|
|
186
186
|
|
|
187
187
|
# Lag Ba'omer (Lag BaOmer).
|
|
188
188
|
self._add_holiday(tr('ל"ג בעומר'), self._get_holiday(LAG_BAOMER))
|
holidays/countries/italy.py
CHANGED
|
@@ -10,8 +10,6 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/python-holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
-
from datetime import timedelta as td
|
|
14
|
-
|
|
15
13
|
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
16
14
|
from holidays.holiday_base import HolidayBase
|
|
17
15
|
|
|
@@ -307,8 +305,8 @@ class Italy(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
307
305
|
self._add_saint_johns_day("San Giovanni Battista")
|
|
308
306
|
|
|
309
307
|
def _populate_subdiv_fm_public_holidays(self):
|
|
310
|
-
|
|
311
|
-
self.
|
|
308
|
+
self._add_assumption_of_mary_day("Maria Santissima Assunta")
|
|
309
|
+
self._add_holiday_aug_16("Maria Santissima Assunta")
|
|
312
310
|
|
|
313
311
|
def _populate_subdiv_fr_public_holidays(self):
|
|
314
312
|
self._add_holiday_jun_20("San Silverio")
|
holidays/countries/japan.py
CHANGED
|
@@ -11,11 +11,22 @@
|
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
13
|
from datetime import date
|
|
14
|
-
from datetime import timedelta as td
|
|
15
14
|
from gettext import gettext as tr
|
|
16
15
|
from typing import Tuple
|
|
17
16
|
|
|
18
|
-
from holidays.calendars.gregorian import
|
|
17
|
+
from holidays.calendars.gregorian import (
|
|
18
|
+
FEB,
|
|
19
|
+
MAR,
|
|
20
|
+
APR,
|
|
21
|
+
MAY,
|
|
22
|
+
JUN,
|
|
23
|
+
JUL,
|
|
24
|
+
AUG,
|
|
25
|
+
SEP,
|
|
26
|
+
OCT,
|
|
27
|
+
NOV,
|
|
28
|
+
_timedelta,
|
|
29
|
+
)
|
|
19
30
|
from holidays.constants import BANK, PUBLIC
|
|
20
31
|
from holidays.groups import InternationalHolidays, StaticHolidays
|
|
21
32
|
from holidays.helpers import _normalize_tuple
|
|
@@ -171,18 +182,18 @@ class Japan(HolidayBase, InternationalHolidays, StaticHolidays):
|
|
|
171
182
|
for dt in dts_observed.copy():
|
|
172
183
|
if not self._is_sunday(dt):
|
|
173
184
|
continue
|
|
174
|
-
dt_observed = dt +
|
|
185
|
+
dt_observed = _timedelta(dt, +1)
|
|
175
186
|
while dt_observed in dts_observed:
|
|
176
|
-
dt_observed
|
|
187
|
+
dt_observed = _timedelta(dt_observed, +1)
|
|
177
188
|
# Substitute Holiday.
|
|
178
189
|
dts_observed.add(self._add_holiday(tr("振替休日"), dt_observed))
|
|
179
190
|
|
|
180
191
|
# A weekday between national holidays becomes
|
|
181
192
|
# a holiday too (国民の休日) - citizens' holidays.
|
|
182
193
|
for dt in dts_observed:
|
|
183
|
-
if dt +
|
|
194
|
+
if _timedelta(dt, +2) not in dts_observed:
|
|
184
195
|
continue
|
|
185
|
-
dt_observed = dt +
|
|
196
|
+
dt_observed = _timedelta(dt, +1)
|
|
186
197
|
if self._is_sunday(dt_observed) or dt_observed in dts_observed:
|
|
187
198
|
continue
|
|
188
199
|
# National Holiday.
|
holidays/countries/jersey.py
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
13
|
from datetime import date
|
|
14
|
-
from typing import Tuple
|
|
14
|
+
from typing import Optional, Tuple
|
|
15
15
|
|
|
16
16
|
from holidays.calendars.gregorian import JAN, APR, MAY, JUN, JUL, SEP, OCT, DEC
|
|
17
17
|
from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
|
|
@@ -54,7 +54,7 @@ class Jersey(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
|
|
|
54
54
|
kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY)
|
|
55
55
|
ObservedHolidayBase.__init__(self, *args, **kwargs)
|
|
56
56
|
|
|
57
|
-
def _add_observed(self, dt: date, **kwargs) -> Tuple[bool, date]:
|
|
57
|
+
def _add_observed(self, dt: date, **kwargs) -> Tuple[bool, Optional[date]]:
|
|
58
58
|
# Prior to 2004, in-lieu are only given for Sundays.
|
|
59
59
|
# https://www.jerseylaw.je/laws/enacted/Pages/RO-123-2004.aspx
|
|
60
60
|
kwargs.setdefault(
|
holidays/countries/laos.py
CHANGED
|
@@ -104,29 +104,13 @@ class Laos(ObservedHolidayBase, InternationalHolidays, StaticHolidays, ThaiCalen
|
|
|
104
104
|
# - CASE FRI/SAT/SUN: WED-THU-FRI
|
|
105
105
|
|
|
106
106
|
# Lao Year-End Bank Holiday.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
elif self._is_tuesday(dec_31):
|
|
115
|
-
self._add_holiday_last_fri_of_dec(year_end_bank_holiday)
|
|
116
|
-
self._add_holiday_last_mon_of_dec(year_end_bank_holiday)
|
|
117
|
-
self._add_holiday_last_tue_of_dec(year_end_bank_holiday)
|
|
118
|
-
elif self._is_wednesday(dec_31):
|
|
119
|
-
self._add_holiday_last_mon_of_dec(year_end_bank_holiday)
|
|
120
|
-
self._add_holiday_last_tue_of_dec(year_end_bank_holiday)
|
|
121
|
-
self._add_holiday_last_wed_of_dec(year_end_bank_holiday)
|
|
122
|
-
elif self._is_thursday(dec_31):
|
|
123
|
-
self._add_holiday_last_tue_of_dec(year_end_bank_holiday)
|
|
124
|
-
self._add_holiday_last_wed_of_dec(year_end_bank_holiday)
|
|
125
|
-
self._add_holiday_last_thu_of_dec(year_end_bank_holiday)
|
|
126
|
-
else:
|
|
127
|
-
self._add_holiday_last_wed_of_dec(year_end_bank_holiday)
|
|
128
|
-
self._add_holiday_last_thu_of_dec(year_end_bank_holiday)
|
|
129
|
-
self._add_holiday_last_fri_of_dec(year_end_bank_holiday)
|
|
107
|
+
name = tr("ສາມວັນລັດຖະການສຸດທ້າຍຂອງທຸກໆປີ")
|
|
108
|
+
|
|
109
|
+
last_workday = self._add_holiday(
|
|
110
|
+
name, self._get_next_workday(self._next_year_new_years_day, -1)
|
|
111
|
+
)
|
|
112
|
+
second_to_last_workday = self._add_holiday(name, self._get_next_workday(last_workday, -1))
|
|
113
|
+
self._add_holiday(name, self._get_next_workday(second_to_last_workday, -1))
|
|
130
114
|
|
|
131
115
|
def _populate_public_holidays(self):
|
|
132
116
|
# Available post-Lao PDR proclamation on Dec 2, 1975.
|
holidays/countries/madagascar.py
CHANGED
|
@@ -10,10 +10,9 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/python-holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
-
from datetime import timedelta as td
|
|
14
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
|
-
from holidays.calendars.gregorian import MAY, SUN, _get_nth_weekday_of_month
|
|
15
|
+
from holidays.calendars.gregorian import MAY, SUN, _timedelta, _get_nth_weekday_of_month
|
|
17
16
|
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
18
17
|
from holidays.holiday_base import HolidayBase
|
|
19
18
|
|
|
@@ -70,7 +69,7 @@ class Madagascar(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
70
69
|
self._add_holiday(
|
|
71
70
|
# Mother's Day.
|
|
72
71
|
tr("Fetin'ny reny"),
|
|
73
|
-
last_sun_of_may +
|
|
72
|
+
_timedelta(last_sun_of_may, +7) if last_sun_of_may == whit_sunday else last_sun_of_may,
|
|
74
73
|
)
|
|
75
74
|
|
|
76
75
|
# Father's Day.
|