holidays 0.67__py3-none-any.whl → 0.69__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.
Files changed (99) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/balinese_saka.py +112 -0
  3. holidays/calendars/chinese.py +1 -1
  4. holidays/calendars/hindu.py +865 -1
  5. holidays/constants.py +1 -0
  6. holidays/countries/__init__.py +1 -0
  7. holidays/countries/afghanistan.py +8 -2
  8. holidays/countries/albania.py +8 -2
  9. holidays/countries/algeria.py +6 -2
  10. holidays/countries/american_samoa.py +6 -2
  11. holidays/countries/azerbaijan.py +26 -4
  12. holidays/countries/bahrain.py +8 -2
  13. holidays/countries/bosnia_and_herzegovina.py +8 -2
  14. holidays/countries/brunei.py +8 -2
  15. holidays/countries/burkina_faso.py +8 -2
  16. holidays/countries/burundi.py +6 -2
  17. holidays/countries/cameroon.py +8 -2
  18. holidays/countries/chad.py +8 -2
  19. holidays/countries/djibouti.py +6 -2
  20. holidays/countries/egypt.py +6 -2
  21. holidays/countries/ethiopia.py +8 -2
  22. holidays/countries/gabon.py +8 -2
  23. holidays/countries/ghana.py +6 -2
  24. holidays/countries/guam.py +6 -2
  25. holidays/countries/hongkong.py +38 -52
  26. holidays/countries/india.py +482 -166
  27. holidays/countries/indonesia.py +14 -58
  28. holidays/countries/iran.py +8 -2
  29. holidays/countries/jordan.py +6 -2
  30. holidays/countries/kazakhstan.py +8 -2
  31. holidays/countries/kenya.py +209 -47
  32. holidays/countries/kuwait.py +6 -2
  33. holidays/countries/kyrgyzstan.py +6 -2
  34. holidays/countries/macau.py +474 -0
  35. holidays/countries/malaysia.py +30 -6
  36. holidays/countries/maldives.py +6 -2
  37. holidays/countries/mauritania.py +6 -2
  38. holidays/countries/montenegro.py +8 -2
  39. holidays/countries/morocco.py +6 -2
  40. holidays/countries/nigeria.py +6 -2
  41. holidays/countries/north_macedonia.py +6 -2
  42. holidays/countries/northern_mariana_islands.py +6 -2
  43. holidays/countries/pakistan.py +8 -2
  44. holidays/countries/philippines.py +13 -3
  45. holidays/countries/poland.py +1 -1
  46. holidays/countries/puerto_rico.py +6 -2
  47. holidays/countries/saudi_arabia.py +6 -2
  48. holidays/countries/singapore.py +7 -2
  49. holidays/countries/spain.py +8 -2
  50. holidays/countries/sri_lanka.py +8 -2
  51. holidays/countries/taiwan.py +226 -29
  52. holidays/countries/tanzania.py +8 -2
  53. holidays/countries/timor_leste.py +21 -2
  54. holidays/countries/tunisia.py +6 -2
  55. holidays/countries/turkey.py +8 -2
  56. holidays/countries/united_arab_emirates.py +8 -2
  57. holidays/countries/united_states.py +84 -35
  58. holidays/countries/united_states_minor_outlying_islands.py +6 -2
  59. holidays/countries/united_states_virgin_islands.py +6 -2
  60. holidays/countries/uzbekistan.py +8 -2
  61. holidays/groups/__init__.py +1 -0
  62. holidays/groups/balinese_saka.py +45 -0
  63. holidays/groups/chinese.py +68 -3
  64. holidays/groups/hindu.py +255 -0
  65. holidays/groups/islamic.py +5 -2
  66. holidays/holiday_base.py +44 -29
  67. holidays/locale/de/LC_MESSAGES/PL.mo +0 -0
  68. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  69. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  70. holidays/locale/en_KE/LC_MESSAGES/KE.mo +0 -0
  71. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  72. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  73. holidays/locale/en_US/LC_MESSAGES/IN.mo +0 -0
  74. holidays/locale/en_US/LC_MESSAGES/KE.mo +0 -0
  75. holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
  76. holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
  77. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  78. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  79. holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
  80. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  81. holidays/locale/sw/LC_MESSAGES/KE.mo +0 -0
  82. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  83. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  84. holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
  85. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  86. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  87. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  88. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  89. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  90. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  91. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  92. holidays/registry.py +1 -0
  93. holidays/version.py +1 -1
  94. {holidays-0.67.dist-info → holidays-0.69.dist-info}/AUTHORS +1 -0
  95. {holidays-0.67.dist-info → holidays-0.69.dist-info}/METADATA +24 -19
  96. {holidays-0.67.dist-info → holidays-0.69.dist-info}/RECORD +99 -83
  97. {holidays-0.67.dist-info → holidays-0.69.dist-info}/WHEEL +1 -1
  98. {holidays-0.67.dist-info → holidays-0.69.dist-info}/LICENSE +0 -0
  99. {holidays-0.67.dist-info → holidays-0.69.dist-info}/top_level.txt +0 -0
