holidays 0.74__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 (220) 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 +1 -1
  7. holidays/countries/__init__.py +202 -182
  8. holidays/countries/afghanistan.py +2 -2
  9. holidays/countries/albania.py +3 -3
  10. holidays/countries/algeria.py +3 -3
  11. holidays/countries/andorra.py +1 -1
  12. holidays/countries/angola.py +11 -11
  13. holidays/countries/anguilla.py +175 -0
  14. holidays/countries/antigua_and_barbuda.py +10 -10
  15. holidays/countries/argentina.py +106 -103
  16. holidays/countries/armenia.py +2 -2
  17. holidays/countries/aruba.py +7 -7
  18. holidays/countries/australia.py +18 -18
  19. holidays/countries/azerbaijan.py +13 -13
  20. holidays/countries/bahamas.py +9 -9
  21. holidays/countries/bahrain.py +3 -3
  22. holidays/countries/bangladesh.py +1 -1
  23. holidays/countries/barbados.py +7 -7
  24. holidays/countries/belarus.py +9 -9
  25. holidays/countries/belgium.py +2 -2
  26. holidays/countries/belize.py +3 -3
  27. holidays/countries/benin.py +1 -1
  28. holidays/countries/bermuda.py +32 -21
  29. holidays/countries/bolivia.py +8 -8
  30. holidays/countries/bosnia_and_herzegovina.py +4 -4
  31. holidays/countries/botswana.py +4 -4
  32. holidays/countries/brazil.py +4 -4
  33. holidays/countries/brunei.py +43 -43
  34. holidays/countries/bulgaria.py +3 -3
  35. holidays/countries/burkina_faso.py +1 -1
  36. holidays/countries/burundi.py +2 -2
  37. holidays/countries/cambodia.py +6 -6
  38. holidays/countries/cameroon.py +3 -3
  39. holidays/countries/canada.py +9 -9
  40. holidays/countries/chad.py +2 -2
  41. holidays/countries/chile.py +7 -7
  42. holidays/countries/china.py +31 -31
  43. holidays/countries/cocos_islands.py +6 -6
  44. holidays/countries/colombia.py +7 -7
  45. holidays/countries/congo.py +2 -2
  46. holidays/countries/cook_islands.py +148 -0
  47. holidays/countries/costa_rica.py +1 -1
  48. holidays/countries/croatia.py +1 -1
  49. holidays/countries/cuba.py +9 -9
  50. holidays/countries/curacao.py +1 -1
  51. holidays/countries/cyprus.py +1 -1
  52. holidays/countries/czechia.py +3 -3
  53. holidays/countries/denmark.py +2 -2
  54. holidays/countries/djibouti.py +1 -1
  55. holidays/countries/dominica.py +11 -11
  56. holidays/countries/dominican_republic.py +1 -1
  57. holidays/countries/ecuador.py +1 -1
  58. holidays/countries/egypt.py +1 -1
  59. holidays/countries/el_salvador.py +3 -3
  60. holidays/countries/eswatini.py +3 -3
  61. holidays/countries/ethiopia.py +5 -5
  62. holidays/countries/fiji.py +12 -12
  63. holidays/countries/france.py +1 -1
  64. holidays/countries/french_southern_territories.py +1 -5
  65. holidays/countries/gabon.py +4 -4
  66. holidays/countries/georgia.py +2 -2
  67. holidays/countries/germany.py +3 -3
  68. holidays/countries/ghana.py +2 -2
  69. holidays/countries/greece.py +1 -1
  70. holidays/countries/greenland.py +2 -2
  71. holidays/countries/grenada.py +1 -1
  72. holidays/countries/guatemala.py +4 -4
  73. holidays/countries/guernsey.py +31 -31
  74. holidays/countries/guinea.py +6 -6
  75. holidays/countries/guyana.py +279 -0
  76. holidays/countries/haiti.py +3 -3
  77. holidays/countries/honduras.py +2 -2
  78. holidays/countries/hongkong.py +4 -4
  79. holidays/countries/hungary.py +98 -16
  80. holidays/countries/iceland.py +1 -1
  81. holidays/countries/india.py +8 -8
  82. holidays/countries/indonesia.py +46 -46
  83. holidays/countries/iran.py +2 -2
  84. holidays/countries/ireland.py +1 -1
  85. holidays/countries/ivory_coast.py +5 -5
  86. holidays/countries/jamaica.py +1 -1
  87. holidays/countries/japan.py +1 -1
  88. holidays/countries/jersey.py +23 -23
  89. holidays/countries/jordan.py +3 -3
  90. holidays/countries/kazakhstan.py +45 -45
  91. holidays/countries/kenya.py +13 -13
  92. holidays/countries/kuwait.py +4 -4
  93. holidays/countries/kyrgyzstan.py +1 -1
  94. holidays/countries/laos.py +7 -7
  95. holidays/countries/latvia.py +2 -2
  96. holidays/countries/lesotho.py +2 -2
  97. holidays/countries/liechtenstein.py +1 -1
  98. holidays/countries/lithuania.py +1 -1
  99. holidays/countries/macau.py +19 -19
  100. holidays/countries/madagascar.py +2 -2
  101. holidays/countries/malawi.py +2 -2
  102. holidays/countries/malaysia.py +6 -6
  103. holidays/countries/maldives.py +3 -3
  104. holidays/countries/malta.py +6 -6
  105. holidays/countries/marshall_islands.py +2 -2
  106. holidays/countries/mauritania.py +2 -2
  107. holidays/countries/mexico.py +3 -3
  108. holidays/countries/micronesia.py +205 -0
  109. holidays/countries/monaco.py +1 -1
  110. holidays/countries/montenegro.py +3 -3
  111. holidays/countries/morocco.py +3 -3
  112. holidays/countries/namibia.py +85 -26
  113. holidays/countries/nauru.py +129 -0
  114. holidays/countries/nepal.py +16 -16
  115. holidays/countries/netherlands.py +1 -1
  116. holidays/countries/new_zealand.py +2 -2
  117. holidays/countries/nicaragua.py +2 -2
  118. holidays/countries/niger.py +320 -0
  119. holidays/countries/nigeria.py +1 -1
  120. holidays/countries/north_macedonia.py +2 -2
  121. holidays/countries/norway.py +37 -4
  122. holidays/countries/oman.py +12 -12
  123. holidays/countries/pakistan.py +7 -7
  124. holidays/countries/palau.py +7 -7
  125. holidays/countries/panama.py +5 -5
  126. holidays/countries/papua_new_guinea.py +15 -15
  127. holidays/countries/paraguay.py +6 -6
  128. holidays/countries/peru.py +1 -1
  129. holidays/countries/philippines.py +18 -18
  130. holidays/countries/poland.py +1 -1
  131. holidays/countries/portugal.py +5 -5
  132. holidays/countries/qatar.py +7 -7
  133. holidays/countries/romania.py +1 -1
  134. holidays/countries/russia.py +28 -28
  135. holidays/countries/saint_kitts_and_nevis.py +16 -16
  136. holidays/countries/saint_lucia.py +3 -3
  137. holidays/countries/samoa.py +3 -3
  138. holidays/countries/sao_tome_and_principe.py +2 -2
  139. holidays/countries/saudi_arabia.py +3 -3
  140. holidays/countries/senegal.py +193 -0
  141. holidays/countries/seychelles.py +15 -15
  142. holidays/countries/sierra_leone.py +5 -5
  143. holidays/countries/singapore.py +12 -8
  144. holidays/countries/slovakia.py +1 -1
  145. holidays/countries/slovenia.py +2 -2
  146. holidays/countries/solomon_islands.py +220 -0
  147. holidays/countries/south_africa.py +4 -4
  148. holidays/countries/south_korea.py +7 -7
  149. holidays/countries/spain.py +18 -18
  150. holidays/countries/sri_lanka.py +26 -26
  151. holidays/countries/suriname.py +5 -5
  152. holidays/countries/svalbard_and_jan_mayen.py +47 -0
  153. holidays/countries/sweden.py +1 -1
  154. holidays/countries/switzerland.py +1 -1
  155. holidays/countries/taiwan.py +41 -41
  156. holidays/countries/tanzania.py +15 -15
  157. holidays/countries/thailand.py +83 -83
  158. holidays/countries/timor_leste.py +106 -104
  159. holidays/countries/togo.py +1 -1
  160. holidays/countries/tonga.py +16 -16
  161. holidays/countries/trinidad_and_tobago.py +3 -3
  162. holidays/countries/tunisia.py +1 -1
  163. holidays/countries/turkey.py +4 -4
  164. holidays/countries/turks_and_caicos_islands.py +134 -0
  165. holidays/countries/tuvalu.py +6 -6
  166. holidays/countries/ukraine.py +51 -51
  167. holidays/countries/united_arab_emirates.py +22 -22
  168. holidays/countries/united_kingdom.py +2 -2
  169. holidays/countries/united_states.py +38 -38
  170. holidays/countries/uruguay.py +6 -6
  171. holidays/countries/uzbekistan.py +3 -3
  172. holidays/countries/vanuatu.py +2 -2
  173. holidays/countries/vatican_city.py +11 -11
  174. holidays/countries/venezuela.py +8 -8
  175. holidays/countries/vietnam.py +7 -7
  176. holidays/countries/yemen.py +7 -7
  177. holidays/countries/zambia.py +3 -3
  178. holidays/deprecations/v1_incompatibility.py +1 -1
  179. holidays/financial/__init__.py +5 -5
  180. holidays/financial/brasil_bolsa_balcao.py +9 -9
  181. holidays/financial/european_central_bank.py +3 -3
  182. holidays/financial/ice_futures_europe.py +2 -2
  183. holidays/financial/ny_stock_exchange.py +4 -5
  184. holidays/groups/__init__.py +1 -1
  185. holidays/groups/islamic.py +13 -3
  186. holidays/groups/sinhala.py +12 -12
  187. holidays/groups/thai.py +3 -3
  188. holidays/locale/en_AI/LC_MESSAGES/AI.mo +0 -0
  189. holidays/locale/en_BM/LC_MESSAGES/BM.mo +0 -0
  190. holidays/locale/en_CK/LC_MESSAGES/CK.mo +0 -0
  191. holidays/locale/en_FM/LC_MESSAGES/FM.mo +0 -0
  192. holidays/locale/en_GY/LC_MESSAGES/GY.mo +0 -0
  193. holidays/locale/en_NA/LC_MESSAGES/NA.mo +0 -0
  194. holidays/locale/en_NR/LC_MESSAGES/NR.mo +0 -0
  195. holidays/locale/en_TC/LC_MESSAGES/TC.mo +0 -0
  196. holidays/locale/en_US/LC_MESSAGES/AI.mo +0 -0
  197. holidays/locale/en_US/LC_MESSAGES/BM.mo +0 -0
  198. holidays/locale/en_US/LC_MESSAGES/CK.mo +0 -0
  199. holidays/locale/en_US/LC_MESSAGES/FM.mo +0 -0
  200. holidays/locale/en_US/LC_MESSAGES/GY.mo +0 -0
  201. holidays/locale/en_US/LC_MESSAGES/NA.mo +0 -0
  202. holidays/locale/en_US/LC_MESSAGES/NE.mo +0 -0
  203. holidays/locale/en_US/LC_MESSAGES/NR.mo +0 -0
  204. holidays/locale/en_US/LC_MESSAGES/SJ.mo +0 -0
  205. holidays/locale/en_US/LC_MESSAGES/SN.mo +0 -0
  206. holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
  207. holidays/locale/fr_NE/LC_MESSAGES/NE.mo +0 -0
  208. holidays/locale/fr_SN/LC_MESSAGES/SN.mo +0 -0
  209. holidays/locale/no/LC_MESSAGES/SJ.mo +0 -0
  210. holidays/locale/th/LC_MESSAGES/SJ.mo +0 -0
  211. holidays/locale/uk/LC_MESSAGES/NA.mo +0 -0
  212. holidays/locale/uk/LC_MESSAGES/SJ.mo +0 -0
  213. holidays/registry.py +10 -0
  214. holidays/version.py +1 -1
  215. {holidays-0.74.dist-info → holidays-0.75.dist-info}/METADATA +74 -5
  216. {holidays-0.74.dist-info → holidays-0.75.dist-info}/RECORD +220 -185
  217. {holidays-0.74.dist-info → holidays-0.75.dist-info}/licenses/CONTRIBUTORS +3 -0
  218. {holidays-0.74.dist-info → holidays-0.75.dist-info}/WHEEL +0 -0
  219. {holidays-0.74.dist-info → holidays-0.75.dist-info}/licenses/LICENSE +0 -0
  220. {holidays-0.74.dist-info → holidays-0.75.dist-info}/top_level.txt +0 -0
