holidays 0.83__py3-none-any.whl → 0.85__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 (112) hide show
  1. holidays/__init__.py +0 -2
  2. holidays/calendars/__init__.py +0 -2
  3. holidays/calendars/balinese_saka.py +2 -3
  4. holidays/calendars/buddhist.py +3 -4
  5. holidays/calendars/burmese.py +9 -10
  6. holidays/calendars/chinese.py +8 -9
  7. holidays/calendars/hebrew.py +10 -11
  8. holidays/calendars/hindu.py +27 -28
  9. holidays/calendars/mandaean.py +2 -3
  10. holidays/calendars/mongolian.py +4 -5
  11. holidays/calendars/persian.py +2 -3
  12. holidays/calendars/sinhala.py +25 -14
  13. holidays/calendars/thai.py +13 -14
  14. holidays/calendars/tibetan.py +12 -13
  15. holidays/constants.py +0 -2
  16. holidays/countries/__init__.py +0 -2
  17. holidays/countries/aland_islands.py +4 -4
  18. holidays/countries/american_samoa.py +4 -4
  19. holidays/countries/angola.py +1 -2
  20. holidays/countries/austria.py +1 -1
  21. holidays/countries/azerbaijan.py +2 -0
  22. holidays/countries/china.py +10 -1
  23. holidays/countries/ecuador.py +12 -4
  24. holidays/countries/french_guiana.py +4 -4
  25. holidays/countries/french_polynesia.py +4 -4
  26. holidays/countries/french_southern_territories.py +4 -4
  27. holidays/countries/guadeloupe.py +4 -4
  28. holidays/countries/guam.py +4 -4
  29. holidays/countries/guernsey.py +1 -2
  30. holidays/countries/italy.py +2 -2
  31. holidays/countries/jersey.py +1 -2
  32. holidays/countries/malta.py +1 -1
  33. holidays/countries/marshall_islands.py +8 -6
  34. holidays/countries/martinique.py +4 -4
  35. holidays/countries/mauritania.py +2 -4
  36. holidays/countries/mayotte.py +4 -4
  37. holidays/countries/new_caledonia.py +4 -4
  38. holidays/countries/northern_mariana_islands.py +4 -4
  39. holidays/countries/portugal.py +6 -3
  40. holidays/countries/puerto_rico.py +4 -4
  41. holidays/countries/reunion.py +4 -4
  42. holidays/countries/saint_barthelemy.py +4 -4
  43. holidays/countries/saint_martin.py +4 -4
  44. holidays/countries/saint_pierre_and_miquelon.py +4 -4
  45. holidays/countries/samoa.py +1 -3
  46. holidays/countries/sint_maarten.py +1 -1
  47. holidays/countries/spain.py +418 -214
  48. holidays/countries/sri_lanka.py +37 -33
  49. holidays/countries/svalbard_and_jan_mayen.py +4 -4
  50. holidays/countries/taiwan.py +2 -2
  51. holidays/countries/thailand.py +4 -1
  52. holidays/countries/turkey.py +7 -4
  53. holidays/countries/united_kingdom.py +1 -2
  54. holidays/countries/united_states.py +5 -2
  55. holidays/countries/united_states_minor_outlying_islands.py +4 -4
  56. holidays/countries/united_states_virgin_islands.py +4 -4
  57. holidays/countries/wallis_and_futuna.py +4 -4
  58. holidays/financial/__init__.py +1 -3
  59. holidays/financial/ice_futures_europe.py +6 -2
  60. holidays/financial/national_stock_exchange_of_india.py +141 -38
  61. holidays/groups/__init__.py +0 -2
  62. holidays/groups/balinese_saka.py +2 -3
  63. holidays/groups/buddhist.py +4 -5
  64. holidays/groups/burmese.py +11 -12
  65. holidays/groups/chinese.py +18 -19
  66. holidays/groups/christian.py +20 -0
  67. holidays/groups/eastern.py +2 -3
  68. holidays/groups/hebrew.py +7 -10
  69. holidays/groups/hindu.py +36 -37
  70. holidays/groups/mandaean.py +13 -14
  71. holidays/groups/mongolian.py +7 -8
  72. holidays/groups/persian.py +14 -15
  73. holidays/groups/sinhala.py +13 -14
  74. holidays/groups/thai.py +12 -13
  75. holidays/groups/tibetan.py +16 -17
  76. holidays/holiday_base.py +34 -33
  77. holidays/ical.py +1 -2
  78. holidays/locale/ca/LC_MESSAGES/ES.mo +0 -0
  79. holidays/locale/en_IN/LC_MESSAGES/XNSE.mo +0 -0
  80. holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
  81. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  82. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  83. holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
  84. holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
  85. holidays/locale/en_US/LC_MESSAGES/XNSE.mo +0 -0
  86. holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
  87. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  88. holidays/locale/hi/LC_MESSAGES/XNSE.mo +0 -0
  89. holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
  90. holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
  91. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  92. holidays/locale/th/LC_MESSAGES/ES.mo +0 -0
  93. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  94. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  95. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  96. holidays/locale/th/LC_MESSAGES/US.mo +0 -0
  97. holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
  98. holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
  99. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  100. holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
  101. holidays/mixins/__init__.py +0 -2
  102. holidays/mixins/child_entity.py +1 -3
  103. holidays/observed_holiday_base.py +12 -13
  104. holidays/registry.py +4 -4
  105. holidays/utils.py +13 -14
  106. holidays/version.py +1 -1
  107. {holidays-0.83.dist-info → holidays-0.85.dist-info}/METADATA +4 -5
  108. {holidays-0.83.dist-info → holidays-0.85.dist-info}/RECORD +112 -111
  109. {holidays-0.83.dist-info → holidays-0.85.dist-info}/licenses/CONTRIBUTORS +2 -0
  110. {holidays-0.83.dist-info → holidays-0.85.dist-info}/WHEEL +0 -0
  111. {holidays-0.83.dist-info → holidays-0.85.dist-info}/licenses/LICENSE +0 -0
  112. {holidays-0.83.dist-info → holidays-0.85.dist-info}/top_level.txt +0 -0
