holidays 0.73__py3-none-any.whl → 0.75__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 (251) hide show
  1. holidays/calendars/__init__.py +1 -1
  2. holidays/calendars/balinese_saka.py +1 -1
  3. holidays/calendars/hindu.py +26 -26
  4. holidays/calendars/islamic.py +161 -0
  5. holidays/calendars/thai.py +2 -2
  6. holidays/constants.py +9 -2
  7. holidays/countries/__init__.py +202 -176
  8. holidays/countries/afghanistan.py +2 -2
  9. holidays/countries/aland_islands.py +63 -0
  10. holidays/countries/albania.py +3 -3
  11. holidays/countries/algeria.py +3 -3
  12. holidays/countries/andorra.py +1 -1
  13. holidays/countries/angola.py +11 -11
  14. holidays/countries/anguilla.py +175 -0
  15. holidays/countries/antigua_and_barbuda.py +10 -10
  16. holidays/countries/argentina.py +107 -104
  17. holidays/countries/armenia.py +2 -2
  18. holidays/countries/aruba.py +7 -7
  19. holidays/countries/australia.py +18 -18
  20. holidays/countries/azerbaijan.py +14 -14
  21. holidays/countries/bahamas.py +9 -9
  22. holidays/countries/bahrain.py +3 -3
  23. holidays/countries/bangladesh.py +1 -1
  24. holidays/countries/barbados.py +7 -7
  25. holidays/countries/belarus.py +9 -9
  26. holidays/countries/belgium.py +3 -3
  27. holidays/countries/belize.py +3 -3
  28. holidays/countries/benin.py +199 -0
  29. holidays/countries/bermuda.py +152 -0
  30. holidays/countries/bolivia.py +8 -8
  31. holidays/countries/bosnia_and_herzegovina.py +4 -4
  32. holidays/countries/botswana.py +4 -4
  33. holidays/countries/brazil.py +4 -4
  34. holidays/countries/british_virgin_islands.py +205 -0
  35. holidays/countries/brunei.py +43 -43
  36. holidays/countries/bulgaria.py +3 -3
  37. holidays/countries/burkina_faso.py +1 -1
  38. holidays/countries/burundi.py +2 -2
  39. holidays/countries/cambodia.py +6 -6
  40. holidays/countries/cameroon.py +3 -3
  41. holidays/countries/canada.py +9 -9
  42. holidays/countries/chad.py +2 -2
  43. holidays/countries/chile.py +8 -8
  44. holidays/countries/china.py +31 -31
  45. holidays/countries/cocos_islands.py +6 -6
  46. holidays/countries/colombia.py +7 -7
  47. holidays/countries/congo.py +2 -2
  48. holidays/countries/cook_islands.py +148 -0
  49. holidays/countries/costa_rica.py +1 -1
  50. holidays/countries/croatia.py +1 -1
  51. holidays/countries/cuba.py +9 -9
  52. holidays/countries/curacao.py +2 -2
  53. holidays/countries/cyprus.py +1 -1
  54. holidays/countries/czechia.py +3 -3
  55. holidays/countries/denmark.py +2 -2
  56. holidays/countries/djibouti.py +1 -1
  57. holidays/countries/dominica.py +11 -11
  58. holidays/countries/dominican_republic.py +2 -2
  59. holidays/countries/ecuador.py +1 -1
  60. holidays/countries/egypt.py +1 -1
  61. holidays/countries/el_salvador.py +3 -3
  62. holidays/countries/equatorial_guinea.py +150 -0
  63. holidays/countries/eswatini.py +3 -3
  64. holidays/countries/ethiopia.py +6 -6
  65. holidays/countries/fiji.py +12 -12
  66. holidays/countries/finland.py +200 -36
  67. holidays/countries/france.py +1 -1
  68. holidays/countries/french_southern_territories.py +1 -5
  69. holidays/countries/gabon.py +4 -4
  70. holidays/countries/georgia.py +2 -2
  71. holidays/countries/germany.py +3 -3
  72. holidays/countries/ghana.py +2 -2
  73. holidays/countries/greece.py +1 -1
  74. holidays/countries/greenland.py +2 -2
  75. holidays/countries/grenada.py +1 -1
  76. holidays/countries/guatemala.py +4 -4
  77. holidays/countries/guernsey.py +31 -31
  78. holidays/countries/guinea.py +6 -6
  79. holidays/countries/guyana.py +279 -0
  80. holidays/countries/haiti.py +3 -3
  81. holidays/countries/honduras.py +2 -2
  82. holidays/countries/hongkong.py +4 -4
  83. holidays/countries/hungary.py +98 -16
  84. holidays/countries/iceland.py +1 -1
  85. holidays/countries/india.py +8 -8
  86. holidays/countries/indonesia.py +46 -46
  87. holidays/countries/iran.py +2 -2
  88. holidays/countries/ireland.py +1 -1
  89. holidays/countries/italy.py +1 -1
  90. holidays/countries/ivory_coast.py +6 -6
  91. holidays/countries/jamaica.py +1 -1
  92. holidays/countries/japan.py +1 -1
  93. holidays/countries/jersey.py +23 -23
  94. holidays/countries/jordan.py +3 -3
  95. holidays/countries/kazakhstan.py +45 -45
  96. holidays/countries/kenya.py +13 -13
  97. holidays/countries/kuwait.py +4 -4
  98. holidays/countries/kyrgyzstan.py +1 -1
  99. holidays/countries/laos.py +7 -7
  100. holidays/countries/latvia.py +2 -2
  101. holidays/countries/lesotho.py +2 -2
  102. holidays/countries/liechtenstein.py +1 -1
  103. holidays/countries/lithuania.py +1 -1
  104. holidays/countries/macau.py +19 -19
  105. holidays/countries/madagascar.py +2 -2
  106. holidays/countries/malawi.py +2 -2
  107. holidays/countries/malaysia.py +6 -6
  108. holidays/countries/maldives.py +3 -3
  109. holidays/countries/malta.py +6 -6
  110. holidays/countries/marshall_islands.py +2 -2
  111. holidays/countries/mauritania.py +2 -2
  112. holidays/countries/mexico.py +4 -4
  113. holidays/countries/micronesia.py +205 -0
  114. holidays/countries/monaco.py +1 -1
  115. holidays/countries/montenegro.py +3 -3
  116. holidays/countries/morocco.py +4 -4
  117. holidays/countries/namibia.py +85 -26
  118. holidays/countries/nauru.py +129 -0
  119. holidays/countries/nepal.py +16 -16
  120. holidays/countries/netherlands.py +1 -1
  121. holidays/countries/new_zealand.py +2 -2
  122. holidays/countries/nicaragua.py +2 -2
  123. holidays/countries/niger.py +320 -0
  124. holidays/countries/nigeria.py +1 -1
  125. holidays/countries/north_macedonia.py +268 -16
  126. holidays/countries/norway.py +38 -5
  127. holidays/countries/oman.py +12 -12
  128. holidays/countries/pakistan.py +7 -7
  129. holidays/countries/palau.py +7 -7
  130. holidays/countries/panama.py +5 -5
  131. holidays/countries/papua_new_guinea.py +15 -15
  132. holidays/countries/paraguay.py +7 -7
  133. holidays/countries/peru.py +1 -1
  134. holidays/countries/philippines.py +18 -18
  135. holidays/countries/poland.py +1 -1
  136. holidays/countries/portugal.py +5 -5
  137. holidays/countries/qatar.py +7 -7
  138. holidays/countries/romania.py +1 -1
  139. holidays/countries/russia.py +28 -28
  140. holidays/countries/saint_kitts_and_nevis.py +16 -16
  141. holidays/countries/saint_lucia.py +3 -3
  142. holidays/countries/samoa.py +3 -3
  143. holidays/countries/sao_tome_and_principe.py +2 -2
  144. holidays/countries/saudi_arabia.py +3 -3
  145. holidays/countries/senegal.py +193 -0
  146. holidays/countries/seychelles.py +15 -15
  147. holidays/countries/sierra_leone.py +5 -5
  148. holidays/countries/singapore.py +12 -8
  149. holidays/countries/slovakia.py +1 -1
  150. holidays/countries/slovenia.py +3 -3
  151. holidays/countries/solomon_islands.py +220 -0
  152. holidays/countries/south_africa.py +4 -4
  153. holidays/countries/south_korea.py +7 -7
  154. holidays/countries/spain.py +18 -18
  155. holidays/countries/sri_lanka.py +26 -26
  156. holidays/countries/suriname.py +5 -5
  157. holidays/countries/svalbard_and_jan_mayen.py +47 -0
  158. holidays/countries/sweden.py +2 -2
  159. holidays/countries/switzerland.py +1 -1
  160. holidays/countries/taiwan.py +41 -41
  161. holidays/countries/tanzania.py +15 -15
  162. holidays/countries/thailand.py +85 -85
  163. holidays/countries/timor_leste.py +106 -104
  164. holidays/countries/togo.py +3 -3
  165. holidays/countries/tonga.py +16 -16
  166. holidays/countries/trinidad_and_tobago.py +4 -4
  167. holidays/countries/tunisia.py +1 -1
  168. holidays/countries/turkey.py +4 -4
  169. holidays/countries/turks_and_caicos_islands.py +134 -0
  170. holidays/countries/tuvalu.py +7 -7
  171. holidays/countries/ukraine.py +51 -51
  172. holidays/countries/united_arab_emirates.py +22 -22
  173. holidays/countries/united_kingdom.py +2 -2
  174. holidays/countries/united_states.py +39 -39
  175. holidays/countries/uruguay.py +6 -6
  176. holidays/countries/uzbekistan.py +3 -3
  177. holidays/countries/vanuatu.py +2 -2
  178. holidays/countries/vatican_city.py +11 -11
  179. holidays/countries/venezuela.py +8 -8
  180. holidays/countries/vietnam.py +7 -7
  181. holidays/countries/yemen.py +207 -0
  182. holidays/countries/zambia.py +3 -3
  183. holidays/deprecations/v1_incompatibility.py +1 -1
  184. holidays/financial/__init__.py +5 -5
  185. holidays/financial/brasil_bolsa_balcao.py +9 -9
  186. holidays/financial/european_central_bank.py +3 -3
  187. holidays/financial/ice_futures_europe.py +2 -2
  188. holidays/financial/ny_stock_exchange.py +4 -5
  189. holidays/groups/__init__.py +1 -1
  190. holidays/groups/chinese.py +3 -3
  191. holidays/groups/christian.py +4 -4
  192. holidays/groups/international.py +9 -9
  193. holidays/groups/islamic.py +16 -6
  194. holidays/groups/sinhala.py +12 -12
  195. holidays/groups/thai.py +3 -3
  196. holidays/locale/ar/LC_MESSAGES/YE.mo +0 -0
  197. holidays/locale/en_AI/LC_MESSAGES/AI.mo +0 -0
  198. holidays/locale/en_BM/LC_MESSAGES/BM.mo +0 -0
  199. holidays/locale/en_CK/LC_MESSAGES/CK.mo +0 -0
  200. holidays/locale/en_FM/LC_MESSAGES/FM.mo +0 -0
  201. holidays/locale/en_GY/LC_MESSAGES/GY.mo +0 -0
  202. holidays/locale/en_NA/LC_MESSAGES/NA.mo +0 -0
  203. holidays/locale/en_NR/LC_MESSAGES/NR.mo +0 -0
  204. holidays/locale/en_TC/LC_MESSAGES/TC.mo +0 -0
  205. holidays/locale/en_US/LC_MESSAGES/AI.mo +0 -0
  206. holidays/locale/en_US/LC_MESSAGES/AX.mo +0 -0
  207. holidays/locale/en_US/LC_MESSAGES/BJ.mo +0 -0
  208. holidays/locale/en_US/LC_MESSAGES/BM.mo +0 -0
  209. holidays/locale/en_US/LC_MESSAGES/CK.mo +0 -0
  210. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  211. holidays/locale/en_US/LC_MESSAGES/FM.mo +0 -0
  212. holidays/locale/en_US/LC_MESSAGES/GQ.mo +0 -0
  213. holidays/locale/en_US/LC_MESSAGES/GY.mo +0 -0
  214. holidays/locale/en_US/LC_MESSAGES/MK.mo +0 -0
  215. holidays/locale/en_US/LC_MESSAGES/NA.mo +0 -0
  216. holidays/locale/en_US/LC_MESSAGES/NE.mo +0 -0
  217. holidays/locale/en_US/LC_MESSAGES/NR.mo +0 -0
  218. holidays/locale/en_US/LC_MESSAGES/SJ.mo +0 -0
  219. holidays/locale/en_US/LC_MESSAGES/SN.mo +0 -0
  220. holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
  221. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  222. holidays/locale/en_US/LC_MESSAGES/VG.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/YE.mo +0 -0
  224. holidays/locale/en_VG/LC_MESSAGES/VG.mo +0 -0
  225. holidays/locale/es/LC_MESSAGES/GQ.mo +0 -0
  226. holidays/locale/fi/LC_MESSAGES/AX.mo +0 -0
  227. holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
  228. holidays/locale/fr_BJ/LC_MESSAGES/BJ.mo +0 -0
  229. holidays/locale/fr_NE/LC_MESSAGES/NE.mo +0 -0
  230. holidays/locale/fr_SN/LC_MESSAGES/SN.mo +0 -0
  231. holidays/locale/mk/LC_MESSAGES/MK.mo +0 -0
  232. holidays/locale/no/LC_MESSAGES/SJ.mo +0 -0
  233. holidays/locale/sv_FI/LC_MESSAGES/AX.mo +0 -0
  234. holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
  235. holidays/locale/th/LC_MESSAGES/AX.mo +0 -0
  236. holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
  237. holidays/locale/th/LC_MESSAGES/SJ.mo +0 -0
  238. holidays/locale/uk/LC_MESSAGES/AX.mo +0 -0
  239. holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
  240. holidays/locale/uk/LC_MESSAGES/MK.mo +0 -0
  241. holidays/locale/uk/LC_MESSAGES/NA.mo +0 -0
  242. holidays/locale/uk/LC_MESSAGES/SJ.mo +0 -0
  243. holidays/locale/uk/LC_MESSAGES/TH.mo +0 -0
  244. holidays/registry.py +16 -0
  245. holidays/version.py +1 -1
  246. {holidays-0.73.dist-info → holidays-0.75.dist-info}/METADATA +121 -10
  247. {holidays-0.73.dist-info → holidays-0.75.dist-info}/RECORD +251 -192
  248. {holidays-0.73.dist-info → holidays-0.75.dist-info}/WHEEL +1 -1
  249. {holidays-0.73.dist-info → holidays-0.75.dist-info}/licenses/CONTRIBUTORS +5 -0
  250. {holidays-0.73.dist-info → holidays-0.75.dist-info}/licenses/LICENSE +0 -0
  251. {holidays-0.73.dist-info → holidays-0.75.dist-info}/top_level.txt +0 -0
