holidays 0.85__py3-none-any.whl → 0.87__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 (63) hide show
  1. holidays/calendars/chinese.py +44 -6
  2. holidays/calendars/hindu.py +85 -1
  3. holidays/countries/bangladesh.py +13 -9
  4. holidays/countries/bulgaria.py +208 -50
  5. holidays/countries/estonia.py +55 -9
  6. holidays/countries/germany.py +75 -74
  7. holidays/countries/gibraltar.py +1 -1
  8. holidays/countries/india.py +5 -3
  9. holidays/countries/italy.py +489 -167
  10. holidays/countries/mongolia.py +1 -5
  11. holidays/countries/nepal.py +46 -41
  12. holidays/countries/russia.py +1 -2
  13. holidays/countries/sweden.py +102 -32
  14. holidays/countries/taiwan.py +3 -6
  15. holidays/countries/thailand.py +5 -5
  16. holidays/countries/united_states.py +55 -46
  17. holidays/financial/ny_stock_exchange.py +591 -89
  18. holidays/groups/chinese.py +11 -18
  19. holidays/groups/hindu.py +24 -0
  20. holidays/holiday_base.py +51 -23
  21. holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
  22. holidays/locale/bn/LC_MESSAGES/BD.mo +0 -0
  23. holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
  24. holidays/locale/en_US/LC_MESSAGES/BD.mo +0 -0
  25. holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
  26. holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
  27. holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
  28. holidays/locale/en_US/LC_MESSAGES/IT.mo +0 -0
  29. holidays/locale/en_US/LC_MESSAGES/NP.mo +0 -0
  30. holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
  31. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  32. holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
  33. holidays/locale/gu/LC_MESSAGES/IN.mo +0 -0
  34. holidays/locale/it_IT/LC_MESSAGES/IT.mo +0 -0
  35. holidays/locale/ne/LC_MESSAGES/NP.mo +0 -0
  36. holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
  37. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  38. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  39. holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
  40. holidays/locale/th/LC_MESSAGES/DK.mo +0 -0
  41. holidays/locale/th/LC_MESSAGES/ES.mo +0 -0
  42. holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
  43. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  44. holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
  45. holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
  46. holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
  47. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  48. holidays/locale/th/LC_MESSAGES/US.mo +0 -0
  49. holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
  50. holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
  51. holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
  52. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  53. holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
  54. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  55. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  56. holidays/utils.py +10 -1
  57. holidays/version.py +1 -1
  58. {holidays-0.85.dist-info → holidays-0.87.dist-info}/METADATA +18 -11
  59. {holidays-0.85.dist-info → holidays-0.87.dist-info}/RECORD +63 -56
  60. {holidays-0.85.dist-info → holidays-0.87.dist-info}/licenses/CONTRIBUTORS +4 -0
  61. {holidays-0.85.dist-info → holidays-0.87.dist-info}/WHEEL +0 -0
  62. {holidays-0.85.dist-info → holidays-0.87.dist-info}/licenses/LICENSE +0 -0
  63. {holidays-0.85.dist-info → holidays-0.87.dist-info}/top_level.txt +0 -0
@@ -12,15 +12,31 @@
12
12
 
13
13
  from gettext import gettext as tr
14
14
 
15
+ from holidays.constants import HALF_DAY, PUBLIC
15
16
  from holidays.groups import ChristianHolidays, InternationalHolidays
16
17
  from holidays.holiday_base import HolidayBase
17
18
 
18
19
 
19
20
  class Estonia(HolidayBase, ChristianHolidays, InternationalHolidays):
20
- """Estonia holidays."""
21
+ """Estonia holidays.
22
+
23
+ References:
24
+ * <https://et.wikipedia.org/wiki/Eesti_riigipühad>
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Estonia>
26
+ * [Decree on State Holidays and on Amending the Labour Code of the Estonian SSR (09.10.1990)](https://www.riigiteataja.ee/akt/28395)
27
+ * [Holidays and Anniversaries Act (08.02.1994)](https://www.riigiteataja.ee/akt/29913)
28
+ * [Public Holidays and Days of National Importance Act (27.01.1998, in force since 23.02.1998)](https://www.riigiteataja.ee/akt/13276841)
29
+ * [Act amending § 2 of the Holidays and Anniversaries Act
30
+ and § 25 of the Working and Rest Hours Act](https://www.riigiteataja.ee/akt/895511)
31
+ * [Working and Rest Hours Act (24.01.2001)](https://www.riigiteataja.ee/akt/72738)
32
+ * [Employment Contracts Act (17.12.2008, in force since 01.07.2009)](https://www.riigiteataja.ee/akt/122122012029)
33
+ """
21
34
 