@@ -86,24 +86,24 @@ class HongKong(
86
86
  super().__init__(*args, **kwargs)
87
87
 
88
88
  def _add_mid_autumn(self) -> date:
89
- # Chinese Mid-Autumn Festival.
89
+ # Mid-Autumn Festival.
90
90
 
91
91
  mid_autumn_date = self._mid_autumn_festival
92
92
  if self._year >= 1968:
93
93
  mid_autumn_date = _timedelta(mid_autumn_date, +1)
94
- # The day following the Chinese Mid-Autumn Festival.
94
+ # The Day following Mid-Autumn Festival.
95
95
  name = tr("中秋節翌日")
96
- # The second day following the Chinese Mid-Autumn Festival.
96
+ # The Second Day following Mid-Autumn Festival.
97
97
  second_name = tr("中秋節後第二日")
98
98
  else:
99
- # Chinese Mid-Autumn Festival.
99
+ # Mid-Autumn Festival.
100
100
  name = tr("中秋節")
101
- # The day following the Chinese Mid-Autumn Festival.
101
+ # The Day following Mid-Autumn Festival.
102
102
  second_name = tr("中秋節翌日")
103
103
 
104
104
  if self._is_sunday(mid_autumn_date):
105
105
  if 1983 <= self._year <= 2010:
106
- # Chinese Mid-Autumn Festival.
106
+ # Mid-Autumn Festival.
107
107
  self._add_holiday(tr("中秋節"), _timedelta(mid_autumn_date, -1))
108
108
  else:
109
109
  self._add_holiday(second_name, _timedelta(mid_autumn_date, +1))
@@ -112,15 +112,15 @@ class HongKong(
112
112
  return mid_autumn_date
113
113
 
114
114
  def _add_lunar_new_year(self, day_three_start_year: int):
115
- # Lunar New Year's Day.
115
+ # Chinese New Year.
116
116
  name = tr("農曆年初一")
117
- # The day preceding Lunar New Year's Day.
117
+ # Chinese New Year's Eve.
118
118
  preceding_day_lunar = tr("農曆年初一的前一日")
119
- # The second day of Lunar New Year.
119
+ # The second day of Chinese New Year.
120
120
  second_day_lunar = tr("農曆年初二")
121
- # The third day of Lunar New Year.
121
+ # The third day of Chinese New Year.
122
122
  third_day_lunar = tr("農曆年初三")
123
- # The fourth day of Lunar New Year.
123
+ # The fourth day of Chinese New Year.
124
124
  fourth_day_lunar = tr("農曆年初四")
125
125
  dt_lunar_new_year = self._chinese_new_year
126
126
  if self._year >= 1983:
@@ -156,7 +156,7 @@ class HongKong(
156
156
  return None
157
157
 
158
158
  if self._year >= 1977:
159
- # The first day of January.
159
+ # New Year's Day.
160
160
  self._add_observed(self._add_new_years_day(tr("一月一日")))
161
161
 
162
162
  self._add_lunar_new_year(day_three_start_year=1977)
@@ -173,28 +173,28 @@ class HongKong(
173
173
  # Easter Monday.
174
174
  self._add_easter_monday(tr("復活節星期一"))
175
175
 
176
- # Ching Ming Festival.
176
+ # Tomb-Sweeping Day.
177
177
  self._add_observed(self._add_qingming_festival(tr("清明節")))
178
178
 
179
179
  if self._year >= 2022:
180
- # The Birthday of the Buddha.
180
+ # The Buddha's Birthday.
181
181
  self._add_observed(self._add_chinese_birthday_of_buddha(tr("佛誕")))
182
182
 
183
183
  if self._year >= 1999:
184
184
  # Labor Day.
185
185
  self._add_observed(self._add_labor_day(tr("勞動節")))
186
186
 
187
- # Tuen Ng Festival.
187
+ # Dragon Boat Festival.
188
188
  self._add_observed(self._add_dragon_boat_festival(tr("端午節")))
189
189
 
190
190
  if self._year >= 1997:
191
- # Hong Kong Special Administrative Region Establishment Day.
191
+ # Hong Kong S.A.R. Establishment Day.
192
192
  self._add_observed(self._add_holiday_jul_1(tr("香港特別行政區成立紀念日")))
193
193
 
194
194
  mid_autumn_date = self._add_mid_autumn()
195
195
 
196
196
  if self._year >= 1977:
197
- # Chung Yeung Festival.
197
+ # Double Ninth Festival.
198
198
  dt_double_ninth = self._add_double_ninth_festival(tr("重陽節"))
199
199
  self._add_observed(dt_double_ninth)
200
200
 
@@ -211,8 +211,8 @@ class HongKong(
211
211
  )
212
212
 
213
213
  if WINTER_SOLSTICE in self.preferred_discretionary_holidays:
214
- # Chinese Winter Solstice Festival.
215
- self._add_observed(self._add_holiday(tr("冬節"), self._winter_solstice_date))
214
+ # Winter Solstice.
215
+ self._add_observed(self._add_dongzhi_festival(tr("冬節")))
216
216
 
217
217
  if self._year >= 2024:
218
218
  # The first weekday after Christmas Day.
@@ -226,21 +226,21 @@ class HongKong(
226
226
  # General Holidays.
227
227
 
228
228
  if self._is_sunday(JAN, 1):
229
- # The day following the first day of January.
229
+ # The day following New Year's Day.
230
230
  self._add_new_years_day_two(tr("一月一日翌日"))
231
231
  else:
232
- # The first day of January.
232
+ # New Year's Day.
233
233
  self._add_new_years_day(tr("一月一日"))
234
234
 
235
235
  self._add_lunar_new_year(day_three_start_year=1968)
236
236
 
237
237
  if self._year >= 1968:
238
- dt_qingming = self._qingming_date
238
+ dt_qingming = self._qingming_festival
239
239
  if self._is_sunday(dt_qingming) or dt_qingming == _timedelta(self._easter_sunday, +1):
240
- # The day following Ching Ming Festival.
240
+ # The day following Tomb-Sweeping Day.
241
241
  self._add_holiday(tr("清明節翌日"), _timedelta(dt_qingming, +1))
242
242
  else:
243
- # Ching Ming Festival.
243
+ # Tomb-Sweeping Day.
244
244
  self._add_qingming_festival(tr("清明節"))
245
245
 
246
246
  # Good Friday.
@@ -257,12 +257,12 @@ class HongKong(
257
257
  self._add_easter_monday(tr("復活節星期一"))
258
258
 
259
259
  if self._year >= 1999:
260
- dt_birthday_of_buddha = self._chinese_calendar.buddha_birthday_date(self._year)[0]
260
+ dt_birthday_of_buddha = self._chinese_birthday_of_buddha
261
261
  if self._is_sunday(dt_birthday_of_buddha):
262
- # The day following the Birthday of the Buddha.
262
+ # The day following the Buddha's Birthday.
263
263
  self._add_holiday(tr("佛誕翌日"), _timedelta(dt_birthday_of_buddha, +1))
264
264
  else:
265
- # The Birthday of the Buddha.
265
+ # The Buddha's Birthday.
266
266
  self._add_chinese_birthday_of_buddha(tr("佛誕"))
267
267
 
268
268
  if self._year >= 1999:
@@ -274,31 +274,31 @@ class HongKong(
274
274
  self._add_labor_day(tr("勞動節"))
275
275
 
276
276
  if self._year >= 1968:
277
- dt_dragon_boat = self._chinese_calendar.dragon_boat_date(self._year)[0]
277
+ dt_dragon_boat = self._dragon_boat_festival
278
278
  if self._is_sunday(dt_dragon_boat):
279
- # The day following Tuen Ng Festival.
279
+ # The day following Dragon Boat Festival.
280
280
  self._add_holiday(tr("端午節翌日"), _timedelta(dt_dragon_boat, +1))
281
281
  else:
282
- # Tuen Ng Festival.
282
+ # Dragon Boat Festival.
283
283
  self._add_dragon_boat_festival(tr("端午節"))
284
284
 
285
285
  if self._year >= 1997:
286
286
  if self._is_sunday(JUL, 1):
287
- # The day following Hong Kong Special Administrative Region Establishment Day.
287
+ # The day following Hong Kong S.A.R. Establishment Day.
288
288
  self._add_holiday_jul_2(tr("香港特別行政區成立紀念日翌日"))
289
289
  else:
290
- # Hong Kong Special Administrative Region Establishment Day.
290
+ # Hong Kong S.A.R. Establishment Day.
291
291
  self._add_holiday_jul_1(tr("香港特別行政區成立紀念日"))
292
292
 
293
293
  mid_autumn_date = self._add_mid_autumn()
294
294
 
295
295
  if self._year >= 1968:
296
- dt_double_ninth = self._chinese_calendar.double_ninth_date(self._year)[0]
296
+ dt_double_ninth = self._double_ninth_festival
297
297
  if self._is_sunday(dt_double_ninth):
298
- # The day following Chung Yeung Festival.
298
+ # The day following Double Ninth Festival.
299
299
  self._add_holiday(tr("重陽節翌日"), _timedelta(dt_double_ninth, +1))
300
300
  else:
301
- # Chung Yeung Festival.
301
+ # Double Ninth Festival.
302
302
  self._add_double_ninth_festival(tr("重陽節"))
303
303
 
304
304
  if self._year >= 1997:
@@ -367,20 +367,6 @@ class HongKong(
367
367
  else:
368
368
  self._add_holiday_aug_30(name)
369
369
 
370
- @property
371
- def _winter_solstice_date(self) -> tuple[int, int]:
372
- # This approximation is reliable for 1952-2099 years.
373
- if (
374
- (self._year % 4 == 0 and self._year >= 1988)
375
- or (self._year % 4 == 1 and self._year >= 2021)
376
- or (self._year % 4 == 2 and self._year >= 2058)
377
- or (self._year % 4 == 3 and self._year >= 2091)
378
- ):
379
- day = 21
380
- else:
381
- day = 22
382
- return DEC, day
383
-
384
370
 
385
371
  class HK(HongKong):
386
372
  pass
@@ -400,11 +386,11 @@ class HongKongStaticHolidays:
400
386
  # Queen's Birthday.
401
387
  queen_birthday = tr("英女皇壽辰")
402
388
 
403
- # The day following Hong Kong Special Administrative Region Establishment Day.
389
+ # The day following Hong Kong S.A.R. Establishment Day.
404
390
  day_following_hksar_establishment_day = tr("香港特別行政區成立紀念日翌日")
405
391
 
406
- # The 70th anniversary day of the victory of
407
- # the Chinese people's war of resistance against Japanese aggression.
392
+ # 70th Anniversary of the Victory of the Chinese People's War of Resistance against
393
+ # Japanese Aggression and the World Anti-Fascist War.
408
394
  victory_70th_anniversary = tr("中國人民抗日戰爭勝利70周年紀念日")
409
395
 
410
396
  # Sino-Japanese War Victory Day.