holidays 0.42__py3-none-any.whl → 0.43__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 CHANGED
@@ -16,7 +16,7 @@ from holidays.holiday_base import *
16
16
  from holidays.registry import EntityLoader
17
17
  from holidays.utils import *
18
18
 
19
- __version__ = "0.42"
19
+ __version__ = "0.43"
20
20
 
21
21
 
22
22
  EntityLoader.load("countries", globals())
@@ -21,16 +21,48 @@ class Austria(HolidayBase, ChristianHolidays, InternationalHolidays):
21
21
  default_language = "de"
22
22
  supported_categories = (BANK, PUBLIC)
23
23
  supported_languages = ("de", "en_US", "uk")
24
- subdivisions = ("1", "2", "3", "4", "5", "6", "7", "8", "9")
24
+ subdivisions = (
25
+ "1", # Burgenland.
26
+ "2", # Kärnten.
27
+ "3", # Niederösterreich.
28
+ "4", # Oberösterreich.
29
+ "5", # Salzburg.
30
+ "6", # Steiermark.
31
+ "7", # Tirol.
32
+ "8", # Vorarlberg.
33
+ "9", # Wien.
34
+ )
35
+ subdivisions_aliases = {
36
+ "Burgenland": "1",
37
+ "Bgld": "1",
38
+ "B": "1",
39
+ "Kärnten": "2",
40
+ "Ktn": "2",
41
+ "K": "2",
42
+ "Niederösterreich": "3",
43
+ "NÖ": "3",
44
+ "N": "3",
45
+ "Oberösterreich": "4",
46
+ "OÖ": "4",
47
+ "O": "4",
48
+ "Salzburg": "5",
49
+ "Sbg": "5",
50
+ "S": "5",
51
+ "Steiermark": "6",
52
+ "Stmk": "6",
53
+ "St": "6",
54
+ "Tirol": "7",
55
+ "T": "7",
56
+ "Vorarlberg": "8",
57
+ "Vbg": "8",
58
+ "V": "8",
59
+ "Wien": "9",
60
+ "W": "9",
61
+ }
25
62
 
26
63
  def __init__(self, *args, **kwargs) -> None:
27
64
  ChristianHolidays.__init__(self)
28
65
  InternationalHolidays.__init__(self)
29
-
30
- # Set the default subdivision.
31
- if not kwargs.get("subdiv", kwargs.get("state")):
32
- kwargs["subdiv"] = "9"
33
-
34
66
  super().__init__(*args, **kwargs)
35
67
 
36
68
  def _populate_public_holidays(self):
@@ -58,11 +90,12 @@ class Austria(HolidayBase, ChristianHolidays, InternationalHolidays):
58
90
  # Assumption Day.
59
91
  self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
60
92
 
93
+ # National Day.
94
+ national_day = tr("Nationalfeiertag")
61
95
  if 1919 <= self._year <= 1934:
62
- # National Day.
63
- self._add_holiday_nov_12(tr("Nationalfeiertag"))
96
+ self._add_holiday_nov_12(national_day)
64
97
  if self._year >= 1967:
65
- self._add_holiday_oct_26(tr("Nationalfeiertag"))
98
+ self._add_holiday_oct_26(national_day)
66
99
 
67
100
  # All Saints' Day.
68
101
  self._add_all_saints_day(tr("Allerheiligen"))
@@ -86,6 +119,46 @@ class Austria(HolidayBase, ChristianHolidays, InternationalHolidays):
86
119
  # New Year's Eve.
87
120
  self._add_new_years_eve(tr("Silvester"))
88
121
 
122
+ def _populate_subdiv_1_bank_holidays(self):
123
+ # St. Martin's Day.
124
+ self._add_holiday_nov_11(tr("Hl. Martin"))
125
+
126
+ def _populate_subdiv_2_bank_holidays(self):
127
+ # St. Joseph's Day.
128
+ self._add_saint_josephs_day(tr("Hl. Josef"))
129
+
130
+ # 1920 Carinthian plebiscite.
131
+ self._add_holiday_oct_10(tr("Tag der Volksabstimmung"))
132
+
133
+ def _populate_subdiv_3_bank_holidays(self):
134
+ # St. Leopold's Day.
135
+ self._add_holiday_nov_15(tr("Hl. Leopold"))
136
+
137
+ def _populate_subdiv_4_bank_holidays(self):
138
+ if self._year >= 2004:
139
+ # St. Florian's Day.
140
+ self._add_holiday_may_4(tr("Hl. Florian"))
141
+
142
+ def _populate_subdiv_5_bank_holidays(self):
143
+ # St. Rupert's Day.
144
+ self._add_holiday_sep_24(tr("Hl. Rupert"))
145
+
146
+ def _populate_subdiv_6_bank_holidays(self):
147
+ # St. Joseph's Day.
148
+ self._add_saint_josephs_day(tr("Hl. Josef"))
149
+
150
+ def _populate_subdiv_7_bank_holidays(self):
151
+ # St. Joseph's Day.
152
+ self._add_saint_josephs_day(tr("Hl. Josef"))
153
+
154
+ def _populate_subdiv_8_bank_holidays(self):
155
+ # St. Joseph's Day.
156
+ self._add_saint_josephs_day(tr("Hl. Josef"))
157
+
158
+ def _populate_subdiv_9_bank_holidays(self):
159
+ # St. Leopold's Day.
160
+ self._add_holiday_nov_15(tr("Hl. Leopold"))
161
+
89
162
 
90
163
  class AT(Austria):
91
164
  pass
@@ -9,35 +9,33 @@
9
9
  # Website: https://github.com/dr-prodigy/python-holidays
10
10
  # License: MIT (see LICENSE file)
11
11
 
12
- from holidays.calendars.gregorian import FEB, MAR
12
+ from holidays.calendars.gregorian import FEB, MAR, SEP, DEC
13
13
  from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
14
- from holidays.observed_holiday_base import (
15
- ObservedHolidayBase,
16
- SAT_SUN_TO_NEXT_MON,
17
- SAT_SUN_TO_NEXT_MON_TUE,
18
- )
14
+ from holidays.holiday_base import HolidayBase
19
15
 
20
16
 
