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
@@ -20,13 +20,13 @@ class Venezuela(HolidayBase, ChristianHolidays, InternationalHolidays):
20
20
  """Venezuela holidays.
21
21
 
22
22
  References:
23
- * <https://dias-festivos.eu/dias-festivos/venezuela/#>
24
- * [1909 Aug 5](https://www.guao.org/sites/default/files/efemerides/69.Ley%20fiestas%20nacionales%201909.pdf)
25
- * [1918 May 19](https://www.guao.org/sites/default/files/efemerides/70.%20Ley%20de%20fiestas%20nacionales%201918.pdf)
26
- * [1921 Jun 11](https://guao.org/sites/default/files/efemerides/37.LEYES_Y_DECRETOS_1921_Di%cc%81a_de_la_raza.PDF)
27
- * [1971 Jun 22](https://www.ilo.org/dyn/travail/docs/2030/Law%20No.29.541.pdf)
28
- * [2002 Oct 10](https://www.acnur.org/fileadmin/Documentos/BDL/2008/6635.pdf)
29
- * [2012 May 7](https://oig.cepal.org/sites/default/files/2012_leyorgtrabajo_ven.pdf)
23
+ * <https://web.archive.org/web/20250317124608/https://dias-festivos.eu/dias-festivos/venezuela/>
24
+ * [1909 Aug 5](https://web.archive.org/web/20241012151721/https://www.guao.org/sites/default/files/efemerides/69.Ley%20fiestas%20nacionales%201909.pdf)
25
+ * [1918 May 19](https://web.archive.org/web/20250429081541/https://www.guao.org/sites/default/files/efemerides/70.%20Ley%20de%20fiestas%20nacionales%201918.pdf)
26
+ * [1921 Jun 11](https://web.archive.org/web/20241012160001/https://www.guao.org/sites/default/files/efemerides/37.LEYES_Y_DECRETOS_1921_Día_de_la_raza.PDF)
27
+ * [1971 Jun 22](https://web.archive.org/web/20240802055637/https://www.ilo.org/dyn/travail/docs/2030/Law%20No.29.541.pdf)
28
+ * [2002 Oct 10](https://web.archive.org/web/20250214140239/https://www.acnur.org/fileadmin/Documentos/BDL/2008/6635.pdf)
29
+ * [2012 May 7](https://web.archive.org/web/20250418204844/https://oig.cepal.org/sites/default/files/2012_leyorgtrabajo_ven.pdf)
30
30
  """
31
31
 
32
32
  country = "VE"
@@ -60,7 +60,7 @@ class Venezuela(HolidayBase, ChristianHolidays, InternationalHolidays):
60
60
  # Declaration of Independence.
61
61
  self._add_holiday_apr_19(tr("Declaración de la Independencia"))
62
62
 
63
- # https://bit.ly/3B4Xd1L
63
+ # https://web.archive.org/web/20250428122616/https://venezuelaenretrospectiva.wordpress.com/2016/05/01/1o-de-mayo-dia-del-trabajador-venezolano/
64
64
  if self._year >= 1946:
65
65
  # International Worker's Day.
66
66
  self._add_labor_day(tr("Dia Mundial del Trabajador"))