@@ -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.calendars.balinese_saka import _BalineseSakaLunar
16
16
  from holidays.calendars.buddhist import _BuddhistLunisolar, _CustomBuddhistHolidays
@@ -107,6 +107,6 @@ class _BalineseSakaLunar:
107
107
  """
108
108
  Data References:
109
109
  * [1983-2025](https://id.wikipedia.org/wiki/Indonesia_dalam_tahun_1983)
110
- * [2020-2050](https://www.balitrips.com/balinese-temples-ceremony)
110
+ * [2020-2050](https://web.archive.org/web/20240718011857/https://www.balitrips.com/balinese-temples-ceremony)
111
111
  """
112
112
  return self._get_holiday(NYEPI, year)
@@ -48,7 +48,7 @@ VAISAKHI = "VAISAKHI"
48
48
 
49
49
 
50
50
  class _HinduLunisolar:
51
- # https://www.timeanddate.com/holidays/india/buddha-purnima
51
+ # https://web.archive.org/web/20240804044401/https://www.timeanddate.com/holidays/india/buddha-purnima
52
52
  BUDDHA_PURNIMA_DATES = {
53
53
  2001: (APR, 30),
54
54
  2002: (MAY, 19),
@@ -87,7 +87,7 @@ class _HinduLunisolar:
87
87
  2035: (MAY, 22),
88
88
  }