21
- class Ireland(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
17
+ class Ireland(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
22
18
  """
23
- Official holidays in Ireland, as declared in the Citizen's Information
24
- bulletin:
25
- https://www.citizensinformation.ie/en/employment/employment_rights_and_conditions/leave_and_holidays/public_holidays_in_ireland.html
19
+ References:
20
+ - https://en.wikipedia.org/wiki/Public_holidays_in_the_Republic_of_Ireland
21
+ - https://www.citizensinformation.ie/en/employment/employment_rights_and_conditions/leave_and_holidays/public_holidays_in_ireland.html # noqa: E501
26
22
  """
27
23
 
28
24
  country = "IE"
29
- observed_label = "%s (observed)"
30
25
 
31
26
  def __init__(self, *args, **kwargs):
32
27
  ChristianHolidays.__init__(self)
33
28
  InternationalHolidays.__init__(self)
34
29
  StaticHolidays.__init__(self, IrelandStaticHolidays)
35
- kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
36
30
  super().__init__(*args, **kwargs)
37
31
 
38
32
  def _populate_public_holidays(self):
33
+ if self._year <= 1871:
34
+ return None
35
+
39
36
  # New Year's Day.
40
- self._add_new_years_day("New Year's Day")
37
+ if self._year >= 1975:
38
+ self._add_new_years_day("New Year's Day")
41
39
 
42
40
  # St. Brigid's Day.
43
41
  if self._year >= 2023:
@@ -48,35 +46,39 @@ class Ireland(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Sta
48
46
  self._add_holiday_1st_mon_from_feb_1(name)
49
47
 
50
48
  # St. Patrick's Day.
51
- self._add_observed(self._add_holiday_mar_17("St. Patrick's Day"))
49
+ if self._year >= 1903:
50
+ self._add_holiday_mar_17("St. Patrick's Day")
52
51
 
53
52
  # Easter Monday.
54
53
  self._add_easter_monday("Easter Monday")
55
54
 
56
55
  # May Day.
57
- if self._year >= 1978:
56
+ if self._year >= 1994:
58
57
  name = "May Day"
59
58
  if self._year == 1995:
60
59
  self._add_holiday_may_8(name)
61
60
  else:
62
61
  self._add_holiday_1st_mon_of_may(name)
63
62
 
64
- # June Bank holiday.
65
- self._add_holiday_1st_mon_of_jun("June Bank Holiday")
63
+ if self._year >= 1973:
64
+ # June Bank Holiday.
65
+ self._add_holiday_1st_mon_of_jun("June Bank Holiday")
66
+ else:
67
+ # Whit Monday.
68
+ self._add_whit_monday("Whit Monday")
66
69
 
67
- # Summer Bank holiday.
70
+ # August Bank Holiday.
68
71
  self._add_holiday_1st_mon_of_aug("August Bank Holiday")
69
72
 
70
73
  # October Bank Holiday.
71
- self._add_holiday_last_mon_of_oct("October Bank Holiday")
74
+ if self._year >= 1977:
75
+ self._add_holiday_last_mon_of_oct("October Bank Holiday")
72
76
 
73
77
  # Christmas Day.
74
- self._add_observed(self._add_christmas_day("Christmas Day"))
78
+ self._add_christmas_day("Christmas Day")
75
79
 
76
80
  # St. Stephen's Day.
77
- self._add_observed(
78
- self._add_christmas_day_two("St. Stephen's Day"), rule=SAT_SUN_TO_NEXT_MON_TUE
79
- )
81
+ self._add_christmas_day_two("St. Stephen's Day")
80
82
 
81
83
 
82
84
  class IE(Ireland):
@@ -89,5 +91,7 @@ class IRL(Ireland):
89
91
 
90
92
  class IrelandStaticHolidays:
91
93
  special_public_holidays = {
94
+ 1999: (DEC, 31, "Millennium Celebrations"),
95
+ 2011: (SEP, 14, "National Day of Mourning"),
92
96
  2022: (MAR, 18, "Day of Remembrance and Recognition"),
93
97
  }
@@ -145,7 +145,7 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
145
145
  # - get Holidays that occur on Thursday and add Friday (+1 day)
146
146
 
147
147
  # Carnival.
148
- self._add_carnival_monday(tr("Carnaval"))
148
+ self._add_carnival_tuesday(tr("Carnaval"))
149
149
 
150
150
  # St. Anthony's Day.
151
151
  self._add_holiday_jun_13(tr("Dia de Santo António"))
@@ -9,68 +9,86 @@
9
9
  # Website: https://github.com/dr-prodigy/python-holidays
10
10
  # License: MIT (see LICENSE file)
11
11
 
12
+ from datetime import date
12
13
  from gettext import gettext as tr
14
+ from typing import Set
13
15
 
14
- from holidays.groups import ChineseCalendarHolidays, InternationalHolidays
16
+ from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, SEP, OCT, DEC
17
+ from holidays.groups import ChineseCalendarHolidays, InternationalHolidays, StaticHolidays
15
18
  from holidays.observed_holiday_base import (
16
19
  ObservedHolidayBase,
20
+ ObservedRule,
17
21
  SAT_TO_PREV_WORKDAY,
18
22
  SUN_TO_NEXT_WORKDAY,
23
+ SAT_SUN_TO_NEXT_WORKDAY,
19
24
  )
20
25
 
21
26
 
22
- class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays):
27
+ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays, StaticHolidays):
23
28
  """
24
29
  References:
25
- - https://www.dgpa.gov.tw/information?uid=353&pid=10659
26
30
  - https://en.wikipedia.org/wiki/Public_holidays_in_Taiwan
27
31
  - https://www.officeholidays.com/countries/taiwan
28
-
29
- If a public holiday falls on Tuesday or Thursday, government establishes an "extended holiday",
30
- although this will be compensated by making Saturday a working day.
31
- It's not supported yet.
32
+ - `2024 <https://www.dgpa.gov.tw/en/information?uid=353&pid=11402>`_
33
+ - `2023 <https://www.dgpa.gov.tw/en/information?uid=353&pid=11016>`_
34
+ - `2022 <https://www.dgpa.gov.tw/en/information?uid=353&pid=10659>`_
35
+ - `2021 <https://www.dgpa.gov.tw/en/information?uid=353&pid=10181>`_
36
+ - `2020 <https://www.dgpa.gov.tw/en/information?uid=353&pid=9724>`_
37
+ - `2019 <https://www.dgpa.gov.tw/en/information?uid=353&pid=8178>`_
38
+ - `2018 <https://www.dgpa.gov.tw/en/information?uid=353&pid=7730>`_
39
+ - `2017 <https://www.dgpa.gov.tw/en/information?uid=353&pid=6178>`_
40
+ - `2016 <https://www.dgpa.gov.tw/en/information?uid=353&pid=6180>`_
41
+ - `2015 <https://www.dgpa.gov.tw/en/information?uid=353&pid=6182>`_
42
+ - `2014 <https://www.dgpa.gov.tw/en/information?uid=353&pid=6183>`_
43
+ - `2013 <https://www.dgpa.gov.tw/en/information?uid=353&pid=6186>`_
44
+ - `2012 <https://www.dgpa.gov.tw/en/information?uid=353&pid=6187>`_
45
+ - `2011 <https://www.dgpa.gov.tw/en/information?uid=353&pid=6188>`_
46
+ - `2010 <https://www.dgpa.gov.tw/en/information?uid=353&pid=6189>`_
32
47
  """
33
48
 
34
49
  country = "TW"
35
50
  # %s (observed).
36
- observed_label = tr("%s (慶祝)")
51
+ observed_label = tr("%s(慶祝)")
37
52
  default_language = "zh_TW"
38
53
  supported_languages = ("en_US", "th", "zh_CN", "zh_TW")
39
54
 
40
55
  def __init__(self, *args, **kwargs):
41
56
  ChineseCalendarHolidays.__init__(self)
42
57
  InternationalHolidays.__init__(self)
58
+ StaticHolidays.__init__(self, TaiwanStaticHolidays)
43
59
  kwargs.setdefault("observed_rule", SAT_TO_PREV_WORKDAY + SUN_TO_NEXT_WORKDAY)
44
- kwargs.setdefault("observed_since", 2015)
45
60
  super().__init__(*args, **kwargs)
46
61
 
62
+ def _populate_observed(
63
+ self, dts: Set[date], rule: ObservedRule = None, since: int = 2015
64
+ ) -> None:
65
+ if self._year < since:
66
+ return None
67
+ for dt in sorted(dts):
68
+ for name in self.get_list(dt):
69
+ self._add_observed(dt, name, rule)
70
+
47
71
  def _populate_public_holidays(self):
48
72
  if self._year <= 1911:
49
73
  return None
50
74
 
51
75
  dts_observed = set()
76
+ dts_observed_forward = set()
52
77
 
53
78
  # Founding Day of the Republic of China.
54
79
  name = tr("中華民國開國紀念日")
55
80
  dts_observed.add(self._add_new_years_day(name))
56
- self._add_observed(self._next_year_new_years_day, name=name)
81
+ if self._year >= 2015:
82
+ self._add_observed(self._next_year_new_years_day, name=name)
57
83
 
58
84
  # Chinese New Year's Eve.
59
- self._add_chinese_new_years_eve(tr("農曆除夕"))
85
+ dts_observed_forward.add(self._add_chinese_new_years_eve(tr("農曆除夕")))
60
86
 
61
87
  # Chinese New Year.
62
88
  name = tr("春節")
63
- dt = self._add_chinese_new_years_day(name)
64
- self._add_chinese_new_years_day_two(name)
65
- self._add_chinese_new_years_day_three(name)
66
- if self.observed and self._year >= 2015:
67
- if self._is_monday(dt):
68
- self._add_chinese_new_years_day_four(name)
69
- elif self._is_thursday(dt):
70
- self._add_chinese_new_years_day_five(name)
71
- elif self._is_friday(dt) or self._is_weekend(dt):
72
- self._add_chinese_new_years_day_four(name)
73
- self._add_chinese_new_years_day_five(name)
89
+ dts_observed_forward.add(self._add_chinese_new_years_day(name))
90
+ dts_observed_forward.add(self._add_chinese_new_years_day_two(name))
91
+ dts_observed_forward.add(self._add_chinese_new_years_day_three(name))
74
92
 
75
93
  if self._year >= 1997:
76
94
  # Peace Memorial Day.
@@ -78,7 +96,9 @@ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays
78
96
 
79
97
  if 1990 <= self._year <= 1999 or self._year >= 2011:
80
98
  # Children's Day.
81
- dts_observed.add(self._add_holiday_apr_4(tr("兒童節")))
99
+ apr_4 = self._add_holiday_apr_4(tr("兒童節"))
100
+ if self._year != 2021:
101
+ dts_observed.add(apr_4)
82
102
 
83
103
  if self._year >= 1972:
84
104
  # Tomb Sweeping Day.
@@ -94,7 +114,8 @@ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays
94
114
  dts_observed.add(self._add_holiday_oct_10(tr("中華民國國慶日")))
95
115
 
96
116
  if self.observed:
97
- self._populate_observed(dts_observed, multiple=True)
117
+ self._populate_observed(dts_observed)
118
+ self._populate_observed(dts_observed_forward, rule=SAT_SUN_TO_NEXT_WORKDAY, since=2010)
98
119
 
99
120
 
100
121
  class TW(Taiwan):
@@ -103,3 +124,72 @@ class TW(Taiwan):
103
124
 
104
125
  class TWN(Taiwan):
105
126
  pass
127
+
128
+
129
+ class TaiwanStaticHolidays:
130
+ # Date format (see strftime() Format Codes).
131
+ substituted_date_format = tr("%Y-%m-%d")
132
+ # Day off (substituted from %s).
133
+ substituted_label = tr("休息日(%s日起取代)")
134
+
135
+ childrens_day = tr("兒童節")
136
+
137
+ special_public_holidays = {
138
+ 2010: (FEB, 19, FEB, 6),
139
+ 2012: (
140
+ (JAN, 27, FEB, 4),
141
+ (FEB, 27, MAR, 3),
142
+ (DEC, 31, DEC, 22),
143
+ ),
144
+ 2013: (
145
+ (FEB, 15, FEB, 23),
146
+ (SEP, 20, SEP, 14),
147
+ ),
148
+ 2015: (JAN, 2, DEC, 27, 2014),
149
+ 2016: (
150
+ (FEB, 12, JAN, 30),
151
+ (JUN, 10, JUN, 4),
152
+ (SEP, 16, SEP, 10),
153
+ ),
154
+ 2017: (
155
+ (FEB, 27, FEB, 18),
156
+ (MAY, 29, JUN, 3),
157
+ (OCT, 9, SEP, 30),
158
+ ),
159
+ 2018: (
160
+ (APR, 6, MAR, 31),
161
+ (DEC, 31, DEC, 22),
162
+ ),
163
+ 2019: (
164
+ (FEB, 8, JAN, 19),
165
+ (MAR, 1, FEB, 23),
166
+ (OCT, 11, OCT, 5),
167
+ ),
168
+ 2020: (
169
+ (JAN, 23, FEB, 15),
170
+ (JUN, 26, JUN, 20),
171
+ (OCT, 2, SEP, 26),
172
+ ),
173
+ 2021: (
174
+ (FEB, 10, FEB, 20),
175
+ (SEP, 20, SEP, 11),
176
+ ),
177
+ 2022: (FEB, 4, JAN, 22),
178
+ 2023: (
179
+ (JAN, 20, JAN, 7),
180
+ (JAN, 27, FEB, 4),
181
+ (FEB, 27, FEB, 18),
182
+ (APR, 3, MAR, 25),
183
+ (JUN, 23, JUN, 17),
184
+ (OCT, 9, SEP, 23),
185
+ ),
186
+ 2024: (FEB, 8, FEB, 17),
187
+ }
188
+
189
+ special_public_holidays_observed = {
190
+ 2013: (APR, 5, childrens_day),
191
+ 2016: (APR, 5, childrens_day),
192
+ 2017: (APR, 3, childrens_day),
193
+ 2021: (APR, 2, childrens_day),
194
+ 2024: (APR, 5, childrens_day),
195
+ }
@@ -829,7 +829,10 @@ class ThailandStaticHolidays:
829
829
  (JUL, 31, thai_bridge_public_holiday),
830
830
  (DEC, 29, thai_bridge_public_holiday),
831
831
  ),