@@ -46,11 +46,11 @@ class Vietnam(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHoliday
46
46
  """Vietnam holidays.
47
47
 
48
48
  References:
49
- * [Labor Code 1994 (Art. 73) (en)](https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=2835)
50
- * [Labor Code 2012 (Art. 115) (en)](https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11013)
51
- * [Labor Code 2012 (Art. 115) (vi)](https://vbpl.vn/TW/Pages/vbpq-toanvan.aspx?ItemID=27615)
52
- * [Labor Code 2019 (Art. 112) (en)](https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11135)
53
- * [Labor Code 2019 (Art. 112) (vi)](https://vbpl.vn/TW/Pages/vbpq-van-ban-goc.aspx?ItemID=139264)
49
+ * [Labor Code 1994 (Art. 73) (en)](https://web.archive.org/web/20160630110506/http://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=2835)
50
+ * [Labor Code 2012 (Art. 115) (en)](https://web.archive.org/web/20240706232343/http://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11013)
51
+ * [Labor Code 2012 (Art. 115) (vi)](https://web.archive.org/web/20240917113133/https://vbpl.vn/TW/Pages/vbpq-toanvan.aspx?ItemID=27615)
52
+ * [Labor Code 2019 (Art. 112) (en)](https://web.archive.org/web/20250108181808/https://vbpl.vn/TW/pages/vbpqen-toanvan.aspx?ItemID=11135)
53
+ * [Labor Code 2019 (Art. 112) (vi)](https://web.archive.org/web/20250221171552/https://vbpl.vn/TW/Pages/vbpq-van-ban-goc.aspx?ItemID=139264)
54
54
  """
55
55
 
56
56
  country = "VN"
@@ -152,8 +152,8 @@ class VietnamStaticHolidays:
152
152
  """Vietnam special holidays.
153
153
 
154
154
  References:
155
- * [2018-2019](https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-6519-VPCP-KGVX-2018-national-holidays-for-public-sector-employees/387625/tieng-anh.aspx)
156
- * [2024](https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-2450-VPCP-KGVX-2024-swap-of-working-days-during-the-Reunification-Day/606458/tieng-anh.aspx)
155
+ * [2018-2019](https://web.archive.org/web/20250427182343/https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-6519-VPCP-KGVX-2018-national-holidays-for-public-sector-employees/387625/tieng-anh.aspx)
156
+ * [2024](https://web.archive.org/web/20241002165957/https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-2450-VPCP-KGVX-2024-swap-of-working-days-during-the-Reunification-Day/606458/tieng-anh.aspx)
157
157
  """
158
158
 
159
159
  # Date format (see strftime() Format Codes).
@@ -0,0 +1,207 @@
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 _CustomIslamicHolidays
16
+ from holidays.calendars.gregorian import (
17
+ JAN,
18
+ FEB,
19
+ MAR,
20
+ APR,
21
+ MAY,
22
+ JUN,
23
+ JUL,
24
+ AUG,
25
+ SEP,
26
+ OCT,
27
+ THU,
28
+ FRI,
29
+ SAT,
30
+ _timedelta,
31
+ )
32
+ from holidays.constants import PUBLIC, SCHOOL, WORKDAY
33
+ from holidays.groups import InternationalHolidays, IslamicHolidays
34
+ from holidays.observed_holiday_base import ObservedHolidayBase, FRI_TO_NEXT_WORKDAY
35
+
36
+
37
+ class Yemen(ObservedHolidayBase, InternationalHolidays, IslamicHolidays):
38
+ """Yemen holidays.
39
+
40
+ References:
41
+ * [Presidential Decree Law No. (8) of 1996](https://web.archive.org/web/20230905142654/http://yemen-nic.info/db/laws_ye/detail.php?ID=11476)
42
+ * [Presidential Decree Law No. (2) of 2000](https://web.archive.org/web/20140714152707/http://www.presidentsaleh.gov.ye/showlaws.php?_lwbkno=3&_lwptno=2&_lwnmid=4)
43
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Yemen>
44
+ * <https://ar.wikipedia.org/wiki/قائمة_العطل_الرسمية_في_اليمن>
45
+ * <https://web.archive.org/web/20160806072136/http://marebpress.net/news_details.php?lang=arabic&sid=55120>
46
+ * <https://web.archive.org/web/20250505071425/https://yemenembassy.it/festivities/>
47
+ * <https://web.archive.org/web/20250113111659/https://www.timeanddate.com/holidays/yemen/2025?hol=9>
48
+ * <https://web.archive.org/web/20250103115023/http://www.yemenpost.net/Detail123456789.aspx?ID=3&SubID=7132&MainCat=3>
49
+ """
50
+
51
+ country = "YE"
52
+ default_language = "ar"
53
+ # %s (estimated).
54
+ estimated_label = tr("%s (مُقدَّر)")
55
+ # %s (observed).
56
+ observed_label = tr("%s (ملاحظة)")
57
+ # %s (observed, estimated).
58
+ observed_estimated_label = tr("%s (مُقدَّر ملاحظة)")
59
+ # The Republic of Yemen was declared on 22 May 1990.
60
+ start_year = 1991
61
+ supported_categories = (PUBLIC, SCHOOL, WORKDAY)
62
+ supported_languages = ("ar", "en_US")
63
+
64
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
65
+ """
66
+ Args:
67
+ islamic_show_estimated:
68
+ Whether to add "estimated" label to Islamic holidays name
69
+ if holiday date is estimated.
70
+ """
71
+ InternationalHolidays.__init__(self)
72
+ IslamicHolidays.__init__(
73
+ self, cls=YemenIslamicHolidays, show_estimated=islamic_show_estimated
74
+ )
75
+ kwargs.setdefault("observed_rule", FRI_TO_NEXT_WORKDAY)
76
+ super().__init__(*args, **kwargs)
77
+
78
+ def _populate_public_holidays(self):
79
+ dts_observed = set()
80
+
81
+ # Yemen switches from THU-FRI to FRI-SAT on Aug 15, 2013
82
+ self.weekend = {THU, FRI} if self._year <= 2012 else {FRI, SAT}
83
+
84
+ # Hijri New Year.
85
+ dts_observed.update(self._add_islamic_new_year_day(tr("عيد رأس السنة الهجرية")))
86
+
87
+ if self._year <= 1999:
88
+ # Prophet's Birthday.
89
+ dts_observed.update(self._add_mawlid_day(tr("المولد النبوي")))
90
+
91
+ # Eid al-Fitr.
92
+ name = tr("عيد الفطر")
93
+ dts_observed.update(self._add_eid_al_fitr_day(name))
94
+ dts_observed.update(self._add_eid_al_fitr_day_two(name))
95
+ dts_observed.update(self._add_eid_al_fitr_day_three(name))
96
+ ramadan_29_holidays = self._add_holiday_29_ramadan(name)
97
+ dts_observed.update(ramadan_29_holidays)
98
+ for dt in ramadan_29_holidays:
99
+ if _timedelta(dt, +1) not in self:
100
+ dts_observed.update(self._add_eid_al_fitr_eve(name))
101
+
102
+ # Eid al-Adha.
103
+ name = tr("عيد الأضحى")
104
+ dts_observed.update(self._add_arafah_day(name))
105
+ dts_observed.update(self._add_eid_al_adha_day(name))
106
+ dts_observed.update(self._add_eid_al_adha_day_two(name))
107
+ dts_observed.update(self._add_eid_al_adha_day_three(name))
108
+ dts_observed.update(self._add_eid_al_adha_day_four(name))
109
+
110
+ # Labor Day.
111
+ dts_observed.add(self._add_labor_day(tr("عيد العمال")))
112
+
113
+ # Unity Day.
114
+ dts_observed.add(self._add_holiday_may_22(tr("اليوم الوطني للجمهورية اليمنية")))
115
+
116
+ if self._year <= 1999:
117
+ # Victory Day.
118
+ dts_observed.add(self._add_holiday_jul_7(tr("ذكرى 7 يوليو")))
119
+
120
+ # Revolution Day.
121
+ dts_observed.add(self._add_holiday_sep_26(tr("ثورة 26 سبتمبر المجيدة")))
122
+
123
+ # Liberation Day.
124
+ dts_observed.add(self._add_holiday_oct_14(tr("ثورة 14 أكتوبر المجيدة")))
125
+
126
+ # Independence Day.
127
+ dts_observed.add(self._add_holiday_nov_30(tr("عيد الجلاء")))
128
+
129
+ if self.observed:
130
+ self._populate_observed(dts_observed)
131
+
132
+ def _populate_school_holidays(self):
133
+ if self._year >= 2013:
134
+ # Teacher's Day.
135
+ self._add_holiday_may_5(tr("عيد المعلم"))
136
+
137
+ def _populate_workday_holidays(self):
138
+ if self._year >= 2000:
139
+ # Prophet's Birthday.
140
+ self._add_mawlid_day(tr("المولد النبوي"))
141
+
142
+ # Isra' and Mi'raj.
143
+ self._add_isra_and_miraj_day(tr("ذكرى الإسراء والمعراج"))
144
+
145
+ # Victory Day.
146
+ self._add_holiday_jul_7(tr("ذكرى 7 يوليو"))
147
+
148
+
149
+ class YE(Yemen):
150
+ pass
151
+
152
+
153
+ class YEM(Yemen):
154
+ pass
155
+
156
+
157
+ class YemenIslamicHolidays(_CustomIslamicHolidays):
158
+ # https://web.archive.org/web/20250115070635/https://www.timeanddate.com/holidays/yemen/eid-al-adha-first-day
159
+ EID_AL_ADHA_DATES = {
160
+ 2020: (JUL, 31),
161
+ 2021: (JUL, 20),
162
+ 2022: (JUL, 9),
163
+ 2023: (JUN, 28),
164
+ 2024: (JUN, 16),
165
+ }
166
+
167
+ # https://web.archive.org/web/20250218061345/https://www.timeanddate.com/holidays/yemen/eid-al-fitr-first-day
168
+ EID_AL_FITR_DATES = {
169
+ 2020: (MAY, 24),
170
+ 2021: (MAY, 13),
171
+ 2022: (MAY, 2),
172
+ 2023: (APR, 21),
173
+ 2024: (APR, 10),
174
+ 2025: (MAR, 30),
175
+ }
176
+
177
+ # https://web.archive.org/web/20241011200213/https://www.timeanddate.com/holidays/yemen/muharram-new-year
178
+ HIJRI_NEW_YEAR_DATES = {
179
+ 2020: (AUG, 20),
180
+ 2021: (AUG, 10),
181
+ 2022: (JUL, 30),
182
+ 2023: (JUL, 19),
183
+ 2024: (JUL, 7),
184
+ }
185
+
186
+ # https://web.archive.org/web/20241010083000/https://www.timeanddate.com/holidays/yemen/isra-miraj
187
+ ISRA_AND_MIRAJ_DATES = {
188
+ 2023: (FEB, 18),
189
+ 2024: (FEB, 8),
190
+ 2025: (JAN, 27),
191
+ }
192
+
193
+ # https://web.archive.org/web/20241010222331/https://www.timeanddate.com/holidays/yemen/prophet-birthday
194
+ MAWLID_DATES = {
195
+ 2020: (OCT, 29),
196
+ 2021: (OCT, 18),
197
+ 2022: (OCT, 8),
198
+ 2023: (SEP, 27),
199
+ 2024: (SEP, 15),
200
+ }
201
+
202
+ # https://web.archive.org/web/20250119111122/https://www.timeanddate.com/holidays/yemen/ramadan-begins
203
+ RAMADAN_BEGINNING_DATES = {
204
+ 2023: (MAR, 23),
205
+ 2024: (MAR, 11),
206
+ 2025: (MAR, 1),
207
+ }
@@ -19,10 +19,10 @@ class Zambia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
19
19
  """Zambia holidays.
20
20
 
21
21
  References:
22
- * <https://www.officeholidays.com/countries/zambia/>
23
- * <https://www.timeanddate.com/holidays/zambia/>
22
+ * <https://web.archive.org/web/20241206135307/https://www.officeholidays.com/countries/zambia>
23
+ * <https://web.archive.org/web/20250408170158/https://www.timeanddate.com/holidays/zambia/>
24
24
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Zambia>
25
- * <https://www.parliament.gov.zm/sites/default/files/documents/acts/Public%20Holidays%20Act.pdf>
25
+ * <https://web.archive.org/web/20250329191121/http://www.parliament.gov.zm/sites/default/files/documents/acts/Public%20Holidays%20Act.pdf>
26
26
  """
27
27
 
28
28
  country = "ZM"
@@ -19,7 +19,7 @@ FUTURE_INCOMPATIBILITY_WARNING_TEMPLATE = """
19
19
  This is a future version incompatibility warning from Holidays v{version}
20
20
  to inform you about an upcoming change in our API versioning strategy that may affect your
21
21
  project's dependencies. Starting from version 1.0 onwards, we will be following a loose form of
22
- Semantic Versioning (SemVer, https://semver.org) to provide clearer communication regarding any
22
+ Semantic Versioning (SemVer, https://semver.org/) to provide clearer communication regarding any
23
23
  potential breaking changes.
24
24
 
25
25
  This means that while we strive to maintain backward compatibility, there might be occasional
@@ -10,9 +10,9 @@
10
10
  # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
- # flake8: noqa: F401
13
+ # ruff: noqa: F401
14
14
 
15
- from .brasil_bolsa_balcao import BrasilBolsaBalcao, BVMF, B3
16
- from .european_central_bank import EuropeanCentralBank, XECB, ECB, TAR
17
- from .ice_futures_europe import ICEFuturesEurope, IFEU
18
- from .ny_stock_exchange import NewYorkStockExchange, XNYS, NYSE
15
+ from holidays.financial.brasil_bolsa_balcao import BrasilBolsaBalcao, BVMF, B3
16
+ from holidays.financial.european_central_bank import EuropeanCentralBank, XECB, ECB, TAR
17
+ from holidays.financial.ice_futures_europe import ICEFuturesEurope, IFEU
18
+ from holidays.financial.ny_stock_exchange import NewYorkStockExchange, XNYS, NYSE
@@ -20,17 +20,17 @@ class BrasilBolsaBalcao(HolidayBase, ChristianHolidays, InternationalHolidays):
20
20
  """Brasil, Bolsa, Balcão holidays.
21
21
 
22
22
  References:
23
- * [Decreto n. 155-B, de 14.01.1890](https://www2.camara.leg.br/legin/fed/decret/1824-1899/decreto-155-b-14-janeiro-1890-517534-publicacaooriginal-1-pe.html)
24
- * [Decreto n. 19.488, de 15.12.1930](https://www2.camara.leg.br/legin/fed/decret/1930-1939/decreto-19488-15-dezembro-1930-508040-republicacao-85201-pe.html)
25
- * [Decreto n. 22.647, de 17.04.1933](https://www2.camara.leg.br/legin/fed/decret/1930-1939/decreto-22647-17-abril-1933-558774-publicacaooriginal-80337-pe.html)
26
- * [Lei n. 662, de 6.04.1949](https://www2.camara.leg.br/legin/fed/lei/1940-1949/lei-662-6-abril-1949-347136-publicacaooriginal-1-pl.html)
27
- * [Lei n. 6.802, de 30.06.1980](https://www.planalto.gov.br/ccivil_03/leis/l6802.htm)
28
- * [Resolução n. 2.516, de 29.06.1998](https://www.bcb.gov.br/pre/normativos/res/1998/pdf/res_2516_v2_P.pdf)
29
- * [Lei n. 14.759, de 21.12.2023](https://www2.camara.leg.br/legin/fed/lei/2023/lei-14759-21-dezembro-2023-795091-publicacaooriginal-170522-pl.html)
23
+ * [Decreto n. 155-B, de 14.01.1890](https://web.archive.org/web/20241226133739/https://www2.camara.leg.br/legin/fed/decret/1824-1899/decreto-155-b-14-janeiro-1890-517534-publicacaooriginal-1-pe.html)
24
+ * [Decreto n. 19.488, de 15.12.1930](https://web.archive.org/web/20241006041503/http://camara.leg.br/legin/fed/decret/1930-1939/decreto-19488-15-dezembro-1930-508040-republicacao-85201-pe.html)
25
+ * [Decreto n. 22.647, de 17.04.1933](https://web.archive.org/web/20220414202918/https://www2.camara.leg.br/legin/fed/decret/1930-1939/decreto-22647-17-abril-1933-558774-publicacaooriginal-80337-pe.html)
26
+ * [Lei n. 662, de 6.04.1949](https://web.archive.org/web/20240913060643/https://www2.camara.leg.br/legin/fed/lei/1940-1949/lei-662-6-abril-1949-347136-publicacaooriginal-1-pl.html)
27
+ * [Lei n. 6.802, de 30.06.1980](https://web.archive.org/web/20250206215621/http://www.planalto.gov.br/ccivil_03/leis/L6802.htm)
28
+ * [Resolução n. 2.516, de 29.06.1998](https://web.archive.org/web/20250428203302/https://www.bcb.gov.br/pre/normativos/res/1998/pdf/res_2516_v2_P.pdf)
29
+ * [Lei n. 14.759, de 21.12.2023](https://web.archive.org/web/20250402234552/https://www2.camara.leg.br/legin/fed/lei/2023/lei-14759-21-dezembro-2023-795091-publicacaooriginal-170522-pl.html)
30
30
 
31
31
  Historical data:
32
- * [Feriados ANBIMA 2001-2099](https://www.anbima.com.br/feriados)
33
- * [Calendario de negociação B3](https://www.b3.com.br/pt_br/solucoes/plataformas/puma-trading-system/para-participantes-e-traders/calendario-de-negociacao/feriados)
32
+ * [Feriados ANBIMA 2001-2099](https://web.archive.org/web/20241209033536/https://www.anbima.com.br/feriados/)
33
+ * [Calendario de negociação B3](https://web.archive.org/web/20250126154858/https://www.b3.com.br/pt_br/solucoes/plataformas/puma-trading-system/para-participantes-e-traders/calendario-de-negociacao/feriados/)
34
34
  """
35
35
 
36
36
  market = "BVMF"
@@ -20,9 +20,9 @@ class EuropeanCentralBank(HolidayBase, ChristianHolidays, InternationalHolidays)
20
20
 
21
21
  References:
22
22
  * <https://en.wikipedia.org/wiki/TARGET2>
23
- * <https://www.ecb.europa.eu/ecb/contacts/working-hours/html/index.en.html>
24
- * <https://www.ecb.europa.eu/press/pr/date/1999/html/pr990715_1.en.html>
25
- * <https://www.ecb.europa.eu/press/pr/date/2000/html/pr001214_4.en.html>
23
+ * <https://web.archive.org/web/20250403115031/https://www.ecb.europa.eu/ecb/contacts/working-hours/html/index.en.html>
24
+ * <https://web.archive.org/web/20241109145056/https://www.ecb.europa.eu/press/pr/date/1999/html/pr990715_1.en.html>
25
+ * <https://web.archive.org/web/20241202213944/https://www.ecb.europa.eu/press/pr/date/2000/html/pr001214_4.en.html>
26
26
  """
27
27
 
28
28
  market = "XECB"
@@ -18,8 +18,8 @@ class ICEFuturesEurope(ObservedHolidayBase, ChristianHolidays, InternationalHoli
18
18
  """ICE Futures Europe holidays.
19
19
 
20
20
  References:
21
- * <https://www.ice.com/publicdocs/futures/Trading_Schedule_Migrated_Liffe_Contracts.pdf>
22
- * <https://www.ice.com/publicdocs/Trading_Schedule.pdf>
21
+ * <https://web.archive.org/web/20241203121313/https://www.ice.com/publicdocs/futures/Trading_Schedule_Migrated_Liffe_Contracts.pdf>
22
+ * <https://web.archive.org/web/20241118133442/https://www.ice.com/publicdocs/Trading_Schedule.pdf>
23
23
  * <https://web.archive.org/web/20230927015846/https://www.ice.com/publicdocs/Trading_Schedule.pdf>
24
24
  * <https://web.archive.org/web/20211022183728/https://www.ice.com/publicdocs/Trading_Schedule.pdf>
25
25
  """
@@ -37,11 +37,10 @@ class NewYorkStockExchange(
37
37
  """New York Stock Exchange holidays.
38
38
 
39
39
  References:
40
- * <https://www.nyse.com/publicdocs/nyse/regulation/nyse/NYSE_Rules.pdf>
41
- * <https://www.nyse.com/markets/hours-calendars>
40
+ * <https://web.archive.org/web/20240118104341/https://www.nyse.com/publicdocs/nyse/regulation/nyse/NYSE_Rules.pdf>
42
41
 
43
42
  Historical data:
44
- * <https://s3.amazonaws.com/armstrongeconomics-wp/2013/07/NYSE-Closings.pdf>
43
+ * <https://web.archive.org/web/20221206064307/https://s3.amazonaws.com/armstrongeconomics-wp/2013/07/NYSE-Closings.pdf>
45
44
  * <https://web.archive.org/web/20211101162021/https://www.nyse.com/markets/hours-calendars>
46
45
  """
47
46
 
@@ -152,8 +151,8 @@ class NewYorkStockExchangeStaticHolidays:
152
151
  """New York Stock Exchange special holidays.
153
152
 
154
153
  References:
155
- * <https://guides.loc.gov/presidents-portraits/chronological>
156
- * <https://www.presidency.ucsb.edu/documents/proclamation-3561-national-day-mourning-for-president-kennedy>
154
+ * <https://web.archive.org/web/20250421093104/https://guides.loc.gov/presidents-portraits/chronological>
155
+ * <https://web.archive.org/web/20250208135423/https://www.presidency.ucsb.edu/documents/proclamation-3561-national-day-mourning-for-president-kennedy>
157
156
  """
158
157
 
159
158
  # Blizzard of 1888.
@@ -10,7 +10,7 @@
10
10
  # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
- # flake8: noqa: F401
13
+ # ruff: noqa: F401
14
14
 
15
15
  from holidays.groups.balinese_saka import BalineseSakaCalendarHolidays
16
16
  from holidays.groups.buddhist import BuddhistCalendarHolidays
@@ -115,7 +115,7 @@ class ChineseCalendarHolidays(EasternCalendarHolidays):
115
115
  Birthday of the Buddha is a Buddhist festival that is celebrated in
116
116
  most of East Asia and South Asia commemorating the birth of Gautama
117
117
  Buddha, who was the founder of Buddhism.
118
- https://en.wikipedia.org/wiki/Buddha%27s_Birthday
118
+ https://en.wikipedia.org/wiki/Buddha's_Birthday
119
119
  """
120
120
  return self._add_chinese_calendar_holiday(
121
121
  name, self._chinese_calendar.buddha_birthday_date(self._year)
@@ -126,7 +126,7 @@ class ChineseCalendarHolidays(EasternCalendarHolidays):
126
126
  Add Chinese New Year's Eve (last day of 12th lunar month).
127
127
 
128
128
  Chinese New Year's Eve is the day before the Chinese New Year.
129
- https://en.wikipedia.org/wiki/Chinese_New_Year%27s_Eve
129
+ https://en.wikipedia.org/wiki/Chinese_New_Year's_Eve
130
130
  """
131
131
  return self._add_chinese_calendar_holiday(
132
132
  name, self._chinese_calendar.lunar_new_year_date(self._year), days_delta=-1
@@ -235,7 +235,7 @@ class ChineseCalendarHolidays(EasternCalendarHolidays):
235
235
 
236
236
  Vietnamese festival held annually from the 8th to the 11th day of the
237
237
  3rd lunar month in honour of the Hùng Kings.
238
- https://en.wikipedia.org/wiki/H%C3%B9ng_Kings%27_Festival
238
+ https://en.wikipedia.org/wiki/Hùng_Kings'_Festival
239
239
  """
240
240
  return self._add_chinese_calendar_holiday(
241
241
  name, self._chinese_calendar.hung_kings_date(self._year)
@@ -100,7 +100,7 @@ class ChristianHolidays:
100
100
 
101
101
  Also known as All Hallows' Day, the Feast of All Saints,
102
102
  the Feast of All Hallows, the Solemnity of All Saints, and Hallowmas.
103
- https://en.wikipedia.org/wiki/All_Saints%27_Day
103
+ https://en.wikipedia.org/wiki/All_Saints'_Day
104
104
  """
105
105
  return self._add_holiday_nov_1(name)
106
106
 
@@ -111,7 +111,7 @@ class ChristianHolidays:
111
111
  All Souls' Day is a day of prayer and remembrance for the faithful
112
112
  departed, observed by certain Christian denominations on 2 November.
113
113
  In Belarussian tradition it is called Dziady.
114
- https://en.wikipedia.org/wiki/All_Souls%27_Day
114
+ https://en.wikipedia.org/wiki/All_Souls'_Day
115
115
  https://en.wikipedia.org/wiki/Dziady
116
116
  """
117
117
  return self._add_holiday_nov_2(name)
@@ -384,7 +384,7 @@ class ChristianHolidays:
384
384
 
385
385
  Saint George's Day is celebrated on 23 April, the traditionally
386
386
  accepted date of the saint's death.
387
- https://en.wikipedia.org/wiki/Saint_George%27s_Day
387
+ https://en.wikipedia.org/wiki/Saint_George's_Day
388
388
  """
389
389
  return self._add_holiday_apr_23(name)
390
390
 
@@ -415,7 +415,7 @@ class ChristianHolidays:
415
415
  Solemnity of Saint Joseph, is in Western Christianity the principal
416
416
  feast day of Saint Joseph, husband of the Virgin Mary and legal father
417
417
  of Jesus Christ.
418
- https://en.wikipedia.org/wiki/Saint_Joseph%27s_Day
418
+ https://en.wikipedia.org/wiki/Saint_Joseph's_Day
419
419
  """
420
420
  return self._add_holiday_mar_19(name)
421
421
 
@@ -103,7 +103,7 @@ class InternationalHolidays:
103
103
  International Workers' Day, also known as Labour Day, is a celebration
104
104
  of labourers and the working classes that is promoted by the
105
105
  international labour movement.
106
- https://en.wikipedia.org/wiki/International_Workers%27_Day
106
+ https://en.wikipedia.org/wiki/International_Workers'_Day
107
107
  """
108
108
  return self._add_holiday_may_1(name)
109
109
 
@@ -111,7 +111,7 @@ class InternationalHolidays:
111
111
  """
112
112
  Add International Workers' Day Two (May 2nd)
113
113
 
114
- https://en.wikipedia.org/wiki/International_Workers%27_Day
114
+ https://en.wikipedia.org/wiki/International_Workers'_Day
115
115
  """
116
116
  return self._add_holiday_may_2(name)
117
117
 
@@ -119,7 +119,7 @@ class InternationalHolidays:
119
119
  """
120
120
  Add International Workers' Day Three (May 3rd)
121
121
 
122
- https://en.wikipedia.org/wiki/International_Workers%27_Day
122
+ https://en.wikipedia.org/wiki/International_Workers'_Day
123
123
  """
124
124
  return self._add_holiday_may_3(name)
125
125
 
@@ -129,7 +129,7 @@ class InternationalHolidays:
129
129
 
130
130
  New Year's Day is a festival observed in most of the world on
131
131
  1 January, the first day of the year in the modern Gregorian calendar.
132
- https://en.wikipedia.org/wiki/New_Year%27s_Day
132
+ https://en.wikipedia.org/wiki/New_Year's_Day
133
133
  """
134
134
  return self._add_holiday_jan_1(name)
135
135
 
@@ -139,7 +139,7 @@ class InternationalHolidays:
139
139
 
140
140
  New Year's Day is a festival observed in most of the world on
141
141
  1 January, the first day of the year in the modern Gregorian calendar.
142
- https://en.wikipedia.org/wiki/New_Year%27s_Day
142
+ https://en.wikipedia.org/wiki/New_Year's_Day
143
143
  """
144
144
  return self._add_holiday_jan_2(name)
145
145
 
@@ -149,7 +149,7 @@ class InternationalHolidays:
149
149
 
150
150
  New Year's Day is a festival observed in most of the world on
151
151
  1 January, the first day of the year in the modern Gregorian calendar.
152
- https://en.wikipedia.org/wiki/New_Year%27s_Day
152
+ https://en.wikipedia.org/wiki/New_Year's_Day
153
153
  """
154
154
  return self._add_holiday_jan_3(name)
155
155
 
@@ -159,7 +159,7 @@ class InternationalHolidays:
159
159
 
160
160
  New Year's Day is a festival observed in most of the world on
161
161
  1 January, the first day of the year in the modern Gregorian calendar.
162
- https://en.wikipedia.org/wiki/New_Year%27s_Day
162
+ https://en.wikipedia.org/wiki/New_Year's_Day
163
163
  """
164
164
  return self._add_holiday_jan_4(name)
165
165
 
@@ -180,7 +180,7 @@ class InternationalHolidays:
180
180
  In the Gregorian calendar, New Year's Eve, also known as Old Year's
181
181
  Day or Saint Sylvester's Day in many countries, is the evening or the
182
182
  entire day of the last day of the year, on 31 December.
183
- https://en.wikipedia.org/wiki/New_Year%27s_Eve
183
+ https://en.wikipedia.org/wiki/New_Year's_Eve
184
184
  """
185
185
  return self._add_holiday_dec_31(name)
186
186
 
@@ -192,7 +192,7 @@ class InternationalHolidays:
192
192
  point in the women's rights movement, bringing attention to issues
193
193
  such as gender equality, reproductive rights, and violence and abuse
194
194
  against women.
195
- https://en.wikipedia.org/wiki/International_Women%27s_Day
195
+ https://en.wikipedia.org/wiki/International_Women's_Day
196
196
  """
197
197
  return self._add_holiday_mar_8(name)
198
198
 
@@ -222,11 +222,21 @@ class IslamicHolidays(EasternCalendarHolidays):
222
222
  name, self._islamic_calendar.fatima_death_dates(self._year)
223
223
  )
224
224
 
225
+ def _add_grand_magal_of_touba(self, name) -> set[date]:
226
+ """
227
+ Annual religious pilgrimage of Senegalese Mouride brotherhood.
228
+
229
+ https://en.wikipedia.org/wiki/Grand_Magal_of_Touba
230
+ """
231
+ return self._add_islamic_calendar_holiday(
232
+ name, self._islamic_calendar.grand_magal_of_touba_dates(self._year)
233
+ )
234
+
225
235
  def _add_hari_hol_johor(self, name) -> set[date]:
226
236
  """
227
237
  Hari Hol Johor.
228
238
 
229
- https://publicholidays.com.my/hari-hol-almarhum-sultan-iskandar/
239
+ https://web.archive.org/web/20241202170507/https://publicholidays.com.my/hari-hol-almarhum-sultan-iskandar/
230
240
  """
231
241
  return self._add_islamic_calendar_holiday(
232
242
  name, self._islamic_calendar.hari_hol_johor_dates(self._year)
@@ -246,7 +256,7 @@ class IslamicHolidays(EasternCalendarHolidays):
246
256
  """
247
257
  Add 29th Ramadan holiday.
248
258
 
249
- https://decree.om/2022/rd20220088/
259
+ https://web.archive.org/web/20250323065556/https://decree.om/2022/rd20220088/
250
260
  """
251
261
  return self._add_islamic_calendar_holiday(
252
262
  name, self._islamic_calendar.ramadan_beginning_dates(self._year), days_delta=+28
@@ -299,7 +309,7 @@ class IslamicHolidays(EasternCalendarHolidays):
299
309
  Add Isra' and Mi'raj Day (27th day of 7th month).
300
310
 
301
311
  The Prophet's Ascension.
302
- https://en.wikipedia.org/wiki/Isra%27_and_Mi%27raj
312
+ https://en.wikipedia.org/wiki/Isra'_and_Mi'raj
303
313
  """
304
314
  return self._add_islamic_calendar_holiday(
305
315
  name, self._islamic_calendar.isra_and_miraj_dates(self._year)
@@ -357,7 +367,7 @@ class IslamicHolidays(EasternCalendarHolidays):
357
367
  Nuzul Al Quran is a Muslim festival to remember the day when Prophet
358
368
  Muhammad received his first revelation of Islam's sacred book,
359
369
  the holy Quran.
360
- https://zamzam.com/blog/nuzul-al-quran/
370
+ https://web.archive.org/web/20241012115752/https://zamzam.com/blog/nuzul-al-quran/
361
371
  """
362
372
  return self._add_islamic_calendar_holiday(
363
373
  name, self._islamic_calendar.nuzul_al_quran_dates(self._year)
@@ -399,7 +409,7 @@ class IslamicHolidays(EasternCalendarHolidays):
399
409
  """
400
410
  Add birthday of Prophet Muhammad and Ja'far al-Sadiq day (17th day of 3rd month).
401
411
 
402
- https://en.wikipedia.org/wiki/Ja%27far_al-Sadiq
412
+ https://en.wikipedia.org/wiki/Ja'far_al-Sadiq
403
413
  """
404
414
  return self._add_islamic_calendar_holiday(
405
415
  name, self._islamic_calendar.sadiq_birthday_dates(self._year)
@@ -409,7 +419,7 @@ class IslamicHolidays(EasternCalendarHolidays):
409
419
  """
410
420
  Add death of Ja'far al-Sadiq day (25th day of 10th month).
411
421
 
412
- https://en.wikipedia.org/wiki/Ja%27far_al-Sadiq
422
+ https://en.wikipedia.org/wiki/Ja'far_al-Sadiq
413
423
  """
414
424
  return self._add_islamic_calendar_holiday(
415
425
  name, self._islamic_calendar.sadiq_death_dates(self._year)