22
35
  country = "EE"
23
36
  default_language = "et"
37
+ # Decree on State Holidays and on Amending the Labour Code of the Estonian SSR (09.10.1990).
38
+ start_year = 1991
39
+ supported_categories = (HALF_DAY, PUBLIC)
24
40
  supported_languages = ("en_US", "et", "uk")
25
41
 
26
42
  def __init__(self, *args, **kwargs):
@@ -35,17 +51,23 @@ class Estonia(HolidayBase, ChristianHolidays, InternationalHolidays):
35
51
  # Independence Day.
36
52
  self._add_holiday_feb_24(tr("iseseisvuspäev"))
37
53
 
38
- # Good Friday.
39
- self._add_good_friday(tr("suur reede"))
54
+ if self._year >= 1994:
55
+ # Good Friday.
56
+ self._add_good_friday(tr("suur reede"))
40
57
 
41
- # Easter Sunday.
42
- self._add_easter_sunday(tr("ülestõusmispühade 1. püha"))
58
+ # Easter Sunday.
59
+ self._add_easter_sunday(tr("ülestõusmispühade 1. püha"))
43
60
 
44
- # Spring Day.
45
- self._add_holiday_may_1(tr("kevadpüha"))
61
+ # Whit Sunday.
62
+ self._add_whit_sunday(tr("nelipühade 1. püha"))
46
63
 
47
- # Whit Sunday.
48
- self._add_whit_sunday(tr("nelipühade 1. püha"))
64
+ self._add_holiday_may_1(
65
+ # May Day.
66
+ tr("kevadpüha")
67
+ if self._year >= 1994
68
+ # International Workers' Solidarity Day.
69
+ else tr("töörahva rahvusvahelise solidaarsuse päev")
70
+ )
49
71
 
50
72
  # Victory Day.
51
73
  self._add_holiday_jun_23(tr("võidupüha"))
@@ -57,6 +79,12 @@ class Estonia(HolidayBase, ChristianHolidays, InternationalHolidays):
57
79
  # Independence Restoration Day.
58
80
  self._add_holiday_aug_20(tr("taasiseseisvumispäev"))
59
81
 
82
+ if self._year <= 1993:
83
+ # Day of Declaration of Sovereignty.
84
+ self._add_holiday_nov_16(tr("taassünnipäev"))
85
+
86
+ # Act amending § 2 of the Holidays and Anniversaries Act
87
+ # and § 25 of the Working and Rest Hours Act.
60
88
  if self._year >= 2005:
61
89
  # Christmas Eve.
62
90
  self._add_christmas_eve(tr("jõululaupäev"))
@@ -67,6 +95,24 @@ class Estonia(HolidayBase, ChristianHolidays, InternationalHolidays):
67
95
  # Second Day of Christmas.
68
96
  self._add_christmas_day_two(tr("teine jõulupüha"))
69
97
 
98
+ def _populate_half_day_holidays(self):
99
+ # Working and Rest Hours Act (24.01.2001), § 25.
100
+ # Employment Contracts Act (17.12.2008, in force since 01.07.2009), § 53.
101
+
102
+ if self._year <= 2000:
103
+ return None
104
+
105
+ # Pre-holiday day (workday shortened by 3 hours).
106
+ name = tr("pühade-eelne päev (tööpäev lüheneb 3 tunni võrra)")
107
+ self._add_holiday_feb_23(name)
108
+ self._add_holiday_jun_22(name)
109
+ self._add_holiday_dec_31(name)
110
+
111
+ if self._year >= 2005:
112
+ self._add_holiday_dec_23(name)
113
+ else:
114
+ self._add_holiday_dec_24(name)
115
+
70
116
 
71
117
  class EE(Estonia):
72
118
  pass
@@ -21,25 +21,39 @@ from holidays.holiday_base import HolidayBase
21
21
  class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