832
- 2024: (DEC, 30, thai_bridge_public_holiday),
832
+ 2024: (
833
+ (APR, 12, thai_bridge_public_holiday),
834
+ (DEC, 30, thai_bridge_public_holiday),
835
+ ),
833
836
  }
834
837
  special_workday_holidays = {1999: (MAY, 14, tr("วันพืชมงคล"))}
835
838
 
holidays/holiday_base.py CHANGED
@@ -209,6 +209,9 @@ class HolidayBase(Dict[date, str]):
209
209
  """The market's ISO 3166-1 alpha-2 code."""
210
210
  subdivisions: Tuple[str, ...] = ()
211
211
  """The subdivisions supported for this country (see documentation)."""
212
+ subdivisions_aliases: Dict[str, str] = {}
213
+ """Aliases for the ISO 3166-2 subdivision codes with the key as alias and
214
+ the value the ISO 3166-2 subdivision code."""
212
215
  years: Set[int]
213
216
  """The years calculated."""
214
217
  expand: bool
@@ -217,7 +220,7 @@ class HolidayBase(Dict[date, str]):
217
220
  observed: bool
218
221
  """Whether dates when public holiday are observed are included."""
219
222
  subdiv: Optional[str] = None
220
- """The subdiv requested."""
223
+ """The subdiv requested as ISO 3166-2 code or one of the aliases."""
221
224
  special_holidays: Dict[int, Union[SpecialHoliday, SubstitutedHoliday]] = {}
222
225
  """A list of the country-wide special (as opposite to regular) holidays for
223
226
  a specific year."""
@@ -262,8 +265,8 @@ class HolidayBase(Dict[date, str]):
262
265
  following Monday). This doesn't work for all countries.
263
266
 
264
267
  :param subdiv:
265
- The subdivision (e.g. state or province); not implemented for all
266
- countries (see documentation).
268
+ The subdivision (e.g. state or province) as a ISO 3166-2 code
269
+ or its alias; not implemented for all countries (see documentation).
267
270
 
268
271
  :param prov:
269
272
  *deprecated* use subdiv instead.
@@ -304,10 +307,10 @@ class HolidayBase(Dict[date, str]):
304
307
  if isinstance(subdiv, int):
305
308
  subdiv = str(subdiv)
306
309
 
310
+ subdivisions_aliases = tuple(sorted(self.subdivisions_aliases))
307
311
  # Unsupported subdivisions.
