holidays 0.47__py3-none-any.whl → 0.48__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 +9 -0
- holidays/countries/__init__.py +1 -0
- 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/chile.py +6 -6
- holidays/countries/colombia.py +1 -2
- holidays/countries/cyprus.py +1 -2
- holidays/countries/denmark.py +1 -2
- holidays/countries/finland.py +1 -1
- holidays/countries/france.py +1 -2
- holidays/countries/greece.py +11 -6
- holidays/countries/moldova.py +1 -2
- holidays/countries/new_zealand.py +5 -6
- holidays/countries/palau.py +127 -0
- holidays/countries/portugal.py +2 -6
- holidays/countries/south_korea.py +1 -1
- holidays/countries/timor_leste.py +23 -1
- holidays/countries/united_states.py +1 -1
- holidays/countries/uruguay.py +3 -4
- holidays/groups/international.py +10 -0
- holidays/holiday_base.py +129 -65
- holidays/registry.py +1 -0
- {holidays-0.47.dist-info → holidays-0.48.dist-info}/METADATA +23 -18
- {holidays-0.47.dist-info → holidays-0.48.dist-info}/RECORD +31 -30
- {holidays-0.47.dist-info → holidays-0.48.dist-info}/AUTHORS +0 -0
- {holidays-0.47.dist-info → holidays-0.48.dist-info}/LICENSE +0 -0
- {holidays-0.47.dist-info → holidays-0.48.dist-info}/WHEEL +0 -0
- {holidays-0.47.dist-info → holidays-0.48.dist-info}/top_level.txt +0 -0
holidays/__init__.py
CHANGED
holidays/calendars/gregorian.py
CHANGED
|
@@ -20,6 +20,15 @@ WEEKEND = (SAT, SUN)
|
|
|
20
20
|
|
|
21
21
|
JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC = range(1, 13)
|
|
22
22
|
|
|
23
|
+
DAYS = set(str(d) for d in range(1, 32))
|
|
24
|
+
MONTHS = {
|
|
25
|
+
m: i
|
|
26
|
+
for i, m in enumerate(
|
|
27
|
+
("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"), 1
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
WEEKDAYS = {w: i for i, w in enumerate(("mon", "tue", "wed", "thu", "fri", "sat", "sun"))}
|
|
31
|
+
|
|
23
32
|
|
|
24
33
|
def _get_nth_weekday_from(n: int, weekday: int, from_dt: date) -> date:
|
|
25
34
|
"""
|
holidays/countries/__init__.py
CHANGED
|
@@ -115,6 +115,7 @@ from .north_macedonia import NorthMacedonia, MK, MKD
|
|
|
115
115
|
from .northern_mariana_islands import NorthernMarianaIslands, MP, MNP, HolidaysMP
|
|
116
116
|
from .norway import Norway, NO, NOR
|
|
117
117
|
from .pakistan import Pakistan, PK, PAK
|
|
118
|
+
from .palau import Palau, PW, PLW
|
|
118
119
|
from .panama import Panama, PA, PAN
|
|
119
120
|
from .papua_new_guinea import PapuaNewGuinea, PG, PNG
|
|
120
121
|
from .paraguay import Paraguay, PY, PRY
|
holidays/countries/australia.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.calendars.gregorian import JAN, APR, JUN, AUG, SEP, OCT, DEC
|
|
16
14
|
from holidays.constants import BANK, HALF_DAY, PUBLIC
|
|
17
15
|
from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
|
|
@@ -698,7 +696,7 @@ class Australia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, S
|
|
|
698
696
|
|
|
699
697
|
# Easter Tuesday.
|
|
700
698
|
if self._year <= 2010:
|
|
701
|
-
self.
|
|
699
|
+
self._add_holiday_2_days_past_easter("Easter Tuesday")
|
|
702
700
|
|
|
703
701
|
# ANZAC Day.
|
|
704
702
|
if self._year >= 1921:
|
holidays/countries/belgium.py
CHANGED
|
@@ -10,7 +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
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
15
|
from holidays.constants import BANK, PUBLIC
|
|
@@ -78,7 +77,7 @@ class Belgium(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
78
77
|
self._add_good_friday(tr("Goede Vrijdag"))
|
|
79
78
|
|
|
80
79
|
# Friday after Ascension Day.
|
|
81
|
-
self.
|
|
80
|
+
self._add_holiday_40_days_past_easter(tr("Vrijdag na O. L. H. Hemelvaart"))
|
|
82
81
|
|
|
83
82
|
# Bank Holiday.
|
|
84
83
|
self._add_christmas_day_two(tr("Banksluitingsdag"))
|
holidays/countries/bolivia.py
CHANGED
|
@@ -10,7 +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
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
15
|
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
@@ -147,7 +146,7 @@ class Bolivia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
147
146
|
|
|
148
147
|
def _populate_subdiv_o_public_holidays(self):
|
|
149
148
|
# Carnival in Oruro.
|
|
150
|
-
self.
|
|
149
|
+
self._add_holiday_51_days_prior_easter(tr("Carnaval de Oruro"))
|
|
151
150
|
|
|
152
151
|
def _populate_subdiv_s_public_holidays(self):
|
|
153
152
|
# Santa Cruz Day.
|
holidays/countries/brazil.py
CHANGED
|
@@ -10,7 +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
13
|
from datetime import date
|
|
15
14
|
|
|
16
15
|
from holidays.calendars.gregorian import JAN, MAR, SEP, NOV, FRI, _get_nth_weekday_from
|
|
@@ -231,7 +230,7 @@ class Brazil(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
231
230
|
def _populate_subdiv_es_public_holidays(self):
|
|
232
231
|
if self._year >= 2020:
|
|
233
232
|
# Our Lady of Penha.
|
|
234
|
-
self.
|
|
233
|
+
self._add_holiday_8_days_past_easter("Nossa Senhora da Penha")
|
|
235
234
|
|
|
236
235
|
def _populate_subdiv_go_public_holidays(self):
|
|
237
236
|
# Foundation of Goiás city.
|
holidays/countries/chile.py
CHANGED
|
@@ -10,7 +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
13
|
from gettext import gettext as tr
|
|
15
14
|
from typing import Tuple
|
|
16
15
|
|
|
@@ -100,11 +99,12 @@ class Chile(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stati
|
|
|
100
99
|
self._add_ascension_thursday(tr("Ascensión del Señor"))
|
|
101
100
|
|
|
102
101
|
if self._year <= 1967 or 1987 <= self._year <= 2006:
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
self.
|
|
107
|
-
|
|
102
|
+
# Corpus Christi.
|
|
103
|
+
name = tr("Corpus Christi")
|
|
104
|
+
if self._year <= 1999:
|
|
105
|
+
self._add_corpus_christi_day(name)
|
|
106
|
+
else:
|
|
107
|
+
self._add_holiday_57_days_past_easter(name)
|
|
108
108
|
|
|
109
109
|
if self._year >= 1932:
|
|
110
110
|
# Labor Day.
|
holidays/countries/colombia.py
CHANGED
|
@@ -10,7 +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
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
15
|
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
@@ -81,7 +80,7 @@ class Colombia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
81
80
|
if self._year >= 1984:
|
|
82
81
|
self._move_holiday(
|
|
83
82
|
# Sacred Heart.
|
|
84
|
-
self.
|
|
83
|
+
self._add_holiday_68_days_past_easter(tr("Sagrado Corazón"))
|
|
85
84
|
)
|
|
86
85
|
|
|
87
86
|
if self._year >= 1951:
|
holidays/countries/cyprus.py
CHANGED
|
@@ -10,7 +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
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
15
|
from holidays.calendars.julian_revised import JULIAN_REVISED_CALENDAR
|
|
@@ -93,7 +92,7 @@ class Cyprus(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
93
92
|
return None
|
|
94
93
|
|
|
95
94
|
# Easter Tuesday.
|
|
96
|
-
self.
|
|
95
|
+
self._add_holiday_2_days_past_easter(tr("Τρίτη της Διακαινησίμου"))
|
|
97
96
|
|
|
98
97
|
def _populate_optional_holidays(self):
|
|
99
98
|
if self._year <= 1960:
|
holidays/countries/denmark.py
CHANGED
|
@@ -10,7 +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
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
15
|
from holidays.constants import OPTIONAL, PUBLIC
|
|
@@ -56,7 +55,7 @@ class Denmark(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
56
55
|
|
|
57
56
|
if self._year <= 2023:
|
|
58
57
|
# Great Day of Prayers.
|
|
59
|
-
self.
|
|
58
|
+
self._add_holiday_26_days_past_easter(tr("Store bededag"))
|
|
60
59
|
|
|
61
60
|
# Ascension Day.
|
|
62
61
|
self._add_ascension_thursday(tr("Kristi himmelfartsdag"))
|
holidays/countries/finland.py
CHANGED
|
@@ -57,7 +57,7 @@ class Finland(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
57
57
|
# Ascension Day.
|
|
58
58
|
name = tr("Helatorstai")
|
|
59
59
|
if 1973 <= self._year <= 1990:
|
|
60
|
-
self.
|
|
60
|
+
self._add_holiday_34_days_past_easter(name)
|
|
61
61
|
else:
|
|
62
62
|
self._add_ascension_thursday(name)
|
|
63
63
|
|
holidays/countries/france.py
CHANGED
|
@@ -10,7 +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
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
15
|
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
@@ -158,7 +157,7 @@ class France(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
158
157
|
self._add_good_friday(tr("Vendredi saint"))
|
|
159
158
|
|
|
160
159
|
# Mi-Careme.
|
|
161
|
-
self.
|
|
160
|
+
self._add_holiday_24_days_prior_easter(tr("Mi-Carême"))
|
|
162
161
|
|
|
163
162
|
# Abolition of slavery.
|
|
164
163
|
self._add_holiday_may_27(tr("Abolition de l'esclavage"))
|
holidays/countries/greece.py
CHANGED
|
@@ -27,7 +27,8 @@ class Greece(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
27
27
|
Greece holidays.
|
|
28
28
|
|
|
29
29
|
References:
|
|
30
|
-
|
|
30
|
+
- https://en.wikipedia.org/wiki/Public_holidays_in_Greece
|
|
31
|
+
- `2024 Labor Day transfer <https://www.et.gr/api/DownloadFeksApi/?fek_pdf=20240201406>`_
|
|
31
32
|
"""
|
|
32
33
|
|
|
33
34
|
country = "GR"
|
|
@@ -66,11 +67,15 @@ class Greece(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
66
67
|
# Whit Monday.
|
|
67
68
|
self._add_whit_monday(tr("Δευτέρα του Αγίου Πνεύματος"))
|
|
68
69
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
# Labor Day.
|
|
71
|
+
name = tr("Εργατική Πρωτομαγιά")
|
|
72
|
+
if self._year == 2024:
|
|
73
|
+
self._add_holiday_may_7(name)
|
|
74
|
+
else:
|
|
75
|
+
self._add_observed(
|
|
76
|
+
may_1 := self._add_labor_day(name),
|
|
77
|
+
rule=MON_TO_NEXT_TUE if may_1 == easter_monday else SAT_SUN_TO_NEXT_WORKDAY,
|
|
78
|
+
)
|
|
74
79
|
|
|
75
80
|
# Dormition of the Mother of God.
|
|
76
81
|
self._add_assumption_of_mary_day(tr("Κοίμηση της Θεοτόκου"))
|
holidays/countries/moldova.py
CHANGED
|
@@ -10,7 +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
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
15
|
from holidays.calendars.gregorian import GREGORIAN_CALENDAR
|
|
@@ -60,7 +59,7 @@ class Moldova(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
60
59
|
self._add_easter_monday(name)
|
|
61
60
|
|
|
62
61
|
# Day of Rejoicing.
|
|
63
|
-
self.
|
|
62
|
+
self._add_holiday_8_days_past_easter(tr("Paștele blajinilor"))
|
|
64
63
|
|
|
65
64
|
# International Workers' Solidarity Day.
|
|
66
65
|
self._add_labor_day(tr("Ziua internaţională a solidarităţii oamenilor muncii"))
|
|
@@ -251,12 +251,11 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
251
251
|
self._add_holiday_4th_mon_of_sep("South Canterbury Anniversary Day")
|
|
252
252
|
|
|
253
253
|
def _populate_subdiv_stl_public_holidays(self):
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
self._add_holiday("Southland Anniversary Day", dt)
|
|
254
|
+
name = "Southland Anniversary Day"
|
|
255
|
+
if self._year >= 2012:
|
|
256
|
+
self._add_holiday_2_days_past_easter(name)
|
|
257
|
+
else:
|
|
258
|
+
self._add_holiday(name, self._get_nearest_monday(JAN, 17))
|
|
260
259
|
|
|
261
260
|
def _populate_subdiv_tki_public_holidays(self):
|
|
262
261
|
self._add_holiday_2nd_mon_of_mar("Taranaki Anniversary Day")
|
|
@@ -0,0 +1,127 @@
|
|
|
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 AUTHORS 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/python-holidays
|
|
11
|
+
# License: MIT (see LICENSE file)
|
|
12
|
+
|
|
13
|
+
from holidays.calendars.gregorian import SEP, NOV
|
|
14
|
+
from holidays.constants import ARMED_FORCES, HALF_DAY, PUBLIC
|
|
15
|
+
from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
|
|
16
|
+
from holidays.observed_holiday_base import ObservedHolidayBase, SAT_TO_PREV_FRI, SUN_TO_NEXT_MON
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class Palau(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
20
|
+
"""
|
|
21
|
+
References:
|
|
22
|
+
- http://www.paclii.org/pw/legis/consol_act/gpt1262/ # Chapter 7, Holidays.
|
|
23
|
+
- https://www.palaugov.pw/wp-content/uploads/2017/11/RPPL-No.-10-15-re.-Family-Day-Holiday.pdf
|
|
24
|
+
- https://www.facebook.com/PalauPresident/posts/195883107230463 # EO336 Memorial Day repealed
|
|
25
|
+
- https://www.taiwanembassy.org/pal_en/post/792.html # Earliest source for President's Day
|
|
26
|
+
|
|
27
|
+
If any of the holidays enumerated in section 701 of this chapter falls on Sunday, the
|
|
28
|
+
following Monday shall be observed as a holiday. If any of the holidays enumerated in
|
|
29
|
+
section 701 of this chapter falls on Saturday, the preceding Friday shall be observed
|
|
30
|
+
as a holiday.
|
|
31
|
+
|
|
32
|
+
As there's no record of President's Day (Jun 1) and Independence Day (Oct 1) being
|
|
33
|
+
legal holiday before 2017, as seen in RPRL 10-15, they shall be assumed to start in 2018
|
|
34
|
+
for our current implementation.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
country = "PW"
|
|
38
|
+
supported_categories = (ARMED_FORCES, HALF_DAY, PUBLIC)
|
|
39
|
+
observed_label = "%s (observed)"
|
|
40
|
+
|
|
41
|
+
def __init__(self, *args, **kwargs):
|
|
42
|
+
ChristianHolidays.__init__(self)
|
|
43
|
+
InternationalHolidays.__init__(self)
|
|
44
|
+
StaticHolidays.__init__(self, PalauStaticHolidays)
|
|
45
|
+
kwargs.setdefault("observed_rule", SAT_TO_PREV_FRI + SUN_TO_NEXT_MON)
|
|
46
|
+
super().__init__(*args, **kwargs)
|
|
47
|
+
|
|
48
|
+
def _populate_public_holidays(self):
|
|
49
|
+
# Republic of Palau Public Law No. 2-15.
|
|
50
|
+
# The legislation was first adopted by the 2nd Olbiil Era Kelulau (1984-1988),
|
|
51
|
+
# but since we cannot find any info on its actual adoption date, we may as
|
|
52
|
+
# well use the formation date of the country as the placeholder cut-off date.
|
|
53
|
+
if self._year <= 1980:
|
|
54
|
+
return None
|
|
55
|
+
|
|
56
|
+
# Fixed Date Public Holidays.
|
|
57
|
+
|
|
58
|
+
# New Year's Day.
|
|
59
|
+
name = "New Year's Day"
|
|
60
|
+
self._add_observed(self._add_new_years_day(name))
|
|
61
|
+
self._add_observed(self._next_year_new_years_day, name=name, rule=SAT_TO_PREV_FRI)
|
|
62
|
+
|
|
63
|
+
# Youth Day.
|
|
64
|
+
self._add_observed(self._add_holiday_mar_15("Youth Day"))
|
|
65
|
+
|
|
66
|
+
# Senior Citizens Day.
|
|
67
|
+
self._add_observed(self._add_holiday_may_5("Senior Citizens Day"))
|
|
68
|
+
|
|
69
|
+
if self._year in {2011, 2012}:
|
|
70
|
+
# Memorial Day.
|
|
71
|
+
self._add_holiday_last_mon_of_may("Memorial Day")
|
|
72
|
+
|
|
73
|
+
if self._year >= 2018:
|
|
74
|
+
# President's Day.
|
|
75
|
+
self._add_observed(self._add_holiday_jun_1("President's Day"))
|
|
76
|
+
|
|
77
|
+
# Constitution Day.
|
|
78
|
+
self._add_observed(self._add_holiday_jul_9("Constitution Day"))
|
|
79
|
+
|
|
80
|
+
# Labor Day.
|
|
81
|
+
self._add_holiday_1st_mon_of_sep("Labor Day")
|
|
82
|
+
|
|
83
|
+
if self._year >= 2018:
|
|
84
|
+
# Independence Day.
|
|
85
|
+
self._add_observed(self._add_holiday_oct_1("Independence Day"))
|
|
86
|
+
|
|
87
|
+
# United Nations Day.
|
|
88
|
+
self._add_observed(self._add_united_nations_day("United Nations Day"))
|
|
89
|
+
|
|
90
|
+
# Thanksgiving Day.
|
|
91
|
+
self._add_holiday_4th_thu_of_nov("Thanksgiving Day")
|
|
92
|
+
|
|
93
|
+
if self._year >= 2017:
|
|
94
|
+
# Family Day.
|
|
95
|
+
self._add_holiday_4th_fri_of_nov("Family Day")
|
|
96
|
+
|
|
97
|
+
# Christmas Day.
|
|
98
|
+
self._add_observed(self._add_christmas_day("Christmas Day"))
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class PW(Palau):
|
|
102
|
+
pass
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class PLW(Palau):
|
|
106
|
+
pass
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
class PalauStaticHolidays:
|
|
110
|
+
"""
|
|
111
|
+
Sources:
|
|
112
|
+
- https://www.facebook.com/photo?fbid=1774513196034105&set=a.175933635892077
|
|
113
|
+
- https://www.facebook.com/photo/?fbid=1794692910682800&set=a.175933635892077
|
|
114
|
+
- https://www.facebook.com/photo/?fbid=1408133829338712&set=a.175933635892077
|
|
115
|
+
"""
|
|
116
|
+
|
|
117
|
+
special_armed_forces_holidays = {
|
|
118
|
+
2020: (NOV, 11, "Veterans Day"),
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
special_half_day_holidays = {
|
|
122
|
+
2019: (SEP, 30, "Preparation for the 25th Independence Day of the Republic of Palau"),
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
special_public_holidays = {
|
|
126
|
+
2020: (NOV, 3, "National Day of Democracy"),
|
|
127
|
+
}
|
holidays/countries/portugal.py
CHANGED
|
@@ -10,7 +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
13
|
from gettext import gettext as tr
|
|
15
14
|
|
|
16
15
|
from holidays.constants import OPTIONAL, PUBLIC
|
|
@@ -184,11 +183,8 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
184
183
|
self._add_holiday_aug_22(tr("Dia de Nossa Senhora das Graças"))
|
|
185
184
|
|
|
186
185
|
def _populate_subdiv_05_public_holidays(self):
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
tr("Dia de Nossa Senhora de Mércoles"),
|
|
190
|
-
self._easter_sunday + td(days=+16),
|
|
191
|
-
)
|
|
186
|
+
# Feast of Our Lady of Mércoles.
|
|
187
|
+
self._add_holiday_16_days_past_easter(tr("Dia de Nossa Senhora de Mércoles"))
|
|
192
188
|
|
|
193
189
|
def _populate_subdiv_06_public_holidays(self):
|
|
194
190
|
# St. Elizabeth's Day.
|
|
@@ -31,10 +31,11 @@ class TimorLeste(
|
|
|
31
31
|
References:
|
|
32
32
|
- https://mj.gov.tl/jornal/lawsTL/RDTL-Law/RDTL-Laws/Law-2005-10.pdf # 2005 Law
|
|
33
33
|
- http://timor-leste.gov.tl/?p=14494&lang=en # 2016 Amendment
|
|
34
|
+
- http://timor-leste.gov.tl/?p=30266&lang=en # 2022
|
|
34
35
|
- http://timor-leste.gov.tl/?p=31750&lang=en # 2023 (en_US)
|
|
35
36
|
- http://timor-leste.gov.tl/?p=31750&lang=pt # 2023 (pt_PT)
|
|
36
37
|
- http://timor-leste.gov.tl/?p=31750&lang=tp # 2023 (tet)
|
|
37
|
-
- http://timor-leste.gov.tl/?p=
|
|
38
|
+
- http://timor-leste.gov.tl/?p=35833&lang=en # 2024
|
|
38
39
|
|
|
39
40
|
Limitations:
|
|
40
41
|
|
|
@@ -201,6 +202,7 @@ class TimorLesteIslamicHolidays(_CustomIslamicHolidays):
|
|
|
201
202
|
2021: (JUL, 19),
|
|
202
203
|
2022: (JUL, 9),
|
|
203
204
|
2023: (JUN, 29),
|
|
205
|
+
2024: (JUN, 17),
|
|
204
206
|
}
|
|
205
207
|
|
|
206
208
|
EID_AL_FITR_DATES = {
|
|
@@ -396,20 +398,28 @@ class TimorLesteStaticHolidays:
|
|
|
396
398
|
(JAN, 2, special_national_holidays),
|
|
397
399
|
# http://timor-leste.gov.tl/?p=23607&lang=en
|
|
398
400
|
(FEB, 26, special_national_holidays),
|
|
401
|
+
# http://timor-leste.gov.tl/?p=25455&lang=en
|
|
402
|
+
(AUG, 20, special_national_holidays),
|
|
399
403
|
# http://timor-leste.gov.tl/?p=25502&lang=en
|
|
400
404
|
(AUG, 31, special_national_holidays),
|
|
401
405
|
# http://timor-leste.gov.tl/?p=26030&lang=en
|
|
402
406
|
(NOV, 3, special_national_holidays),
|
|
407
|
+
# http://timor-leste.gov.tl/?p=26365&lang=en
|
|
408
|
+
(DEC, 24, special_national_holidays),
|
|
403
409
|
),
|
|
404
410
|
2021: (
|
|
405
411
|
# http://timor-leste.gov.tl/?p=26865&lang=en
|
|
406
412
|
(FEB, 12, special_national_holidays),
|
|
413
|
+
# http://timor-leste.gov.tl/?p=26896&lang=en
|
|
414
|
+
(FEB, 17, special_national_holidays),
|
|
407
415
|
# http://timor-leste.gov.tl/?p=29682&lang=en
|
|
408
416
|
(NOV, 3, special_national_holidays),
|
|
409
417
|
),
|
|
410
418
|
2022: (
|
|
411
419
|
# http://timor-leste.gov.tl/?p=30029&lang=en
|
|
412
420
|
(FEB, 1, special_national_holidays),
|
|
421
|
+
# http://timor-leste.gov.tl/?p=30194&lang=en
|
|
422
|
+
(MAR, 2, special_national_holidays),
|
|
413
423
|
# http://timor-leste.gov.tl/?p=30254&lang=en
|
|
414
424
|
(MAR, 18, presidential_election),
|
|
415
425
|
# http://timor-leste.gov.tl/?p=30429&lang=en
|
|
@@ -417,11 +427,23 @@ class TimorLesteStaticHolidays:
|
|
|
417
427
|
(APR, 18, presidential_election),
|
|
418
428
|
(APR, 19, presidential_election),
|
|
419
429
|
(APR, 20, presidential_election),
|
|
430
|
+
# http://timor-leste.gov.tl/?p=31404&lang=en
|
|
431
|
+
(OCT, 31, special_national_holidays),
|
|
432
|
+
# http://timor-leste.gov.tl/?p=31574&lang=en
|
|
433
|
+
(DEC, 9, special_national_holidays),
|
|
434
|
+
# http://timor-leste.gov.tl/?p=31633&lang=en
|
|
435
|
+
(DEC, 26, special_national_holidays),
|
|
420
436
|
),
|
|
421
437
|
2023: (
|
|
422
438
|
# http://timor-leste.gov.tl/?p=31641&lang=en
|
|
423
439
|
(JAN, 2, special_national_holidays),
|
|
424
440
|
# http://timor-leste.gov.tl/?p=31798&lang=en
|
|
425
441
|
(JAN, 23, special_national_holidays),
|
|
442
|
+
# http://timor-leste.gov.tl/?p=32191&lang=en
|
|
443
|
+
(FEB, 22, special_national_holidays),
|
|
444
|
+
),
|
|
445
|
+
2024: (
|
|
446
|
+
# http://timor-leste.gov.tl/?p=36002&lang=en
|
|
447
|
+
(FEB, 14, special_national_holidays),
|
|
426
448
|
),
|
|
427
449
|
}
|
|
@@ -609,7 +609,7 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
|
|
|
609
609
|
|
|
610
610
|
# Confederate Memorial Day
|
|
611
611
|
if self._year >= 1866:
|
|
612
|
-
self.
|
|
612
|
+
self._add_holiday_last_mon_of_apr("Confederate Memorial Day")
|
|
613
613
|
|
|
614
614
|
def _populate_subdiv_mt_public_holidays(self):
|
|
615
615
|
# Election Day
|
holidays/countries/uruguay.py
CHANGED
|
@@ -11,7 +11,6 @@
|
|
|
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
|
|
|
17
16
|
from holidays.calendars.gregorian import MAR
|
|
@@ -123,9 +122,9 @@ class Uruguay(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Sta
|
|
|
123
122
|
|
|
124
123
|
# Tourism Week.
|
|
125
124
|
name = tr("Semana de Turismo")
|
|
126
|
-
self.
|
|
127
|
-
self.
|
|
128
|
-
self.
|
|
125
|
+
self._add_holiday_6_days_prior_easter(name)
|
|
126
|
+
self._add_holiday_5_days_prior_easter(name)
|
|
127
|
+
self._add_holiday_4_days_prior_easter(name)
|
|
129
128
|
self._add_holy_thursday(name)
|
|
130
129
|
self._add_good_friday(name)
|
|
131
130
|
|
holidays/groups/international.py
CHANGED
|
@@ -194,3 +194,13 @@ class InternationalHolidays:
|
|
|
194
194
|
https://en.wikipedia.org/wiki/Victory_Day_(9_May)
|
|
195
195
|
"""
|
|
196
196
|
return self._add_holiday_may_9(name)
|
|
197
|
+
|
|
198
|
+
def _add_united_nations_day(self, name):
|
|
199
|
+
"""
|
|
200
|
+
Add United Nations Day (Oct 24th)
|
|
201
|
+
|
|
202
|
+
United Nations Day is an annual commemorative day, reflecting the
|
|
203
|
+
official creation of the United Nations on 24 October 1945.
|
|
204
|
+
https://en.wikipedia.org/wiki/United_Nations_Day
|
|
205
|
+
"""
|
|
206
|
+
return self._add_holiday_oct_24(name)
|
holidays/holiday_base.py
CHANGED
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
__all__ = ("DateLike", "HolidayBase", "HolidaySum")
|
|
14
14
|
|
|
15
15
|
import copy
|
|
16
|
-
import re
|
|
17
16
|
import warnings
|
|
18
17
|
from calendar import isleap
|
|
19
18
|
from datetime import date, datetime, timedelta, timezone
|
|
@@ -24,7 +23,6 @@ from typing import Any, Dict, Iterable, List, Optional, Set, Tuple, Union, cast
|
|
|
24
23
|
|
|
25
24
|
from dateutil.parser import parse
|
|
26
25
|
|
|
27
|
-
from holidays.calendars import gregorian
|
|
28
26
|
from holidays.calendars.gregorian import (
|
|
29
27
|
MON,
|
|
30
28
|
TUE,
|
|
@@ -35,6 +33,9 @@ from holidays.calendars.gregorian import (
|
|
|
35
33
|
SUN,
|
|
36
34
|
_get_nth_weekday_from,
|
|
37
35
|
_get_nth_weekday_of_month,
|
|
36
|
+
DAYS,
|
|
37
|
+
MONTHS,
|
|
38
|
+
WEEKDAYS,
|
|
38
39
|
)
|
|
39
40
|
from holidays.constants import HOLIDAY_NAME_DELIMITER, PUBLIC
|
|
40
41
|
from holidays.helpers import _normalize_arguments, _normalize_tuple
|
|
@@ -230,6 +231,8 @@ class HolidayBase(Dict[date, str]):
|
|
|
230
231
|
ones."""
|
|
231
232
|
weekend: Set[int] = {SAT, SUN}
|
|
232
233
|
"""Country weekend days."""
|
|
234
|
+
weekend_workdays: Set[date] = set()
|
|
235
|
+
"""Working days moved to weekends."""
|
|
233
236
|
default_category: str = PUBLIC
|
|
234
237
|
"""The entity category used by default."""
|
|
235
238
|
default_language: Optional[str] = None
|
|
@@ -353,6 +356,7 @@ class HolidayBase(Dict[date, str]):
|
|
|
353
356
|
self.language = language.lower() if language else None
|
|
354
357
|
self.observed = observed
|
|
355
358
|
self.subdiv = subdiv
|
|
359
|
+
self.weekend_workdays = set()
|
|
356
360
|
|
|
357
361
|
supported_languages = set(self.supported_languages)
|
|
358
362
|
self.tr = (
|
|
@@ -427,77 +431,103 @@ class HolidayBase(Dict[date, str]):
|
|
|
427
431
|
except AttributeError as e:
|
|
428
432
|
# This part is responsible for _add_holiday_* syntactic sugar support.
|
|
429
433
|
add_holiday_prefix = "_add_holiday_"
|
|
430
|
-
# Raise early if prefix doesn't match to avoid
|
|
434
|
+
# Raise early if prefix doesn't match to avoid patterns checks.
|
|
431
435
|
if name[: len(add_holiday_prefix)] != add_holiday_prefix:
|
|
432
436
|
raise e
|
|
433
437
|
|
|
438
|
+
tokens = name.split("_")
|
|
439
|
+
|
|
434
440
|
# Handle <month> <day> patterns (e.g., _add_holiday_jun_15()).
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
month
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
441
|
+
if len(tokens) == 5:
|
|
442
|
+
*_, month, day = tokens
|
|
443
|
+
if month in MONTHS and day in DAYS:
|
|
444
|
+
return lambda name: self._add_holiday(
|
|
445
|
+
name,
|
|
446
|
+
date(self._year, MONTHS[month], int(day)),
|
|
447
|
+
)
|
|
442
448
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
449
|
+
elif len(tokens) == 7:
|
|
450
|
+
# Handle <last/nth> <weekday> of <month> patterns (e.g.,
|
|
451
|
+
# _add_holiday_last_mon_of_aug() or _add_holiday_3rd_fri_of_aug()).
|
|
452
|
+
*_, number, weekday, of, month = tokens
|
|
453
|
+
if (
|
|
454
|
+
of == "of"
|
|
455
|
+
and (number == "last" or number[0].isdigit())
|
|
456
|
+
and month in MONTHS
|
|
457
|
+
and weekday in WEEKDAYS
|
|
458
|
+
):
|
|
459
|
+
return lambda name: self._add_holiday(
|
|
460
|
+
name,
|
|
461
|
+
_get_nth_weekday_of_month(
|
|
462
|
+
-1 if number == "last" else int(number[0]),
|
|
463
|
+
WEEKDAYS[weekday],
|
|
464
|
+
MONTHS[month],
|
|
465
|
+
self._year,
|
|
466
|
+
),
|
|
467
|
+
)
|
|
468
|
+
|
|
469
|
+
# Handle <n> days <past/prior> easter patterns (e.g.,
|
|
470
|
+
# _add_holiday_8_days_past_easter() or
|
|
471
|
+
# _add_holiday_5_days_prior_easter()).
|
|
472
|
+
*_, days, unit, delta_direction, easter = tokens
|
|
473
|
+
if (
|
|
474
|
+
unit in {"day", "days"}
|
|
475
|
+
and delta_direction in {"past", "prior"}
|
|
476
|
+
and easter == "easter"
|
|
477
|
+
and len(days) < 3
|
|
478
|
+
and days.isdigit()
|
|
479
|
+
):
|
|
480
|
+
return lambda name: self._add_holiday(
|
|
481
|
+
name,
|
|
482
|
+
self._easter_sunday
|
|
483
|
+
+ timedelta(days=+int(days) if delta_direction == "past" else -int(days)),
|
|
484
|
+
)
|
|
459
485
|
|
|
460
486
|
# Handle <n> day(s) <past/prior> <last/<nth> <weekday> of <month> patterns (e.g.,
|
|
461
487
|
# _add_holiday_1_day_past_1st_fri_of_aug() or
|
|
462
488
|
# _add_holiday_5_days_prior_last_fri_of_aug()).
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
days
|
|
470
|
-
|
|
471
|
-
number
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
)
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
489
|
+
elif len(tokens) == 10:
|
|
490
|
+
*_, days, unit, delta_direction, number, weekday, of, month = tokens
|
|
491
|
+
if (
|
|
492
|
+
unit in {"day", "days"}
|
|
493
|
+
and delta_direction in {"past", "prior"}
|
|
494
|
+
and of == "of"
|
|
495
|
+
and len(days) < 3
|
|
496
|
+
and days.isdigit()
|
|
497
|
+
and (number == "last" or number[0].isdigit())
|
|
498
|
+
and month in MONTHS
|
|
499
|
+
and weekday in WEEKDAYS
|
|
500
|
+
):
|
|
501
|
+
return lambda name: self._add_holiday(
|
|
502
|
+
name,
|
|
503
|
+
_get_nth_weekday_of_month(
|
|
504
|
+
-1 if number == "last" else int(number[0]),
|
|
505
|
+
WEEKDAYS[weekday],
|
|
506
|
+
MONTHS[month],
|
|
507
|
+
self._year,
|
|
508
|
+
)
|
|
509
|
+
+ timedelta(days=+int(days) if delta_direction == "past" else -int(days)),
|
|
482
510
|
)
|
|
483
|
-
+ timedelta(days=+int(days) if delta_direction == "past" else -int(days)),
|
|
484
|
-
)
|
|
485
511
|
|
|
486
512
|
# Handle <nth> <weekday> <before/from> <month> <day> patterns (e.g.,
|
|
487
513
|
# _add_holiday_1st_mon_before_jun_15() or _add_holiday_1st_mon_from_jun_15()).
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
514
|
+
elif len(tokens) == 8:
|
|
515
|
+
*_, number, weekday, date_direction, month, day = tokens
|
|
516
|
+
if (
|
|
517
|
+
date_direction in {"before", "from"}
|
|
518
|
+
and number[0].isdigit()
|
|
519
|
+
and month in MONTHS
|
|
520
|
+
and weekday in WEEKDAYS
|
|
521
|
+
and day in DAYS
|
|
522
|
+
):
|
|
523
|
+
return lambda name: self._add_holiday(
|
|
524
|
+
name,
|
|
525
|
+
_get_nth_weekday_from(
|
|
526
|
+
-int(number[0]) if date_direction == "before" else +int(number[0]),
|
|
527
|
+
WEEKDAYS[weekday],
|
|
528
|
+
date(self._year, MONTHS[month], int(day)),
|
|
529
|
+
),
|
|
530
|
+
)
|
|
501
531
|
|
|
502
532
|
raise e # No match.
|
|
503
533
|
|
|
@@ -676,9 +706,13 @@ class HolidayBase(Dict[date, str]):
|
|
|
676
706
|
.lower()
|
|
677
707
|
)
|
|
678
708
|
|
|
679
|
-
@
|
|
709
|
+
@property
|
|
680
710
|
def _sorted_categories(self):
|
|
681
|
-
return
|
|
711
|
+
return (
|
|
712
|
+
[self.default_category] + sorted(self.categories - {self.default_category})
|
|
713
|
+
if self.default_category in self.categories
|
|
714
|
+
else sorted(self.categories)
|
|
715
|
+
)
|
|
682
716
|
|
|
683
717
|
@classmethod
|
|
684
718
|
def get_subdivision_aliases(cls) -> Dict[str, List]:
|
|
@@ -724,14 +758,14 @@ class HolidayBase(Dict[date, str]):
|
|
|
724
758
|
)
|
|
725
759
|
else: # Substituted holidays.
|
|
726
760
|
to_month, to_day, from_month, from_day, *optional = data
|
|
761
|
+
from_date = date(optional[0] if optional else self._year, from_month, from_day)
|
|
727
762
|
self._add_holiday(
|
|
728
763
|
self.tr(self.substituted_label)
|
|
729
|
-
%
|
|
730
|
-
optional[0] if optional else self._year, from_month, from_day
|
|
731
|
-
).strftime(self.tr(self.substituted_date_format)),
|
|
764
|
+
% from_date.strftime(self.tr(self.substituted_date_format)),
|
|
732
765
|
to_month,
|
|
733
766
|
to_day,
|
|
734
767
|
)
|
|
768
|
+
self.weekend_workdays.add(from_date)
|
|
735
769
|
|
|
736
770
|
def _check_weekday(self, weekday: int, *args) -> bool:
|
|
737
771
|
"""
|
|
@@ -922,6 +956,36 @@ class HolidayBase(Dict[date, str]):
|
|
|
922
956
|
|
|
923
957
|
raise AttributeError(f"Unknown lookup type: {lookup}")
|
|
924
958
|
|
|
959
|
+
def get_nth_workday(self, key: DateLike, n: int) -> date:
|
|
960
|
+
"""Return n-th working day from provided date (if n is positive)
|
|
961
|
+
or n-th working day before provided date (if n is negative).
|
|
962
|
+
"""
|
|
963
|
+
direction = +1 if n > 0 else -1
|
|
964
|
+
dt = self.__keytransform__(key)
|
|
965
|
+
for _ in range(abs(n)):
|
|
966
|
+
dt += timedelta(days=direction)
|
|
967
|
+
while not self.is_workday(dt):
|
|
968
|
+
dt += timedelta(days=direction)
|
|
969
|
+
return dt
|
|
970
|
+
|
|
971
|
+
def get_workdays_number(self, key1: DateLike, key2: DateLike) -> int:
|
|
972
|
+
"""Return the number of working days between two dates (not including the start date)."""
|
|
973
|
+
dt1 = self.__keytransform__(key1)
|
|
974
|
+
dt2 = self.__keytransform__(key2)
|
|
975
|
+
if dt1 == dt2:
|
|
976
|
+
return 0
|
|
977
|
+
if dt1 > dt2:
|
|
978
|
+
dt1, dt2 = dt2, dt1
|
|
979
|
+
|
|
980
|
+
return sum(
|
|
981
|
+
self.is_workday(dt1 + timedelta(days=n)) for n in range(1, (dt2 - dt1).days + 1)
|
|
982
|
+
)
|
|
983
|
+
|
|
984
|
+
def is_workday(self, key: DateLike) -> bool:
|
|
985
|
+
"""Return True if date is a working day (not a holiday or a weekend)."""
|
|
986
|
+
dt = self.__keytransform__(key)
|
|
987
|
+
return dt in self.weekend_workdays if self._is_weekend(dt) else dt not in self
|
|
988
|
+
|
|
925
989
|
def pop(self, key: DateLike, default: Union[str, Any] = None) -> Union[str, Any]:
|
|
926
990
|
"""If date is a holiday, remove it and return its date, else return
|
|
927
991
|
default.
|
holidays/registry.py
CHANGED
|
@@ -121,6 +121,7 @@ COUNTRIES: RegistryDict = {
|
|
|
121
121
|
"northern_mariana_islands": ("NorthernMarianaIslands", "MP", "MNP", "HolidaysMP"),
|
|
122
122
|
"norway": ("Norway", "NO", "NOR"),
|
|
123
123
|
"pakistan": ("Pakistan", "PK", "PAK"),
|
|
124
|
+
"palau": ("Palau", "PW", "PLW"),
|
|
124
125
|
"panama": ("Panama", "PA", "PAN"),
|
|
125
126
|
"papua_new_guinea": ("PapuaNewGuinea", "PG", "PNG"),
|
|
126
127
|
"paraguay": ("Paraguay", "PY", "PRY"),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: holidays
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.48
|
|
4
4
|
Summary: Generate and work with holidays in Python
|
|
5
5
|
Author-email: Maurizio Montel <dr.prodigy.github@gmail.com>
|
|
6
6
|
Maintainer-email: Arkadii Yakovets <ark@cho.red>, Serhii Murza <jhellico@gmail.com>
|
|
@@ -60,62 +60,62 @@ state or province) specific sets of government-designated holidays on the fly.
|
|
|
60
60
|
It aims to make determining whether a specific date is a holiday as fast and
|
|
61
61
|
flexible as possible.
|
|
62
62
|
|
|
63
|
-
.. |downloads| image:: https://img.shields.io/pypi/dm/holidays?color
|
|
63
|
+
.. |downloads| image:: https://img.shields.io/pypi/dm/holidays?color=41B5BE&style=flat
|
|
64
64
|
:target: https://pypi.org/project/holidays
|
|
65
65
|
:alt: PyPI downloads
|
|
66
66
|
|
|
67
|
-
.. |version| image:: https://img.shields.io/pypi/v/holidays?color
|
|
67
|
+
.. |version| image:: https://img.shields.io/pypi/v/holidays?color=41B5BE&label=version&style=flat
|
|
68
68
|
:target: https://pypi.org/project/holidays
|
|
69
69
|
:alt: PyPI version
|
|
70
70
|
|
|
71
|
-
.. |release date| image:: https://img.shields.io/github/release-date/vacanza/python-holidays?color
|
|
71
|
+
.. |release date| image:: https://img.shields.io/github/release-date/vacanza/python-holidays?color=41B5BE&style=flat
|
|
72
72
|
:target: https://github.com/vacanza/python-holidays/releases
|
|
73
73
|
:alt: PyPI release date
|
|
74
74
|
|
|
75
|
-
.. |status| image:: https://img.shields.io/github/actions/workflow/status/vacanza/python-holidays/ci-cd.yml?color
|
|
76
|
-
:target: https://github.com/vacanza/python-holidays/actions
|
|
75
|
+
.. |status| image:: https://img.shields.io/github/actions/workflow/status/vacanza/python-holidays/ci-cd.yml?branch=dev&color=41BE4A&style=flat
|
|
76
|
+
:target: https://github.com/vacanza/python-holidays/actions/workflows/ci-cd.yml?query=branch%3Adev
|
|
77
77
|
:alt: CI/CD status
|
|
78
78
|
|
|
79
|
-
.. |documentation| image:: https://img.shields.io/readthedocs/python-holidays?color
|
|
79
|
+
.. |documentation| image:: https://img.shields.io/readthedocs/python-holidays?color=41BE4A&style=flat
|
|
80
80
|
:target: https://python-holidays.readthedocs.io/en/latest/?badge=latest
|
|
81
81
|
:alt: Documentation status
|
|
82
82
|
|
|
83
|
-
.. |license| image:: https://img.shields.io/github/license/vacanza/python-holidays?color
|
|
83
|
+
.. |license| image:: https://img.shields.io/github/license/vacanza/python-holidays?color=41B5BE&style=flat
|
|
84
84
|
:target: https://github.com/vacanza/python-holidays/blob/dev/LICENSE
|
|
85
85
|
:alt: License
|
|
86
86
|
|
|
87
|
-
.. |python versions| image:: https://img.shields.io/pypi/pyversions/holidays?label=python&color
|
|
87
|
+
.. |python versions| image:: https://img.shields.io/pypi/pyversions/holidays?label=python&color=41B5BE&style=flat
|
|
88
88
|
:target: https://pypi.org/project/holidays
|
|
89
89
|
:alt: Python supported versions
|
|
90
90
|
|
|
91
|
-
.. |style| image:: https://img.shields.io/badge/
|
|
92
|
-
:target: https://github.com/
|
|
91
|
+
.. |style| image:: https://img.shields.io/badge/style-ruff-41B5BE?style=flat
|
|
92
|
+
:target: https://github.com/astral-sh/ruff
|
|
93
93
|
:alt: Code style
|
|
94
94
|
|
|
95
|
-
.. |coverage| image:: https://img.shields.io/coverallsCoverage/github/vacanza/python-holidays?branch=main&color
|
|
95
|
+
.. |coverage| image:: https://img.shields.io/coverallsCoverage/github/vacanza/python-holidays?branch=main&color=41B5BE&style=flat
|
|
96
96
|
:target: https://coveralls.io/r/vacanza/python-holidays
|
|
97
97
|
:alt: Code coverage
|
|
98
98
|
|
|
99
|
-
.. |stars| image:: https://img.shields.io/github/stars/vacanza/python-holidays?color
|
|
99
|
+
.. |stars| image:: https://img.shields.io/github/stars/vacanza/python-holidays?color=41BE4A&style=flat
|
|
100
100
|
:target: https://github.com/vacanza/python-holidays/stargazers
|
|
101
101
|
:alt: GitHub stars
|
|
102
102
|
|
|
103
|
-
.. |forks| image:: https://img.shields.io/github/forks/vacanza/python-holidays?color
|
|
103
|
+
.. |forks| image:: https://img.shields.io/github/forks/vacanza/python-holidays?color=41BE4A&style=flat
|
|
104
104
|
:target: https://github.com/vacanza/python-holidays/forks
|
|
105
105
|
:alt: GitHub forks
|
|
106
106
|
|
|
107
|
-
.. |contributors| image:: https://img.shields.io/github/contributors/vacanza/python-holidays?color
|
|
107
|
+
.. |contributors| image:: https://img.shields.io/github/contributors/vacanza/python-holidays?color=41BE4A&style=flat
|
|
108
108
|
:target: https://github.com/vacanza/python-holidays/graphs/contributors
|
|
109
109
|
:alt: GitHub contributors
|
|
110
110
|
|
|
111
|
-
.. |last commit| image:: https://img.shields.io/github/last-commit/vacanza/python-holidays/dev?color
|
|
111
|
+
.. |last commit| image:: https://img.shields.io/github/last-commit/vacanza/python-holidays/dev?color=41BE4A&style=flat
|
|
112
112
|
:target: https://github.com/vacanza/python-holidays/commits/dev
|
|
113
113
|
:alt: GitHub last commit
|
|
114
114
|
|
|
115
115
|
+--------+------------------------------------------------+
|
|
116
116
|
| PyPI | |downloads| |version| |release date| |
|
|
117
117
|
+--------+------------------------------------------------+
|
|
118
|
-
| CI/CD | |status| |documentation| |
|
|
118
|
+
| CI/CD | |status| |documentation| |
|
|
119
119
|
+--------+------------------------------------------------+
|
|
120
120
|
| Code | |license| |python versions| |style| |coverage| |
|
|
121
121
|
+--------+------------------------------------------------+
|
|
@@ -199,7 +199,7 @@ Available Countries
|
|
|
199
199
|
.. _ISO 639-1 code: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
|
|
200
200
|
.. _ISO 639-2 code: https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes
|
|
201
201
|
|
|
202
|
-
We currently support
|
|
202
|
+
We currently support 147 country codes. The standard way to refer to a country
|
|
203
203
|
is by using its `ISO 3166-1 alpha-2 code`_, the same used for domain names, and
|
|
204
204
|
for a subdivision its `ISO 3166-2 code`_. Some countries have common or foreign
|
|
205
205
|
names or abbreviations as aliases for their subdivisions. These are defined in
|
|
@@ -748,6 +748,11 @@ All other default values are highlighted with bold:
|
|
|
748
748
|
-
|
|
749
749
|
-
|
|
750
750
|
-
|
|
751
|
+
* - Palau
|
|
752
|
+
- PW
|
|
753
|
+
-
|
|
754
|
+
-
|
|
755
|
+
- ARMED_FORCES, HALF_DAY
|
|
751
756
|
* - Panama
|
|
752
757
|
- PA
|
|
753
758
|
-
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
holidays/__init__.py,sha256=
|
|
1
|
+
holidays/__init__.py,sha256=ggarcqWqHczcRI4vtO7-UHerWuOsMMmYTZ1xqhAGUoQ,805
|
|
2
2
|
holidays/constants.py,sha256=vlbI7o6EJ_jNtfeOik-c6_aRJf6aOEUPoeiPGRUVFbI,1172
|
|
3
3
|
holidays/helpers.py,sha256=MRkAgbFEYw7r0PWLxjkvf4oLpyqTeCiq78ifYphYFIM,1270
|
|
4
|
-
holidays/holiday_base.py,sha256=
|
|
4
|
+
holidays/holiday_base.py,sha256=BAofupINfwZvc5N82ebn0-Hcc1DO7dxL0zOgvrX4suk,45578
|
|
5
5
|
holidays/observed_holiday_base.py,sha256=9lrv4XQF0A_IhmegaebzwiagKI1NCtD8GEoAd7vp-6I,7831
|
|
6
6
|
holidays/py.typed,sha256=EUaxvGLCfdycmOVEDt64l9fUKWuyPBxOEQWGfnMnrxE,171
|
|
7
|
-
holidays/registry.py,sha256=
|
|
7
|
+
holidays/registry.py,sha256=JtFDerj_GHeqG6Ha4DQsqL8Uw3p84na-7MvQrKchnRY,10941
|
|
8
8
|
holidays/utils.py,sha256=QC9X32LriN2zhzcf6p97AUqUh1OJ1bFo32sIc2sm_m0,12846
|
|
9
9
|
holidays/calendars/__init__.py,sha256=ppwFs1vzZQfn_MS5MV9wUKqv580pvseeJRBhooOUUlQ,1296
|
|
10
10
|
holidays/calendars/buddhist.py,sha256=OgZTOVexRzdEdiOZc9R-83KP6klwzs6QWvm35gCLIso,11364
|
|
11
11
|
holidays/calendars/chinese.py,sha256=nBr5JxueZBniknv_Uoi90b7fArFFt4m3sc-zywLZc-c,31888
|
|
12
12
|
holidays/calendars/custom.py,sha256=VM66V2zQrLZxB-PRCG_aLoNzxO-tL7FrHNDiJhfx9wA,1252
|
|
13
|
-
holidays/calendars/gregorian.py,sha256=
|
|
13
|
+
holidays/calendars/gregorian.py,sha256=VOxXbkfSnMdm5cP6ByMCZbkreAvwINve5SNir3n5GNY,2540
|
|
14
14
|
holidays/calendars/hebrew.py,sha256=coCwh5dl7-DlsBX6cmt0riJP2pvBkFqNlV_eGY22L4w,39507
|
|
15
15
|
holidays/calendars/hindu.py,sha256=Qdk-C1gBoG9IRE5qXJv3OKznzkK3bHnbn7YfrU_gJsA,11366
|
|
16
16
|
holidays/calendars/islamic.py,sha256=n1UlGUjQZbCuGitsZdUhRJKaiHsQhgwb3ez-4Z-GPKY,94422
|
|
@@ -18,7 +18,7 @@ holidays/calendars/julian.py,sha256=9bQCdrWliTNaHoTVU4vSB3PXz5pn5Htj4abVsWG863g,
|
|
|
18
18
|
holidays/calendars/julian_revised.py,sha256=6bVn_BBbgIdbqwyZu7ffVteMr8BcMDT9_jtgZEDJORQ,586
|
|
19
19
|
holidays/calendars/persian.py,sha256=XXF0L4g1op353XwR8HJIcCfHdEiMYXsGSglkoGGPXpo,1910
|
|
20
20
|
holidays/calendars/thai.py,sha256=HhzNctVhO4EGXNWgdUKDzZSUy6w45i0QQhCXIAX1_cs,23977
|
|
21
|
-
holidays/countries/__init__.py,sha256=
|
|
21
|
+
holidays/countries/__init__.py,sha256=zXL6WyRQDDzeQRnzNE4_ZpQBOQIA3UTztUdpfb9abSw,6667
|
|
22
22
|
holidays/countries/albania.py,sha256=n7R-VXyF1se4XwGyQjVPC2wOPV_EVEQS1931cgNuHUk,3427
|
|
23
23
|
holidays/countries/algeria.py,sha256=hoxAb_Rxiqiwy6h3Bm1RHnfnbRY1bGql93lqhzVO6qc,2939
|
|
24
24
|
holidays/countries/american_samoa.py,sha256=l_S70nMRqOAMoR9GOmNVrBgJDRMI_GHm1y3Q3rADQYc,1334
|
|
@@ -27,7 +27,7 @@ holidays/countries/angola.py,sha256=cPFNltkBMcaunfVH5xgq-PGvwqicvibi6SIlqBNPRGY,
|
|
|
27
27
|
holidays/countries/argentina.py,sha256=qvprGTfm6Y3QqfW6dOEkLRygKkMnAzENeV1jEB1OFzc,13005
|
|
28
28
|
holidays/countries/armenia.py,sha256=c8YMGHU-qG-P7ofAZd8kDEjxU-ANr30y0JUoAacGrJw,3681
|
|
29
29
|
holidays/countries/aruba.py,sha256=EHIuB8uzzQpsR0FX7-0fo_wD1fzr8Sr1XxvaQ5e64MY,5027
|
|
30
|
-
holidays/countries/australia.py,sha256=
|
|
30
|
+
holidays/countries/australia.py,sha256=37DS3mvKBOwIe4FnS8YidCGxLkt0cjRXNW5jVG66RG0,34485
|
|
31
31
|
holidays/countries/austria.py,sha256=fXVwTe4YE5-LGqXcCdonNMKw6QGA6QK7sgIicKuMVX4,4881
|
|
32
32
|
holidays/countries/azerbaijan.py,sha256=A7wFKo4re-e6uQk3H1G-zMG-SMcJfRpp1Mm_QtIYwKs,9848
|
|
33
33
|
holidays/countries/bahamas.py,sha256=ZkHy0rzC0aUJfe1aVGfr37OpSvETA1G927uC3FlMSAU,5566
|
|
@@ -35,12 +35,12 @@ holidays/countries/bahrain.py,sha256=S_apQ3Gleroz2VOu1Vwb63jcdx_1JohyF4_bMf2stQk
|
|
|
35
35
|
holidays/countries/bangladesh.py,sha256=fNxGmEoCIXBzja4AayBiR8G10rA7GVwsjRf6Rv3MJUg,1868
|
|
36
36
|
holidays/countries/barbados.py,sha256=R34KVNizl1l6epxe4UhMuME5eZJCnStbp_5V9o84pFc,3617
|
|
37
37
|
holidays/countries/belarus.py,sha256=9uJaEo_wG54AtYRk187qMSM1uYyGZct_kKaArkZztfY,6680
|
|
38
|
-
holidays/countries/belgium.py,sha256=
|
|
38
|
+
holidays/countries/belgium.py,sha256=HVVvDwCGfrSb2Fi9oAssR-L_inP0K7AHoe7ZKepmO9c,2801
|
|
39
39
|
holidays/countries/belize.py,sha256=lcrM4fDEZuDNxTplb4qawfsBOwfc7WN9jSVnJQyn3Vo,4034
|
|
40
|
-
holidays/countries/bolivia.py,sha256=
|
|
40
|
+
holidays/countries/bolivia.py,sha256=og3m749HyKaWQ1t4W_uWI1pMvG_918UalqmIlW5wIko,5759
|
|
41
41
|
holidays/countries/bosnia_and_herzegovina.py,sha256=xqTad5zrVeHnSnTfsmE5MSruskrNdipHWeA1jkD5qHQ,9695
|
|
42
42
|
holidays/countries/botswana.py,sha256=P7Z5cFAtLl4m_U3VBLqwxi4BOl_gtCSjey7kIgckTxY,3105
|
|
43
|
-
holidays/countries/brazil.py,sha256=
|
|
43
|
+
holidays/countries/brazil.py,sha256=_XnHp3aabnOafbRc7bHjd7qwe7nl97bPIve-o9CEVjE,12025
|
|
44
44
|
holidays/countries/brunei.py,sha256=4e_eE9zKa5s8anQOBBTIiK34DymX0H_2AhZkL3sE5yQ,11378
|
|
45
45
|
holidays/countries/bulgaria.py,sha256=q2Q_2ijtUtD7Gc8w2_DM3yWMGqd8aV8zJgOFVtNBH3c,5453
|
|
46
46
|
holidays/countries/burkina_faso.py,sha256=xJsb8C74j_VcibUGqDJ-Hrb3j9SWWoKx7YqxePBHZIs,4089
|
|
@@ -49,16 +49,16 @@ holidays/countries/cambodia.py,sha256=oDOSfUeARKGNa9vRfwmbd3vcE01hDqYsHJQ1hPMZUP
|
|
|
49
49
|
holidays/countries/cameroon.py,sha256=s_3R7GmDZojfvWY8Bpwy_rLe0BNghe8N7AO5ffKNL0Y,5180
|
|
50
50
|
holidays/countries/canada.py,sha256=3bfoWDh8FtsVXFbwO1RdbQp4WZs8OxKtX9uEdLWz4xw,17818
|
|
51
51
|
holidays/countries/chad.py,sha256=vTXNNnZ8BpxypWf9bNN02EizkLw_yACPf7uCzm5sfQI,3847
|
|
52
|
-
holidays/countries/chile.py,sha256=
|
|
52
|
+
holidays/countries/chile.py,sha256=1wAdVbbfmd6GAo5KcGCvwbLxRuQHs4Bw1R90bhp6Q7s,7907
|
|
53
53
|
holidays/countries/china.py,sha256=ViMYe59XOIuUBJZat0CNNpqz2A4VOqdPgtWjCjk5iEw,19252
|
|
54
|
-
holidays/countries/colombia.py,sha256=
|
|
54
|
+
holidays/countries/colombia.py,sha256=hsywP1p_8hdkW5vvdls3cERdPoZWf6OoNfg-2GTbVfc,4445
|
|
55
55
|
holidays/countries/costa_rica.py,sha256=jiHfPfSYSd6Vd7-iYNbW1mmpObJ9FUYgEg-u21YvQbc,4413
|
|
56
56
|
holidays/countries/croatia.py,sha256=VG5JQevj_anXP9tFYWNbfaOdBiUHvMo-IeWBSluqXXY,3536
|
|
57
57
|
holidays/countries/cuba.py,sha256=Ukc2WiTeJf4uoRGRpI_S4bZmK82Yha2eaS3pXqp_fHM,3987
|
|
58
58
|
holidays/countries/curacao.py,sha256=XmvFdTT__bbcitWoOlBxkgeGh1tGpkb_vmxYNm_NfmQ,4435
|
|
59
|
-
holidays/countries/cyprus.py,sha256=
|
|
59
|
+
holidays/countries/cyprus.py,sha256=NjpCaIJkj0b9ujfz-11ooIT_JPeFXlw7ChDj0c-sxIM,3704
|
|
60
60
|
holidays/countries/czechia.py,sha256=EXnY-j3b2blAc8dMloGo_bq4Fi7u1-Wq8rdt_reOUFI,3169
|
|
61
|
-
holidays/countries/denmark.py,sha256=
|
|
61
|
+
holidays/countries/denmark.py,sha256=xLfnr2yLSWRPSS1d8oiPe66SyG7MNW2BpdUC1OeHJmo,2771
|
|
62
62
|
holidays/countries/djibouti.py,sha256=rZxB9Al64hqpcsXYaEGsvW4YypESIq4zYuMWo075dzY,2620
|
|
63
63
|
holidays/countries/dominican_republic.py,sha256=yl57iaSul9av-PpqRBeLOhDXC4yfqywN0rbQEYNG7I0,3196
|
|
64
64
|
holidays/countries/ecuador.py,sha256=dl-a1IO9oO5gC65JJoQdAySoM4rsnVEYRs_vOJl0F6Q,3766
|
|
@@ -67,13 +67,13 @@ holidays/countries/el_salvador.py,sha256=Njaug6iTLm0_vQCYlyhjllH_sCpx4cXSlb8IdWi
|
|
|
67
67
|
holidays/countries/estonia.py,sha256=nRrBNNrGnjLnLRWlsZBr1-a6MvZkf35IPF0M_E-GAIc,2202
|
|
68
68
|
holidays/countries/eswatini.py,sha256=eGHnfJ1Bq6Y9U-teLDrFYxd9DPSCmgmxNwX1FBkQTUA,3173
|
|
69
69
|
holidays/countries/ethiopia.py,sha256=jRULgq4W6fTEYmpZBVKFEmXTcMkvAUpxHcu3p0Wf-98,4364
|
|
70
|
-
holidays/countries/finland.py,sha256=
|
|
71
|
-
holidays/countries/france.py,sha256
|
|
70
|
+
holidays/countries/finland.py,sha256=OikVI0kRssJ8YwUUaW_u4-Mk-EQ3OYXF85EZVdJOx40,2988
|
|
71
|
+
holidays/countries/france.py,sha256=-wN7zPaCzMuimFCBzPh3IbKEb7dM-UQ95NA8JGrowCA,7827
|
|
72
72
|
holidays/countries/gabon.py,sha256=TPXtruJVk6USEQ7WQ7OZR9xdh0iME7woiFzN2U7eDss,3981
|
|
73
73
|
holidays/countries/georgia.py,sha256=sOigkiz8jMf64ycNIEf24G9uFq9qSW8GA5IjodZ2CCM,3337
|
|
74
74
|
holidays/countries/germany.py,sha256=MSkci8ShdCOou-TLrGkhorqK9GFKjN3S_UBY74hMSEA,9492
|
|
75
75
|
holidays/countries/ghana.py,sha256=4JxcMnlUp7L9c-CJOHrWdDFDJomFJXipz1poIjXZbiA,3131
|
|
76
|
-
holidays/countries/greece.py,sha256=
|
|
76
|
+
holidays/countries/greece.py,sha256=9IeTTmP2XBgWtrAozWa7FfqYw0kAUHYwYk9320NhdrU,3564
|
|
77
77
|
holidays/countries/guam.py,sha256=m0_KYRp4eou-DDXcMD-gZSYln8mTlzBL_7lblhlb6t4,1325
|
|
78
78
|
holidays/countries/guatemala.py,sha256=5Apehk1KSFgAxUE5tgz4RLjMdGtu4GsNIzmGHtduPaU,2952
|
|
79
79
|
holidays/countries/honduras.py,sha256=S76d3ewTbfMsTzov5Vmlfwoyc1L-eGRxnfblhriUQ4Y,2630
|
|
@@ -108,27 +108,28 @@ holidays/countries/maldives.py,sha256=6bsAOhzYVBQN24RxPucAvIqUJZRqEJHP_0rU5VZSMa
|
|
|
108
108
|
holidays/countries/malta.py,sha256=Sf4JFSeDtCZ8sJz3HXaQP6oyl6lgxhxQCX8XnvxWt68,4903
|
|
109
109
|
holidays/countries/marshall_islands.py,sha256=vMpcBYHqM5wF6SItTXCW6PceT7-dHPUD5wBj-U-3KqQ,3256
|
|
110
110
|
holidays/countries/mexico.py,sha256=gpUwBDdHrZ_0kUzM-4-h_RsZpeG1pQo8D7kF8IdPuhs,3206
|
|
111
|
-
holidays/countries/moldova.py,sha256=
|
|
111
|
+
holidays/countries/moldova.py,sha256=EEX7CydvPyLaE1Ry4JSCpIyq2R__HRdH3BYMcar1_GY,3337
|
|
112
112
|
holidays/countries/monaco.py,sha256=gpG_BS67XJnZ6F2_ahZ-oLXIog-hEuhkLdK4Xk06SxA,3055
|
|
113
113
|
holidays/countries/montenegro.py,sha256=FIolfCyQJbnLNV8rDisfr1ZZv6DE6Q5hb0pjn_RSuN8,2741
|
|
114
114
|
holidays/countries/morocco.py,sha256=HXBkGgAeboQj4PQ0RW--MiVTmydSNOukS6AtAOKTVB0,3558
|
|
115
115
|
holidays/countries/mozambique.py,sha256=As5VAgFnRw4pq4opWPqRFlWCYNlgGw6lQHjNlrzCNK0,2489
|
|
116
116
|
holidays/countries/namibia.py,sha256=agox1BeyfcpquHvHRmXZ2vUi1u-wNgUmQ4vLKDUU0aU,3388
|
|
117
117
|
holidays/countries/netherlands.py,sha256=5VYIxgMQPPiBaygxKgAYUpkP8e08enF6Uf-XEhimo4c,3282
|
|
118
|
-
holidays/countries/new_zealand.py,sha256=
|
|
118
|
+
holidays/countries/new_zealand.py,sha256=ypUDt4EG4d-ad6gDALYcC3_MyI72B5MxBES9Xluuj78,10465
|
|
119
119
|
holidays/countries/nicaragua.py,sha256=TNSNv-FhdUVEHHhc57-teY5VjQTXU0WfYAy2dg1yMM8,2609
|
|
120
120
|
holidays/countries/nigeria.py,sha256=V1eQysO6lSAehc-lzuGzTZUSi8t8YAupqrH9yEHmEHg,3238
|
|
121
121
|
holidays/countries/north_macedonia.py,sha256=6NMyJhZLat5H78CFdiywhDl6GIyhi21ywLtY_iEAgSo,1916
|
|
122
122
|
holidays/countries/northern_mariana_islands.py,sha256=t9yWs5-o3-LkIpOTGZ8Bx16rCgI23t11Qj1cHfSek-A,1343
|
|
123
123
|
holidays/countries/norway.py,sha256=4yyD9c0bYCFmDJtZjSwUh94DH668F2AdnuvXG3dHMj0,3436
|
|
124
124
|
holidays/countries/pakistan.py,sha256=621Xh-of3U84lq2eZ_BvIJjCRvdhfQ8s5VtwOZu--XM,4666
|
|
125
|
+
holidays/countries/palau.py,sha256=SjQOXgXimH-hH4_V6YCyOWCgnb2Z1GXIT24VfXWhEyw,4759
|
|
125
126
|
holidays/countries/panama.py,sha256=-t1Ma0Sf9_Y3eAvhYg4FXKUg-YayyCUGkTXG8G-Bu2E,2449
|
|
126
127
|
holidays/countries/papua_new_guinea.py,sha256=IMKbyO_UmyQy8mh0WQLdcM7IKXZey1M8yjk0M__Ol30,7588
|
|
127
128
|
holidays/countries/paraguay.py,sha256=akpeGUc0-OdDSZ-5V2LGWNX4XvgBDxalQsXcg1--iog,8187
|
|
128
129
|
holidays/countries/peru.py,sha256=V9Tmfob-McOdJRCb3t8CxwtLvuf8I8U2Ekb0-jQ72C4,2696
|
|
129
130
|
holidays/countries/philippines.py,sha256=UTO9nzsRNgzSv_0tZk_OPti8ZFIYou1pWZ6b-1MfWlw,2874
|
|
130
131
|
holidays/countries/poland.py,sha256=QHq_U-5aqINTc4-1JJMWkuPYqGKT8v0P0zagJDCGd64,4333
|
|
131
|
-
holidays/countries/portugal.py,sha256=
|
|
132
|
+
holidays/countries/portugal.py,sha256=puBPmyfX4bjQTwRC-qIW5PauetTcMYWDBCUQqseFVsA,8941
|
|
132
133
|
holidays/countries/puerto_rico.py,sha256=SYUBJba6oH4kkMlgPXcP9wLq0O57pHfZA_QAHnU_Lu4,1331
|
|
133
134
|
holidays/countries/romania.py,sha256=ejXD5d-Fl49PxlI89X8RursNPm4aDG5gf87RbtYIIWA,2963
|
|
134
135
|
holidays/countries/russia.py,sha256=-AbOxOYnm1JRQlmpN3qB0A6kjSNJbLhqF2nnh7ZH3hY,4502
|
|
@@ -140,24 +141,24 @@ holidays/countries/singapore.py,sha256=huZ4ayh9atEn5btcoGaTUBYWkNyV32NriRhId_jux
|
|
|
140
141
|
holidays/countries/slovakia.py,sha256=LCRgd7F5mhvKFCWce977LcalW7-JxdPxtXXPPm_sGD0,3960
|
|
141
142
|
holidays/countries/slovenia.py,sha256=XP9G0TcMR6gM9vgo6aQZfuYBv8QmFu52gbh1WOZ-hto,3015
|
|
142
143
|
holidays/countries/south_africa.py,sha256=PCcG5AncbK34VWoa6Bz4ZCPyluFo4cQJqHCyIiQU0Lc,5712
|
|
143
|
-
holidays/countries/south_korea.py,sha256=
|
|
144
|
+
holidays/countries/south_korea.py,sha256=23J0qlorsBxdonKvXwTXFzxRzOP9st2zPKFw9vch3Nw,25041
|
|
144
145
|
holidays/countries/spain.py,sha256=2iqWkjbXyvRdeGOI8DbpdCgR-3_hGuOLAE6FJqUkqpg,27634
|
|
145
146
|
holidays/countries/sweden.py,sha256=CGIvoc-zcxdz8vhqG3VrNtul_8DGNpA7P1XDvohR6WM,4360
|
|
146
147
|
holidays/countries/switzerland.py,sha256=cJ7ykhtZIuL75Jjem4y_4LXIGmG04ozU35mTkJjU5gQ,16216
|
|
147
148
|
holidays/countries/taiwan.py,sha256=yCytErpOLrWRgao9OIPkP2wgTB8H-pIyUR8zjKLTxxc,6822
|
|
148
149
|
holidays/countries/tanzania.py,sha256=9yuhe3szDsGWJL0fZzYMozsQPnfqOrt2LFxAbVKTvxg,10389
|
|
149
150
|
holidays/countries/thailand.py,sha256=EjbGg-Xk2p5VgZ7PDho-i5ljMK1Vp_8m6hJZRDPJasA,38821
|
|
150
|
-
holidays/countries/timor_leste.py,sha256=
|
|
151
|
+
holidays/countries/timor_leste.py,sha256=lz4_oU3zxgWskq_irwiSatpzVc_87xP--50WaHJRsug,17424
|
|
151
152
|
holidays/countries/tonga.py,sha256=ROmBnUkD_oEqC1Wvinp4md57ESw127wtV12NInUOLCs,9766
|
|
152
153
|
holidays/countries/tunisia.py,sha256=N31SfjXM58zTucUz_Z9BMZGyudtv3oJtHiII4LMJBtY,2802
|
|
153
154
|
holidays/countries/turkey.py,sha256=gqzIyBs9GTU7L0T9aXjjvLaGrludDQiNVzJJOI2ym10,9464
|
|
154
155
|
holidays/countries/ukraine.py,sha256=6dL6wP0bURY8X8z5KS1koifYugoGh_-j37I50iwbSV0,13675
|
|
155
156
|
holidays/countries/united_arab_emirates.py,sha256=_6uMY9EvK5zpojVCot3W3BfLhFkziO7JHXQFPfQszqY,4833
|
|
156
157
|
holidays/countries/united_kingdom.py,sha256=z_FqdBKlDojir_GAK4EaJLKc-bxqqnt2wGSpVBcsZ9U,7435
|
|
157
|
-
holidays/countries/united_states.py,sha256=
|
|
158
|
+
holidays/countries/united_states.py,sha256=PUCOpjvs2qiIDnoFOyuXpEUppEnqb96lSdutkNM4YrI,33456
|
|
158
159
|
holidays/countries/united_states_minor_outlying_islands.py,sha256=Wlo2J1oSYJAY_NW-znoMixMAd_LibJf0jbXg_IXCdv4,1353
|
|
159
160
|
holidays/countries/united_states_virgin_islands.py,sha256=DzLAfM2eLei1JpaU3aZwNPI3p9xTERmN9LVT-3GMS_s,1346
|
|
160
|
-
holidays/countries/uruguay.py,sha256=
|
|
161
|
+
holidays/countries/uruguay.py,sha256=Y-lNkc7MrIMduNeueI4UZhG18qoatsUtNE73dgpgTOI,6315
|
|
161
162
|
holidays/countries/uzbekistan.py,sha256=IeqIi_gYANvvCzIbhCJ7WWOfkTjVBZUSBGvjmMDmcCs,7158
|
|
162
163
|
holidays/countries/vanuatu.py,sha256=ap1RRN10FAmWwa5iXvjcZ7QgE5axPZz-mi7kSnvWpps,3444
|
|
163
164
|
holidays/countries/vatican_city.py,sha256=cTg9C47DDl17TmOn8h4J5-h-NkKSCm5YGuB8eluPkSg,4194
|
|
@@ -174,7 +175,7 @@ holidays/groups/chinese.py,sha256=BYHXWV9ANIUggWN7MVEwe0FVBqCn-7XLR51xRLJBvCI,80
|
|
|
174
175
|
holidays/groups/christian.py,sha256=-ystqBGNqdJKBV0bly-QRJEx2UuKcU_9pjzLl0je-Ho,15857
|
|
175
176
|
holidays/groups/custom.py,sha256=4ycXAs9cm1eB4YuQdMWz_JpcYuImsab6gTX35PzDna8,1360
|
|
176
177
|
holidays/groups/hindu.py,sha256=5pQVZI_kYuK5XIb1d4xdz1VgZBP-2e-0T6i2Hm1r4LY,2424
|
|
177
|
-
holidays/groups/international.py,sha256=
|
|
178
|
+
holidays/groups/international.py,sha256=6UoYUvp2oQTnpFi7zZ67YcUXTYO5_XrF0aUIXXKNVww,7428
|
|
178
179
|
holidays/groups/islamic.py,sha256=oMdbKEhkdMioULRIbPo1LBmHHp1qwhT82YrG5lI0DBw,14210
|
|
179
180
|
holidays/groups/persian.py,sha256=Dk1S5QmC1urwLtMIsVK4rnzCpZOz58RzH9vM1xWYdtY,5673
|
|
180
181
|
holidays/groups/thai.py,sha256=LWxJ4pqzXN7cs6yM4N4WbqIFI9PFy_zkDo-D-cox2eI,6899
|
|
@@ -708,9 +709,9 @@ holidays/locale/zh_TW/LC_MESSAGES/CN.mo,sha256=F6cp16LNz1N4eRH6X9i0HKYTeJ5qMpdUU
|
|
|
708
709
|
holidays/locale/zh_TW/LC_MESSAGES/CN.po,sha256=ulWILGK_yCghW7AnAw07Kgv5_9J9P5vf2dGj2SpbpKc,2524
|
|
709
710
|
holidays/locale/zh_TW/LC_MESSAGES/TW.mo,sha256=S4I-U8VKhJqcZ5fxoDWxG--qPL9TGacOgU6oaXNKxxo,461
|
|
710
711
|
holidays/locale/zh_TW/LC_MESSAGES/TW.po,sha256=uDCu7osDGOu6SmeD3qFBlV4uy0bUknEXxR43o4binl8,1788
|
|
711
|
-
holidays-0.
|
|
712
|
-
holidays-0.
|
|
713
|
-
holidays-0.
|
|
714
|
-
holidays-0.
|
|
715
|
-
holidays-0.
|
|
716
|
-
holidays-0.
|
|
712
|
+
holidays-0.48.dist-info/AUTHORS,sha256=ObOZOF7A0G_sl-8gMI8RuPEfyBKcKk1bDePE_fwgCXs,2071
|
|
713
|
+
holidays-0.48.dist-info/LICENSE,sha256=jD0zUrtvmPyeu89b7hURSzFkPsNrNjD3--XRoT3Iwt8,1241
|
|
714
|
+
holidays-0.48.dist-info/METADATA,sha256=GCvfgvV2Sr6MwMyu6sZCrIg0zLKb51QiABOzRTeYLtA,23246
|
|
715
|
+
holidays-0.48.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
716
|
+
holidays-0.48.dist-info/top_level.txt,sha256=VbGrOCSM-V2kztuL_7CoDKLOgzOc85ueFsng7VYerrQ,9
|
|
717
|
+
holidays-0.48.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|