89
89
 
90
- # https://www.timeanddate.com/holidays/india/chhat-puja
90
+ # https://web.archive.org/web/20250404174934/https://www.timeanddate.com/holidays/india/chhat-puja
91
91
  CHHATH_PUJA_DATES = {
92
92
  2001: (NOV, 21),
93
93
  2002: (NOV, 10),
@@ -329,7 +329,7 @@ class _HinduLunisolar:
329
329
  2100: (OCT, 31),
330
330
  }
331
331
 
332
- # https://www.timeanddate.com/holidays/india/diwali
332
+ # https://web.archive.org/web/20250118190944/https://www.timeanddate.com/holidays/india/diwali
333
333
  DIWALI_INDIA_DATES = {
334
334
  2001: (NOV, 14),
335
335
  2002: (NOV, 4),
@@ -368,7 +368,7 @@ class _HinduLunisolar:
368
368
  2035: (OCT, 30),
369
369
  }
370
370
 
371
- # https://www.timeanddate.com/holidays/india/dussehra
371
+ # https://web.archive.org/web/20250118183534/https://www.timeanddate.com/holidays/india/dussehra
372
372
  DUSSEHRA_DATES = {
373
373
  2001: (OCT, 26),
374
374
  2002: (OCT, 15),
@@ -407,7 +407,7 @@ class _HinduLunisolar:
407
407
  2035: (OCT, 11),
408
408
  }