308
- if (
309
- not isinstance(self, HolidaySum)
310
- and subdiv not in self.subdivisions + self._deprecated_subdivisions
312
+ if not isinstance(self, HolidaySum) and subdiv not in (
313
+ self.subdivisions + subdivisions_aliases + self._deprecated_subdivisions
311
314
  ):
312
315
  raise NotImplementedError(
313
316
  f"Entity `{self._entity_code}` does not have subdivision {subdiv}"
@@ -326,7 +329,9 @@ class HolidayBase(Dict[date, str]):
326
329
  warnings.warn(
327
330
  "This subdivision is deprecated and will be removed after "
328
331
  "Dec, 1 2023. The list of supported subdivisions: "
329
- f"{', '.join(sorted(self.subdivisions))}.",
332
+ f"{', '.join(sorted(self.subdivisions))}; "
333
+ "the list of supported subdivisions aliases: "
334
+ f"{', '.join(subdivisions_aliases)}.",
330
335
  DeprecationWarning,
331
336
  )
332
337
 
@@ -657,19 +662,32 @@ class HolidayBase(Dict[date, str]):
657
662
 
658
663
  @cached_property
659
664
  def _normalized_subdiv(self):
660
- return self.subdiv.translate(
661
- str.maketrans(
662
- {
663
- "-": "_",
664
- " ": "_",
665
- }
665
+ return (
666
+ self.subdivisions_aliases.get(self.subdiv, self.subdiv)
667
+ .translate(
668
+ str.maketrans(
669
+ {
670
+ "-": "_",
671
+ " ": "_",
672
+ }
673
+ )
666
674
  )
667
- ).lower()
675
+ .lower()
676
+ )
668
677
 
669
678
  @cached_property
670
679
  def _sorted_categories(self):
671
680
  return sorted(self.categories)
672
681
 
682
+ @classmethod
683
+ def get_subdivision_aliases(cls) -> Dict[str, List]:
684
+ """Get subdivision aliases."""
685
+ subdivision_aliases: Dict[str, List[str]] = {s: [] for s in cls.subdivisions}
686
+ for alias, subdivision in cls.subdivisions_aliases.items():
687
+ subdivision_aliases[subdivision].append(alias)
688
+
689
+ return subdivision_aliases
690
+
673
691
  def _is_leap_year(self) -> bool:
674
692
  """
675
693
  Returns True if the year is leap. Returns False otherwise.
Binary file
@@ -2,7 +2,7 @@
2
2
  # Authors: ~Jhellico <jhellico@gmail.com>, (c) 2023.
3
3
  msgid ""
4
4
  msgstr ""
5
- "Project-Id-Version: Python Holidays 0.28\n"
5
+ "Project-Id-Version: Python Holidays 0.42\n"
6
6
  "POT-Creation-Date: 2023-04-01 17:13+0300\n"
7
7
  "PO-Revision-Date: 2023-04-01 17:15+0300\n"
8
8
  "Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
@@ -78,3 +78,27 @@ msgstr ""
78
78
  #. New Year's Eve.
79
79
  msgid "Silvester"
80
80
  msgstr ""
81
+
82
+ #. St. Martin's Day.
83
+ msgid "Hl. Martin"
84
+ msgstr ""
85
+
86
+ #. St. Joseph's Day.
87
+ msgid "Hl. Josef"
88
+ msgstr ""
89
+
90
+ #. 1920 Carinthian plebiscite.
91
+ msgid "Tag der Volksabstimmung"
92
+ msgstr ""
93
+
94
+ #. St. Leopold's Day.
95
+ msgid "Hl. Leopold"
96
+ msgstr ""
97
+
98
+ #. St. Florian's Day.
99
+ msgid "Hl. Florian"
100
+ msgstr ""
101
+
102
+ #. St. Rupert's Day.
103
+ msgid "Hl. Rupert"
104
+ msgstr ""
Binary file
@@ -3,7 +3,7 @@
3
3
  #
4
4
  msgid ""
5
5
  msgstr ""
6
- "Project-Id-Version: Python Holidays 0.28\n"
6
+ "Project-Id-Version: Python Holidays 0.42\n"
7
7
  "POT-Creation-Date: 2023-04-01 17:13+0300\n"
8
8
  "PO-Revision-Date: 2023-04-01 17:18+0300\n"
9
9
  "Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
@@ -79,3 +79,27 @@ msgstr "Christmas Eve"
79
79
  #. New Year's Eve.
80
80
  msgid "Silvester"
81
81
  msgstr "New Year's Eve"
82
+
83
+ #. St. Martin's Day.
84
+ msgid "Hl. Martin"
85
+ msgstr "St. Martin's Day"
86
+
87
+ #. St. Joseph's Day.
88
+ msgid "Hl. Josef"
89
+ msgstr "St. Joseph's Day"
90
+
91
+ #. 1920 Carinthian plebiscite.
92
+ msgid "Tag der Volksabstimmung"
93
+ msgstr "1920 Carinthian plebiscite"
94
+
95
+ #. St. Leopold's Day.
96
+ msgid "Hl. Leopold"
97
+ msgstr "St. Leopold's Day"
98
+
99
+ #. St. Florian's Day.
100
+ msgid "Hl. Florian"
101
+ msgstr "St. Florian's Day"
102
+
103
+ #. St. Rupert's Day.
104
+ msgid "Hl. Rupert"
105
+ msgstr "St. Rupert's Day"
Binary file
@@ -3,10 +3,10 @@
3
3
  #
4
4
  msgid ""
5
5
  msgstr ""
6
- "Project-Id-Version: Python Holidays 0.40\n"
6
+ "Project-Id-Version: Python Holidays 0.43\n"
7
7
  "POT-Creation-Date: 2023-11-24 16:16+0700\n"
8
- "PO-Revision-Date: 2023-12-02 11:31+0700\n"
9
- "Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
8
+ "PO-Revision-Date: 2024-02-07 19:37+0200\n"
9
+ "Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
10
10
  "Language-Team: Python Holidays localization team\n"
11
11
  "Language: en_US\n"
12
12
  "MIME-Version: 1.0\n"
@@ -14,11 +14,11 @@ msgstr ""
14
14
  "Content-Transfer-Encoding: 8bit\n"
15
15
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
16
  "Generated-By: Lingua 4.15.0\n"
17
- "X-Generator: Poedit 3.4.1\n"
17
+ "X-Generator: Poedit 3.4.2\n"
18
18
 
19
19
  #. %s (observed).
20
20
  #, c-format
21
- msgid "%s (慶祝)"
21
+ msgid "%s(慶祝)"
22
22
  msgstr "%s (observed)"
23
23
 
24
24
  #. Founding Day of the Republic of China.
@@ -56,3 +56,12 @@ msgstr "Mid-Autumn Festival"
56
56
  #. National Day.
57
57
  msgid "中華民國國慶日"
58
58
  msgstr "National Day"
59
+
60
+ #. Date format (see strftime() Format Codes).
61
+ msgid "%Y-%m-%d"
62
+ msgstr "%m/%d/%Y"
63
+
64
+ #. Day off (substituted from %s).
65
+ #, c-format
66
+ msgid "休息日(%s日起取代)"
67
+ msgstr "Day off (substituted from %s)"
Binary file
@@ -3,10 +3,10 @@
3
3
  #
4
4
  msgid ""
5
5
  msgstr ""
6
- "Project-Id-Version: Python Holidays 0.40\n"
6
+ "Project-Id-Version: Python Holidays 0.43\n"
7
7
  "POT-Creation-Date: 2023-11-24 16:16+0700\n"
8
- "PO-Revision-Date: 2023-12-02 11:18+0700\n"
9
- "Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
8
+ "PO-Revision-Date: 2024-02-07 19:37+0200\n"
9
+ "Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
10
10
  "Language-Team: Python Holidays localization team\n"
11
11
  "Language: th\n"
12
12
  "MIME-Version: 1.0\n"
@@ -14,11 +14,11 @@ msgstr ""
14
14
  "Content-Transfer-Encoding: 8bit\n"
15
15
  "Plural-Forms: nplurals=1; plural=0;\n"
16
16
  "Generated-By: Lingua 4.15.0\n"
17
- "X-Generator: Poedit 3.4.1\n"
17
+ "X-Generator: Poedit 3.4.2\n"
18
18
 
19
19
  #. %s (observed).
20
20
  #, c-format
21
- msgid "%s (慶祝)"
21
+ msgid "%s(慶祝)"
22
22
  msgstr "ชดเชย%s"
23
23
 
24
24
  #. Founding Day of the Republic of China.
@@ -56,3 +56,12 @@ msgstr "วันไหว้พระจันทร์"
56
56
  #. National Day.
57
57
  msgid "中華民國國慶日"
58
58
  msgstr "วันชาติสาธารณรัฐจีน(ไต้หวัน)"
59
+
60
+ #. Date format (see strftime() Format Codes).
61
+ msgid "%Y-%m-%d"
62
+ msgstr "%d/%m/%Y"
63
+
64
+ #. Day off (substituted from %s).
65
+ #, c-format
66
+ msgid "休息日(%s日起取代)"
67
+ msgstr "วันหยุด (แทน %s)"
Binary file
@@ -3,7 +3,7 @@
3
3
  #
4
4
  msgid ""
5
5
  msgstr ""
6
- "Project-Id-Version: Python Holidays 0.28\n"
6
+ "Project-Id-Version: Python Holidays 0.42\n"
7
7
  "POT-Creation-Date: 2023-04-01 17:13+0300\n"
8
8
  "PO-Revision-Date: 2023-04-01 17:27+0300\n"
9
9
  "Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
@@ -79,3 +79,27 @@ msgstr "Святий вечір"
79
79
  #. New Year's Eve.
80
80
  msgid "Silvester"
81
81
  msgstr "Переддень Нового року"
82
+
83
+ #. St. Martin's Day.
84
+ msgid "Hl. Martin"
85
+ msgstr "День Святого Мартина"
86
+
87
+ #. St. Joseph's Day.
88
+ msgid "Hl. Josef"
89
+ msgstr "День Святого Йосипа"
90
+
91
+ #. 1920 Carinthian plebiscite.
92
+ msgid "Tag der Volksabstimmung"
93
+ msgstr "Річниця референдуму 1920 року в Карінтії"
94
+
95
+ #. St. Leopold's Day.
96
+ msgid "Hl. Leopold"
97
+ msgstr "День Святого Леопольда"
98
+
99
+ #. St. Florian's Day.
100
+ msgid "Hl. Florian"
101
+ msgstr "День Святого Флоріана"
102
+
103
+ #. St. Rupert's Day.
104
+ msgid "Hl. Rupert"
105
+ msgstr "День Святого Руперта"
Binary file
@@ -3,10 +3,10 @@
3
3
  #
4
4
  msgid ""
5
5
  msgstr ""
6
- "Project-Id-Version: Python Holidays 0.40\n"
6
+ "Project-Id-Version: Python Holidays 0.43\n"
7
7
  "POT-Creation-Date: 2023-11-24 16:16+0700\n"
8
- "PO-Revision-Date: 2023-12-02 11:20+0700\n"
9
- "Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
8
+ "PO-Revision-Date: 2024-02-07 19:36+0200\n"
9
+ "Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
10
10
  "Language-Team: Python Holidays localization team\n"
11
11
  "Language: zh_CN\n"
12
12
  "MIME-Version: 1.0\n"
@@ -14,12 +14,12 @@ msgstr ""
14
14
  "Content-Transfer-Encoding: 8bit\n"
15
15
  "Plural-Forms: nplurals=1; plural=0;\n"
16
16
  "Generated-By: Lingua 4.15.0\n"
17
- "X-Generator: Poedit 3.4.1\n"
17
+ "X-Generator: Poedit 3.4.2\n"
18
18
 
19
19
  #. %s (observed).
20
20
  #, c-format
21
- msgid "%s (慶祝)"
22
- msgstr "%s (庆祝)"
21
+ msgid "%s(慶祝)"
22
+ msgstr "%s(庆祝)"
23
23
 
24
24
  #. Founding Day of the Republic of China.
25
25
  msgid "中華民國開國紀念日"
@@ -56,3 +56,12 @@ msgstr "中秋节"
56
56
  #. National Day.
57
57
  msgid "中華民國國慶日"
58
58
  msgstr "中华民国国庆日"
59
+
60
+ #. Date format (see strftime() Format Codes).
61
+ msgid "%Y-%m-%d"
62
+ msgstr "%Y-%m-%d"
63
+
64
+ #. Day off (substituted from %s).
65
+ #, c-format
66
+ msgid "休息日(%s日起取代)"
67
+ msgstr "休息日(%s日起取代)"
Binary file
@@ -3,10 +3,10 @@
3
3
  #
4
4
  msgid ""
5
5
  msgstr ""
6
- "Project-Id-Version: Python Holidays 0.40\n"
6
+ "Project-Id-Version: Python Holidays 0.43\n"
7
7
  "POT-Creation-Date: 2023-11-24 16:16+0700\n"
8
- "PO-Revision-Date: 2023-12-02 11:21+0700\n"
9
- "Last-Translator: PPsyrius <ppsyrius@ppsyrius.dev>\n"
8
+ "PO-Revision-Date: 2024-02-07 19:36+0200\n"
9
+ "Last-Translator: ~Jhellico <jhellico@gmail.com>\n"
10
10
  "Language-Team: Python Holidays localization team\n"
11
11
  "Language: zh_TW\n"
12
12
  "MIME-Version: 1.0\n"
@@ -14,11 +14,11 @@ msgstr ""
14
14
  "Content-Transfer-Encoding: 8bit\n"
15
15
  "Plural-Forms: nplurals=1; plural=0;\n"
16
16
  "Generated-By: Lingua 4.15.0\n"
17
- "X-Generator: Poedit 3.4.1\n"
17
+ "X-Generator: Poedit 3.4.2\n"
18
18
 
19
19
  #. %s (observed).
20
20
  #, c-format
21
- msgid "%s (慶祝)"
21
+ msgid "%s(慶祝)"
22
22
  msgstr ""
23
23
 
24
24
  #. Founding Day of the Republic of China.
@@ -56,3 +56,12 @@ msgstr ""
56
56
  #. National Day.
57
57
  msgid "中華民國國慶日"
58
58
  msgstr ""
59
+
60
+ #. Date format (see strftime() Format Codes).
61
+ msgid "%Y-%m-%d"
62
+ msgstr ""
63
+
64
+ #. Day off (substituted from %s).
65
+ #, c-format
66
+ msgid "休息日(%s日起取代)"
67
+ msgstr ""
holidays/utils.py CHANGED
@@ -46,8 +46,8 @@ def country_holidays(
46
46
  An ISO 3166-1 Alpha-2 country code.
47
47
 
48
48
  :param subdiv:
49
- The subdivision (e.g. state or province); not implemented for all
50
- countries (see documentation).
49
+ The subdivision (e.g. state or province) as a ISO 3166-2 code
50
+ or its alias; not implemented for all countries (see documentation).
51
51
 
52
52
  :param years:
53
53
  The year(s) to pre-calculate public holidays for at instantiation.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: holidays
3
- Version: 0.42
3
+ Version: 0.43
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>
@@ -193,8 +193,10 @@ Available Countries
193
193
 
194
194
  We currently support 143 country codes. The standard way to refer to a country
195
195
  is by using its `ISO 3166-1 alpha-2 code`_, the same used for domain names, and
196
- for a subdivision its `ISO 3166-2 code`_. Some of the countries support more
197
- than one language for holiday names output.
196
+ for a subdivision its `ISO 3166-2 code`_. Some countries have common or foreign
197
+ names or abbreviations as aliases for their subdivisions. These are defined in
198
+ the (optional) ``subdivisions_aliases`` attribute.
199
+ Some of the countries support more than one language for holiday names output.
198
200
  A default language is defined by ``default_language`` (optional) attribute
199
201
  for each entity and is used as a fallback when neither user specified
200
202
  language nor user locale language available. The default language code is
@@ -207,8 +209,9 @@ bank holidays, school holidays, additional (paid or non-paid) holidays, holidays
207
209
  public employees, religious holidays (valid only for these religions followers). A list of all
208
210
  categories supported by country is defined by ``supported_categories`` (optional) attribute.
209
211
 
210
- The following is a list of supported countries, their subdivisions, available languages and
211
- additional categories. All countries support **PUBLIC** holidays category by default.
212
+ The following is a list of supported countries, their subdivisions followed by their
213
+ aliases (if any) in brackets, available languages and additional holiday categories.
214
+ All countries support **PUBLIC** holidays category by default.
212
215
  All other default values are highlighted with bold:
213
216
 
214
217
 
@@ -269,7 +272,7 @@ All other default values are highlighted with bold:
269
272
  -
270
273
  * - Austria
271
274
  - AT
272
- - States: 1, 2, 3, 4, 5, 6, 7, 8, **9**
275
+ - States: 1 (Burgenland, Bgld, B), 2 (Kärnten, Ktn, K), 3 (Niederösterreich, NÖ, N), 4 (Oberösterreich, OÖ, O), 5 (Salzburg, Sbg, S), 6 (Steiermark, Stmk, St), 7 (Tirol, T), 8 (Vorarlberg, Vbg, V), 9 (Wien, W)
273
276
  - **de**, en_US, uk
274
277
  - BANK
275
278
  * - Azerbaijan
@@ -1,11 +1,11 @@
1
- holidays/__init__.py,sha256=yEmgT2_DaqnKPw1LbZpVuVzQRYVkMbudbCtbOq-dSJ4,750
1
+ holidays/__init__.py,sha256=GwU3W3-Holy9AiUGjn84bTJYD-eAnqwUFSvhKka3I2M,750
2
2
  holidays/constants.py,sha256=B2OLIScNm4iknBnQ8Dsl0XNsXmsh5CRS0xqtVbS46xc,1091
3
3
  holidays/helpers.py,sha256=1MLk6nsdEJqXKJMITwWNsLcmjWoaBllR0qf2MOYTmNo,1215
4
- holidays/holiday_base.py,sha256=xw-9cinDISuGMtIrs4dyV8wWrtp7gZ0ul3QcHg3eHbI,42051
4
+ holidays/holiday_base.py,sha256=JCrH9UI_j4yeNGB1tyDVfUQjydhlwBjU6s0QZzpw_fA,42994
5
5
  holidays/observed_holiday_base.py,sha256=d0rTwXbAaAxBhD7kymeL7cdflQNu6TvB9XEYgv7yydQ,7774
6
6
  holidays/py.typed,sha256=EUaxvGLCfdycmOVEDt64l9fUKWuyPBxOEQWGfnMnrxE,171
7
7
  holidays/registry.py,sha256=ldfIu8j188PzYFW5LSqlI6MWJOMuBhhZwv2up6h3NzY,10724
8
- holidays/utils.py,sha256=6tx34YcLQtF4-Yon3j6xOIabPAfM8eg11V_kSvaxC-o,12757
8
+ holidays/utils.py,sha256=14uqnkgrplxewPmNWjRzjO44QfLNlfpRWRzY-CTSbEo,12791
9
9
  holidays/calendars/__init__.py,sha256=WmNuRgPiJYn8dq52VTaRDQXfzYI86cieAYTmsmwbA_g,1241
10
10
  holidays/calendars/buddhist.py,sha256=b5EvvpOhb1US32i0k-n1-Oq88KU0i_jsmBl3_RHU5Ig,11309
11
11
  holidays/calendars/chinese.py,sha256=EtQrASp6GqV55uEBCb7AQ_75woO2s4dpft_SqwngIkM,31833
@@ -28,7 +28,7 @@ holidays/countries/argentina.py,sha256=3CqV3n0bzats3tdtQseeTARNNV5-DGZpEeLvzdNmh
28
28
  holidays/countries/armenia.py,sha256=VIZ5FCevdYD2Uuk4Nv7BnXCO-XKWsrEga0LW12UghW0,3626
29
29
  holidays/countries/aruba.py,sha256=rAQa8sTjz4ChuU8CZ_1BjnegjAFeYnK9epRGpbV5ZME,4972
30
30
  holidays/countries/australia.py,sha256=p7hkbixwvlcc_cPCUmCefrtEWQTiO85BLWJNQM_-3p0,10834
31
- holidays/countries/austria.py,sha256=tGTFgqeD_T8Fv912fYg43RAoLBudd6I6_mzfSoNvE1o,2840
31
+ holidays/countries/austria.py,sha256=vt80HkFrBvXiXvWm5tsAw_5cmbClNgVNgaX5hGTSafo,4826
32
32
  holidays/countries/azerbaijan.py,sha256=lqqGrwOMyTptzdZgPJJQw3JbTpxWusKeDECC0JtkyxY,9768
33
33
  holidays/countries/bahamas.py,sha256=swJSgyU-dsDuN2khZqKNGvHslpw7T3oyCiuAMIjeIys,5511
34
34
  holidays/countries/bahrain.py,sha256=GdsHikqv2vs3pvnBlc4cvCGn2UdykVKrxbu_TGqBlyM,3064
@@ -83,7 +83,7 @@ holidays/countries/iceland.py,sha256=ii8QApfeU_f9cFToPL9jZtzGWt661g85ptpQdkkQ8Ww
83
83
  holidays/countries/india.py,sha256=j603e5u-kRv42uNF9i0j60acMb7rhqWC35feXOioXJk,9609
84
84
  holidays/countries/indonesia.py,sha256=82JTWb7I03e73MtwTC7XlD7pFX5H3l9M3aM8IB12Ncc,11218
85
85
  holidays/countries/iran.py,sha256=1j56tIwzTv3tGNnsq9UCbTAYkoVzNIyj-13Q7C75Vc8,4061
86
- holidays/countries/ireland.py,sha256=OgoA00tWjYLCF1Za5viDXFLOHAgxWs0po6bjWuX3oa4,2956
86
+ holidays/countries/ireland.py,sha256=i5bM2M-dQGmf1i5nBxMx8k1NYZI_Yo2TzTxA1TeIjVA,3090
87
87
  holidays/countries/isle_of_man.py,sha256=Z91jPzQN4Bgut81C8o_QmxDlaUw6uTtynk2NXBp4M0g,2264
88
88
  holidays/countries/israel.py,sha256=8CldOgS2edP8kbRH_s5fXKisDTYWqYQZZ3CR63MUKIk,6938
89
89
  holidays/countries/italy.py,sha256=XS9BOCNBQMlMdKjLPPsPZJEz_cQSbkiz1JZycZjfbFE,17315
@@ -126,7 +126,7 @@ holidays/countries/paraguay.py,sha256=x6pFOy8h6biz4BjH8KQlhJWudUPuW2ZYaA2_FYgFZd
126
126
  holidays/countries/peru.py,sha256=Emhwwhg6nw_2oDG8kSLQD_jZdsTFWYQNsPD1x9K0Jz8,2642
127
127
  holidays/countries/philippines.py,sha256=oZa-iRCK2FMz-KF0NaSP49gG3QC55WG2_FNR7Nkm2oI,2820
128
128
  holidays/countries/poland.py,sha256=pnr0mkyh6SzNPG2XeRPa8k_w_uEIJwtQzzx5hoEMFnY,4340
129
- holidays/countries/portugal.py,sha256=hLa7IchfGPguw_vfENW2Z3DtCTK-C8T1ZPpdQcEkyhc,8977
129
+ holidays/countries/portugal.py,sha256=R4nIzsmD_WkKKxnc5a9AaF89eyUg5ivJT-g_2z-cFuk,8978
130
130
  holidays/countries/puerto_rico.py,sha256=TWjYceMmLfL3iqPML7JApX_xHS2XM6pV0q-lnzhvx24,1049
131
131
  holidays/countries/romania.py,sha256=fCmuc249PNC3E3HM3_oPmwwPYmaDSwqcvDuZ49Wl-3I,2908
132
132
  holidays/countries/russia.py,sha256=sbytKvrHWcfehk8NsFhHfEThj2mTrlU4vMBJU-tEm5Y,4447
@@ -141,9 +141,9 @@ holidays/countries/south_korea.py,sha256=VF1igfEEBuRzhYt0bIM3DtVZM7OoWWr0q1xJp7j
141
141
  holidays/countries/spain.py,sha256=fDxegC5EIECQY6-kMUivehO8vV8KIiibFmq2ugP0dhM,27579
142
142
  holidays/countries/sweden.py,sha256=7myC_Wrqhrc68YLKEKShiiEo1CPGtkzSlD3pJQUljHU,4305
143
143
  holidays/countries/switzerland.py,sha256=Lrji6EMvR7zomMeR_j9zv8KXf-hTrpRaYFAxLfqBByc,16161
144
- holidays/countries/taiwan.py,sha256=Viey-GK7HowZ8Bs5coqwlteJJ3-v2FXzKpP5p7twFXg,3694
144
+ holidays/countries/taiwan.py,sha256=bJDPQqa1wqOR7dB_-QWjUB4nBjBheR0Dcy9ZcmzonM8,6767
145
145
  holidays/countries/tanzania.py,sha256=NpPcclol3c9Oik-R3q2Qu6uyIHyVWSYEHC3FAeVBMrY,10309
146
- holidays/countries/thailand.py,sha256=t5-t5EOvUyDbGUUVqRVK0KVv_YcfiYp35Om9ObwUiA8,38693
146
+ holidays/countries/thailand.py,sha256=LwCgwnLbVgRMBOYakISKHJ10TkX4z9Bu7skM8Wt-8sg,38769
147
147
  holidays/countries/timor_leste.py,sha256=szUIFxlk7JJMAlg_QdKRj_tVN8TtAiOU9U-FFlQH3MU,16274
148
148
  holidays/countries/tonga.py,sha256=qF1HNEELvZRE0z3uT8qufyzOZr9wHjXrpkJyM68af1g,9711
149
149
  holidays/countries/tunisia.py,sha256=XGE1tRvuKzv_puXSrzNPmC7jJcVD5bHt2QgsxQZcF0I,2748
@@ -211,8 +211,8 @@ holidays/locale/cs/LC_MESSAGES/CZ.mo,sha256=NlD_obAeIucOuzxHjow5Vq7CBYyXeIERB_pV
211
211
  holidays/locale/cs/LC_MESSAGES/CZ.po,sha256=4hFj0nLHSTFHm9YLPmUI0vuHpgW_8OZCNSkvNfZlNtk,1658
212
212
  holidays/locale/da/LC_MESSAGES/DK.mo,sha256=_UnpkP4J6lzQP4ZZTelSDcE5n4y1ZVqZ1KJ1qjTSzvw,422
213
213
  holidays/locale/da/LC_MESSAGES/DK.po,sha256=nWqTx8Uf_4OY8y0BPzU7ZCqOtm0BGwEN1Sok_ywPNSs,1303
214
- holidays/locale/de/LC_MESSAGES/AT.mo,sha256=BzBw4-ShbTHkKv41Yb4vizDkcX5kv56P3lbUfuSX4E8,468
215
- holidays/locale/de/LC_MESSAGES/AT.po,sha256=YXeQWz-s3bj5e_orPo_ykqT8ObW8DTcGSWHnHq7XFHk,1387
214
+ holidays/locale/de/LC_MESSAGES/AT.mo,sha256=F8348fmrxoQtKmHIkE2YHZWYh3Ad3ICqASiawylabrs,468
215
+ holidays/locale/de/LC_MESSAGES/AT.po,sha256=GZswQX_qSTK1cTJ-fAItCNwDKQpMxeP_yviwP4J0fzA,1719
216
216
  holidays/locale/de/LC_MESSAGES/BE.mo,sha256=OuMOcok3GcE_66griEvZfMWd4DjHO6wpEoGdDSQh6fU,1161
217
217
  holidays/locale/de/LC_MESSAGES/BE.po,sha256=rYDqC8M1cUDjop8q9Leip2t4ByfaAoKI791a2ohoQyk,1578
218
218
  holidays/locale/de/LC_MESSAGES/CH.mo,sha256=GwZsvW5RI0yRt5ldbhkza52Vd8LdmNPEAUpm0LL5mz8,466
@@ -239,8 +239,8 @@ holidays/locale/en_US/LC_MESSAGES/AO.mo,sha256=De_jkA2QliLEy_T-OgqglSphTAM9tvg47
239
239
  holidays/locale/en_US/LC_MESSAGES/AO.po,sha256=mf6nAh8BaEfq_DxNgM5HWyu1F_JF59WKYoRSUI0Coug,2718
240
240
  holidays/locale/en_US/LC_MESSAGES/AR.mo,sha256=HLFKO1Bh4vvivq1hCQ_29icLRvIU9wof09P4OlaOUhA,2680
241
241
  holidays/locale/en_US/LC_MESSAGES/AR.po,sha256=FVtYo_cCq9MTYjMDDoo-HQZt0iXo-rjAWw79UTlL4mk,3845
242
- holidays/locale/en_US/LC_MESSAGES/AT.mo,sha256=G3RlMiJ0T1STBL2E1CUsLJMfQdRkOSiLvz5TU09X--k,1184
243
- holidays/locale/en_US/LC_MESSAGES/AT.po,sha256=fNv5LKRgClYK2eRSvdIRb-O9iMUp6TXt0NH5_Dyjq24,1623
242
+ holidays/locale/en_US/LC_MESSAGES/AT.mo,sha256=DyK8r7CwsnrBiBRGwjyUm6wYj7mRYmMbNNFU6sonKG4,1474
243
+ holidays/locale/en_US/LC_MESSAGES/AT.po,sha256=7baefMnjmgb-Iasu0MdcDW0Qq21iqSszdD7vKRTfUxw,2063
244
244
  holidays/locale/en_US/LC_MESSAGES/AW.mo,sha256=8whWWXdboNrd-bcJ39vT5EiTJIzHv0ffQAC9YB7TsZ8,1187
245
245
  holidays/locale/en_US/LC_MESSAGES/AW.po,sha256=Ox9iAwFRrEA1uuGFL5CyFWUNXJ3-7hmC7mF8-yxlEpM,1596
246
246
  holidays/locale/en_US/LC_MESSAGES/AZ.mo,sha256=0Xnx5axnI2x6D-SRy0LSWwqyAFS0U3yfI_N6fK5BNGY,2065
@@ -391,8 +391,8 @@ holidays/locale/en_US/LC_MESSAGES/TO.mo,sha256=8YacVoytZuWUbffRBl9KSnl0QU-NQm_sT
391
391
  holidays/locale/en_US/LC_MESSAGES/TO.po,sha256=_Idd7dAC9bq0Qzoq1-lX6qGJRxiH4xDpZ3x7knDfR7s,2238
392
392
  holidays/locale/en_US/LC_MESSAGES/TR.mo,sha256=IXWL2r8P8QDzlNLiBOF4a0Z-ZLmdPZcR5aQmiwMdQHs,1357
393
393
  holidays/locale/en_US/LC_MESSAGES/TR.po,sha256=L54NEJMjuHmqisHiU3jn316wl4YSsAxU1QKB2ABbYR4,1911
394
- holidays/locale/en_US/LC_MESSAGES/TW.mo,sha256=6R0owiLQgi6BM9ytjFiy-6yosnN5vW-yNNNq0NseGD0,966
395
- holidays/locale/en_US/LC_MESSAGES/TW.po,sha256=f08EAsjYIR6c7dZfVJSFzYUF2mVNo7q_Wj0dRoukAFo,1352
394
+ holidays/locale/en_US/LC_MESSAGES/TW.mo,sha256=94Hjs7KwUnNfzpymqBeQISORYxyTCIFB44AArssOfoM,1077
395
+ holidays/locale/en_US/LC_MESSAGES/TW.po,sha256=mQqrQbudxbuqJHwkV3IgsYcxH447TTtJUVqQaWRldIA,1559
396
396
  holidays/locale/en_US/LC_MESSAGES/TZ.mo,sha256=XCnKRfUwDMIxSQ8SUC1Bwxnz4ZIf6lHcF9R__IOWrrc,1823
397
397
  holidays/locale/en_US/LC_MESSAGES/TZ.po,sha256=PPqIY_tnaNkBdNBCYwVeaYqhZzAg2Z1EQXk5H5aNwRU,2543
398
398
  holidays/locale/en_US/LC_MESSAGES/UA.mo,sha256=GCjHat04hYVlSn4HQyMxEaJfsSrrTJrIALCqKSWUyko,2276
@@ -561,8 +561,8 @@ holidays/locale/th/LC_MESSAGES/LA.mo,sha256=NjBD0AStXCwf6lU3mWJoIj4iwjrU29FKIjQL
561
561
  holidays/locale/th/LC_MESSAGES/LA.po,sha256=xQeDKQHrgjgRn9E0bUAysoF3XLxAJQkxljVRGupMTVg,6716
562
562
  holidays/locale/th/LC_MESSAGES/TH.mo,sha256=SsAHCNwmNDX7UdN-vUw2CkDlbVHJV0LR30YXzOFDW4U,428
563
563
  holidays/locale/th/LC_MESSAGES/TH.po,sha256=6a3SCIyifwtQbi6T70dmvpOHY5KfwAzo83ZsFw3NpVc,8059
564
- holidays/locale/th/LC_MESSAGES/TW.mo,sha256=6dgRQ34LACTQ8R7WDZyV6OZqx2rHZ_HNtLuJaueXEn8,1248
565
- holidays/locale/th/LC_MESSAGES/TW.po,sha256=p21F3Y74jvnMAaUzIIfw96moFtUkEuaA9bqtl60dY6w,1631
564
+ holidays/locale/th/LC_MESSAGES/TW.mo,sha256=iRbBcLoouE8SrrOP1ZJfjZdcBCgKv1ylW7I4NrjA2AQ,1366
565
+ holidays/locale/th/LC_MESSAGES/TW.po,sha256=dMR8qmH_zrBni3K-ReiTrebyZQsiPXu8BsRGBfEGQ-Y,1845
566
566
  holidays/locale/to/LC_MESSAGES/TO.mo,sha256=G6AgS4zh8kDhUKv_pkieqCXWn0UyftbDz3aUC0BqYlI,458
567
567
  holidays/locale/to/LC_MESSAGES/TO.po,sha256=-szpSNhtJPfW5ByFiPyKD7WQoYqI8VvzDtNDtO95MTo,1828
568
568
  holidays/locale/tr/LC_MESSAGES/TR.mo,sha256=0xrRJdoBB-ubuexlItc6Q4ZTB-bkpWUnZ6EP0IaTlEw,435
@@ -571,8 +571,8 @@ holidays/locale/uk/LC_MESSAGES/AO.mo,sha256=NP8Qe8-bG1U9PmeBTfGlwUkRWaAvkjTd5Ku-
571
571
  holidays/locale/uk/LC_MESSAGES/AO.po,sha256=EpaV7AkHcBdm8Gy37RbstTGARW4Y9OwHwIXxmyY_OS4,3368
572
572
  holidays/locale/uk/LC_MESSAGES/AR.mo,sha256=Mia-aHxDAegBpNcR38QJ6lK8fcccT6tM-kbCmnqvnE0,3357
573
573
  holidays/locale/uk/LC_MESSAGES/AR.po,sha256=uINqVP_1uJDlYUwSAc4Q7Hr6wt-Lvg32TyAFJ7I8gpI,4522
574
- holidays/locale/uk/LC_MESSAGES/AT.mo,sha256=F1L30fOAjGhh_tLGaei74_dn1Cu3m-1KpeSBcht0Krk,1598
575
- holidays/locale/uk/LC_MESSAGES/AT.po,sha256=JHNaaUVoRisn8jk_VFfVw6SJSXxiK3Ti7r0JH6Ow62w,2034
574
+ holidays/locale/uk/LC_MESSAGES/AT.mo,sha256=yCj-hK2gYeaJ389zyy4e9uangcS9GzCbXfmj7Q-um8g,2045
575
+ holidays/locale/uk/LC_MESSAGES/AT.po,sha256=nzSJM22zBwsWFPpoYePW7E6Y0HUkTqOry1YFAfJIkZo,2631
576
576
  holidays/locale/uk/LC_MESSAGES/AW.mo,sha256=EOh1BpNYyUoE32_gGmLwLB7iSMtV62Ekj7R0x0CVk50,1508
577
577
  holidays/locale/uk/LC_MESSAGES/AW.po,sha256=H8MZF1CfdpdFKHP08V8NXtvXKwLAAbrr4H_lxyqd3t8,1912
578
578
  holidays/locale/uk/LC_MESSAGES/AZ.mo,sha256=qa_MGoexttA_4Zq7Selb9A4_qfo5wobv9FGKo3H-w08,2701
@@ -687,14 +687,14 @@ holidays/locale/uz/LC_MESSAGES/UZ.mo,sha256=vY1aXYnEIi3eK7oppLzL57lX90ejr7kpy58f
687
687
  holidays/locale/uz/LC_MESSAGES/UZ.po,sha256=Cog4lfFYpTMXkrlZbd2SRH99QlfA15cNShbhlYoAT_g,1681
688
688
  holidays/locale/zh_CN/LC_MESSAGES/CN.mo,sha256=oigEmuREIy78y8YKIMf-DbB9dLKLQWUe6lrqug9Ousk,463
689
689
  holidays/locale/zh_CN/LC_MESSAGES/CN.po,sha256=-xs5irw9OVieR-HcD-Cc30Qx7tDoL_UMYT0V5jMSQcs,1756
690
- holidays/locale/zh_CN/LC_MESSAGES/TW.mo,sha256=ShcJPKeBqaguP3bQbCvyVkgAKWTdbsxYYGNmcg7sr5k,899
691
- holidays/locale/zh_CN/LC_MESSAGES/TW.po,sha256=2alXmF5xkgUNBYnsHtcbfyi2U49Zvi42HazXpptIazk,1285
690
+ holidays/locale/zh_CN/LC_MESSAGES/TW.mo,sha256=LVI0JwRnu3j3XGUWKgTHHuZ3gMiFkd5DNmo6LTDbdBY,1013
691
+ holidays/locale/zh_CN/LC_MESSAGES/TW.po,sha256=GYk8KYTC7b20XDsK6l1h8asL-7vOhQblParkiPSGTnQ,1495
692
692
  holidays/locale/zh_TW/LC_MESSAGES/CN.mo,sha256=F6cp16LNz1N4eRH6X9i0HKYTeJ5qMpdUU_fx7BQIFLY,1307
693
693
  holidays/locale/zh_TW/LC_MESSAGES/CN.po,sha256=enwKfz-At4Q8PW4TYtrVoCOBVU8lJ-N_E5zy2-H36qQ,2044
694
- holidays/locale/zh_TW/LC_MESSAGES/TW.mo,sha256=VTr6ZmL3yN30uRYZBdi9hnv3H_3VUpL62DQGoMBbLFw,463
695
- holidays/locale/zh_TW/LC_MESSAGES/TW.po,sha256=8yTU3-poLwpF83yxlRwMKwlxSqSk_98cHLClJ8PWlcc,1138
696
- holidays-0.42.dist-info/LICENSE,sha256=iupozodCJA_oeAAL9lpwdZT7AcVgnmHrTAJSZMuTvwc,1125
697
- holidays-0.42.dist-info/METADATA,sha256=ocs163nkxHQVD8XG4olCsrKie_StX3aPRUQ5Wd2D1Pk,21574
698
- holidays-0.42.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
699
- holidays-0.42.dist-info/top_level.txt,sha256=VbGrOCSM-V2kztuL_7CoDKLOgzOc85ueFsng7VYerrQ,9
700
- holidays-0.42.dist-info/RECORD,,
694
+ holidays/locale/zh_TW/LC_MESSAGES/TW.mo,sha256=S4I-U8VKhJqcZ5fxoDWxG--qPL9TGacOgU6oaXNKxxo,461
695
+ holidays/locale/zh_TW/LC_MESSAGES/TW.po,sha256=oOtXVaoWQ4X3_jBzhbDAC1_BgMpqi4nE5NA_sP0Cciw,1308
696
+ holidays-0.43.dist-info/LICENSE,sha256=iupozodCJA_oeAAL9lpwdZT7AcVgnmHrTAJSZMuTvwc,1125
697
+ holidays-0.43.dist-info/METADATA,sha256=tYOzQBCPZTsRdv1dbCcueLF3GdGMGOdwtaNTakF5Bfg,21972
698
+ holidays-0.43.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
699
+ holidays-0.43.dist-info/top_level.txt,sha256=VbGrOCSM-V2kztuL_7CoDKLOgzOc85ueFsng7VYerrQ,9
700
+ holidays-0.43.dist-info/RECORD,,