@@ -54,9 +54,10 @@ class SriLanka(
54
54
  References:
55
55
  * [No. 29 of 1971 (Holidays Act)](https://web.archive.org/web/20250315041521/http://www.commonlii.org/lk/legis/num_act/ha29o1971152/)
56
56
  * [No. 21 of 1991 (Amendment)](https://web.archive.org/web/20200221094206/http://www.commonlii.org:80/lk/legis/num_act/ha21o1991232/)
57
- * <https://web.archive.org/web/20110722150724/http://www.pubad.gov.lk/Holidays/holidays%202003.htm>
58
- * <https://web.archive.org/web/20111018053717/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202004.pdf>
59
- * <https://web.archive.org/web/20241120204015/https://documents.gov.lk/en/calendar.php>
57
+ * [2003](https://web.archive.org/web/20110722150724/http://www.pubad.gov.lk/Holidays/holidays%202003.htm)
58
+ * [2004](https://web.archive.org/web/20111018053717/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202004.pdf)
59
+ * [2005-2025](https://web.archive.org/web/20241120204015/https://documents.gov.lk/en/calendar.php)
60
+ * [2026](https://archive.org/details/2438-22-e)
60
61
 
61
62
  Cross-Checked With:
62
63
  * <https://web.archive.org/web/20111018053927/http://www.pubad.gov.lk/Holidays/Public%20&%20Bank%20Holidays%202005.pdf>
@@ -82,11 +83,11 @@ class SriLanka(
82
83
  # %s (estimated).
83
84
  estimated_label = tr("%s (අනුමානිත)")
84
85
  supported_languages = ("en_US", "si_LK", "ta_LK")
85
- # Sri Lanka's Holidays Act (No. 29 of 1971) was first proclaimed on SEP 2nd, 1971
86
- # but the earliest citable calendar online is from 2003.
87
- # As there's no source for future Poya dates, end year is capped at 2025.
88
- start_year = 1972
89
- end_year = 2025
86
+ # Sri Lanka's Holidays Act (No. 29 of 1971) was first proclaimed on September 2nd, 1971
87
+ # but the earliest citable online calendar reference is from 2003. As Poya dates are
88
+ # approved on a yearly basis by the Poya committee, the end year is capped at 2026.
89
+ start_year = 2003
90
+ end_year = 2026
90
91
 
91
92
  def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
92
93
  """
@@ -117,6 +118,7 @@ class SriLanka(
117
118
  # Tamil Thai Pongal Day.
118
119
  name = tr("දෙමළ තෛපොංැලල් දිනය")
119
120
  thai_pongal_years_jan_14 = {
121
+ # Sri Lanka's isn't an exact match with India's, i.e. 2026, used with caution.
120
122
  2005,
121
123
  2006,
122
124
  2009,
@@ -154,13 +156,19 @@ class SriLanka(
154
156
  # Day Before Sinhala and Tamil New Year.
155
157
  self._add_holiday(tr("සිංහල හා දෙමළ අලුත් අවුරුදු දිනට පෙර දිනය"), _timedelta(dt, -1))
156
158
 
159
+ # Good Friday.
160
+ self._add_good_friday(tr("මහ සිකුරාදා දිනය"))
161
+
157
162
  # International Workers' Day.
158
163
  self._add_labor_day(tr("ලොක කම්කරු දිනය"))
159
164
 
165
+ # Christmas Day.
166
+ self._add_christmas_day(tr("නත්තල් උත්සව දිනය"))
167
+
160
168
  # Hindu Holidays.
161
169
 
162
170
  maha_sivarathri_dates = {
163
- # The one used in Sri Lanka isn't an exact match with India, used with caution.
171
+ # Sri Lanka's isn't an exact match with India's, i.e. 2010, used with caution.
164
172
  2003: (MAR, 1),
165
173
  2004: (FEB, 18),
166
174
  2005: (MAR, 8),
@@ -184,25 +192,16 @@ class SriLanka(
184
192
  2023: (FEB, 18),
185
193
  2024: (MAR, 8),
186
194
  2025: (FEB, 26),
195
+ 2026: (FEB, 15),
187
196
  }
188
- maha_sivarathri_date = maha_sivarathri_dates.get(self._year)
189
- if maha_sivarathri_date:
190
- # Maha Sivarathri Day.
191
- self._add_holiday(tr("මහ සිවරාත්රි දිනය"), maha_sivarathri_date)
197
+ # Maha Sivarathri Day.
198
+ self._add_holiday(tr("මහ සිවරාත්රි දිනය"), maha_sivarathri_dates.get(self._year))
192
199
 
193
200
  # Deepavali was a working day in 2003.
194
201
  if self._year >= 2004:
195
202
  # Deepavali Festival Day.
196
203
  self._add_diwali(tr("දීපවාලි උත්සව දිනය"))
197
204
 
198
- # Christian Holidays.
199
-
200
- # Good Friday.
201
- self._add_good_friday(tr("මහ සිකුරාදා දිනය"))
202
-
203
- # Christmas Day.
204
- self._add_christmas_day(tr("නත්තල් උත්සව දිනය"))
205
-
206
205
  # Poya Holidays.
207
206
  # All Adhi Poya Holidays will instead be added in StaticHolidays.
208
207
 
@@ -219,11 +218,10 @@ class SriLanka(
219
218
  self._add_bak_poya(tr("බක් පුර පසළොස්වක පෝය දිනය"))
220
219
 
221
220
  # Vesak Full Moon Poya Day.
222
- dt = self._add_vesak_poya(tr("වෙසක් පුර පසළොස්වක පෝය දිනය"))
221
+ vesak_poya = self._add_vesak_poya(tr("වෙසක් පුර පසළොස්වක පෝය දිනය"))
223
222
 
224
- if self._year >= 2003:
225
- # Day Following Vesak Full Moon Poya Day.
226
- self._add_holiday(tr("වෙසක් පුර පසළොස්වක පෝය දිනට පසු දිනය"), _timedelta(dt, +1))
223
+ # Day Following Vesak Full Moon Poya Day.
224
+ self._add_holiday(tr("වෙසක් පුර පසළොස්වක පෝය දිනට පසු දිනය"), _timedelta(vesak_poya, +1))
227
225
 
228
226
  # Poson Full Moon Poya Day.
229
227
  self._add_poson_poya(tr("පොසොන් පුර පසළොස්වක පෝය දිනය"))
@@ -291,21 +289,23 @@ class SriLankaHinduHolidays(_CustomHinduHolidays):
291
289
  2023: (NOV, 12),
292
290
  2024: (OCT, 31),
293
291
  2025: (OCT, 20),
292
+ 2026: (NOV, 8),
294
293
  }
295
294
 
296
295
 
297
296
  class SriLankaIslamicHolidays(_CustomIslamicHolidays):
298
297
  # https://web.archive.org/web/20111103102902/http://www.adaderana.lk:80/news.php?nid=15606
299
298
  # https://web.archive.org/web/20121029024049/http://www.adaderana.lk:80/news.php?nid=20136
300
- EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2003, 2025)
299
+ EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2003, 2026)
301
300
  EID_AL_ADHA_DATES = {
302
301
  2004: (FEB, 1),
303
302
  2005: (JAN, 21),
304
303
  2006: ((JAN, 11), (DEC, 31)),
305
304
  2017: (SEP, 1),
305
+ 2026: (MAY, 28),
306
306
  }
307
307
 
308
- EID_AL_FITR_DATES_CONFIRMED_YEARS = (2003, 2025)
308
+ EID_AL_FITR_DATES_CONFIRMED_YEARS = (2003, 2026)
309
309
  EID_AL_FITR_DATES = {
310
310
  2004: (NOV, 14),
311
311
  2007: (OCT, 13),
@@ -314,13 +314,15 @@ class SriLankaIslamicHolidays(_CustomIslamicHolidays):
314
314
  2012: (AUG, 19),
315
315
  2016: (JUL, 6),
316
316
  2018: (JUN, 15),
317
+ 2026: (MAR, 21),
317
318
  }
318
319
 
319
- MAWLID_DATES_CONFIRMED_YEARS = (2003, 2025)
320
+ MAWLID_DATES_CONFIRMED_YEARS = (2003, 2026)
320
321
  MAWLID_DATES = {
321
322
  2008: (MAR, 20),
322
323
  2015: (JAN, 4),
323
324
  2018: (NOV, 20),
325
+ 2026: (AUG, 26),
324
326
  }
325
327
 
326
328
 
@@ -407,7 +409,7 @@ class SriLankaStaticHolidays:
407
409
  ),
408
410
  2019: (
409
411
  (APR, 15, special_bank_holiday_name),
410
- # MAY 20 got upgraded to Special Public Holiday.
412
+ # May 20th, 2019 got upgraded to Special Public Holiday.
411
413
  (NOV, 11, special_bank_holiday_name),
412
414
  ),
413
415
  2020: (APR, 14, special_bank_holiday_name),
@@ -416,7 +418,7 @@ class SriLankaStaticHolidays:
416
418
  (DEC, 24, half_day_special_bank_holiday_name),
417
419
  ),
418
420
  2022: (
419
- # MAY 2 got upgraded to Special Public Holiday.
421
+ # May 2nd got upgraded to Special Public Holiday.
420
422
  (OCT, 10, special_bank_holiday_name),
421
423
  (DEC, 26, special_bank_holiday_name),
422
424
  ),
@@ -428,7 +430,7 @@ class SriLankaStaticHolidays:
428
430
  2020: (JUN, 4, public_sector_holiday_name),
429
431
  2022: (
430
432
  (JUN, 13, public_sector_holiday_name),
431
- # All Friday between JUN 15, 2022 to AUG 2, 2022.
433
+ # All Friday between June 15th, 2022 to August 2nd, 2022.
432
434
  (JUN, 17, public_sector_holiday_name),
433
435
  (JUN, 24, public_sector_holiday_name),
434
436
  (JUL, 1, public_sector_holiday_name),
@@ -443,7 +445,7 @@ class SriLankaStaticHolidays:
443
445
  2004: (JUL, 31, adhi_esala_poya_name),
444
446
  2007: (MAY, 31, adhi_poson_poya_name),
445
447
  2010: (APR, 28, adhi_vesak_poya_name),
446
- # 2011, MAY 2 confirmed as not getting upgrade to Special Public Holiday.
448
+ # May 2nd, 2011 confirmed as not getting upgrade to Special Public Holiday.
447
449
  2012: (
448
450
  (MAY, 7, special_public_holiday_name),
449
451
  (AUG, 31, adhi_binara_poya_name),
@@ -470,8 +472,10 @@ class SriLankaStaticHolidays:
470
472
  (APR, 15, special_public_holiday_name),
471
473
  (SEP, 29, special_public_holiday_name),
472
474
  ),
475
+ 2026: (MAY, 30, adhi_poson_poya_name),
473
476
  }
474
477
 
475
478
  special_workday_holidays = {
476
- 2003: (OCT, 24, tr("දීපවාලි උත්සව දිනය")), # Deepavali Festival Day.
479
+ # Deepavali Festival Day.
480
+ 2003: (OCT, 24, tr("දීපවාලි උත්සව දිනය")),
477
481
  }
@@ -14,7 +14,7 @@ from holidays.countries.norway import Norway
14
14
  from holidays.mixins.child_entity import ChildEntity
15
15
 
16
16
 
17
- class HolidaysSJ(ChildEntity, Norway):
17
+ class SvalbardAndJanMayen(ChildEntity, Norway):
18
18
  """Svalbard and Jan Mayen holidays.
19
19
 
20
20
  Alias of Norwegian subdivisions that are also officially assigned
@@ -29,13 +29,13 @@ class HolidaysSJ(ChildEntity, Norway):
29
29
  parent_entity_subdivision_code = "21"
30
30
 
31
31
 
32
- class SvalbardAndJanMayen(HolidaysSJ):
32
+ class HolidaysSJ(SvalbardAndJanMayen):
33
33
  pass
34
34
 
35
35
 
36
- class SJ(HolidaysSJ):
36
+ class SJ(SvalbardAndJanMayen):
37
37
  pass
38
38
 
39
39
 
40
- class SJM(HolidaysSJ):
40
+ class SJM(SvalbardAndJanMayen):
41
41
  pass
@@ -13,7 +13,7 @@
13
13
  from __future__ import annotations
14
14
 
15
15
  from gettext import gettext as tr
16
- from typing import Optional, TYPE_CHECKING
16
+ from typing import TYPE_CHECKING
17
17
 
18
18
  from holidays.calendars.gregorian import (
19
19
  JAN,
@@ -112,7 +112,7 @@ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays
112
112
  return weekend
113
113
 
114
114
  def _populate_observed(
115
- self, dts: set[date], rule: Optional[ObservedRule] = None, since: int = 2015
115
+ self, dts: set[date], rule: ObservedRule | None = None, since: int = 2015
116
116
  ) -> None:
117
117
  """
118
118
  Taiwan's General Observance Rule first started in 2015 as per
@@ -145,6 +145,7 @@ class Thailand(ObservedHolidayBase, InternationalHolidays, StaticHolidays, ThaiC
145
145
  * <https://web.archive.org/web/20250428135456/http://mdc.library.mju.ac.th/article/57695/297565/367757.pdf>
146
146
  * <https://web.archive.org/web/20250428140422/https://resolution.soc.go.th/PDF_UPLOAD/2510/932141.pdf>
147
147
  * <https://web.archive.org/web/20161028001043/http://www.myhora.com:80/ปฏิทิน/ปฏิทิน-พ.ศ.2475.aspx>
148
+ * <https://web.archive.org/web/20251108075053/https://pridi.or.th/th/content/2024/05/1954>
148
149
  * [Royal Thai Armed Forces Day](https://th.wikipedia.org/wiki/วันกองทัพไทย)
149
150
  * [Teacher's Day](https://web.archive.org/web/20250117105542/http://event.sanook.com/day/teacher-day/)
150
151
 
@@ -889,8 +890,9 @@ class Thailand(ObservedHolidayBase, InternationalHolidays, StaticHolidays, ThaiC
889
890
  2023: (MAY, 17),
890
891
  2024: (MAY, 10),
891
892
  2025: (MAY, 9),
893
+ 2026: (MAY, 13),
892
894
  }
893
- if 1960 <= self._year <= 2025 and self._year != 1999:
895
+ if 1960 <= self._year <= 2026 and self._year != 1999:
894
896
  self._add_observed(
895
897
  # Royal Ploughing Ceremony.
896
898
  self._add_holiday(tr("วันพืชมงคล"), raeknakhwan_dates.get(self._year))
@@ -1136,6 +1138,7 @@ class ThailandStaticHolidays:
1136
1138
  ),
1137
1139
  2026: (JAN, 2, thai_bridge_public_holiday),
1138
1140
  }
1141
+ # Royal Ploughing Ceremony.
1139
1142
  special_workday_holidays = {1999: (MAY, 14, tr("วันพืชมงคล"))}
1140
1143
 
1141
1144
  special_public_holidays_observed = {
@@ -24,8 +24,8 @@ class Turkey(HolidayBase, InternationalHolidays, IslamicHolidays, StaticHolidays
24
24
 
25
25
  References:
26
26
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Turkey>
27
- * [Law 2739](https://web.archive.org/web/20250102114014/https://www5.tbmm.gov.tr/tutanaklar/KANUNLAR_KARARLAR/kanuntbmmc015/kanuntbmmc015/kanuntbmmc01502739.pdf)
28
- * [Law 2429](https://web.archive.org/web/20250121111504/http://www.mevzuat.gov.tr/MevzuatMetin/1.5.2429.pdf)
27
+ * [Law 2739 of May 27, 1935](https://web.archive.org/web/20250102114014/https://www5.tbmm.gov.tr/tutanaklar/KANUNLAR_KARARLAR/kanuntbmmc015/kanuntbmmc015/kanuntbmmc01502739.pdf)
28
+ * [Law 2429 of March 19, 1981](https://web.archive.org/web/20250121111504/http://www.mevzuat.gov.tr/MevzuatMetin/1.5.2429.pdf)
29
29
  * [Hijri calendar holidays](https://web.archive.org/web/20250415045516/https://vakithesaplama.diyanet.gov.tr/hicriden_miladiye.php)
30
30
  """
31
31
 
@@ -35,7 +35,7 @@ class Turkey(HolidayBase, InternationalHolidays, IslamicHolidays, StaticHolidays
35
35
  estimated_label = tr("%s (tahmini)")
36
36
  supported_categories = (HALF_DAY, PUBLIC)
37
37
  supported_languages = ("en_US", "tr", "uk")
38
- # Law 2739 of 27 May 1935.
38
+ # Law 2739 of May 27, 1935.
39
39
  start_year = 1936
40
40
 
41
41
  def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
@@ -64,7 +64,10 @@ class Turkey(HolidayBase, InternationalHolidays, IslamicHolidays, StaticHolidays
64
64
  else tr("Ulusal Egemenlik Bayramı")
65
65
  )
66
66
 
67
- if self._year >= 2009:
67
+ if self._year <= 1980:
68
+ # Spring Day.
69
+ self._add_labor_day(tr("Bahar Bayramı"))
70
+ elif self._year >= 2009:
68
71
  # Labour and Solidarity Day.
69
72
  self._add_labor_day(tr("Emek ve Dayanışma Günü"))
70
73
 
@@ -11,7 +11,6 @@
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from gettext import gettext as tr
14
- from typing import Union
15
14
 
16
15
  from holidays.calendars.gregorian import APR, MAY, JUN, JUL, SEP, DEC
17
16
  from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
@@ -42,7 +41,7 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
42
41
  default_language = "en_GB"
43
42
  # %s (observed).
44
43
  observed_label = tr("%s (observed)")
45
- subdivisions: Union[tuple[()], tuple[str, ...]] = (
44
+ subdivisions: tuple[()] | tuple[str, ...] = (
46
45
  "ENG", # England
47
46
  "NIR", # Northern Ireland
48
47
  "SCT", # Scotland
@@ -11,7 +11,6 @@
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from gettext import gettext as tr
14
- from typing import Union
15
14
 
16
15
  from holidays.calendars.gregorian import (
17
16
  FEB,
@@ -115,7 +114,7 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
115
114
  supported_languages = ("en_US", "th")
116
115
  # Independence Declared on July 4th, 1776.
117
116
  start_year = 1777
118
- subdivisions: Union[tuple[()], tuple[str, ...]] = (
117
+ subdivisions: tuple[()] | tuple[str, ...] = (
119
118
  "AK", # Alaska.
120
119
  "AL", # Alabama.
121
120
  "AR", # Arkansas.
@@ -1282,6 +1281,10 @@ class UnitedStates(ObservedHolidayBase, ChristianHolidays, InternationalHolidays
1282
1281
  # Presidents' Day.
1283
1282
  self._add_holiday_3rd_mon_of_feb(tr("Presidents' Day"))
1284
1283
 
1284
+ if self._year >= 2014:
1285
+ # Native American Heritage Day.
1286
+ self._add_holiday_1_day_past_4th_thu_of_nov(tr("Native American Heritage Day"))
1287
+
1285
1288
  def _populate_subdiv_wi_public_holidays(self):
1286
1289
  if self._year >= 1976:
1287
1290
  # Susan B. Anthony Day.
@@ -14,7 +14,7 @@ from holidays.countries.united_states import UnitedStates
14
14
  from holidays.mixins.child_entity import ChildEntity
15
15
 
16
16
 
17
- class HolidaysUM(ChildEntity, UnitedStates):
17
+ class UnitedStatesMinorOutlyingIslands(ChildEntity, UnitedStates):
18
18
  """United States Minor Outlying Islands holidays.
19
19
 
20
20
  Alias of a US subdivision that is also officially assigned its own country code in ISO 3166-1.
@@ -27,13 +27,13 @@ class HolidaysUM(ChildEntity, UnitedStates):
27
27
  start_year = 1857
28
28
 
29
29
 
30
- class UnitedStatesMinorOutlyingIslands(HolidaysUM):
30
+ class HolidaysUM(UnitedStatesMinorOutlyingIslands):
31
31
  pass
32
32
 
33
33
 
34
- class UM(HolidaysUM):
34
+ class UM(UnitedStatesMinorOutlyingIslands):
35
35
  pass
36
36
 
37
37
 
38
- class UMI(HolidaysUM):
38
+ class UMI(UnitedStatesMinorOutlyingIslands):
39
39
  pass
@@ -14,7 +14,7 @@ from holidays.countries.united_states import UnitedStates
14
14
  from holidays.mixins.child_entity import ChildEntity
15
15
 
16
16
 
17
- class HolidaysVI(ChildEntity, UnitedStates):
17
+ class UnitedStatesVirginIslands(ChildEntity, UnitedStates):
18
18
  """United States Virgin Islands (the) holidays.
19
19
 
20
20
  Alias of a US subdivision that is also officially assigned its own country code in ISO 3166-1.
@@ -27,13 +27,13 @@ class HolidaysVI(ChildEntity, UnitedStates):
27
27
  start_year = 1918
28
28
 
29
29
 
30
- class UnitedStatesVirginIslands(HolidaysVI):
30
+ class HolidaysVI(UnitedStatesVirginIslands):
31
31
  pass
32
32
 
33
33
 
34
- class VI(HolidaysVI):
34
+ class VI(UnitedStatesVirginIslands):
35
35
  pass
36
36
 
37
37
 
38
- class VIR(HolidaysVI):
38
+ class VIR(UnitedStatesVirginIslands):
39
39
  pass
@@ -14,7 +14,7 @@ from holidays.countries.france import France
14
14
  from holidays.mixins.child_entity import ChildEntity
15
15
 
16
16
 
17
- class HolidaysWF(ChildEntity, France):
17
+ class WallisAndFutuna(ChildEntity, France):
18
18
  """Wallis and Futuna holidays.
19
19
 
20
20
  Alias of a French subdivision that is also officially assigned
@@ -31,13 +31,13 @@ class HolidaysWF(ChildEntity, France):
31
31
  start_year = 1962
32
32
 
33
33
 
34
- class WallisAndFutuna(HolidaysWF):
34
+ class HolidaysWF(WallisAndFutuna):
35
35
  pass
36
36
 
37
37
 
38
- class WF(HolidaysWF):
38
+ class WF(WallisAndFutuna):
39
39
  pass
40
40
 
41
41
 
42
- class WLF(HolidaysWF):
42
+ class WLF(WallisAndFutuna):
43
43
  pass
@@ -10,11 +10,9 @@
10
10
  # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
- # ruff: noqa: F401
14
-
15
13
  from holidays.financial.brasil_bolsa_balcao import BrasilBolsaBalcao, BVMF, B3
16
14
  from holidays.financial.european_central_bank import EuropeanCentralBank, XECB, ECB, TAR
17
- from holidays.financial.ice_futures_europe import ICEFuturesEurope, IFEU
15
+ from holidays.financial.ice_futures_europe import IceFuturesEurope, ICEFuturesEurope, IFEU
18
16
  from holidays.financial.national_stock_exchange_of_india import (
19
17
  NationalStockExchangeOfIndia,
20
18
  XNSE,
@@ -14,7 +14,7 @@ from holidays.groups import ChristianHolidays, InternationalHolidays
14
14
  from holidays.observed_holiday_base import ObservedHolidayBase, SAT_TO_NONE, SUN_TO_NEXT_MON
15
15
 
16
16
 
17
- class ICEFuturesEurope(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
17
+ class IceFuturesEurope(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
18
18
  """ICE Futures Europe holidays.
19
19
 
20
20
  References:
@@ -41,5 +41,9 @@ class ICEFuturesEurope(ObservedHolidayBase, ChristianHolidays, InternationalHoli
41
41
  self._move_holiday(self._add_christmas_day("Christmas Day"))
42
42
 
43
43
 
44
- class IFEU(ICEFuturesEurope):
44
+ class ICEFuturesEurope(IceFuturesEurope):
45
+ pass
46
+
47
+
48
+ class IFEU(IceFuturesEurope):
45
49
  pass