409
409
 
410
- # https://www.timeanddate.com/holidays/india/ganesh-chaturthi
410
+ # https://web.archive.org/web/20250219062212/https://www.timeanddate.com/holidays/india/ganesh-chaturthi
411
411
  GANESH_CHATURTHI_DATES = {
412
412
  2001: (AUG, 22),
413
413
  2002: (SEP, 10),
@@ -446,7 +446,7 @@ class _HinduLunisolar:
446
446
  2035: (SEP, 5),
447
447
  }
448
448
 
449
- # https://www.timeanddate.com/holidays/india/govardhan-puja
449
+ # https://web.archive.org/web/20240917162551/https://www.timeanddate.com/holidays/india/govardhan-puja
450
450
  GOVARDHAN_PUJA_DATES = {
451
451
  2001: (NOV, 15),
452
452
  2002: (NOV, 5),
@@ -485,7 +485,7 @@ class _HinduLunisolar:
485
485
  2035: (OCT, 31),
486
486
  }
487
487
 
488
- # https://www.timeanddate.com/holidays/india/gudi-padwa
488
+ # https://web.archive.org/web/20250331230057/https://www.timeanddate.com/holidays/india/gudi-padwa
489
489
  GUDI_PADWA_DATES = {
490
490
  2001: (MAR, 26),
491
491
  2002: (APR, 13),
@@ -524,7 +524,7 @@ class _HinduLunisolar:
524
524
  2035: (APR, 9),
525
525
  }
526
526
 
527
- # https://www.timeanddate.com/holidays/india/guru-govind-singh-jayanti
527
+ # https://web.archive.org/web/20241231181629/https://www.timeanddate.com/holidays/india/guru-govind-singh-jayanti
528
528
  GURU_GOBIND_SINGH_JAYANTI_DATES = {
529
529
  2001: (JAN, 2),
530
530
  2002: (JAN, 21),
@@ -559,7 +559,7 @@ class _HinduLunisolar:
559
559
  2035: (JAN, 16),
560
560
  }
561
561
 
