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
@@ -35,15 +35,15 @@ class Nepal(
35
35
 
36
36
  References:
37
37
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Nepal>
38
- * <https://narayanilawfirm.org.np/list-of-public-holidays-in-nepal-2079/>
39
- * <https://www.timeanddate.com/holidays/nepal/>
40
- * <https://kathmandupost.com/national/2018/03/29/government-trims-public-holidays-by-22-days>
41
- * <https://kathmandupost.com/national/2021/02/13/two-years-after-shortening-public-holiday-list-government-starts-adding-to-it-again>
42
- * <https://english.hamropatro.com/nepali-public-holidays>
43
- * <https://english.hamropatro.com/calendar>
44
- * <https://www.ashesh.com.np/nepali-calendar/>
45
- * <https://www.bolpatra.gov.np/egp/openDateConverter>
46
- * <https://www.moha.gov.np/en/page/holidays>
38
+ * <https://web.archive.org/web/20250422191700/https://narayanilawfirm.org.np/list-of-public-holidays-in-nepal-2079/>
39
+ * <https://web.archive.org/web/20250131082346/https://www.timeanddate.com/holidays/nepal/>
40
+ * <https://web.archive.org/web/20240911172745/https://kathmandupost.com/national/2018/03/29/government-trims-public-holidays-by-22-days>
41
+ * <https://web.archive.org/web/20250419211438/https://kathmandupost.com/national/2021/02/13/two-years-after-shortening-public-holiday-list-government-starts-adding-to-it-again>
42
+ * <https://web.archive.org/web/20250316094224/https://english.hamropatro.com/nepali-public-holidays>
43
+ * <https://web.archive.org/web/20250527164012/https://english.hamropatro.com/calendar>
44
+ * <https://web.archive.org/web/20250322000610/https://www.ashesh.com.np/nepali-calendar/>
45
+ * <https://web.archive.org/web/20250117021312/https://www.bolpatra.gov.np/egp/openDateConverter>
46
+ * <https://web.archive.org/web/20241013164133/https://www.moha.gov.np/en/page/holidays>
47
47
  """
48
48
 
49
49
  country = "NP"
@@ -52,7 +52,7 @@ class Nepal(
52
52
  start_year = 2010
53
53
  supported_categories = (PUBLIC, WORKDAY)
54
54
 
55
- def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
55
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
56
56
  """
57
57
  Args:
58
58
  islamic_show_estimated:
@@ -410,12 +410,12 @@ class NepalStaticHolidays:
410
410
  """Nepal special holidays.
411
411
 
412
412
  References:
413
- * [Death of Krishna Prasad Bhattarai](https://myrepublica.nagariknetwork.com/news/27618/)
414
- * [Death of Sushil Koirala](https://kathmandupost.com/miscellaneous/2016/02/09/cabinet-decision-koirala-to-be-honoured-with-state-funeral)
415
- * [Crash of Yeti Airlines Flight 691](https://edition.cnn.com/2023/01/15/asia/nepal-yeti-airlines-crash-intl-hnk/index.html)
416
- * [People's War Day Instituted](https://kathmandupost.com/national/2023/02/12/government-announces-public-holiday-on-monday-to-mark-people-s-war-day)
417
- * [People's War Day Annulled](https://kathmandupost.com/national/2023/12/29/supreme-court-annuls-public-holiday-on-people-s-war-day)
418
- * [Death of Subas Chandra Nembang](https://en.nepalkhabar.com/news/detail/6023/)
413
+ * [Death of Krishna Prasad Bhattarai](https://web.archive.org/web/20250527164153/https://myrepublica.nagariknetwork.com/news/27618/)
414
+ * [Death of Sushil Koirala](https://web.archive.org/web/20250527164210/https://kathmandupost.com/miscellaneous/2016/02/09/cabinet-decision-koirala-to-be-honoured-with-state-funeral)
415
+ * [Crash of Yeti Airlines Flight 691](https://web.archive.org/web/20250123204057/https://edition.cnn.com/2023/01/15/asia/nepal-yeti-airlines-crash-intl-hnk/index.html)
416
+ * [People's War Day Instituted](https://web.archive.org/web/20241211215602/https://kathmandupost.com/national/2023/02/12/government-announces-public-holiday-on-monday-to-mark-people-s-war-day)
417
+ * [People's War Day Annulled](https://web.archive.org/web/20240111230228/https://kathmandupost.com/national/2023/12/29/supreme-court-annuls-public-holiday-on-people-s-war-day)
418
+ * [Death of Subas Chandra Nembang](https://web.archive.org/web/20241214193305/https://en.nepalkhabar.com/news/detail/6023/)
419
419
  """
420
420
 
421
421
  # Day of National Mourning.
@@ -25,7 +25,7 @@ class Netherlands(HolidayBase, ChristianHolidays, InternationalHolidays):
25
25
  References:
26
26
  * <https://en.wikipedia.org/wiki/Public_holidays_in_the_Netherlands>
27
27
  * <https://nl.wikipedia.org/wiki/Feestdagen_in_Nederland>
28
- * <http://www.iamsterdam.com/en/plan-your-trip/practical-info/public-holidays>
28
+ * <https://web.archive.org/web/20250427131819/https://www.iamsterdam.com/en/plan-your-trip/practical-info/public-holidays>
29
29
  """
30
30
 
31
31
  country = "NL"
@@ -50,7 +50,7 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
50
50
  "WKO", # Waikato (Waikato).
51
51
  "WTC", # West Coast (Te Tai o Poutini).
52
52
  # Subregions:
53
- # https://www.govt.nz/browse/work/public-holidays-and-work/public-holidays-and-anniversary-dates/
53
+ # https://web.archive.org/web/20250415230521/https://www.govt.nz/browse/work/public-holidays-and-work/public-holidays-and-anniversary-dates/
54
54
  "South Canterbury",
55
55
  )
56
56
  subdivisions_aliases = {
@@ -175,7 +175,7 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
175
175
  elif self._year >= 1912:
176
176
  self._add_holiday_jun_3(name) # George V
177
177
  else:
178
- # http://paperspast.natlib.govt.nz/cgi-bin/paperspast?a=d&d=NZH19091110.2.67
178
+ # https://web.archive.org/web/20250427125629/https://paperspast.natlib.govt.nz/cgi-bin/paperspast?a=d&d=NZH19091110.2.67
179
179
  self._add_holiday_nov_9(name) # Edward VII
180
180
 
181
181
  # Matariki
@@ -21,8 +21,8 @@ class Nicaragua(HolidayBase, ChristianHolidays, InternationalHolidays):
21
21
 
22
22
  References:
23
23
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Nicaragua>
24
- * <http://legislacion.asamblea.gob.ni/Normaweb.nsf/($All)/FA251B3C54F5BAEF062571C40055736C?OpenDocument>
25
- * <http://legislacion.asamblea.gob.ni/normaweb.nsf/($All)/3B28EC51ABE2787706258848005ADBB0?OpenDocument>
24
+ * <https://web.archive.org/web/20241102092432/http://legislacion.asamblea.gob.ni/Normaweb.nsf/($All)/FA251B3C54F5BAEF062571C40055736C?OpenDocument>
25
+ * <https://web.archive.org/web/20250427125556/http://legislacion.asamblea.gob.ni/normaweb.nsf/($All)/3B28EC51ABE2787706258848005ADBB0?OpenDocument>
26
26
  """
27
27
 
28
28
  country = "NI"
@@ -0,0 +1,320 @@
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 import OPTIONAL, PUBLIC
16
+ from holidays.calendars import _CustomIslamicHolidays
17
+ from holidays.calendars.gregorian import (
18
+ JAN,
19
+ FEB,
20
+ MAR,
21
+ APR,
22
+ MAY,
23
+ JUN,
24
+ JUL,
25
+ AUG,
26
+ SEP,
27
+ OCT,
28
+ NOV,
29
+ DEC,
30
+ SUN,
31
+ )
32
+ from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
33
+ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
34
+
35
+
36
+ class Niger(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
37
+ """Niger holidays.
38
+
39
+ References:
40
+ * [Law No. 59-22 of December 24, 1959](https://web.archive.org/web/20241106023958/https://www.impots.gouv.ne/media/loi/1960.pdf)
41
+ * <https://web.archive.org/web/20110721063839/http://www.ais-asecna.org/pdf/gen/gen-2-1/12gen2-1-01.pdf>
42
+ * <https://web.archive.org/web/20250531032502/https://wageindicator.org/documents/decentworkcheck/africa/niger-french-2021.pdf>
43
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Niger>
44
+ * <https://web.archive.org/web/20250531032604/https://wageindicator.org/fr-ne/droit-du-travail/les-conges-et-les-jours-de-repos>
45
+ * <https://web.archive.org/web/20250206194155/https://www.rivermate.com/guides/niger/leave>
46
+ * [Eid al-Adha](https://web.archive.org/web/20250117013558/https://www.timeanddate.com/holidays/niger/eid-al-adha)
47
+ * [Eid al-Fitr](https://web.archive.org/web/20250114130118/https://www.timeanddate.com/holidays/niger/eid-al-fitr)
48
+ * [Laylat al-Qadr](https://web.archive.org/web/20250531033137/https://www.timeanddate.com/holidays/niger/laylat-al-qadr)
49
+ * [Islamic New Year](https://web.archive.org/web/20240723135601/https://www.timeanddate.com/holidays/niger/muharram-new-year)
50
+ * [Prophet's Birthday](https://web.archive.org/web/20250124122731/https://www.timeanddate.com/holidays/niger/prophet-birthday)
51
+
52
+ Notes:
53
+ After Law No. 97-020 of June 20, 1997 establishing public holidays came into
54
+ effect, holidays that fell on the mandatory weekly rest day (Sunday) were
55
+ observed on the next Monday.
56
+ """
57
+
58
+ country = "NE"
59
+ default_language = "fr_NE"
60
+ supported_languages = ("en_US", "fr_NE")
61
+ supported_categories = (OPTIONAL, PUBLIC)
62
+ # %s (observed).
63
+ observed_label = tr("%s (observé)")
64
+ # %s (estimated).
65
+ estimated_label = tr("%s (estimé)")
66
+ # %s (observed, estimated).
67
+ observed_estimated_label = tr("%s (observé, estimé)")
68
+ # Law No. 59-22.
69
+ start_year = 1960
70
+ weekend = {SUN}
71
+
72
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
73
+ """
74
+ Args:
75
+ islamic_show_estimated:
76
+ Whether to add "estimated" label to Islamic holidays name
77
+ if holiday date is estimated.
78
+ """
79
+ ChristianHolidays.__init__(self)
80
+ InternationalHolidays.__init__(self)
81
+ IslamicHolidays.__init__(
82
+ self, cls=NigerIslamicHolidays, show_estimated=islamic_show_estimated
83
+ )
84
+ kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
85
+ kwargs.setdefault("observed_since", 1998)
86
+ super().__init__(*args, **kwargs)
87
+
88
+ def _populate_public_holidays(self):
89
+ # New Year's Day.
90
+ self._add_observed(self._add_new_years_day(tr("Jour de l'An")))
91
+
92
+ # Easter Monday.
93
+ self._add_easter_monday(tr("Lundi de Pâques"))
94
+
95
+ if self._year >= 1995:
96
+ # National Concord Day.
97
+ self._add_observed(self._add_holiday_apr_24(tr("Fête nationale de la Concorde")))
98
+
99
+ # International Labor Day.
100
+ self._add_observed(self._add_labor_day(tr("Journée internationale du travail")))
101
+
102
+ if self._year >= 2024:
103
+ # Anniversary of the CNSP Coup.
104
+ self._add_observed(self._add_holiday_jul_26(tr("Anniversaire du coup d'État du CNSP")))
105
+
106
+ self._add_observed(
107
+ self._add_holiday_aug_3(
108
+ # Anniversary of the Proclamation of Independence.
109
+ tr("L'anniversaire de la proclamation de l'indépendance")
110
+ if self._year >= 1961
111
+ # Independence Day.
112
+ else tr("Jour de l'indépendance")
113
+ )
114
+ )
115
+
116
+ # National Day.
117
+ self._add_observed(self._add_holiday_dec_18(tr("Fête nationale")))
118
+
119
+ # Christmas Day.
120
+ self._add_observed(self._add_christmas_day(tr("Noël")))
121
+
122
+ # Islamic New Year.
123
+ for dt in self._add_islamic_new_year_day(tr("Jour de l'An musulman")):
124
+ self._add_observed(dt)
125
+
126
+ # Prophet's Birthday.
127
+ for dt in self._add_mawlid_day(tr("Mouloud")):
128
+ self._add_observed(dt)
129
+
130
+ # Laylat al-Qadr.
131
+ for dt in self._add_laylat_al_qadr_day(tr("Laylat al-Qadr")):
132
+ self._add_observed(dt)
133
+
134
+ # Eid al-Fitr.
135
+ for dt in self._add_eid_al_fitr_day(tr("Korité")):
136
+ self._add_observed(dt)
137
+
138
+ # Eid al-Adha.
139
+ self._add_eid_al_adha_day(tr("Tabaski"))
140
+
141
+ # Day after Eid al-Adha.
142
+ for dt in self._add_eid_al_adha_day_two(tr("Lendemain de la Tabaski")):
143
+ self._add_observed(dt)
144
+
145
+ def _populate_optional_holidays(self):
146
+ # Ascension Day.
147
+ self._add_ascension_thursday(tr("Ascension"))
148
+
149
+ # Whit Monday.
150
+ self._add_whit_monday(tr("Lundi de Pentecôte"))
151
+
152
+ # Assumption Day.
153
+ self._add_observed(self._add_assumption_of_mary_day(tr("Assomption")))
154
+
155
+ # All Saints' Day.
156
+ self._add_observed(self._add_all_saints_day(tr("Toussaint")))
157
+
158
+
159
+ class NigerIslamicHolidays(_CustomIslamicHolidays):
160
+ EID_AL_ADHA_DATES = {
161
+ 1998: (APR, 8),
162
+ 1999: (MAR, 28),
163
+ 2000: (MAR, 16),
164
+ 2001: (MAR, 6),
165
+ 2002: (FEB, 23),
166
+ 2003: (FEB, 12),
167
+ 2004: (FEB, 2),
168
+ 2005: (JAN, 21),
169
+ 2006: ((JAN, 10), (DEC, 31)),
170
+ 2007: (DEC, 20),
171
+ 2008: (DEC, 9),
172
+ 2009: (NOV, 28),
173
+ 2010: (NOV, 17),
174
+ 2011: (NOV, 7),
175
+ 2012: (OCT, 26),
176
+ 2013: (OCT, 15),
177
+ 2014: (OCT, 5),
178
+ 2016: (SEP, 13),
179
+ 2017: (SEP, 2),
180
+ 2018: (AUG, 22),
181
+ 2019: (AUG, 11),
182
+ 2020: (JUL, 31),
183
+ 2021: (JUL, 20),
184
+ 2022: (JUL, 10),
185
+ 2023: (JUN, 28),
186
+ 2024: (JUN, 16),
187
+ 2025: (JUN, 7),
188
+ }
189
+
190
+ EID_AL_FITR_DATES = {
191
+ 1998: (JAN, 30),
192
+ 1999: (JAN, 19),
193
+ 2000: ((JAN, 8), (DEC, 28)),
194
+ 2001: (DEC, 17),
195
+ 2002: (DEC, 6),
196
+ 2003: (NOV, 26),
197
+ 2004: (NOV, 14),
198
+ 2005: (NOV, 4),
199
+ 2006: (OCT, 24),
200
+ 2007: (OCT, 13),
201
+ 2008: (OCT, 2),
202
+ 2009: (SEP, 21),
203
+ 2010: (SEP, 10),
204
+ 2011: (AUG, 31),
205
+ 2012: (AUG, 19),
206
+ 2013: (AUG, 8),
207
+ 2014: (JUL, 29),
208
+ 2015: (JUL, 18),
209
+ 2016: (JUL, 7),
210
+ 2017: (JUN, 26),
211
+ 2018: (JUN, 15),
212
+ 2019: (JUN, 4),
213
+ 2020: (MAY, 23),
214
+ 2021: (MAY, 12),
215
+ 2022: (MAY, 1),
216
+ 2023: (APR, 21),
217
+ 2024: (APR, 9),
218
+ 2025: (MAR, 30),
219
+ }
220
+
221
+ HIJRI_NEW_YEAR_DATES = {
222
+ 1998: (APR, 28),
223
+ 1999: (APR, 17),
224
+ 2000: (APR, 6),
225
+ 2001: (MAR, 26),
226
+ 2002: (MAR, 15),
227
+ 2003: (MAR, 5),
228
+ 2004: (FEB, 22),
229
+ 2005: (FEB, 10),
230
+ 2006: (JAN, 31),
231
+ 2007: (JAN, 20),
232
+ 2008: ((JAN, 10), (DEC, 29)),
233
+ 2009: (DEC, 18),
234
+ 2010: (DEC, 8),
235
+ 2011: (NOV, 27),
236
+ 2012: (NOV, 15),
237
+ 2013: (NOV, 5),
238
+ 2014: (OCT, 25),
239
+ 2015: (OCT, 15),
240
+ 2016: (OCT, 3),
241
+ 2017: (SEP, 22),
242
+ 2018: (SEP, 12),
243
+ 2019: (AUG, 31),
244
+ 2020: (AUG, 21),
245
+ 2021: (AUG, 10),
246
+ 2022: (JUL, 30),
247
+ 2023: (JUL, 19),
248
+ 2024: (JUL, 6),
249
+ 2025: (JUN, 27),
250
+ }
251
+
252
+ LAYLAT_AL_QADR_DATES = {
253
+ 1998: (JAN, 26),
254
+ 1999: (JAN, 15),
255
+ 2000: ((JAN, 4), (DEC, 24)),
256
+ 2001: (DEC, 13),
257
+ 2002: (DEC, 2),
258
+ 2003: (NOV, 22),
259
+ 2004: (NOV, 11),
260
+ 2005: (OCT, 31),
261
+ 2006: (OCT, 20),
262
+ 2007: (OCT, 9),
263
+ 2008: (SEP, 28),
264
+ 2009: (SEP, 17),
265
+ 2010: (SEP, 6),
266
+ 2011: (AUG, 27),
267
+ 2012: (AUG, 15),
268
+ 2013: (AUG, 4),
269
+ 2014: (JUL, 25),
270
+ 2015: (JUL, 14),
271
+ 2016: (JUL, 2),
272
+ 2017: (JUN, 22),
273
+ 2018: (JUN, 11),
274
+ 2019: (JUN, 1),
275
+ 2020: (MAY, 20),
276
+ 2021: (MAY, 9),
277
+ 2022: (APR, 28),
278
+ 2023: (APR, 18),
279
+ 2024: (APR, 6),
280
+ 2025: (MAR, 27),
281
+ }
282
+
283
+ MAWLID_DATES = {
284
+ 1998: (JUL, 7),
285
+ 1999: (JUN, 26),
286
+ 2000: (JUN, 15),
287
+ 2001: (JUN, 4),
288
+ 2002: (MAY, 24),
289
+ 2003: (MAY, 14),
290
+ 2004: (MAY, 2),
291
+ 2005: (APR, 21),
292
+ 2006: (APR, 11),
293
+ 2007: (MAR, 31),
294
+ 2008: (MAR, 20),
295
+ 2009: (MAR, 9),
296
+ 2010: (FEB, 26),
297
+ 2011: (FEB, 16),
298
+ 2012: (FEB, 5),
299
+ 2013: (JAN, 24),
300
+ 2014: (JAN, 14),
301
+ 2015: ((JAN, 3), (DEC, 24)),
302
+ 2016: (DEC, 12),
303
+ 2017: (DEC, 1),
304
+ 2018: (NOV, 21),
305
+ 2019: (NOV, 10),
306
+ 2020: (OCT, 29),
307
+ 2021: (OCT, 18),
308
+ 2022: (OCT, 8),
309
+ 2023: (SEP, 27),
310
+ 2024: (SEP, 16),
311
+ 2025: (SEP, 5),
312
+ }
313
+
314
+
315
+ class NE(Niger):
316
+ pass
317
+
318
+
319
+ class NER(Niger):
320
+ pass
@@ -33,7 +33,7 @@ class Nigeria(
33
33
  observed_label = "%s (observed)"
34
34
  start_year = 1979
35
35
 
36
- def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
36
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
37
37
  """
38
38
  Args:
39
39
  islamic_show_estimated:
@@ -108,7 +108,7 @@ class NorthMacedonia(
108
108
  )
109
109
  supported_languages = ("en_US", "mk", "uk")
110
110
 
111
- def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
111
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
112
112
  """
113
113
  Args:
114
114
  islamic_show_estimated:
@@ -305,7 +305,7 @@ class NorthMacedoniaStaticHolidays:
305
305
  """North Macedonia special holidays.
306
306
 
307
307
  References:
308
- * <https://mk.usembassy.gov/alert-presidential-and-parliamentary-elections-on-may-8-2024/>
308
+ * <https://web.archive.org/web/20250201212849/https://mk.usembassy.gov/alert-presidential-and-parliamentary-elections-on-may-8-2024/>
309
309
  """
310
310
 
311
311
  # Election Day.
@@ -21,19 +21,52 @@ class Norway(HolidayBase, ChristianHolidays, InternationalHolidays):
21
21
  """Norway holidays.
22
22
 
23
23
  References:
24
- * <https://lovdata.no/dokument/NL/lov/1947-04-26-1>
24
+ * <https://web.archive.org/web/20250102052441/https://lovdata.no/dokument/NL/lov/1947-04-26-1>
25
25
  * <https://no.wikipedia.org/wiki/Helligdager_i_Norge>
26
- * <https://www.timeanddate.no/merkedag/norge/>
26
+ * <https://web.archive.org/web/20250416120557/https://www.timeanddate.no/merkedag/norge>
27
27
 
28
28
  Note that holidays falling on a sunday is "lost", it will not be moved
29
29
  to another day to make up for the collision.
30
30
 
31
- In Norway, ALL sundays are considered a holiday (https://snl.no/helligdag).
31
+ In Norway, ALL sundays are considered a holiday (https://web.archive.org/web/20250202193959/https://snl.no/helligdag).
32
32
  Initialize this class with `include_sundays=False` to not include sundays as a holiday.
33
33
  """
34
34
 
35
35
  country = "NO"
36
36
  default_language = "no"
37
+ subdivisions: tuple[str, ...] = (
38
+ "03", # Oslo.
39
+ "11", # Rogaland.
40
+ "15", # Møre og Romsdal.
41
+ "18", # Nordland.
42
+ "21", # Svalbard.
43
+ "22", # Jan Mayen.
44
+ "30", # Viken.
45
+ "34", # Innlandet.
46
+ "38", # Vestfold og Telemark.
47
+ "42", # Agder.
48
+ "46", # Vestland.
49
+ "50", # Trøndelag (Trööndelage).
50
+ "54", # Troms og Finnmark (Romssa ja Finnmárkku, Tromssan ja Finmarkun).
51
+ )
52
+ subdivisions_aliases = {
53
+ "Oslo": "03",
54
+ "Rogaland": "11",
55
+ "Møre og Romsdal": "15",
56
+ "Nordland": "18",
57
+ "Svalbard": "21",
58
+ "Jan Mayen": "22",
59
+ "Viken": "30",
60
+ "Innlandet": "34",
61
+ "Vestfold og Telemark": "38",
62
+ "Agder": "42",
63
+ "Vestland": "46",
64
+ "Trööndelage": "50",
65
+ "Trøndelag": "50",
66
+ "Romssa ja Finnmárkku": "54",
67
+ "Troms og Finnmark": "54",
68
+ "Tromssan ja Finmarkun": "54",
69
+ }
37
70
  supported_languages = ("en_US", "no", "th", "uk")
38
71
 
39
72
  def __init__(self, include_sundays: bool = False, *args, **kwargs):
@@ -63,7 +96,7 @@ class Norway(HolidayBase, ChristianHolidays, InternationalHolidays):
63
96
  # Easter Monday.
64
97
  self._add_easter_monday(tr("Andre påskedag"))
65
98
 
66
- # Source: https://lovdata.no/dokument/NL/lov/1947-04-26-1
99
+ # Source: https://web.archive.org/web/20250102052441/https://lovdata.no/dokument/NL/lov/1947-04-26-1
67
100
  if self._year >= 1947:
68
101
  # Labor Day.
69
102
  self._add_labor_day(tr("Arbeidernes dag"))
@@ -39,11 +39,11 @@ class Oman(HolidayBase, IslamicHolidays):
39
39
 
40
40
  References:
41
41
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Oman>
42
- * [Independence](https://www.omaninfo.om/pages/175/show/572)
43
- * [Weekend](https://abnnews.com/the-sultanate-of-oman-changes-weekend-days-from-01-may-2013/)
44
- * [Decree 56/2020](https://decree.om/2020/rd20200056/)
45
- * [Decree 88/2022](https://decree.om/2022/rd20220088/)
46
- * [Decree 15/2025 (National day is moved)](https://decree.om/2025/rd20250015/)
42
+ * [Independence](https://web.archive.org/web/20250211055127/https://omaninfo.om/pages/175/show/572)
43
+ * [Weekend](https://web.archive.org/web/20250213121638/https://abnnews.com/the-sultanate-of-oman-changes-weekend-days-from-01-may-2013/)
44
+ * [Decree 56/2020](https://web.archive.org/web/20240522150742/https://decree.om/2020/rd20200056/)
45
+ * [Decree 88/2022](https://web.archive.org/web/20221207194900/https://decree.om/2022/rd20220088/)
46
+ * [Decree 15/2025 (National day is moved)](https://web.archive.org/web/20250121132446/https://decree.om/2025/rd20250015/)
47
47
  """
48
48
 
49
49
  country = "OM"
@@ -53,7 +53,7 @@ class Oman(HolidayBase, IslamicHolidays):
53
53
  start_year = 1970
54
54
  supported_languages = ("ar", "en_US")
55
55
 
56
- def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
56
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
57
57
  """
58
58
  Args:
59
59
  islamic_show_estimated:
@@ -122,7 +122,7 @@ class OMN(Oman):
122
122
 
123
123
 
124
124
  class OmanIslamicHolidays(_CustomIslamicHolidays):
125
- # https://www.timeanddate.com/holidays/oman/muharram-new-year
125
+ # https://web.archive.org/web/20240911084650/https://www.timeanddate.com/holidays/oman/muharram-new-year
126
126
  HIJRI_NEW_YEAR_DATES = {
127
127
  2018: (SEP, 11),
128
128
  2019: (SEP, 1),
@@ -133,7 +133,7 @@ class OmanIslamicHolidays(_CustomIslamicHolidays):
133
133
  2024: (JUL, 7),
134
134
  }
135
135
 
136
- # https://www.timeanddate.com/holidays/oman/prophet-birthday
136
+ # https://web.archive.org/web/20240810230306/https://www.timeanddate.com/holidays/oman/prophet-birthday
137
137
  MAWLID_DATES = {
138
138
  2018: (NOV, 20),
139
139
  2019: (NOV, 9),
@@ -144,7 +144,7 @@ class OmanIslamicHolidays(_CustomIslamicHolidays):
144
144
  2024: (SEP, 15),
145
145
  }
146
146
 
147
- # https://www.timeanddate.com/holidays/oman/isra-miraj
147
+ # https://web.archive.org/web/20241231191036/https://www.timeanddate.com/holidays/oman/isra-miraj
148
148
  ISRA_AND_MIRAJ_DATES = {
149
149
  2018: (APR, 13),
150
150
  2019: (APR, 3),
@@ -156,7 +156,7 @@ class OmanIslamicHolidays(_CustomIslamicHolidays):
156
156
  2025: (JAN, 27),
157
157
  }
158
158
 
159
- # https://www.timeanddate.com/holidays/oman/eid-al-adha
159
+ # https://web.archive.org/web/20240913230603/https://www.timeanddate.com/holidays/oman/eid-al-adha
160
160
  EID_AL_ADHA_DATES = {
161
161
  2019: (AUG, 11),
162
162
  2020: (JUL, 31),
@@ -166,7 +166,7 @@ class OmanIslamicHolidays(_CustomIslamicHolidays):
166
166
  2024: (JUN, 17),
167
167
  }
168
168
 
169
- # https://www.timeanddate.com/holidays/oman/eid-al-fitr
169
+ # https://web.archive.org/web/20241231191036/https://www.timeanddate.com/holidays/oman/eid-al-fitr
170
170
  EID_AL_FITR_DATES = {
171
171
  2019: (JUN, 4),
172
172
  2020: (MAY, 24),
@@ -177,7 +177,7 @@ class OmanIslamicHolidays(_CustomIslamicHolidays):
177
177
  2025: (MAR, 31),
178
178
  }
179
179
 
180
- # https://www.timeanddate.com/holidays/oman/ramadan-begins
180
+ # https://web.archive.org/web/20240814104839/https://www.timeanddate.com/holidays/oman/ramadan-begins
181
181
  RAMADAN_BEGINNING_DATES = {
182
182
  2023: (MAR, 23),
183
183
  2024: (MAR, 12),
@@ -24,8 +24,8 @@ class Pakistan(HolidayBase, InternationalHolidays, IslamicHolidays):
24
24
  References:
25
25
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Pakistan>
26
26
  * <https://ur.wikipedia.org/wiki/تعطیلات_پاکستان>
27
- * [Public and optional holidays](https://cabinet.gov.pk/Detail/OTE2ODBiYmItZmI0MS00NDAwLWE5NGUtYmE1MGVjYzllMzAz)
28
- * [No.10-01/2024-Min-II](https://cabinet.gov.pk/SiteImage/Misc/files/Holidays/28-5-24.pdf)
27
+ * [Public and optional holidays](https://web.archive.org/web/20250118105814/https://cabinet.gov.pk/Detail/OTE2ODBiYmItZmI0MS00NDAwLWE5NGUtYmE1MGVjYzllMzAz)
28
+ * [No.10-01/2024-Min-II](https://web.archive.org/web/20241103080918/https://cabinet.gov.pk/SiteImage/Misc/files/Holidays/28-5-24.pdf)
29
29
  """
30
30
 
31
31
  country = "PK"
@@ -35,7 +35,7 @@ class Pakistan(HolidayBase, InternationalHolidays, IslamicHolidays):
35
35
  start_year = 1948
36
36
  supported_languages = ("en_PK", "en_US", "ur_PK")
37
37
 
38
- def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
38
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
39
39
  """
40
40
  Args:
41
41
  islamic_show_estimated:
@@ -105,7 +105,7 @@ class PAK(Pakistan):
105
105
 
106
106
 
107
107
  class PakistanIslamicHolidays(_CustomIslamicHolidays):
108
- # https://www.timeanddate.com/holidays/pakistan/first-day-ashura
108
+ # https://web.archive.org/web/20241123192805/https://www.timeanddate.com/holidays/pakistan/first-day-ashura
109
109
 
110
110
  ASHURA_DATES = {
111
111
  2005: (FEB, 18),
@@ -130,7 +130,7 @@ class PakistanIslamicHolidays(_CustomIslamicHolidays):
130
130
  2024: (JUL, 16),
131
131
  }
132
132
 
133
- # https://www.timeanddate.com/holidays/pakistan/eid-ul-azha
133
+ # https://web.archive.org/web/20250424085932/https://www.timeanddate.com/holidays/pakistan/eid-ul-azha
134
134
  EID_AL_ADHA_DATES = {
135
135
  2005: (JAN, 21),
136
136
  2006: ((JAN, 10), (DEC, 31)),
@@ -154,7 +154,7 @@ class PakistanIslamicHolidays(_CustomIslamicHolidays):
154
154
  2024: (JUN, 17),
155
155
  }
156
156
 
157
- # https://www.timeanddate.com/holidays/pakistan/eid-ul-fitr-1
157
+ # https://web.archive.org/web/20250414111814/https://www.timeanddate.com/holidays/pakistan/eid-ul-fitr-1
158
158
  EID_AL_FITR_DATES = {
159
159
  2005: (NOV, 4),
160
160
  2006: (OCT, 24),
@@ -179,7 +179,7 @@ class PakistanIslamicHolidays(_CustomIslamicHolidays):
179
179
  2025: (MAR, 31),
180
180
  }
181
181
 
182
- # https://www.timeanddate.com/holidays/pakistan/eid-milad-un-nabi
182
+ # https://web.archive.org/web/20240529050144/https://www.timeanddate.com/holidays/pakistan/eid-milad-un-nabi
183
183
  MAWLID_DATES = {
184
184
  2005: (APR, 22),
185
185
  2006: (APR, 11),