22
22
  """Germany holidays.
23
23
 
24
- This class doesn't return any holidays before 1990-10-03.
25
-
26
- Before that date the current Germany was separated into the "German Democratic
27
- Republic" and the "Federal Republic of Germany" which both had somewhat
28
- different holidays. Since this class is called "Germany" it doesn't really
29
- make sense to include the days from the two former countries.
30
-
31
- "Mariä Himmelfahrt" is only a holiday in Bavaria (BY) and "Fronleichnam"
32
- in Saxony (SN) and Thuringia (TH) if municipality is mostly catholic which
33
- in term depends on census data. It's listed in "CATHOLIC" category for these provinces.
34
-
35
24
  References:
25
+ * <https://de.wikipedia.org/wiki/Feiertag_(Deutschland)>
36
26
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Germany>
37
- * [Bavaria's Feiertagsgesetz](https://web.archive.org/web/20250724092008/https://www.gesetze-bayern.de/Content/Document/BayFTG-1)
27
+ * [German Unity Day](https://web.archive.org/web/20251011161644/https://www.gesetze-im-internet.de/einigvtr/art_2.html)
28
+
29
+ Subdivisions Holidays References:
30
+ * [Brandenburg](https://web.archive.org/web/20251002092001/https://bravors.brandenburg.de/gesetze/ftg_2015)
31
+ * [Berlin](https://web.archive.org/web/20250518234750/http://gesetze.berlin.de/bsbe/document/jlr-FeiertGBEV10P1)
32
+ * [Baden-Württemberg](https://web.archive.org/web/20240914215438/https://www.landesrecht-bw.de/bsbw/document/jlr-FeiertGBWpP1)
33
+ * [Bayern](https://web.archive.org/web/20250906201237/https://www.gesetze-bayern.de/Content/Document/BayFTG/true)
34
+ * [Bremen](https://web.archive.org/web/20240430101614/https://www.transparenz.bremen.de/metainformationen/gesetz-ueber-die-sonn-gedenk-und-feiertage-vom-12-november-1954-145882)
35
+ * [Hessen](https://web.archive.org/web/20250421183249/http://www.rv.hessenrecht.hessen.de/bshe/document/jlr-FeiertGHE1952rahmen)
36
+ * [Hamburg](https://web.archive.org/web/20250618110249/https://www.landesrecht-hamburg.de/bsha/document/jlr-FeiertGHAV3P1)
37
+ * [Mecklenburg-Vorpommern](https://web.archive.org/web/20250222090126/https://www.landesrecht-mv.de/bsmv/document/jlr-FTGMVV3P2)
38
+ * [Niedersachsen](https://web.archive.org/web/20250627100126/https://voris.wolterskluwer-online.de/browse/document/b724111b-6c20-3862-b111-589842acacba)
39
+ * [Nordrhein-Westfalen](https://web.archive.org/web/20250717194916/https://recht.nrw.de/lmi/owa/br_bes_detail?bes_id=3367&aufgehoben=N&det_id=144445&anw_nr=2&menu=1&sg=0)
40
+ * [Rheinland-Pfalz](https://web.archive.org/web/20250521153233/http://www.landesrecht.rlp.de/bsrp/document/jlr-FeiertGRPpP2)
41
+ * [Schleswig-Holstein](https://web.archive.org/web/20250812223916/https://www.gesetze-rechtsprechung.sh.juris.de/bssh/document/jlr-FeiertGSH2004V3P2)
42
+ * [Saarland](https://web.archive.org/web/20250124112139/http://recht.saarland.de/bssl/document/jlr-FeiertGSL1976V6P2)
43
+ * [Sachsen](https://web.archive.org/web/20250808020452/https://www.revosax.sachsen.de/vorschrift/3997-SaechsSFG)
44
+ * [Sachsen-Anhalt](https://web.archive.org/web/20250615214949/http://www.landesrecht.sachsen-anhalt.de/bsst/document/jlr-FeiertGSTpP2)
45
+ * [Thüringen](https://web.archive.org/web/20250712163548/http://landesrecht.thueringen.de/bsth/document/jlr-FeiertGTHV5P2)
46
+
47
+ !!! note "Note"
48
+ "Mariä Himmelfahrt" is only a holiday in Bavaria (BY) and "Fronleichnam"
49
+ in Saxony (SN) and Thuringia (TH) if municipality is mostly catholic which
50
+ in term depends on census data. It's listed in "CATHOLIC" category for these provinces.
38
51
  """