562
- # https://www.timeanddate.com/holidays/india/guru-nanak-jayanti
562
+ # https://web.archive.org/web/20240521074207/https://www.timeanddate.com/holidays/india/guru-nanak-jayanti
563
563
  GURU_NANAK_JAYANTI_DATES = {
564
564
  2001: (NOV, 30),
565
565
  2002: (NOV, 19),
@@ -597,8 +597,8 @@ class _HinduLunisolar:
597
597
  2035: (NOV, 15),
598
598
  }
599
599
 
600
- # https://www.timeanddate.com/holidays/nepal/gyalpo-losar
601
- # https://www.ashesh.com.np/nepali-calendar/
600
+ # https://web.archive.org/web/20240814073838/https://www.timeanddate.com/holidays/nepal/gyalpo-losar
601
+ # https://web.archive.org/web/20250322000610/https://www.ashesh.com.np/nepali-calendar/
602
602
  GYALPO_LOSAR_DATES = {
603
603
  2010: (FEB, 13),
604
604
  2011: (MAR, 5),
@@ -628,7 +628,7 @@ class _HinduLunisolar:
628
628
  2035: (FEB, 9),
629
629
  }
630
630
 
631
- # https://www.timeanddate.com/holidays/india/holi
631
+ # https://web.archive.org/web/20250410002117/https://www.timeanddate.com/holidays/india/holi
632
632
  HOLI_DATES = {
633
633
  2001: (MAR, 10),
634
634
  2002: (MAR, 29),
@@ -667,7 +667,7 @@ class _HinduLunisolar:
667
667
  2035: (MAR, 24),
668
668
  }
669
669
 
670
- # https://www.timeanddate.com/holidays/india/janmashtami
670
+ # https://web.archive.org/web/20241205010833/https://www.timeanddate.com/holidays/india/janmashtami
671
671
  JANMASHTAMI_DATES = {
672
672
  2001: (AUG, 12),
673
673
  2002: (AUG, 31),
@@ -706,7 +706,7 @@ class _HinduLunisolar:
706
706
  2035: (AUG, 26),
707
707
  }
708
708
 
709
- # https://www.timeanddate.com/holidays/india/maha-ashtami
709
+ # https://web.archive.org/web/20250113213218/https://www.timeanddate.com/holidays/india/maha-ashtami
710
710
  MAHA_ASHTAMI_DATES = {
711
711
  2001: (OCT, 24),
712
712
  2002: (OCT, 13),
@@ -745,7 +745,7 @@ class _HinduLunisolar:
745
745
  2035: (OCT, 9),
746
746
  }
747
747
 
748
- # https://www.timeanddate.com/holidays/india/maha-navami
748
+ # https://web.archive.org/web/20241125173623/https://www.timeanddate.com/holidays/india/maha-navami
749
749
  MAHA_NAVAMI_DATES = {
750
750
  2001: (OCT, 25),
751
751
  2002: (OCT, 14),
@@ -784,7 +784,7 @@ class _HinduLunisolar:
784
784
  2035: (OCT, 10),
785
785
  }
786
786
 
787
- # https://www.timeanddate.com/holidays/india/maha-shivaratri-shivaratri
787
+ # https://web.archive.org/web/20250323040914/https://www.timeanddate.com/holidays/india/maha-shivaratri-shivaratri
788
788
  MAHA_SHIVARATRI_DATES = {
789
789
  2001: (FEB, 21),
790
790
  2002: (MAR, 12),
@@ -823,7 +823,7 @@ class _HinduLunisolar:
823
823
  2035: (MAR, 8),
824
824
  }
825
825
 
826
- # https://www.timeanddate.com/holidays/india/mahavir-jayanti
826
+ # https://web.archive.org/web/20250121194712/https://www.timeanddate.com/holidays/india/mahavir-jayanti
827
827
  MAHAVIR_JAYANTI_DATES = {
828
828
  2001: (APR, 6),
829
829
  2002: (APR, 25),
@@ -862,7 +862,7 @@ class _HinduLunisolar:
862
862
  2035: (APR, 20),
863
863
  }
864
864
 
865
- # https://www.timeanddate.com/holidays/india/makar-sankranti
865
+ # https://web.archive.org/web/20250119043432/https://www.timeanddate.com/holidays/india/makar-sankranti
866
866
  MAKAR_SANKRANTI_DATES = {
867
867
  2001: (JAN, 14),
868
868
  2002: (JAN, 14),
@@ -901,7 +901,7 @@ class _HinduLunisolar:
901
901
  2035: (JAN, 15),
902
902
  }
903
903
 