@@ -22,12 +22,12 @@ class Guinea(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Isla
22
22
  """Guinea holidays.
23
23
 
24
24
  References:
25
- * [Decree No. 2022-0526](https://igt.gov.gn/wp-content/uploads/2024/10/D-2022-0526-PRG-CNRD_221103_131021.pdf)
26
- * <https://www.timeanddate.com/holidays/guinea/>
25
+ * [Decree No. 2022-0526](https://archive.org/details/d-2022-0526-prg-cnrd-221103-131021)
26
+ * <https://web.archive.org/web/20250408180953/https://www.timeanddate.com/holidays/guinea/>
27
27
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Guinea>
28
- * <https://anydayguide.com/calendar/1878>
29
- * <https://www.timeanddate.com/holidays/guinea/second-republic-day>
30
- * <https://www.timeanddate.com/holidays/guinea/all-saints-day>
28
+ * <https://web.archive.org/web/20241205013852/https://anydayguide.com/calendar/1878>
29
+ * <https://web.archive.org/web/20250408180953/https://web.archive.org/web/20240622164935/https://www.timeanddate.com/holidays/guinea/second-republic-day>
30
+ * <https://web.archive.org/web/20250408180953/https://web.archive.org/web/20240806075538/https://www.timeanddate.com/holidays/guinea/all-saints-day>
31
31
 
32
32
  According to Decree No. 2022-0526 of 2 November 2022:
33
33
  * Eid al-Adha became a two-day holiday (Article 1).
@@ -48,7 +48,7 @@ class Guinea(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Isla
48
48
  # Guinea gained independence from France on October 2, 1958.
49
49
  start_year = 1959
50
50
 
51
- def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
51
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
52
52
  """
53
53
  Args:
54
54
  islamic_show_estimated:
@@ -0,0 +1,279 @@
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 import _CustomHinduHolidays, _CustomIslamicHolidays
16
+ from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
17
+ from holidays.groups import (
18
+ ChristianHolidays,
19
+ HinduCalendarHolidays,
20
+ InternationalHolidays,
21
+ IslamicHolidays,
22
+ StaticHolidays,
23
+ )
24
+ from holidays.observed_holiday_base import (
25
+ ObservedHolidayBase,
26
+ SAT_SUN_TO_NEXT_MON,
27
+ SAT_SUN_TO_NEXT_MON_TUE,
28
+ SUN_TO_NEXT_MON,
29
+ )
30
+
31
+
32
+ class Guyana(
33
+ ObservedHolidayBase,
34
+ ChristianHolidays,
35
+ HinduCalendarHolidays,
36
+ InternationalHolidays,
37
+ IslamicHolidays,
38
+ StaticHolidays,
39
+ ):
40
+ """Guyana holidays.
41
+
42
+ References:
43
+ * [Public Holidays Amendment Act 1967](https://web.archive.org/web/20241125073357/https://parliament.gov.gy/documents/bills/11264-bill_6_of_1967_public_holidays.pdf)
44
+ * [Public Holidays Amendment Act 1969](https://web.archive.org/web/20250424211718/https://parliament.gov.gy/documents/bills/11891-bill_26_of_1969_1.pdf)
45
+ * [Public Holidays Act Consolidated as of 2012](https://web.archive.org/web/20250608202320/https://mola.gov.gy/laws/Volume%206%20Cap.%2018.01%20-%2023.011696968337.pdf)
46
+ * [2021-2025](https://web.archive.org/web/20250614200338/https://moha.gov.gy/public-holidays/)
47
+
48
+ The holidays below are not part of the latest Public Holidays Act but have been notified
49
+ every year as a holiday by Gazette notifications for many years. The earliest and latest
50
+ available notifications for each are linked below.
51
+
52
+ * Independence Day:
53
+ * [Extraordinary Gazette 14 May 2016](https://web.archive.org/web/20250210091920/https://officialgazette.gov.gy/images/gazettes-files/Extraordinary-gazette_14may161.pdf)
54
+ * [Extraordinary Gazette 10 May 2025](https://web.archive.org/web/20250611200312/https://officialgazette.gov.gy/images/gazette2025/may/Extra_10MAY2025NotiPHA.pdf)
55
+ * CARICOM Day:
56
+ * [Extraordinary Gazette 29 June 2016](https://web.archive.org/web/20250209205727/https://officialgazette.gov.gy/images/gazettes-files/Extraordinary-gazette_29jun16.pdf)
57
+ * [Extraordinary Gazette 22 June 2024](https://web.archive.org/web/20250209154128/https://officialgazette.gov.gy/images/gazette2024/jun/Extra_22JUNE2024NotiPHA.pdf)
58
+ * Arrival Day:
59
+ * [Extraordinary Gazette 16 April 2019](https://web.archive.org/web/20221118182239/https://officialgazette.gov.gy/images/gazette2019/apr/Extra_20APRIL2019NotPubHol.pdf)
60
+ * [Extraordinary Gazette 26 April 2025](https://web.archive.org/web/20250611200310/https://officialgazette.gov.gy/images/gazette2025/apr/Extra_26APRIL2025PHA.pdf)
61
+ * Commonwealth Day / Emancipation Day:
62
+ * No amendment act removing Commonwealth Day and adding Emancipation Day it has been that
63
+ way in annual Gazette notifications for years.
64
+ * [Extraordinary Gazette 21 July 2016](https://web.archive.org/web/20250211095036/https://officialgazette.gov.gy/images/gazettes-files/Extraordinary-gazette_21jul16.pdf)
65
+ * [Extraordinary Gazette 16 July 2022](https://web.archive.org/web/20231214011437/https://officialgazette.gov.gy/images/gazette2022/jul/Extra_16JULY2022NotificPHA.pdf)
66
+ """
67
+
68
+ country = "GY"
69
+ default_language = "en_GY"
70
+ # %s (estimated).
71
+ estimated_label = tr("%s (estimated)")
72
+ # %s (observed).
73
+ observed_label = tr("%s (observed)")
74
+ # %s (observed, estimated).
75
+ observed_estimated_label = tr("%s (observed, estimated)")
76
+ start_year = 1968
77
+ supported_languages = ("en_GY", "en_US")
78
+
79
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
80
+ """
81
+ Args:
82
+ islamic_show_estimated:
83
+ Whether to add "estimated" label to Islamic holidays name
84
+ if holiday date is estimated.
85
+ """
86
+ ChristianHolidays.__init__(self)
87
+ HinduCalendarHolidays.__init__(self, cls=GuyanaHinduHolidays)
88
+ InternationalHolidays.__init__(self)
89
+ IslamicHolidays.__init__(
90
+ self, cls=GuyanaIslamicHolidays, show_estimated=islamic_show_estimated
91
+ )
92
+ StaticHolidays.__init__(self, cls=GuyanaStaticHolidays)
93
+ kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
94
+ super().__init__(*args, **kwargs)
95
+
96
+ def _populate_public_holidays(self):
97
+ # New Year's Day.
98
+ self._add_observed(self._add_new_years_day(tr("New Year's Day")), rule=SAT_SUN_TO_NEXT_MON)
99
+
100
+ if self._year <= 1969 or self._year >= 2016:
101
+ # Independence Day.
102
+ self._add_holiday_may_26(tr("Independence Day"))
103
+
104
+ if self._year >= 1970:
105
+ # Republic Day.
106
+ self._add_holiday_feb_23(tr("Republic Day"))
107
+
108
+ # Good Friday.
109
+ self._add_good_friday(tr("Good Friday"))
110
+
111
+ # Easter Monday.
112
+ self._add_easter_monday(tr("Easter Monday"))
113
+
114
+ # Labor Day.
115
+ self._add_observed(self._add_labor_day(tr("Labour Day")))
116
+
117
+ if self._year >= 2019:
118
+ # Arrival Day.
119
+ self._add_observed(self._add_holiday_may_5(tr("Arrival Day")))
120
+
121
+ if self._year >= 2016:
122
+ # CARICOM Day.
123
+ self._add_holiday_1st_mon_of_jul(tr("CARICOM Day"))
124
+
125
+ if self._year >= 2016:
126
+ # Emancipation Day.
127
+ self._add_observed(self._add_holiday_aug_1(tr("Emancipation Day")))
128
+ else:
129
+ # Commonwealth Day.
130
+ self._add_holiday_1st_mon_of_aug(tr("Commonwealth Day"))
131
+
132
+ self._add_observed(
133
+ # Christmas Day.
134
+ self._add_christmas_day(tr("Christmas Day")),
135
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
136
+ )
137
+
138
+ self._add_observed(
139
+ # Day after Christmas.
140
+ self._add_christmas_day_two(tr("Day after Christmas")),
141
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
142
+ )
143
+
144
+ # Holi.
145
+ self._add_observed(self._add_holi(tr("Phagwah")))
146
+
147
+ # Diwali.
148
+ self._add_observed(self._add_diwali_india(tr("Deepavali")))
149
+
150
+ # Prophet's Birthday.
151
+ for dt in self._add_mawlid_day(tr("Youman Nabi")):
152
+ self._add_observed(dt)
153
+
154
+ # Eid al-Adha.
155
+ for dt in self._add_eid_al_adha_day(tr("Eid-Ul-Azha")):
156
+ self._add_observed(dt)
157
+
158
+
159
+ class GY(Guyana):
160
+ pass
161
+
162
+
163
+ class GUY(Guyana):
164
+ pass
165
+
166
+
167
+ class GuyanaHinduHolidays(_CustomHinduHolidays):
168
+ # https://web.archive.org/web/20250428060218/https://www.timeanddate.com/holidays/guyana/deepavali
169
+ DIWALI_INDIA_DATES = {
170
+ 2016: (OCT, 30),
171
+ 2017: (OCT, 19),
172
+ 2018: (NOV, 7),
173
+ 2019: (OCT, 27),
174
+ 2020: (NOV, 14),
175
+ 2021: (NOV, 4),
176
+ 2022: (OCT, 24),
177
+ 2023: (NOV, 12),
178
+ 2024: (OCT, 31),
179
+ 2025: (OCT, 20),
180
+ }
181
+
182
+ # https://web.archive.org/web/20250324205940/https://www.timeanddate.com/holidays/guyana/phagwah
183
+ HOLI_DATES = {
184
+ 2005: (MAR, 26),
185
+ 2006: (MAR, 15),
186
+ 2007: (MAR, 4),
187
+ 2008: (MAR, 22),
188
+ 2009: (MAR, 11),
189
+ 2010: (MAR, 1),
190
+ 2011: (MAR, 20),
191
+ 2012: (MAR, 8),
192
+ 2013: (MAR, 27),
193
+ 2014: (MAR, 17),
194
+ 2015: (MAR, 6),
195
+ 2016: (MAR, 23),
196
+ 2017: (MAR, 12),
197
+ 2018: (MAR, 2),
198
+ 2019: (MAR, 21),
199
+ 2020: (MAR, 10),
200
+ 2021: (MAR, 28),
201
+ 2022: (MAR, 18),
202
+ 2023: (MAR, 7),
203
+ 2024: (MAR, 25),
204
+ 2025: (MAR, 14),
205
+ 2026: (MAR, 3),
206
+ }
207
+
208
+
209
+ class GuyanaIslamicHolidays(_CustomIslamicHolidays):
210
+ # https://web.archive.org/web/20250424074512/https://www.timeanddate.com/holidays/guyana/eid-al-adha
211
+ EID_AL_ADHA_DATES = {
212
+ 2001: (MAR, 6),
213
+ 2002: (FEB, 23),
214
+ 2003: (FEB, 12),
215
+ 2004: (FEB, 2),
216
+ 2005: (JAN, 21),
217
+ 2006: ((JAN, 10), (DEC, 31)),
218
+ 2007: (DEC, 20),
219
+ 2008: (DEC, 9),
220
+ 2009: (NOV, 28),
221
+ 2010: (NOV, 17),
222
+ 2011: (NOV, 7),
223
+ 2012: (OCT, 26),
224
+ 2013: (OCT, 15),
225
+ 2014: (OCT, 5),
226
+ 2015: (SEP, 24),
227
+ 2016: (SEP, 13),
228
+ 2017: (SEP, 2),
229
+ 2018: (AUG, 22),
230
+ 2019: (AUG, 11),
231
+ 2020: (JUL, 31),
232
+ 2021: (JUL, 21),
233
+ 2022: (JUL, 9),
234
+ 2023: (JUN, 29),
235
+ 2024: (JUN, 17),
236
+ 2025: (JUN, 7),
237
+ }
238
+
239
+ # https://web.archive.org/web/20241006104125/https://www.timeanddate.com/holidays/guyana/prophet-birthday
240
+ MAWLID_DATES = {
241
+ 2001: (JUN, 4),
242
+ 2002: (MAY, 24),
243
+ 2003: (MAY, 14),
244
+ 2004: (MAY, 2),
245
+ 2005: (APR, 21),
246
+ 2006: (APR, 11),
247
+ 2007: (MAR, 31),
248
+ 2008: (MAR, 20),
249
+ 2009: (MAR, 9),
250
+ 2010: (FEB, 26),
251
+ 2011: (FEB, 16),
252
+ 2012: (FEB, 5),
253
+ 2013: (JAN, 24),
254
+ 2014: (JAN, 14),
255
+ 2015: ((JAN, 3), (DEC, 24)),
256
+ 2016: (DEC, 12),
257
+ 2017: (DEC, 1),
258
+ 2018: (NOV, 21),
259
+ 2019: (NOV, 10),
260
+ 2020: (OCT, 29),
261
+ 2021: (OCT, 19),
262
+ 2022: (OCT, 9),
263
+ 2023: (SEP, 28),
264
+ 2024: (SEP, 16),
265
+ 2025: (SEP, 5),
266
+ }
267
+
268
+
269
+ class GuyanaStaticHolidays(StaticHolidays):
270
+ """Guyana special holidays.
271
+
272
+ References:
273
+ * [Public Holiday](https://web.archive.org/web/20250207012131/https://officialgazette.gov.gy/images/gazette2020/feb/Extra_27FEBRUARY2020NotPholA.pdf)
274
+ """
275
+
276
+ special_public_holidays = {
277
+ # Public Holiday.
278
+ 2020: (MAR, 2, tr("Public Holiday")),
279
+ }
@@ -21,9 +21,9 @@ class Haiti(HolidayBase, ChristianHolidays, InternationalHolidays):
21
21
  """Haiti holidays.
22
22
 
23
23
  References:
24
- * <https://www.wipo.int/wipolex/en/legislation/details/7837>
25
- * <https://haitiwonderland.com/haiti/histoire/jours-feries-en-haiti/27>
26
- * <https://www.haiti-reference.info/pages/plan/generalites/calendrier-dhaiti/>
24
+ * <https://web.archive.org/web/20250214180331/https://www.wipo.int/wipolex/en/legislation/details/7837>
25
+ * <https://web.archive.org/web/20241206114430/https://haitiwonderland.com/haiti/histoire/jours-feries-en-haiti/27>
26
+ * <https://web.archive.org/web/20241226203305/https://www.haiti-reference.info/pages/plan/generalites/calendrier-dhaiti/>
27
27
  """
28
28
 
29
29
  country = "HT"
@@ -20,8 +20,8 @@ class Honduras(HolidayBase, ChristianHolidays, InternationalHolidays):
20
20
  """Honduras holidays.
21
21
 
22
22
  References:
23
- * [Art. 339 of Labor Code](https://www.ilo.org/dyn/natlex/docs/WEBTEXT/29076/64849/S59HND01.htm)
24
- * [Decree 78-2015](https://www.tsc.gob.hn/web/leyes/Decreto_78-2015_Traslado_de_Feriados_Octubre.pdf)
23
+ * [Art. 339 of Labor Code](https://web.archive.org/web/20240201202118/http://ilo.org/dyn/natlex/docs/WEBTEXT/29076/64849/S59HND01.htm)
24
+ * [Decree 78-2015](https://web.archive.org/web/20250414065149/https://www.tsc.gob.hn/web/leyes/Decreto_78-2015_Traslado_de_Feriados_Octubre.pdf)
25
25
  """
26
26
 
27
27
  country = "HN"
@@ -58,12 +58,12 @@ class HongKong(
58
58
  * [Chinese Wikipedia](https://zh.wikipedia.org/wiki/香港節日與公眾假期)
59
59
 
60
60
  Statutory Holidays:
61
- * [Section 39 of Cap. 57 Employment Ordinance](https://www.elegislation.gov.hk/hk/cap57!en-zh-Hant-HK?INDEX_CS=N&xpid=ID_1438403463460_002)
62
- * [Holidays for 2010-2025](https://www.labour.gov.hk/eng/news/holidays_list.htm)
61
+ * [Section 39 of Cap. 57 Employment Ordinance](http://archive.today/2025.04.29-125537/https://www.elegislation.gov.hk/hk/cap57!en-zh-Hant-HK?INDEX_CS=N&xpid=ID_1438403463460_002)
62
+ * [Holidays for 2010-2025](https://web.archive.org/web/20250402133857/https://www.labour.gov.hk/eng/news/holidays_list.htm)
63
63
 
64
64
  General Holidays:
65
- * [Cap. 149 General Holidays Ordinance](https://www.elegislation.gov.hk/hk/cap149!en-zh-Hant-HK?INDEX_CS=N)
66
- * [Holidays for 2007-2025](https://www.gov.hk/en/about/abouthk/holiday/index.htm)
65
+ * [Cap. 149 General Holidays Ordinance](http://archive.today/2025.04.29-125900/https://www.elegislation.gov.hk/hk/cap149!en-zh-Hant-HK?INDEX_CS=N)
66
+ * [Holidays for 2007-2025](https://web.archive.org/web/20250116080351/https://www.gov.hk/en/about/abouthk/holiday/index.htm)
67
67
  """
68
68
 
69
69
  country = "HK"
@@ -22,8 +22,8 @@ class Hungary(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
22
22
 
23
23
  References:
24
24
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Hungary>
25
- * <https://hvg.hu/gazdasag/20170307_Megszavaztak_munkaszuneti_nap_lett_a_nagypentek>
26
- * <https://www.tankonyvtar.hu/hu/tartalom/historia/92-10/ch01.html#id496839>
25
+ * <https://web.archive.org/web/20191002190510/http://hvg.hu:80/gazdasag/20170307_Megszavaztak_munkaszuneti_nap_lett_a_nagypentek>
26
+ * <https://web.archive.org/web/20240307183735/http://www.tankonyvtar.hu/hu/tartalom/historia/92-10/ch01.html>
27
27
  """
28
28
 
29
29
  country = "HU"
@@ -117,20 +117,36 @@ class HungaryStaticHolidays:
117
117
  """Hungary special holidays.
118
118
 
119
119
  References:
120
- * [2010](https://njt.hu/jogszabaly/2009-20-20-1X)
121
- * [2011](https://njt.hu/jogszabaly/2010-7-20-2X)
122
- * [2012](https://njt.hu/jogszabaly/2011-39-20-2X)
123
- * [2012-2013](https://njt.hu/jogszabaly/2012-28-20-2X)
124
- * [2014](https://njt.hu/jogszabaly/2013-33-20-2X)
125
- * [2015](https://njt.hu/jogszabaly/2014-28-20-2X)
126
- * [2016](https://njt.hu/jogszabaly/2015-18-20-2X)
127
- * [2018](https://njt.hu/jogszabaly/2017-61-B0-15)
128
- * [2019](https://njt.hu/jogszabaly/2018-6-20-53)
129
- * [2020](https://njt.hu/jogszabaly/2019-7-20-53)
130
- * [2021](https://njt.hu/jogszabaly/2020-14-20-7Q)
131
- * [2022](https://njt.hu/jogszabaly/2021-23-20-7Q)
132
- * [2024](https://njt.hu/jogszabaly/2023-15-20-8P)
133
- * [2025](https://njt.hu/jogszabaly/2024-11-20-2X)
120
+ * [1991](https://archive.org/details/7-1990-xii-27-mum-rendelet)
121
+ * [1992](https://web.archive.org/web/20250526085935/https://jogkodex.hu/jsz/1992_3_mum_rendelet_5937748)
122
+ * [1993](https://web.archive.org/web/20250526090343/https://jogkodex.hu/jsz/1992_7_mum_rendelet_7815697)
123
+ * [1994](https://web.archive.org/web/20250526090541/https://jogkodex.hu/jsz/1993_3_mum_rendelet_3120363)
124
+ * [1997](https://web.archive.org/web/20250526090817/https://jogkodex.hu/jsz/1996_11_mum_rendelet_3554324)
125
+ * [1998](https://web.archive.org/web/20250526091318/https://jogkodex.hu/jsz/1997_18_mum_rendelet_7493439)
126
+ * [1999](https://web.archive.org/web/20250526093916/https://jogkodex.hu/jsz/1998_3_szcsm_rendelet_7336830)
127
+ * [2001](https://archive.org/details/43-2000-xii-18-gm-rendelet)
128
+ * [2002](https://web.archive.org/web/20250526071659/https://jogkodex.hu/jsz/2001_25_gm_rendelet_9200619)
129
+ * [2003](https://web.archive.org/web/20250526071517/https://jogkodex.hu/jsz/2002_2_fmm_rendelet_1831209)
130
+ * [2004](https://web.archive.org/web/20250526071310/https://jogkodex.hu/jsz/2003_9_fmm_rendelet_8666269)
131
+ * [2005](https://web.archive.org/web/20250526071135/https://jogkodex.hu/jsz/2004_25_fmm_rendelet_4309634)
132
+ * [2007](https://web.archive.org/web/20250526064108/https://jogkodex.hu/jsz/2006_4_szmm_rendelet_8628960)
133
+ * [2008](https://web.archive.org/web/20250526051643/https://jogkodex.hu/jsz/2007_27_szmm_rendelet_3904252)
134
+ * [2009](https://web.archive.org/web/20250526051816/https://jogkodex.hu/jsz/2008_16_szmm_rendelet_7668376)
135
+ * [2010](https://web.archive.org/web/20250428204804/https://njt.hu/jogszabaly/2009-20-20-1X)
136
+ * [2011](https://web.archive.org/web/20250428204915/https://njt.hu/jogszabaly/2010-7-20-2X)
137
+ * [2012](https://web.archive.org/web/20250428204812/https://njt.hu/jogszabaly/2011-39-20-2X)
138
+ * [2012-2013](https://web.archive.org/web/20230719163315/https://njt.hu/jogszabaly/2012-28-20-2X)
139
+ * [2014](https://web.archive.org/web/20241104082745/https://njt.hu/jogszabaly/2013-33-20-2X)
140
+ * [2015](https://web.archive.org/web/20241104081744/https://njt.hu/jogszabaly/2014-28-20-2X)
141
+ * [2016](https://web.archive.org/web/20230719163025/https://njt.hu/jogszabaly/2015-18-20-2X)
142
+ * [2018](https://web.archive.org/web/20250429080658/https://njt.hu/jogszabaly/2017-61-B0-15)
143
+ * [2019](https://web.archive.org/web/20241211095342/https://njt.hu/jogszabaly/2018-6-20-53)
144
+ * [2020](https://web.archive.org/web/20241104072826/https://njt.hu/jogszabaly/2019-7-20-53)
145
+ * [2021](https://web.archive.org/web/20241102122816/https://njt.hu/jogszabaly/2020-14-20-7Q)
146
+ * [2022](https://web.archive.org/web/20241107133627/https://njt.hu/jogszabaly/2021-23-20-7Q)
147
+ * [2024](https://web.archive.org/web/20241105131832/https://njt.hu/jogszabaly/2023-15-20-8P)
148
+ * [2025](https://web.archive.org/web/20241219165144/https://njt.hu/jogszabaly/2024-11-20-2X)
149
+ * [2026](https://web.archive.org/web/20250526083742/https://jogkodex.hu/jsz/2025_10_ngm_rendelet_5591314)
134
150
  """
135
151
 
136
152
  # Substituted date format.
@@ -138,6 +154,67 @@ class HungaryStaticHolidays:
138
154
  # Day off (substituted from %s).
139
155
  substituted_label = tr("Pihenőnap (%s-től helyettesítve)")
140
156
  special_public_holidays = {
157
+ 1991: (AUG, 19, AUG, 17),
158
+ 1992: (
159
+ (AUG, 21, AUG, 29),
160
+ (DEC, 24, DEC, 19),
161
+ ),
162
+ 1993: (DEC, 24, DEC, 18),
163
+ 1994: (MAR, 14, MAR, 12),
164
+ 1997: (
165
+ (MAY, 2, APR, 26),
166
+ (OCT, 24, OCT, 18),
167
+ (DEC, 24, DEC, 20),
168
+ ),
169
+ 1998: (
170
+ (JAN, 2, JAN, 10),
171
+ (AUG, 21, AUG, 15),
172
+ (DEC, 24, DEC, 19),
173
+ ),
174
+ 1999: (DEC, 24, DEC, 18),
175
+ 2001: (
176
+ (MAR, 16, MAR, 10),
177
+ (APR, 30, APR, 28),
178
+ (OCT, 22, OCT, 20),
179
+ (NOV, 2, OCT, 27),
180
+ (DEC, 24, DEC, 22),
181
+ (DEC, 31, DEC, 29),
182
+ ),
183
+ 2002: (
184
+ (AUG, 19, AUG, 10),
185
+ (DEC, 24, DEC, 28),
186
+ ),
187
+ 2003: (
188
+ (MAY, 2, APR, 26),
189
+ (OCT, 24, OCT, 18),
190
+ (DEC, 24, DEC, 13),
191
+ ),
192
+ 2004: (
193
+ (JAN, 2, JAN, 10),
194
+ (DEC, 24, DEC, 18),
195
+ ),
196
+ 2005: (
197
+ (MAR, 14, MAR, 19),
198
+ (OCT, 31, NOV, 5),
199
+ ),
200
+ 2007: (
201
+ (MAR, 16, MAR, 10),
202
+ (APR, 30, APR, 21),
203
+ (OCT, 22, OCT, 20),
204
+ (NOV, 2, OCT, 27),
205
+ (DEC, 24, DEC, 22),
206
+ (DEC, 31, DEC, 29),
207
+ ),
208
+ 2008: (
209
+ (MAY, 2, APR, 26),
210
+ (OCT, 24, OCT, 18),
211
+ (DEC, 24, DEC, 20),
212
+ ),
213
+ 2009: (
214
+ (JAN, 2, MAR, 28),
215
+ (AUG, 21, AUG, 29),
216
+ (DEC, 24, DEC, 19),
217
+ ),
141
218
  2010: (DEC, 24, DEC, 11),
142
219
  2011: (
143
220
  (MAR, 14, MAR, 19),
@@ -202,4 +279,9 @@ class HungaryStaticHolidays:
202
279
  (OCT, 24, OCT, 18),
203
280
  (DEC, 24, DEC, 13),
204
281
  ),
282
+ 2026: (
283
+ (JAN, 2, JAN, 10),
284
+ (AUG, 21, AUG, 8),
285
+ (DEC, 24, DEC, 12),
286
+ ),
205
287
  }
@@ -22,7 +22,7 @@ class Iceland(HolidayBase, ChristianHolidays, InternationalHolidays):
22
22
 
23
23
  References:
24
24
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Iceland>
25
- * <https://www.althingi.is/lagas/nuna/1971088.html>
25
+ * <https://web.archive.org/web/20240805200641/https://www.althingi.is/lagas/nuna/1971088.html>
26
26
  """
27
27
 
28
28
  country = "IS"
@@ -31,15 +31,15 @@ class India(
31
31
  """India holidays.
32
32
 
33
33
  References:
34
- * <https://www.india.gov.in/calendar>
35
- * <https://www.india.gov.in/state-and-ut-holiday-calendar>
34
+ * <https://web.archive.org/web/20250413193616/https://www.india.gov.in/calendar>
35
+ * <https://web.archive.org/web/20250413193624/https://www.india.gov.in/state-and-ut-holiday-calendar>
36
36
  * <https://en.wikipedia.org/wiki/Public_holidays_in_India>
37
- * <https://www.calendarlabs.com/holidays/india/2021>
38
- * <https://slusi.dacnet.nic.in/watershedatlas/list_of_state_abbreviation.htm>
39
- * <https://vahan.parivahan.gov.in/vahan4dashboard/>
37
+ * <https://web.archive.org/web/20250413193633/https://www.calendarlabs.com/holidays/india/2021>
38
+ * <https://web.archive.org/web/20231118175007/http://slusi.dacnet.nic.in/watershedatlas/list_of_state_abbreviation.htm>
39
+ * <https://web.archive.org/web/20231008063930/https://vahan.parivahan.gov.in/vahan4dashboard/>
40
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)
41
+ * [Tamil Monthly Calendar](https://web.archive.org/web/20231228103352/https://www.tamildailycalendar.com/tamil_monthly_calendar.php)
42
+ * [Tamil Calendar](https://web.archive.org/web/20250429125140/https://www.prokerala.com/general/calendar/tamilcalendar.php)
43
43
  """
44
44
 
45
45
  country = "IN"
@@ -150,7 +150,7 @@ class India(
150
150
  "OR", # Orissa.
151
151
  )
152
152
 
153
- def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
153
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
154
154
  """
155
155
  Args:
156
156
  islamic_show_estimated: