holidays 0.71__py3-none-any.whl → 0.73__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 (260) hide show
  1. holidays/__init__.py +1 -2
  2. holidays/calendars/__init__.py +1 -1
  3. holidays/calendars/balinese_saka.py +1 -1
  4. holidays/calendars/buddhist.py +5 -3
  5. holidays/calendars/chinese.py +101 -13
  6. holidays/calendars/custom.py +1 -1
  7. holidays/calendars/gregorian.py +1 -1
  8. holidays/calendars/hebrew.py +1 -1
  9. holidays/calendars/hindu.py +194 -6
  10. holidays/calendars/islamic.py +1 -1
  11. holidays/calendars/julian.py +1 -1
  12. holidays/calendars/julian_revised.py +1 -1
  13. holidays/calendars/persian.py +1 -1
  14. holidays/calendars/sinhala.py +1 -1
  15. holidays/calendars/thai.py +1 -1
  16. holidays/constants.py +1 -1
  17. holidays/countries/__init__.py +7 -1
  18. holidays/countries/afghanistan.py +1 -1
  19. holidays/countries/albania.py +2 -2
  20. holidays/countries/algeria.py +1 -1
  21. holidays/countries/american_samoa.py +2 -1
  22. holidays/countries/andorra.py +140 -47
  23. holidays/countries/angola.py +1 -1
  24. holidays/countries/antigua_and_barbuda.py +1 -1
  25. holidays/countries/argentina.py +15 -5
  26. holidays/countries/armenia.py +1 -1
  27. holidays/countries/aruba.py +1 -1
  28. holidays/countries/australia.py +16 -5
  29. holidays/countries/austria.py +3 -3
  30. holidays/countries/azerbaijan.py +1 -1
  31. holidays/countries/bahamas.py +1 -1
  32. holidays/countries/bahrain.py +1 -1
  33. holidays/countries/bangladesh.py +1 -1
  34. holidays/countries/barbados.py +1 -1
  35. holidays/countries/belarus.py +1 -1
  36. holidays/countries/belgium.py +1 -1
  37. holidays/countries/belize.py +1 -1
  38. holidays/countries/bolivia.py +23 -12
  39. holidays/countries/bosnia_and_herzegovina.py +5 -5
  40. holidays/countries/botswana.py +1 -1
  41. holidays/countries/brazil.py +3 -4
  42. holidays/countries/brunei.py +1 -1
  43. holidays/countries/bulgaria.py +1 -1
  44. holidays/countries/burkina_faso.py +1 -1
  45. holidays/countries/burundi.py +1 -1
  46. holidays/countries/cambodia.py +22 -22
  47. holidays/countries/cameroon.py +1 -1
  48. holidays/countries/canada.py +91 -57
  49. holidays/countries/chad.py +1 -1
  50. holidays/countries/chile.py +36 -18
  51. holidays/countries/china.py +1 -1
  52. holidays/countries/cocos_islands.py +259 -0
  53. holidays/countries/colombia.py +1 -1
  54. holidays/countries/congo.py +1 -1
  55. holidays/countries/costa_rica.py +1 -1
  56. holidays/countries/croatia.py +1 -1
  57. holidays/countries/cuba.py +1 -1
  58. holidays/countries/curacao.py +1 -1
  59. holidays/countries/cyprus.py +1 -1
  60. holidays/countries/czechia.py +1 -1
  61. holidays/countries/denmark.py +1 -1
  62. holidays/countries/djibouti.py +1 -1
  63. holidays/countries/dominica.py +1 -1
  64. holidays/countries/dominican_republic.py +1 -1
  65. holidays/countries/ecuador.py +1 -1
  66. holidays/countries/egypt.py +1 -1
  67. holidays/countries/el_salvador.py +18 -18
  68. holidays/countries/estonia.py +1 -1
  69. holidays/countries/eswatini.py +1 -1
  70. holidays/countries/ethiopia.py +43 -24
  71. holidays/countries/fiji.py +1 -1
  72. holidays/countries/finland.py +1 -1
  73. holidays/countries/france.py +3 -4
  74. holidays/countries/french_southern_territories.py +1 -1
  75. holidays/countries/gabon.py +1 -1
  76. holidays/countries/georgia.py +1 -1
  77. holidays/countries/germany.py +20 -21
  78. holidays/countries/ghana.py +1 -1
  79. holidays/countries/greece.py +1 -1
  80. holidays/countries/greenland.py +1 -1
  81. holidays/countries/grenada.py +143 -0
  82. holidays/countries/guam.py +2 -1
  83. holidays/countries/guatemala.py +1 -1
  84. holidays/countries/guernsey.py +1 -1
  85. holidays/countries/guinea.py +1 -1
  86. holidays/countries/haiti.py +1 -1
  87. holidays/countries/honduras.py +1 -1
  88. holidays/countries/hongkong.py +2 -2
  89. holidays/countries/hungary.py +1 -1
  90. holidays/countries/iceland.py +1 -1
  91. holidays/countries/india.py +17 -11
  92. holidays/countries/indonesia.py +1 -1
  93. holidays/countries/iran.py +1 -1
  94. holidays/countries/ireland.py +1 -1
  95. holidays/countries/isle_of_man.py +1 -1
  96. holidays/countries/israel.py +1 -1
  97. holidays/countries/italy.py +1 -1
  98. holidays/countries/ivory_coast.py +5 -5
  99. holidays/countries/jamaica.py +1 -1
  100. holidays/countries/japan.py +1 -1
  101. holidays/countries/jersey.py +1 -1
  102. holidays/countries/jordan.py +1 -1
  103. holidays/countries/kazakhstan.py +1 -1
  104. holidays/countries/kenya.py +1 -1
  105. holidays/countries/kuwait.py +1 -1
  106. holidays/countries/kyrgyzstan.py +1 -1
  107. holidays/countries/laos.py +1 -1
  108. holidays/countries/latvia.py +1 -1
  109. holidays/countries/lesotho.py +1 -1
  110. holidays/countries/liechtenstein.py +1 -1
  111. holidays/countries/lithuania.py +1 -1
  112. holidays/countries/luxembourg.py +1 -1
  113. holidays/countries/macau.py +5 -5
  114. holidays/countries/madagascar.py +1 -1
  115. holidays/countries/malawi.py +1 -1
  116. holidays/countries/malaysia.py +21 -29
  117. holidays/countries/maldives.py +1 -1
  118. holidays/countries/malta.py +1 -1
  119. holidays/countries/marshall_islands.py +1 -1
  120. holidays/countries/mauritania.py +1 -1
  121. holidays/countries/mexico.py +1 -1
  122. holidays/countries/moldova.py +1 -1
  123. holidays/countries/monaco.py +1 -1
  124. holidays/countries/montenegro.py +1 -1
  125. holidays/countries/morocco.py +1 -1
  126. holidays/countries/mozambique.py +1 -1
  127. holidays/countries/namibia.py +1 -1
  128. holidays/countries/nepal.py +441 -0
  129. holidays/countries/netherlands.py +1 -1
  130. holidays/countries/new_zealand.py +19 -19
  131. holidays/countries/nicaragua.py +19 -19
  132. holidays/countries/nigeria.py +1 -1
  133. holidays/countries/north_macedonia.py +1 -1
  134. holidays/countries/northern_mariana_islands.py +2 -1
  135. holidays/countries/norway.py +1 -1
  136. holidays/countries/oman.py +1 -1
  137. holidays/countries/pakistan.py +1 -1
  138. holidays/countries/palau.py +1 -1
  139. holidays/countries/panama.py +1 -1
  140. holidays/countries/papua_new_guinea.py +1 -1
  141. holidays/countries/paraguay.py +1 -1
  142. holidays/countries/peru.py +1 -1
  143. holidays/countries/philippines.py +3 -1
  144. holidays/countries/poland.py +1 -1
  145. holidays/countries/portugal.py +23 -25
  146. holidays/countries/puerto_rico.py +2 -1
  147. holidays/countries/qatar.py +1 -1
  148. holidays/countries/romania.py +1 -1
  149. holidays/countries/russia.py +1 -1
  150. holidays/countries/saint_kitts_and_nevis.py +1 -1
  151. holidays/countries/saint_lucia.py +1 -1
  152. holidays/countries/samoa.py +1 -1
  153. holidays/countries/san_marino.py +1 -1
  154. holidays/countries/sao_tome_and_principe.py +112 -0
  155. holidays/countries/saudi_arabia.py +1 -1
  156. holidays/countries/serbia.py +1 -1
  157. holidays/countries/seychelles.py +1 -1
  158. holidays/countries/sierra_leone.py +1 -1
  159. holidays/countries/singapore.py +5 -2
  160. holidays/countries/slovakia.py +1 -1
  161. holidays/countries/slovenia.py +1 -1
  162. holidays/countries/south_africa.py +1 -1
  163. holidays/countries/south_korea.py +3 -31
  164. holidays/countries/spain.py +43 -20
  165. holidays/countries/sri_lanka.py +1 -1
  166. holidays/countries/suriname.py +1 -1
  167. holidays/countries/sweden.py +1 -1
  168. holidays/countries/switzerland.py +61 -28
  169. holidays/countries/taiwan.py +1 -1
  170. holidays/countries/tanzania.py +1 -1
  171. holidays/countries/thailand.py +3 -3
  172. holidays/countries/timor_leste.py +1 -1
  173. holidays/countries/togo.py +182 -0
  174. holidays/countries/tonga.py +1 -1
  175. holidays/countries/trinidad_and_tobago.py +197 -0
  176. holidays/countries/tunisia.py +1 -1
  177. holidays/countries/turkey.py +1 -1
  178. holidays/countries/tuvalu.py +6 -6
  179. holidays/countries/ukraine.py +1 -1
  180. holidays/countries/united_arab_emirates.py +1 -1
  181. holidays/countries/united_kingdom.py +1 -1
  182. holidays/countries/united_states.py +62 -4
  183. holidays/countries/united_states_minor_outlying_islands.py +2 -1
  184. holidays/countries/united_states_virgin_islands.py +2 -1
  185. holidays/countries/uruguay.py +1 -1
  186. holidays/countries/uzbekistan.py +1 -1
  187. holidays/countries/vanuatu.py +1 -1
  188. holidays/countries/vatican_city.py +30 -32
  189. holidays/countries/venezuela.py +1 -1
  190. holidays/countries/vietnam.py +3 -2
  191. holidays/countries/zambia.py +1 -1
  192. holidays/countries/zimbabwe.py +1 -1
  193. holidays/deprecations/v1_incompatibility.py +1 -1
  194. holidays/financial/__init__.py +1 -1
  195. holidays/financial/brasil_bolsa_balcao.py +1 -1
  196. holidays/financial/european_central_bank.py +1 -1
  197. holidays/financial/ice_futures_europe.py +1 -1
  198. holidays/financial/ny_stock_exchange.py +1 -1
  199. holidays/groups/__init__.py +1 -1
  200. holidays/groups/balinese_saka.py +1 -1
  201. holidays/groups/buddhist.py +1 -1
  202. holidays/groups/chinese.py +6 -4
  203. holidays/groups/christian.py +4 -4
  204. holidays/groups/custom.py +1 -1
  205. holidays/groups/eastern.py +1 -1
  206. holidays/groups/hebrew.py +1 -1
  207. holidays/groups/hindu.py +166 -4
  208. holidays/groups/international.py +1 -1
  209. holidays/groups/islamic.py +1 -1
  210. holidays/groups/persian.py +1 -1
  211. holidays/groups/sinhala.py +1 -1
  212. holidays/groups/thai.py +6 -6
  213. holidays/helpers.py +1 -1
  214. holidays/holiday_base.py +1 -1
  215. holidays/ical.py +2 -2
  216. holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
  217. holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
  218. holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
  219. holidays/locale/ca/LC_MESSAGES/AD.mo +0 -0
  220. holidays/locale/coa_CC/LC_MESSAGES/CC.mo +0 -0
  221. holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
  222. holidays/locale/en_CC/LC_MESSAGES/CC.mo +0 -0
  223. holidays/locale/en_CI/LC_MESSAGES/CI.mo +0 -0
  224. holidays/locale/en_ET/LC_MESSAGES/ET.mo +0 -0
  225. holidays/locale/en_GD/LC_MESSAGES/GD.mo +0 -0
  226. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  227. holidays/locale/en_TT/LC_MESSAGES/TT.mo +0 -0
  228. holidays/locale/en_US/LC_MESSAGES/AD.mo +0 -0
  229. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  230. holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
  231. holidays/locale/en_US/LC_MESSAGES/CC.mo +0 -0
  232. holidays/locale/en_US/LC_MESSAGES/CI.mo +0 -0
  233. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  234. holidays/locale/en_US/LC_MESSAGES/GD.mo +0 -0
  235. holidays/locale/en_US/LC_MESSAGES/IN.mo +0 -0
  236. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  237. holidays/locale/en_US/LC_MESSAGES/ST.mo +0 -0
  238. holidays/locale/en_US/LC_MESSAGES/TG.mo +0 -0
  239. holidays/locale/en_US/LC_MESSAGES/TT.mo +0 -0
  240. holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
  241. holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
  242. holidays/locale/fr/LC_MESSAGES/TG.mo +0 -0
  243. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  244. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  245. holidays/locale/pt_ST/LC_MESSAGES/ST.mo +0 -0
  246. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  247. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  248. holidays/locale/uk/LC_MESSAGES/AD.mo +0 -0
  249. holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
  250. holidays/mixins.py +1 -1
  251. holidays/observed_holiday_base.py +1 -1
  252. holidays/registry.py +7 -1
  253. holidays/utils.py +1 -1
  254. holidays/version.py +2 -2
  255. {holidays-0.71.dist-info → holidays-0.73.dist-info}/METADATA +66 -18
  256. {holidays-0.71.dist-info → holidays-0.73.dist-info}/RECORD +260 -239
  257. {holidays-0.71.dist-info → holidays-0.73.dist-info}/WHEEL +1 -1
  258. holidays-0.71.dist-info/licenses/AUTHORS.md → holidays-0.73.dist-info/licenses/CONTRIBUTORS +1 -2
  259. {holidays-0.71.dist-info → holidays-0.73.dist-info}/licenses/LICENSE +1 -1
  260. {holidays-0.71.dist-info → holidays-0.73.dist-info}/top_level.txt +0 -0
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -14,8 +14,9 @@ from calendar import isleap
14
14
  from gettext import gettext as tr
15
15
 
16
16
  from holidays.calendars import _CustomIslamicHolidays
17
- from holidays.calendars.gregorian import JAN, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV
17
+ from holidays.calendars.gregorian import JAN, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV
18
18
  from holidays.calendars.julian import JULIAN_CALENDAR
19
+ from holidays.constants import PUBLIC, WORKDAY
19
20
  from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
20
21
  from holidays.holiday_base import HolidayBase
21
22
 
@@ -24,17 +25,24 @@ class Ethiopia(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHol
24
25
  """Ethiopia holidays.
25
26
 
26
27
  References:
28
+ * [Proclamation No. 29/1996](https://www.lawethiopia.com/images/federal_proclamation/proclamations_by_number/29.pdf)
29
+ * [Proclamation No. 1334/2024](https://lawethiopiacomment.wordpress.com/wp-content/uploads/2024/08/public-holiday-stamped.pdf)
30
+ * <https://www.edarabia.com/ethiopia/public-holidays/>
27
31
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Ethiopia>
32
+ * <https://en.wikipedia.org/wiki/Nations,_Nationalities_and_Peoples%27_Day>
33
+ * <https://www.timeanddate.com/holidays/ethiopia/>
28
34
  """
29
35
 
30
36
  country = "ET"
31
37
  default_language = "am"
32
38
  # %s (estimated).
33
39
  estimated_label = tr("%s (ግምት)")
34
- supported_languages = ("am", "ar", "en_US")
35
- start_year = 1898
40
+ # Negarit Gazeta Proclamation No. 16/1975.
41
+ start_year = 1976
42
+ supported_categories = (PUBLIC, WORKDAY)
43
+ supported_languages = ("am", "ar", "en_ET", "en_US")
36
44
 
37
- def _is_leap_year(self):
45
+ def _is_leap_year(self) -> bool:
38
46
  """Determine if the Ethiopian calendar year is a leap year.
39
47
 
40
48
  Ethiopian leap years generally align with Gregorian leap years until
@@ -66,52 +74,60 @@ class Ethiopia(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHol
66
74
 
67
75
  def _populate_public_holidays(self):
68
76
  # Christmas Day.
69
- self._add_christmas_day(tr("ገና"))
77
+ self._add_christmas_day(tr("የገና ወይም የልደት በዓል"))
70
78
 
71
79
  # Epiphany.
72
- self._add_holiday(tr("ጥምቀት"), JAN, 20 if super()._is_leap_year() else 19)
80
+ self._add_holiday(tr("የጥምቀት በዓል"), JAN, 20 if super()._is_leap_year() else 19)
73
81
 
74
- # Adwa Victory Day.
75
- self._add_holiday_mar_2(tr("አድዋ"))
82
+ if self._year >= 1996:
83
+ # Adwa Victory Day.
84
+ self._add_holiday_mar_2(tr("የአድዋ ድል በዓል"))
76
85
 
77
86
  # Good Friday.
78
- self._add_good_friday(tr("ስቅለት"))
87
+ self._add_good_friday(tr("የስቅለት በዓል"))
79
88
 
80
89
  # Easter Sunday.
81
- self._add_easter_sunday(tr("ፋሲካ"))
90
+ self._add_easter_sunday(tr("የትንሳኤ(ፋሲካ) በዓል"))
82
91
 
83
- # Workers' Day.
84
- self._add_labor_day(tr("የሰራተኞች ቀን"))
92
+ # International Workers' Day.
93
+ self._add_labor_day(tr("የዓለም የሠራተኞች (የላብአደሮች) ቀን"))
85
94
 
86
- if self._year >= 1942:
87
- # Patriots' Day.
88
- self._add_holiday_may_5(tr("የአርበኞች ቀን"))
95
+ # Ethiopian Patriots' Victory Day.
96
+ self._add_holiday_may_5(tr("የአርበኞች (የድል) ቀን በዓል"))
89
97
 
90
98
  if self._year >= 1992:
91
- # Downfall of Dergue Regime Day.
99
+ # Downfall of the Dergue Regime Day.
92
100
  self._add_holiday_may_28(tr("ደርግ የወደቀበት ቀን"))
93
101
 
94
102
  # Ethiopian New Year.
95
- self._add_holiday(tr("እንቁጣጣሽ"), SEP, 12 if self._is_leap_year() else 11)
103
+ self._add_holiday(tr("የዘመን መለወጫ (እንቁጣጣሽ) በዓል"), SEP, 12 if self._is_leap_year() else 11)
96
104
 
97
105
  # Finding of True Cross.
98
- self._add_holiday(tr("መስቀል"), SEP, 28 if self._is_leap_year() else 27)
106
+ self._add_holiday(tr("የመስቀል በዓል"), SEP, 28 if self._is_leap_year() else 27)
99
107
 
100
- if 1975 <= self._year <= 1990:
101
- # Revolution Day.
108
+ if self._year <= 1990:
109
+ # Popular Revolution Commemoration Day.
102
110
  self._add_holiday(tr("የአብዮት ቀን"), SEP, 13 if self._is_leap_year() else 12)
103
111
 
104
112
  # October Revolution Day.
105
113
  self._add_holiday_nov_7(tr("የጥቅምት አብዮት ቀን"))
106
114
 
107
115
  # Eid al-Fitr.
108
- self._add_eid_al_fitr_day(tr("ኢድ አልፈጥር"))
116
+ self._add_eid_al_fitr_day(tr("የኢድ አልፈጥር"))
109
117
 
110
118
  # Eid al-Adha.
111
- self._add_eid_al_adha_day(tr("አረፋ"))
119
+ self._add_eid_al_adha_day(tr("የኢድ አልአድሃ (አረፋ)"))
112
120
 
113
121
  # Prophet's Birthday.
114
- self._add_mawlid_day(tr("መውሊድ"))
122
+ self._add_mawlid_day(tr("የመውሊድ በዓል"))
123
+
124
+ def _populate_workday_holidays(self):
125
+ # Ethiopian Martyrs' Day.
126
+ self._add_holiday_feb_20(tr("የሰማዕታት ቀን"))
127
+
128
+ if self._year >= 2006:
129
+ # Nations, Nationalities and Peoples Day.
130
+ self._add_holiday_dec_9(tr("የብሔር ብሔረሰቦች ቀን"))
115
131
 
116
132
 
117
133
  class ET(Ethiopia):
@@ -130,6 +146,7 @@ class EthiopiaIslamicHolidays(_CustomIslamicHolidays):
130
146
  2021: (JUL, 20),
131
147
  2022: (JUL, 9),
132
148
  2023: (JUN, 28),
149
+ 2024: (JUN, 16),
133
150
  }
134
151
 
135
152
  EID_AL_FITR_DATES = {
@@ -140,6 +157,7 @@ class EthiopiaIslamicHolidays(_CustomIslamicHolidays):
140
157
  2022: (MAY, 2),
141
158
  2023: (APR, 21),
142
159
  2024: (APR, 10),
160
+ 2025: (MAR, 30),
143
161
  }
144
162
 
145
163
  MAWLID_DATES = {
@@ -149,4 +167,5 @@ class EthiopiaIslamicHolidays(_CustomIslamicHolidays):
149
167
  2021: (OCT, 18),
150
168
  2022: (OCT, 8),
151
169
  2023: (SEP, 27),
170
+ 2024: (SEP, 15),
152
171
  }
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -30,7 +30,7 @@ class France(HolidayBase, ChristianHolidays, InternationalHolidays):
30
30
 
31
31
  country = "FR"
32
32
  default_language = "fr"
33
- supported_languages = ("en_US", "fr", "uk")
33
+ start_year = 1801
34
34
  subdivisions: tuple[str, ...] = (
35
35
  "BL", # Saint-Barthélemy.
36
36
  "GES", # Alsace, Champagne-Ardenne, Lorraine(Moselle).
@@ -59,7 +59,7 @@ class France(HolidayBase, ChristianHolidays, InternationalHolidays):
59
59
  "Wallis-et-Futuna": "WF",
60
60
  "Mayotte": "YT",
61
61
  }
62
-
62
+ supported_languages = ("en_US", "fr", "uk")
63
63
  _deprecated_subdivisions = (
64
64
  "Alsace-Moselle",
65
65
  "Guadeloupe",
@@ -74,7 +74,6 @@ class France(HolidayBase, ChristianHolidays, InternationalHolidays):
74
74
  "Saint-Martin",
75
75
  "Wallis-et-Futuna",
76
76
  )
77
- start_year = 1801
78
77
 
79
78
  def __init__(self, *args, **kwargs):
80
79
  ChristianHolidays.__init__(self)
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -35,26 +35,24 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
35
35
 
36
36
  country = "DE"
37
37
  default_language = "de"
38
- supported_categories = (CATHOLIC, PUBLIC)
39
- supported_languages = ("de", "en_US", "th", "uk")
38
+ start_year = 1990
40
39
  subdivisions = (
41
- # ISO 3166-2:DE
42
- "BB",
43
- "BE",
44
- "BW",
45
- "BY",
46
- "HB",
47
- "HE",
48
- "HH",
49
- "MV",
50
- "NI",
51
- "NW",
52
- "RP",
53
- "SH",
54
- "SL",
55
- "SN",
56
- "ST",
57
- "TH",
40
+ "BB", # Brandenburg.
41
+ "BE", # Berlin.
42
+ "BW", # Baden-Württemberg.
43
+ "BY", # Bayern.
44
+ "HB", # Bremen.
45
+ "HE", # Hessen.
46
+ "HH", # Hamburg.
47
+ "MV", # Mecklenburg-Vorpommern.
48
+ "NI", # Niedersachsen.
49
+ "NW", # Nordrhein-Westfalen.
50
+ "RP", # Rheinland-Pfalz.
51
+ "SH", # Schleswig-Holstein.
52
+ "SL", # Saarland.
53
+ "SN", # Sachsen.
54
+ "ST", # Sachsen-Anhalt.
55
+ "TH", # Thüringen.
58
56
  )
59
57
  subdivisions_aliases = {
60
58
  "Brandenburg": "BB",
@@ -74,8 +72,9 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
74
72
  "Sachsen-Anhalt": "ST",
75
73
  "Thüringen": "TH",
76
74
  }
75
+ supported_categories = (CATHOLIC, PUBLIC)
76
+ supported_languages = ("de", "en_US", "th", "uk")
77
77
  _deprecated_subdivisions = ("BYP",)
78
- start_year = 1990
79
78
 
80
79
  def __init__(self, *args, **kwargs) -> None:
81
80
  ChristianHolidays.__init__(self)
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -0,0 +1,143 @@
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 CONTRIBUTORS 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/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from gettext import gettext as tr
14
+
15
+ from holidays.calendars.gregorian import FEB, MAR, JUN, JUL, DEC
16
+ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
17
+ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
18
+
19
+
20
+ class Grenada(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
21
+ """Grenada holidays.
22
+
23
+ References:
24
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Grenada>
25
+ * [Bank Holidays Act](https://web.archive.org/web/20250504095840/https://laws.gov.gd/index.php/chapters/b-23-39/1042-cap25-bank-holidays-act-2/viewdocument/1042)
26
+ * <https://www.timeanddate.com/holidays/grenada/>
27
+ * [National Heroes' Day](https://web.archive.org/web/20250504095924/https://www.gov.gd/component/edocman/grenadas-first-national-heroes-day-and-october-19th-commemoration-events/viewdocument/576)
28
+ * [Emancipation Day](https://web.archive.org/web/20250504100015/https://nowgrenada.com/2025/01/gnrc-chairman-supports-1-august-as-national-holiday/)
29
+
30
+ Checked With:
31
+ * [2010](https://web.archive.org/web/20100108053101/http://www.gov.gd/holiday_events.html)
32
+ * [2011](https://web.archive.org/web/20111007094915/http://www.gov.gd/holiday_events.html)
33
+ * [2012](https://web.archive.org/web/20120623100105/http://www.gov.gd/holiday_events.html)
34
+ * [2013](https://web.archive.org/web/20130805181426/http://www.gov.gd/holiday_events.html)
35
+ * [2014](https://web.archive.org/web/20140424191452/http://www.gov.gd/holiday_events.html)
36
+ * [2015](https://web.archive.org/web/20150701045051/http://www.gov.gd/holiday_events.html)
37
+ * [2016](https://web.archive.org/web/20160518030722/http://www.gov.gd/holiday_events.html)
38
+ * [2017](https://web.archive.org/web/20170505034606/http://www.gov.gd/holiday_events.html)
39
+ * [2018](https://web.archive.org/web/20180424025139/http://www.gov.gd/holiday_events.html)
40
+ * [2023](https://web.archive.org/web/20230329094946/https://www.gov.gd/pdf/Public%20Holidays%202023.pdf)
41
+ * [2025](https://web.archive.org/web/20250130143152/https://www.gov.gd/component/edocman/grenadas-public-holidays-2025/viewdocument/1386)
42
+ """
43
+
44
+ country = "GD"
45
+ default_language = "en_GD"
46
+ # %s (observed).
47
+ observed_label = tr("%s (observed)")
48
+ # First available revision of Bank Holidays Act.
49
+ start_year = 2000
50
+ supported_languages = ("en_GD", "en_US")
51
+
52
+ def __init__(self, *args, **kwargs):
53
+ ChristianHolidays.__init__(self)
54
+ InternationalHolidays.__init__(self)
55
+ StaticHolidays.__init__(self, GrenadaStaticHolidays)
56
+ kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
57
+ super().__init__(*args, **kwargs)
58
+
59
+ def _populate_public_holidays(self):
60
+ # New Year's Day.
61
+ self._add_observed(self._add_new_years_day(tr("New Year's Day")))
62
+
63
+ # Independence Day.
64
+ self._add_observed(self._add_holiday_feb_7(tr("Independence Day")))
65
+
66
+ # Good Friday.
67
+ self._add_good_friday(tr("Good Friday"))
68
+
69
+ # Easter Monday.
70
+ self._add_easter_monday(tr("Easter Monday"))
71
+
72
+ # Labor Day.
73
+ self._add_observed(self._add_labor_day(tr("Labour Day")))
74
+
75
+ # Whit Monday.
76
+ self._add_whit_monday(tr("Whit Monday"))
77
+
78
+ # Corpus Christi.
79
+ self._add_corpus_christi_day(tr("Corpus Christi"))
80
+
81
+ # Emancipation Day.
82
+ name = tr("Emancipation Day")
83
+ if self._year >= 2025:
84
+ self._add_observed(self._add_holiday_aug_1(name))
85
+ else:
86
+ self._add_holiday_1st_mon_of_aug(name)
87
+
88
+ # Carnival Monday.
89
+ self._add_holiday_2nd_mon_of_aug(tr("Carnival Monday"))
90
+
91
+ # Carnival Tuesday.
92
+ self._add_holiday_1_day_past_2nd_mon_of_aug(tr("Carnival Tuesday"))
93
+
94
+ if self._year >= 2023:
95
+ # National Heroes' Day.
96
+ self._add_observed(self._add_holiday_oct_19(tr("National Heroes' Day")))
97
+
98
+ # Thanksgiving Day.
99
+ self._add_observed(self._add_holiday_oct_25(tr("Thanksgiving Day")))
100
+
101
+ # Christmas Day.
102
+ self._add_observed(self._add_christmas_day(tr("Christmas Day")))
103
+
104
+ # Boxing Day.
105
+ self._add_observed(self._add_christmas_day_two(tr("Boxing Day")))
106
+
107
+
108
+ class GD(Grenada):
109
+ pass
110
+
111
+
112
+ class GRD(Grenada):
113
+ pass
114
+
115
+
116
+ class GrenadaStaticHolidays:
117
+ """Grenada special holidays.
118
+
119
+ References:
120
+ * [2011](https://web.archive.org/web/20250504100149/https://laws.gov.gd/index.php/s-r-o/37-sr-o-35-of-2011-bank-holiday/viewdocument/37)
121
+ * [2013](https://web.archive.org/web/20250504100219/https://laws.gov.gd/index.php/s-r-o/93-sro-6-of-2013-bank-holiday/viewdocument/93)
122
+ * [2016](https://web.archive.org/web/20250504100408/https://laws.gov.gd/index.php/s-r-o/289-sr-o-61-of-2016-bank-holiday/viewdocument/289)
123
+ * [2018](https://web.archive.org/web/20250504100436/https://laws.gov.gd/index.php/s-r-o/348-sr-o-10-of-2018-bank-holiday-proclamation/viewdocument/348)
124
+ * [24 June 2022](https://web.archive.org/web/20250504100516/https://laws.gov.gd/index.php/s-r-o/576-sr-o-33-of-2022-bank-holiday-proclamation-2022/viewdocument/576)
125
+ * [27 December 2022](https://web.archive.org/web/20250504100538/https://laws.gov.gd/index.php/s-r-o/586-sr-o-43-of-2022-bank-holiday-proclamation-2022/viewdocument/586)
126
+ * [CARICOM's 50th Anniversary 2023](https://web.archive.org/web/20250504100603/https://laws.gov.gd/index.php/s-r-o/612-sr-o-22-of-2023-bank-holiday-proclamation-2023/viewdocument/612)
127
+ """
128
+
129
+ # Bank Holiday.
130
+ bank_holiday = tr("Bank Holiday")
131
+
132
+ special_public_holidays = {
133
+ 2011: (DEC, 27, bank_holiday),
134
+ 2013: (FEB, 22, bank_holiday),
135
+ 2016: (DEC, 27, bank_holiday),
136
+ 2018: (MAR, 14, bank_holiday),
137
+ 2022: (
138
+ (JUN, 24, bank_holiday),
139
+ (DEC, 27, bank_holiday),
140
+ ),
141
+ # CARICOM's 50th Anniversary.
142
+ 2023: (JUL, 4, tr("CARICOM's 50th Anniversary")),
143
+ }
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -24,6 +24,7 @@ class HolidaysGU(US):
24
24
  country = "GU"
25
25
  supported_categories = (GOVERNMENT, PUBLIC, UNOFFICIAL)
26
26
  subdivisions = () # Override US subdivisions.
27
+ subdivisions_aliases = {} # Override US subdivisions aliases.
27
28
 
28
29
  def _populate_public_holidays(self) -> None:
29
30
  self.subdiv = "GU"
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -63,7 +63,7 @@ class HongKong(
63
63
 
64
64
  General Holidays:
65
65
  * [Cap. 149 General Holidays Ordinance](https://www.elegislation.gov.hk/hk/cap149!en-zh-Hant-HK?INDEX_CS=N)
66
- * [Holidays for 20072025](https://www.gov.hk/en/about/abouthk/holiday/index.htm)
66
+ * [Holidays for 2007-2025](https://www.gov.hk/en/about/abouthk/holiday/index.htm)
67
67
  """
68
68
 
69
69
  country = "HK"
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -37,14 +37,17 @@ class India(
37
37
  * <https://www.calendarlabs.com/holidays/india/2021>
38
38
  * <https://slusi.dacnet.nic.in/watershedatlas/list_of_state_abbreviation.htm>
39
39
  * <https://vahan.parivahan.gov.in/vahan4dashboard/>
40
+ * Tamil Nadu:
41
+ * [Tamil Monthly Calendar](https://www.tamildailycalendar.com/tamil_monthly_calendar.php)
42
+ * [Tamil Calendar](https://www.prokerala.com/general/calendar/tamilcalendar.php)
40
43
  """
41
44
 
42
45
  country = "IN"
43
46
  default_language = "en_IN"
44
47
  # %s (estimated).
45
48
  estimated_label = tr("%s (estimated)")
46
- supported_categories = (OPTIONAL, PUBLIC)
47
- supported_languages = ("en_IN", "en_US", "hi")
49
+ # India gained independence on August 15, 1947.
50
+ start_year = 1948
48
51
  subdivisions = (
49
52
  "AN", # Andaman and Nicobar Islands.
50
53
  "AP", # Andhra Pradesh.
@@ -83,10 +86,6 @@ class India(
83
86
  "UP", # Uttar Pradesh.
84
87
  "WB", # West Bengal.
85
88
  )
86
- _deprecated_subdivisions = (
87
- "DD", # Daman and Diu.
88
- "OR", # Orissa.
89
- )
90
89
  subdivisions_aliases = {
91
90
  "Andaman and Nicobar Islands": "AN",
92
91
  "Andhra Pradesh": "AP",
@@ -144,9 +143,12 @@ class India(
144
143
  "Uttar Pradesh": "UP",
145
144
  "West Bengal": "WB",
146
145
  }
147
-
148
- # India gained independence on August 15, 1947.
149
- start_year = 1948
146
+ supported_categories = (OPTIONAL, PUBLIC)
147
+ supported_languages = ("en_IN", "en_US", "hi")
148
+ _deprecated_subdivisions = (
149
+ "DD", # Daman and Diu.
150
+ "OR", # Orissa.
151
+ )
150
152
 
151
153
  def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
152
154
  """
@@ -456,7 +458,11 @@ class India(
456
458
  # Tamil Nadu.
457
459
  def _populate_subdiv_tn_public_holidays(self):
458
460
  # Pongal.
459
- self._add_makar_sankranti(tr("Pongal"))
461
+ self._add_pongal(tr("Pongal"))
462
+ # Thiruvalluvar Day / Mattu Pongal.
463
+ self._add_thiruvalluvar_day(tr("Thiruvalluvar Day / Mattu Pongal"))
464
+ # Uzhavar Thirunal.
465
+ self._add_uzhavar_thirunal(tr("Uzhavar Thirunal"))
460
466
  # Dr. B. R. Ambedkar Jayanti.
461
467
  self._add_holiday_apr_14(tr("Dr. B. R. Ambedkar's Jayanti"))
462
468
  # Puthandu.