904
- # https://www.timeanddate.com/holidays/india/onam
904
+ # https://web.archive.org/web/20241205101551/https://www.timeanddate.com/holidays/india/onam
905
905
  ONAM_DATES = {
906
906
  2001: (AUG, 31),
907
907
  2002: (AUG, 21),
@@ -978,7 +978,7 @@ class _HinduLunisolar:
978
978
  2035: (JAN, 15),
979
979
  }
980
980
 
981
- # https://www.timeanddate.com/holidays/india/raksha-bandhan
981
+ # https://web.archive.org/web/20240720191148/https://www.timeanddate.com/holidays/india/raksha-bandhan
982
982
  RAKSHA_BANDHAN_DATES = {
983
983
  2001: (AUG, 4),
984
984
  2002: (AUG, 22),
@@ -1017,7 +1017,7 @@ class _HinduLunisolar:
1017
1017
  2035: (AUG, 18),
1018
1018
  }
1019
1019
 
1020
- # https://www.timeanddate.com/holidays/india/rama-navami
1020
+ # https://web.archive.org/web/20250403054153/https://www.timeanddate.com/holidays/india/rama-navami
1021
1021
  RAM_NAVAMI_DATES = {
1022
1022
  2001: (APR, 2),
1023
1023
  2002: (APR, 21),
@@ -1056,7 +1056,7 @@ class _HinduLunisolar:
1056
1056
  2035: (APR, 16),
1057
1057
  }
1058
1058
 
1059
- # https://www.timeanddate.com/holidays/india/navratri
1059
+ # https://web.archive.org/web/20241202103625/https://www.timeanddate.com/holidays/india/navratri
1060
1060
  SHARAD_NAVRATRI_DATES = {
1061
1061
  2001: (OCT, 17),
1062
1062
  2002: (OCT, 7),
@@ -1095,8 +1095,8 @@ class _HinduLunisolar:
1095
1095
  2035: (OCT, 2),
1096
1096
  }
1097
1097
 
1098
- # https://www.timeanddate.com/holidays/nepal/sonam-losar
1099
- # https://www.ashesh.com.np/nepali-calendar/
1098
+ # https://web.archive.org/web/20241007171215/https://www.timeanddate.com/holidays/nepal/sonam-losar
1099
+ # https://web.archive.org/web/20250322000610/https://www.ashesh.com.np/nepali-calendar/
1100
1100
  SONAM_LOSAR_DATES = {
1101
1101
  2010: (JAN, 16),
1102
1102
  2011: (FEB, 4),
@@ -1126,7 +1126,7 @@ class _HinduLunisolar:
1126
1126
  2035: (FEB, 9),
1127
1127
  }
1128
1128
 
1129
- # https://www.hamropatro.com/posts/articles-Bishesh-Dinharu/articles-Bishesh-Dinharu-english-tamu-lhosar
1129
+ # https://web.archive.org/web/20241207045124/https://www.hamropatro.com/posts/articles-Bishesh-Dinharu/articles-Bishesh-Dinharu-english-tamu-lhosar
1130
1130
  TAMU_LOSAR_DATES = {
1131
1131
  2010: (DEC, 30),
1132
1132
  2011: (DEC, 30),
@@ -1356,7 +1356,7 @@ class _HinduLunisolar:
1356
1356
  2100: (FEB, 24),
1357
1357
  }
1358
1358
 
1359
- # https://www.timeanddate.com/holidays/india/vaisakhi
1359
+ # https://web.archive.org/web/20250121194712/https://www.timeanddate.com/holidays/india/vaisakhi
1360
1360
  VAISAKHI_DATES = {
1361
1361
  2001: (APR, 13),
1362
1362
  2002: (APR, 14),
@@ -26,6 +26,7 @@ EID_AL_ADHA = "EID_AL_ADHA"
26
26
  EID_AL_FITR = "EID_AL_FITR"
27
27
  EID_AL_GHADIR = "EID_AL_GHADIR"
28
28
  FATIMA_DEATH = "FATIMA_DEATH"
29
+ GRAND_MAGAL_OF_TOUBA = "GRAND_MAGAL_OF_TOUBA"
29
30
  HARI_HOL_JOHOR = "HARI_HOL_JOHOR"
30
31
  HASAN_AL_ASKARI_DEATH = "HASAN_AL_ASKARI_DEATH"
31
32
  HIJRI_NEW_YEAR = "HIJRI_NEW_YEAR"
@@ -1451,6 +1452,163 @@ class _IslamicLunar:
1451
1452
  2077: (APR, 26),
1452
1453
  }
1453
1454
 
1455
+ GRAND_MAGAL_OF_TOUBA_DATES = {
1456
+ 1924: (SEP, 17),
1457
+ 1925: (SEP, 7),
1458
+ 1926: (AUG, 27),
1459
+ 1927: (AUG, 16),
1460
+ 1928: (AUG, 4),
1461
+ 1929: (JUL, 25),
1462
+ 1930: (JUL, 14),
1463
+ 1931: (JUL, 4),
1464
+ 1932: (JUN, 23),
1465
+ 1933: (JUN, 12),
1466
+ 1934: (JUN, 1),
1467
+ 1935: (MAY, 21),
1468
+ 1936: (MAY, 10),
1469
+ 1937: (APR, 29),
1470
+ 1938: (APR, 18),
1471
+ 1939: (APR, 8),
1472
+ 1940: (MAR, 27),
1473
+ 1941: (MAR, 16),
1474
+ 1942: (MAR, 6),
1475
+ 1943: (FEB, 23),
1476
+ 1944: (FEB, 12),
1477
+ 1945: (FEB, 1),
1478
+ 1946: (JAN, 21),
1479
+ 1947: ((JAN, 11), (DEC, 31)),
1480
+ 1948: (DEC, 19),
1481
+ 1949: (DEC, 9),
1482
+ 1950: (NOV, 29),
1483
+ 1951: (NOV, 18),
1484
+ 1952: (NOV, 6),
1485
+ 1953: (OCT, 26),
1486
+ 1954: (OCT, 16),
1487
+ 1955: (OCT, 6),
1488
+ 1956: (SEP, 23),
1489
+ 1957: (SEP, 13),
1490
+ 1958: (SEP, 3),
1491
+ 1959: (AUG, 22),
1492
+ 1960: (AUG, 11),
1493
+ 1961: (JUL, 31),
1494
+ 1962: (JUL, 20),
1495
+ 1963: (JUL, 9),
1496
+ 1964: (JUN, 28),
1497
+ 1965: (JUN, 17),
1498
+ 1966: (JUN, 7),
1499
+ 1967: (MAY, 27),
1500
+ 1968: (MAY, 15),
1501
+ 1969: (MAY, 5),
1502
+ 1970: (APR, 25),
1503
+ 1971: (APR, 14),
1504
+ 1972: (APR, 2),
1505
+ 1973: (MAR, 23),
1506
+ 1974: (MAR, 12),
1507
+ 1975: (MAR, 1),
1508
+ 1976: (FEB, 18),
1509
+ 1977: (FEB, 6),
1510
+ 1978: (JAN, 27),
1511
+ 1979: (JAN, 16),
1512
+ 1980: ((JAN, 6), (DEC, 25)),
1513
+ 1981: (DEC, 14),
1514
+ 1982: (DEC, 3),
1515
+ 1983: (NOV, 22),
1516
+ 1984: (NOV, 11),
1517
+ 1985: (NOV, 1),
1518
+ 1986: (OCT, 21),
1519
+ 1987: (OCT, 11),
1520
+ 1988: (SEP, 29),
1521
+ 1989: (SEP, 18),
1522
+ 1990: (SEP, 7),
1523
+ 1991: (AUG, 28),
1524
+ 1992: (AUG, 16),
1525
+ 1993: (AUG, 6),
1526
+ 1994: (JUL, 26),
1527
+ 1995: (JUL, 16),
1528
+ 1996: (JUL, 4),
1529
+ 1997: (JUN, 23),
1530
+ 1998: (JUN, 12),
1531
+ 1999: (JUN, 2),
1532
+ 2000: (MAY, 22),
1533
+ 2001: (MAY, 12),
1534
+ 2002: (MAY, 1),
1535
+ 2003: (APR, 20),
1536
+ 2004: (APR, 8),
1537
+ 2005: (MAR, 28),
1538
+ 2006: (MAR, 18),
1539
+ 2007: (MAR, 8),
1540
+ 2008: (FEB, 25),
1541
+ 2009: (FEB, 13),
1542
+ 2010: (FEB, 2),
1543
+ 2011: (JAN, 22),
1544
+ 2012: ((JAN, 12), (DEC, 31)),
1545
+ 2013: (DEC, 21),
1546
+ 2014: (DEC, 10),
1547
+ 2015: (NOV, 30),
1548
+ 2016: (NOV, 18),
1549
+ 2017: (NOV, 7),
1550
+ 2018: (OCT, 27),
1551
+ 2019: (OCT, 17),
1552
+ 2020: (OCT, 5),
1553
+ 2021: (SEP, 25),
1554
+ 2022: (SEP, 14),
1555
+ 2023: (SEP, 3),
1556
+ 2024: (AUG, 22),
1557
+ 2025: (AUG, 12),
1558
+ 2026: (AUG, 1),
1559
+ 2027: (JUL, 22),
1560
+ 2028: (JUL, 11),
1561
+ 2029: (JUN, 30),
1562
+ 2030: (JUN, 19),
1563
+ 2031: (JUN, 8),
1564
+ 2032: (MAY, 27),
1565
+ 2033: (MAY, 17),
1566
+ 2034: (MAY, 7),
1567
+ 2035: (APR, 26),
1568
+ 2036: (APR, 15),
1569
+ 2037: (APR, 4),
1570
+ 2038: (MAR, 24),
1571
+ 2039: (MAR, 13),
1572
+ 2040: (MAR, 2),
1573
+ 2041: (FEB, 19),
1574
+ 2042: (FEB, 9),
1575
+ 2043: (JAN, 29),
1576
+ 2044: (JAN, 19),
1577
+ 2045: ((JAN, 7), (DEC, 27)),
1578
+ 2046: (DEC, 16),
1579
+ 2047: (DEC, 6),
1580
+ 2048: (NOV, 24),
1581
+ 2049: (NOV, 14),
1582
+ 2050: (NOV, 3),
1583
+ 2051: (OCT, 23),
1584
+ 2052: (OCT, 11),
1585
+ 2053: (SEP, 30),
1586
+ 2054: (SEP, 20),
1587
+ 2055: (SEP, 10),
1588
+ 2056: (AUG, 29),
1589
+ 2057: (AUG, 18),
1590
+ 2058: (AUG, 7),
1591
+ 2059: (JUL, 28),
1592
+ 2060: (JUL, 16),
1593
+ 2061: (JUL, 6),
1594
+ 2062: (JUN, 25),
1595
+ 2063: (JUN, 15),
1596
+ 2064: (JUN, 3),
1597
+ 2065: (MAY, 23),
1598
+ 2066: (MAY, 12),
1599
+ 2067: (MAY, 2),
1600
+ 2068: (APR, 20),
1601
+ 2069: (APR, 10),
1602
+ 2070: (MAR, 31),
1603
+ 2071: (MAR, 20),
1604
+ 2072: (MAR, 8),
1605
+ 2073: (FEB, 25),
1606
+ 2074: (FEB, 14),
1607
+ 2075: (FEB, 4),
1608
+ 2076: (JAN, 24),
1609
+ 2077: (JAN, 13),
1610
+ }
1611
+
1454
1612
  HARI_HOL_JOHOR_DATES = {
1455
1613
  1924: (SEP, 5),
1456
1614
  1925: (AUG, 26),
@@ -3832,6 +3990,9 @@ class _IslamicLunar:
3832
3990
  def fatima_death_dates(self, year: int) -> Iterable[tuple[date, bool]]:
3833
3991
  return self._get_holiday(FATIMA_DEATH, year)
3834
3992
 
3993
+ def grand_magal_of_touba_dates(self, year: int) -> Iterable[tuple[date, bool]]:
3994
+ return self._get_holiday(GRAND_MAGAL_OF_TOUBA, year)
3995
+
3835
3996
  def hari_hol_johor_dates(self, year: int) -> Iterable[tuple[date, bool]]:
3836
3997
  return self._get_holiday(HARI_HOL_JOHOR, year)
3837
3998
 
@@ -98,8 +98,8 @@ class _ThaiLunisolar:
98
98
  and we're thankful for his work.
99
99
 
100
100
  References:
101
- * <https://www.ninenik.com/แนวทางฟังก์ชั่น_php_อย่างง่ายกับการหาวันข้างขึ้นข้างแรม-1021.html>
102
- * <https://www.myhora.com/ปฏิทิน/ปฏิทิน-พ.ศ.2560.aspx>
101
+ * <https://web.archive.org/web/20241016080156/https://www.ninenik.com/แนวทางฟังก์ชั่น_php_อย่างง่ายกับการหาวันข้างขึ้นข้างแรม-1021.html>
102
+ * <https://web.archive.org/web/20250119171416/https://www.myhora.com/ปฏิทิน/ปฏิทิน-พ.ศ.2560.aspx>
103
103
 
104
104
  Example:
105
105
 
holidays/constants.py CHANGED
@@ -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.calendars.gregorian import (
16
16
  JAN,