39
52
 
40
53
  country = "DE"
41
54
  default_language = "de"
42
- start_year = 1990
55
+ # Germany reunification was completed on Oct 3, 1990.
56
+ start_year = 1991
43
57
  subdivisions = (
44
58
  # States.
45
59
  "BB", # Brandenburg.
@@ -90,24 +104,23 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
90
104
  super().__init__(*args, **kwargs)
91
105
 
92
106
  def _populate_public_holidays(self):
93
- if self._year >= 1991:
94
- # New Year's Day.
95
- self._add_new_years_day(tr("Neujahr"))
107
+ # New Year's Day.
108
+ self._add_new_years_day(tr("Neujahr"))
96
109
 
97
- # Good Friday.
98
- self._add_good_friday(tr("Karfreitag"))
110
+ # Good Friday.
111
+ self._add_good_friday(tr("Karfreitag"))
99
112
 
100
- # Easter Monday.
101
- self._add_easter_monday(tr("Ostermontag"))
113
+ # Easter Monday.
114
+ self._add_easter_monday(tr("Ostermontag"))
102
115
 
103
- # Labor Day.
104
- self._add_labor_day(tr("Erster Mai"))
116
+ # Labor Day.
117
+ self._add_labor_day(tr("Erster Mai"))
105
118
 
106
- # Ascension Day.
107
- self._add_ascension_thursday(tr("Christi Himmelfahrt"))
119
+ # Ascension Day.
120
+ self._add_ascension_thursday(tr("Christi Himmelfahrt"))
108
121
 
109
- # Whit Monday.
110
- self._add_whit_monday(tr("Pfingstmontag"))
122
+ # Whit Monday.
123
+ self._add_whit_monday(tr("Pfingstmontag"))
111
124
 
112
125
  # German Unity Day.
113
126
  self._add_holiday_oct_3(tr("Tag der Deutschen Einheit"))
@@ -126,47 +139,43 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
126
139
  self._populate_subdiv_by_public_holidays()
127
140
 
128
141
  def _populate_subdiv_bb_public_holidays(self):
129
- if self._year >= 1991:
130
- # Easter Sunday.
131
- self._add_easter_sunday(tr("Ostersonntag"))
142
+ # Easter Sunday.
143
+ self._add_easter_sunday(tr("Ostersonntag"))
132
144
 
133
- # Whit Sunday.
134
- self._add_whit_sunday(tr("Pfingstsonntag"))
145
+ # Whit Sunday.
146
+ self._add_whit_sunday(tr("Pfingstsonntag"))
135
147
 
136
148
  # Reformation Day.
137
149
  self._add_holiday_oct_31(tr("Reformationstag"))
138
150
 
139
151
  def _populate_subdiv_be_public_holidays(self):
140
152
  if self._year >= 2019:
141
- # International Women's Day.
142
- self._add_womens_day(tr("Internationaler Frauentag"))
153
+ # Women's Day.
154
+ self._add_womens_day(tr("Frauentag"))
143
155
 
144
156
  def _populate_subdiv_bw_public_holidays(self):
145
- if self._year >= 1991:
146
- # Epiphany.
147
- self._add_epiphany_day(tr("Heilige Drei Könige"))
157
+ # Epiphany.
158
+ self._add_epiphany_day(tr("Heilige Drei Könige"))
148
159
 
149
- # Corpus Christi.
150
- self._add_corpus_christi_day(tr("Fronleichnam"))
160
+ # Corpus Christi.
161
+ self._add_corpus_christi_day(tr("Fronleichnam"))
151
162
 
152
163
  # All Saints' Day.
153
164
  self._add_all_saints_day(tr("Allerheiligen"))
154
165
 
155
166
  def _populate_subdiv_by_public_holidays(self):
156
- if self._year >= 1991:
157
- # Epiphany.
158
- self._add_epiphany_day(tr("Heilige Drei Könige"))
167
+ # Epiphany.
168
+ self._add_epiphany_day(tr("Heilige Drei Könige"))
159
169
 
160
- # Corpus Christi.
161
- self._add_corpus_christi_day(tr("Fronleichnam"))
170
+ # Corpus Christi.
171
+ self._add_corpus_christi_day(tr("Fronleichnam"))
162
172
 
163
173
  # All Saints' Day.
164
174
  self._add_all_saints_day(tr("Allerheiligen"))
165
175
 
166
176
  def _populate_subdiv_by_catholic_holidays(self):
167
- if self._year >= 1991:
168
- # Assumption Day.
169
- self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
177
+ # Assumption Day.
178
+ self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
170
179
 
171
180
  def _populate_subdiv_hb_public_holidays(self):
172
181
  if self._year >= 2018:
@@ -174,9 +183,8 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
174
183
  self._add_holiday_oct_31(tr("Reformationstag"))
175
184
 
176
185
  def _populate_subdiv_he_public_holidays(self):
177
- if self._year >= 1991:
178
- # Corpus Christi.
179
- self._add_corpus_christi_day(tr("Fronleichnam"))
186
+ # Corpus Christi.
187
+ self._add_corpus_christi_day(tr("Fronleichnam"))
180
188
 
181
189
  def _populate_subdiv_hh_public_holidays(self):
182
190
  if self._year >= 2018:
@@ -185,8 +193,8 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
185
193
 
186
194
  def _populate_subdiv_mv_public_holidays(self):
187
195
  if self._year >= 2023:
188
- # International Women's Day.
189
- self._add_womens_day(tr("Internationaler Frauentag"))
196
+ # Women's Day.
197
+ self._add_womens_day(tr("Frauentag"))
190
198
 
191
199
  # Reformation Day.
192
200
  self._add_holiday_oct_31(tr("Reformationstag"))
@@ -197,17 +205,15 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
197
205
  self._add_holiday_oct_31(tr("Reformationstag"))
198
206
 
199
207
  def _populate_subdiv_nw_public_holidays(self):
200
- if self._year >= 1991:
201
- # Corpus Christi.
202
- self._add_corpus_christi_day(tr("Fronleichnam"))
208
+ # Corpus Christi.
209
+ self._add_corpus_christi_day(tr("Fronleichnam"))
203
210
 
204
211
  # All Saints' Day.
205
212
  self._add_all_saints_day(tr("Allerheiligen"))
206
213
 
207
214
  def _populate_subdiv_rp_public_holidays(self):
208
- if self._year >= 1991:
209
- # Corpus Christi.
210
- self._add_corpus_christi_day(tr("Fronleichnam"))
215
+ # Corpus Christi.
216
+ self._add_corpus_christi_day(tr("Fronleichnam"))
211
217
 
212
218
  # All Saints' Day.
213
219
  self._add_all_saints_day(tr("Allerheiligen"))
@@ -218,12 +224,11 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
218
224
  self._add_holiday_oct_31(tr("Reformationstag"))
219
225
 
220
226
  def _populate_subdiv_sl_public_holidays(self):
221
- if self._year >= 1991:
222
- # Corpus Christi.
223
- self._add_corpus_christi_day(tr("Fronleichnam"))
227
+ # Corpus Christi.
228
+ self._add_corpus_christi_day(tr("Fronleichnam"))
224
229
 
225
- # Assumption Day.
226
- self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
230
+ # Assumption Day.
231
+ self._add_assumption_of_mary_day(tr("Mariä Himmelfahrt"))
227
232
 
228
233
  # All Saints' Day.
229
234
  self._add_all_saints_day(tr("Allerheiligen"))
@@ -237,14 +242,12 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
237
242
  self._add_holiday_1st_wed_before_nov_22(tr("Buß- und Bettag"))
238
243
 
239
244
  def _populate_subdiv_sn_catholic_holidays(self):
240
- if self._year >= 1991:
241
- # Corpus Christi.
242
- self._add_corpus_christi_day(tr("Fronleichnam"))
245
+ # Corpus Christi.
246
+ self._add_corpus_christi_day(tr("Fronleichnam"))
243
247
 
244
248
  def _populate_subdiv_st_public_holidays(self):
245
- if self._year >= 1991:
246
- # Epiphany.
247
- self._add_epiphany_day(tr("Heilige Drei Könige"))
249
+ # Epiphany.
250
+ self._add_epiphany_day(tr("Heilige Drei Könige"))
248
251
 
249
252
  # Reformation Day.
250
253
  self._add_holiday_oct_31(tr("Reformationstag"))
@@ -258,16 +261,14 @@ class Germany(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
258
261
  self._add_holiday_oct_31(tr("Reformationstag"))
259
262
 
260
263
  def _populate_subdiv_th_catholic_holidays(self):
261
- if self._year >= 1991:
262
- # Corpus Christi.
263
- self._add_corpus_christi_day(tr("Fronleichnam"))
264
+ # Corpus Christi.
265
+ self._add_corpus_christi_day(tr("Fronleichnam"))
264
266
 
265
267
  def _populate_subdiv_augsburg_public_holidays(self):
266
268
  self._populate_subdiv_by_public_holidays()
267
269
 
268
- if self._year >= 1991:
269
- # Augsburg Peace Festival.
270
- self._add_holiday_aug_8(tr("Augsburger Hohes Friedensfest"))
270
+ # Augsburg Peace Festival.
271
+ self._add_holiday_aug_8(tr("Augsburger Hohes Friedensfest"))
271
272
 
272
273
 
273
274
  class DE(Germany):
@@ -214,6 +214,6 @@ class GibraltarStaticHolidays(StaticHolidays):
214
214
  2020: (MAY, 8, tr("75th Anniversary of VE Day")),
215
215
  # Queen's Platinum Jubilee.
216
216
  2022: (JUN, 3, tr("Platinum Jubilee")),
217
- # Special Kings Coronation Bank Holiday.
217
+ # Special King's Coronation Bank Holiday.
218
218
  2023: (MAY, 8, tr("Special King's Coronation Bank Holiday")),
219
219
  }
@@ -37,6 +37,8 @@ class India(
37
37
  * <https://web.archive.org/web/20250413193633/https://www.calendarlabs.com/holidays/india/2021>
38
38
  * <https://web.archive.org/web/20231118175007/http://slusi.dacnet.nic.in/watershedatlas/list_of_state_abbreviation.htm>
39
39
  * <https://web.archive.org/web/20231008063930/https://vahan.parivahan.gov.in/vahan4dashboard/>
40
+ * Gujarat:
41
+ * <https://gad.gujarat.gov.in/personnel/Images/pdf/general_holidays_2026_guj.pdf>
40
42
  * Tamil Nadu:
41
43
  * [Tamil Monthly Calendar](https://web.archive.org/web/20231228103352/https://www.tamildailycalendar.com/tamil_monthly_calendar.php)
42
44
  * [Tamil Calendar](https://web.archive.org/web/20250429125140/https://www.prokerala.com/general/calendar/tamilcalendar.php)
@@ -144,7 +146,7 @@ class India(
144
146
  "West Bengal": "WB",
145
147
  }
146
148
  supported_categories = (OPTIONAL, PUBLIC)
147
- supported_languages = ("en_IN", "en_US", "hi")
149
+ supported_languages = ("en_IN", "en_US", "gu", "hi")
148
150
  _deprecated_subdivisions = (
149
151
  "DD", # Daman and Diu.
150
152
  "OR", # Orissa.
@@ -456,7 +458,7 @@ class India(
456
458
  # Dr. B. R. Ambedkar Jayanti.
457
459
  self._add_holiday_apr_14(tr("Dr. B. R. Ambedkar's Jayanti"))
458
460
  # Maharana Pratap Jayanti.
459
- self._add_holiday_jun_15(tr("Maharana Pratap Jayanti"))
461
+ self._add_maharana_pratap_jayanti(tr("Maharana Pratap Jayanti"))
460
462
 
461
463
  # Sikkim.
462
464
  def _populate_subdiv_sk_public_holidays(self):
@@ -485,7 +487,7 @@ class India(
485
487
  # Telangana Formation Day.
486
488
  self._add_holiday_jun_2(tr("Telangana Formation Day"))
487
489
  # Bathukamma Festival.
488
- self._add_holiday_oct_6(tr("Bathukamma Festival"))
490
+ self._add_bathukamma(tr("Bathukamma Festival"))
489
491
  # Ugadi.
490
492
  self._add_gudi_padwa(tr("Ugadi"))
491
493