holidays 0.75__py3-none-any.whl → 0.77__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 (595) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/mongolian.py +342 -0
  3. holidays/countries/__init__.py +41 -0
  4. holidays/countries/aland_islands.py +3 -19
  5. holidays/countries/algeria.py +1 -1
  6. holidays/countries/american_samoa.py +8 -20
  7. holidays/countries/aruba.py +42 -36
  8. holidays/countries/australia.py +6 -8
  9. holidays/countries/bahrain.py +1 -1
  10. holidays/countries/bonaire_sint_eustatius_and_saba.py +134 -0
  11. holidays/countries/british_virgin_islands.py +6 -6
  12. holidays/countries/cabo_verde.py +293 -0
  13. holidays/countries/cayman_islands.py +162 -0
  14. holidays/countries/central_african_republic.py +143 -0
  15. holidays/countries/christmas_island.py +215 -0
  16. holidays/countries/cocos_islands.py +7 -6
  17. holidays/countries/curacao.py +64 -38
  18. holidays/countries/dr_congo.py +139 -0
  19. holidays/countries/egypt.py +1 -1
  20. holidays/countries/falkland_islands.py +141 -0
  21. holidays/countries/faroe_islands.py +102 -0
  22. holidays/countries/france.py +224 -127
  23. holidays/countries/french_guiana.py +44 -0
  24. holidays/countries/french_polynesia.py +43 -0
  25. holidays/countries/french_southern_territories.py +3 -4
  26. holidays/countries/georgia.py +11 -5
  27. holidays/countries/gibraltar.py +219 -0
  28. holidays/countries/guadeloupe.py +44 -0
  29. holidays/countries/guam.py +8 -20
  30. holidays/countries/guernsey.py +6 -6
  31. holidays/countries/hongkong.py +1 -1
  32. holidays/countries/hungary.py +2 -1
  33. holidays/countries/iran.py +1 -1
  34. holidays/countries/isle_of_man.py +4 -0
  35. holidays/countries/israel.py +1 -1
  36. holidays/countries/japan.py +6 -8
  37. holidays/countries/jersey.py +2 -2
  38. holidays/countries/jordan.py +1 -1
  39. holidays/countries/kuwait.py +1 -1
  40. holidays/countries/lebanon.py +448 -0
  41. holidays/countries/libya.py +227 -0
  42. holidays/countries/mali.py +151 -0
  43. holidays/countries/martinique.py +44 -0
  44. holidays/countries/mauritius.py +197 -0
  45. holidays/countries/mayotte.py +44 -0
  46. holidays/countries/mongolia.py +202 -0
  47. holidays/countries/montserrat.py +177 -0
  48. holidays/countries/morocco.py +1 -1
  49. holidays/countries/nepal.py +8 -8
  50. holidays/countries/netherlands.py +7 -11
  51. holidays/countries/new_caledonia.py +43 -0
  52. holidays/countries/new_zealand.py +2 -2
  53. holidays/countries/niue.py +115 -0
  54. holidays/countries/norfolk_island.py +129 -0
  55. holidays/countries/northern_mariana_islands.py +8 -20
  56. holidays/countries/oman.py +1 -1
  57. holidays/countries/palau.py +1 -1
  58. holidays/countries/palestine.py +177 -0
  59. holidays/countries/peru.py +12 -0
  60. holidays/countries/puerto_rico.py +8 -20
  61. holidays/countries/reunion.py +44 -0
  62. holidays/countries/saint_barthelemy.py +43 -0
  63. holidays/countries/saint_martin.py +43 -0
  64. holidays/countries/saint_pierre_and_miquelon.py +43 -0
  65. holidays/countries/saint_vincent_and_the_grenadines.py +130 -0
  66. holidays/countries/san_marino.py +49 -26
  67. holidays/countries/saudi_arabia.py +3 -3
  68. holidays/countries/seychelles.py +1 -1
  69. holidays/countries/sint_maarten.py +118 -0
  70. holidays/countries/solomon_islands.py +2 -2
  71. holidays/countries/svalbard_and_jan_mayen.py +3 -9
  72. holidays/countries/taiwan.py +31 -9
  73. holidays/countries/tokelau.py +66 -0
  74. holidays/countries/tunisia.py +1 -1
  75. holidays/countries/turks_and_caicos_islands.py +3 -3
  76. holidays/countries/united_arab_emirates.py +1 -1
  77. holidays/countries/united_kingdom.py +2 -2
  78. holidays/countries/united_states.py +579 -403
  79. holidays/countries/united_states_minor_outlying_islands.py +8 -20
  80. holidays/countries/united_states_virgin_islands.py +8 -20
  81. holidays/countries/uzbekistan.py +19 -2
  82. holidays/countries/wallis_and_futuna.py +43 -0
  83. holidays/countries/yemen.py +2 -2
  84. holidays/groups/__init__.py +1 -0
  85. holidays/groups/chinese.py +11 -0
  86. holidays/groups/christian.py +10 -10
  87. holidays/groups/eastern.py +1 -1
  88. holidays/groups/hebrew.py +2 -2
  89. holidays/groups/islamic.py +17 -0
  90. holidays/groups/mongolian.py +103 -0
  91. holidays/holiday_base.py +11 -6
  92. holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
  93. holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
  94. holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
  95. holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
  96. holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
  97. holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
  98. holidays/locale/ar/LC_MESSAGES/EG.mo +0 -0
  99. holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
  100. holidays/locale/ar/LC_MESSAGES/JO.mo +0 -0
  101. holidays/locale/ar/LC_MESSAGES/KW.mo +0 -0
  102. holidays/locale/ar/LC_MESSAGES/LB.mo +0 -0
  103. holidays/locale/ar/LC_MESSAGES/LY.mo +0 -0
  104. holidays/locale/ar/LC_MESSAGES/MA.mo +0 -0
  105. holidays/locale/ar/LC_MESSAGES/OM.mo +0 -0
  106. holidays/locale/ar/LC_MESSAGES/PS.mo +0 -0
  107. holidays/locale/ar/LC_MESSAGES/SA.mo +0 -0
  108. holidays/locale/ar/LC_MESSAGES/TN.mo +0 -0
  109. holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
  110. holidays/locale/ar/LC_MESSAGES/YE.mo +0 -0
  111. holidays/locale/az/LC_MESSAGES/AZ.mo +0 -0
  112. holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
  113. holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
  114. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  115. holidays/locale/cnr/LC_MESSAGES/ME.mo +0 -0
  116. holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
  117. holidays/locale/da/LC_MESSAGES/DK.mo +0 -0
  118. holidays/locale/da/LC_MESSAGES/FO.mo +0 -0
  119. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  120. holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
  121. holidays/locale/de/LC_MESSAGES/BE.mo +0 -0
  122. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  123. holidays/locale/de/LC_MESSAGES/CV.mo +0 -0
  124. holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
  125. holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
  126. holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
  127. holidays/locale/de/LC_MESSAGES/PL.mo +0 -0
  128. holidays/locale/el/LC_MESSAGES/CY.mo +0 -0
  129. holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
  130. holidays/locale/en_AU/LC_MESSAGES/AU.mo +0 -0
  131. holidays/locale/en_BQ/LC_MESSAGES/BQ.mo +0 -0
  132. holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
  133. holidays/locale/en_CX/LC_MESSAGES/CX.mo +0 -0
  134. holidays/locale/en_CY/LC_MESSAGES/CY.mo +0 -0
  135. holidays/locale/en_GB/LC_MESSAGES/FK.mo +0 -0
  136. holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
  137. holidays/locale/en_GB/LC_MESSAGES/GI.mo +0 -0
  138. holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
  139. holidays/locale/en_GB/LC_MESSAGES/KY.mo +0 -0
  140. holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
  141. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  142. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  143. holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
  144. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  145. holidays/locale/en_MS/LC_MESSAGES/MS.mo +0 -0
  146. holidays/locale/en_MU/LC_MESSAGES/MU.mo +0 -0
  147. holidays/locale/en_NF/LC_MESSAGES/NF.mo +0 -0
  148. holidays/locale/en_NU/LC_MESSAGES/NU.mo +0 -0
  149. holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
  150. holidays/locale/en_SC/LC_MESSAGES/SC.mo +0 -0
  151. holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
  152. holidays/locale/en_SL/LC_MESSAGES/SL.mo +0 -0
  153. holidays/locale/en_TK/LC_MESSAGES/TK.mo +0 -0
  154. holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
  155. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  156. holidays/locale/en_US/LC_MESSAGES/AF.mo +0 -0
  157. holidays/locale/en_US/LC_MESSAGES/AL.mo +0 -0
  158. holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
  159. holidays/locale/en_US/LC_MESSAGES/AO.mo +0 -0
  160. holidays/locale/en_US/LC_MESSAGES/AS.mo +0 -0
  161. holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
  162. holidays/locale/en_US/LC_MESSAGES/AU.mo +0 -0
  163. holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
  164. holidays/locale/en_US/LC_MESSAGES/AX.mo +0 -0
  165. holidays/locale/en_US/LC_MESSAGES/AZ.mo +0 -0
  166. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  167. holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
  168. holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
  169. holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
  170. holidays/locale/en_US/LC_MESSAGES/BL.mo +0 -0
  171. holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
  172. holidays/locale/en_US/LC_MESSAGES/BO.mo +0 -0
  173. holidays/locale/en_US/LC_MESSAGES/BQ.mo +0 -0
  174. holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
  175. holidays/locale/en_US/LC_MESSAGES/BVMF.mo +0 -0
  176. holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
  177. holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
  178. holidays/locale/en_US/LC_MESSAGES/CD.mo +0 -0
  179. holidays/locale/en_US/LC_MESSAGES/CF.mo +0 -0
  180. holidays/locale/en_US/LC_MESSAGES/CG.mo +0 -0
  181. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  182. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  183. holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
  184. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  185. holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
  186. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  187. holidays/locale/en_US/LC_MESSAGES/CV.mo +0 -0
  188. holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
  189. holidays/locale/en_US/LC_MESSAGES/CX.mo +0 -0
  190. holidays/locale/en_US/LC_MESSAGES/CY.mo +0 -0
  191. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  192. holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
  193. holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
  194. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  195. holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
  196. holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
  197. holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
  198. holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
  199. holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
  200. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  201. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  202. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  203. holidays/locale/en_US/LC_MESSAGES/FK.mo +0 -0
  204. holidays/locale/en_US/LC_MESSAGES/FO.mo +0 -0
  205. holidays/locale/en_US/LC_MESSAGES/FR.mo +0 -0
  206. holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
  207. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  208. holidays/locale/en_US/LC_MESSAGES/GF.mo +0 -0
  209. holidays/locale/en_US/LC_MESSAGES/GI.mo +0 -0
  210. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  211. holidays/locale/en_US/LC_MESSAGES/GP.mo +0 -0
  212. holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
  213. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  214. holidays/locale/en_US/LC_MESSAGES/GU.mo +0 -0
  215. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  216. holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
  217. holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
  218. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  219. holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
  220. holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
  221. holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
  222. holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
  224. holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
  225. holidays/locale/en_US/LC_MESSAGES/JO.mo +0 -0
  226. holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
  227. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  228. holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
  229. holidays/locale/en_US/LC_MESSAGES/KW.mo +0 -0
  230. holidays/locale/en_US/LC_MESSAGES/KY.mo +0 -0
  231. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  232. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  233. holidays/locale/en_US/LC_MESSAGES/LB.mo +0 -0
  234. holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
  235. holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
  236. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  237. holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
  238. holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
  239. holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
  240. holidays/locale/en_US/LC_MESSAGES/LY.mo +0 -0
  241. holidays/locale/en_US/LC_MESSAGES/MA.mo +0 -0
  242. holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
  243. holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
  244. holidays/locale/en_US/LC_MESSAGES/ME.mo +0 -0
  245. holidays/locale/en_US/LC_MESSAGES/MF.mo +0 -0
  246. holidays/locale/en_US/LC_MESSAGES/MG.mo +0 -0
  247. holidays/locale/en_US/LC_MESSAGES/ML.mo +0 -0
  248. holidays/locale/en_US/LC_MESSAGES/MN.mo +0 -0
  249. holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
  250. holidays/locale/en_US/LC_MESSAGES/MP.mo +0 -0
  251. holidays/locale/en_US/LC_MESSAGES/MQ.mo +0 -0
  252. holidays/locale/en_US/LC_MESSAGES/MS.mo +0 -0
  253. holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
  254. holidays/locale/en_US/LC_MESSAGES/MU.mo +0 -0
  255. holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
  256. holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
  257. holidays/locale/en_US/LC_MESSAGES/MZ.mo +0 -0
  258. holidays/locale/en_US/LC_MESSAGES/NC.mo +0 -0
  259. holidays/locale/en_US/LC_MESSAGES/NF.mo +0 -0
  260. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  261. holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
  262. holidays/locale/en_US/LC_MESSAGES/NO.mo +0 -0
  263. holidays/locale/en_US/LC_MESSAGES/NU.mo +0 -0
  264. holidays/locale/en_US/LC_MESSAGES/OM.mo +0 -0
  265. holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
  266. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  267. holidays/locale/en_US/LC_MESSAGES/PF.mo +0 -0
  268. holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
  269. holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
  270. holidays/locale/en_US/LC_MESSAGES/PM.mo +0 -0
  271. holidays/locale/en_US/LC_MESSAGES/PR.mo +0 -0
  272. holidays/locale/en_US/LC_MESSAGES/PS.mo +0 -0
  273. holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
  274. holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
  275. holidays/locale/en_US/LC_MESSAGES/RE.mo +0 -0
  276. holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
  277. holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
  278. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  279. holidays/locale/en_US/LC_MESSAGES/SA.mo +0 -0
  280. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  281. holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
  282. holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
  283. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  284. holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
  285. holidays/locale/en_US/LC_MESSAGES/SL.mo +0 -0
  286. holidays/locale/en_US/LC_MESSAGES/SM.mo +0 -0
  287. holidays/locale/en_US/LC_MESSAGES/SV.mo +0 -0
  288. holidays/locale/en_US/LC_MESSAGES/SX.mo +0 -0
  289. holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
  290. holidays/locale/en_US/LC_MESSAGES/TF.mo +0 -0
  291. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  292. holidays/locale/en_US/LC_MESSAGES/TK.mo +0 -0
  293. holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
  294. holidays/locale/en_US/LC_MESSAGES/TN.mo +0 -0
  295. holidays/locale/en_US/LC_MESSAGES/TO.mo +0 -0
  296. holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
  297. holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
  298. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  299. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  300. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  301. holidays/locale/en_US/LC_MESSAGES/UM.mo +0 -0
  302. holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
  303. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  304. holidays/locale/en_US/LC_MESSAGES/UZ.mo +0 -0
  305. holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
  306. holidays/locale/en_US/LC_MESSAGES/VC.mo +0 -0
  307. holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
  308. holidays/locale/en_US/LC_MESSAGES/VI.mo +0 -0
  309. holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
  310. holidays/locale/en_US/LC_MESSAGES/WF.mo +0 -0
  311. holidays/locale/en_US/LC_MESSAGES/YE.mo +0 -0
  312. holidays/locale/en_US/LC_MESSAGES/YT.mo +0 -0
  313. holidays/locale/en_VC/LC_MESSAGES/VC.mo +0 -0
  314. holidays/locale/es/LC_MESSAGES/BO.mo +0 -0
  315. holidays/locale/es/LC_MESSAGES/CL.mo +0 -0
  316. holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
  317. holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
  318. holidays/locale/es/LC_MESSAGES/CU.mo +0 -0
  319. holidays/locale/es/LC_MESSAGES/CV.mo +0 -0
  320. holidays/locale/es/LC_MESSAGES/DO.mo +0 -0
  321. holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
  322. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  323. holidays/locale/es/LC_MESSAGES/GT.mo +0 -0
  324. holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
  325. holidays/locale/es/LC_MESSAGES/HT.mo +0 -0
  326. holidays/locale/es/LC_MESSAGES/MX.mo +0 -0
  327. holidays/locale/es/LC_MESSAGES/NI.mo +0 -0
  328. holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
  329. holidays/locale/es/LC_MESSAGES/PE.mo +0 -0
  330. holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
  331. holidays/locale/es/LC_MESSAGES/SV.mo +0 -0
  332. holidays/locale/es/LC_MESSAGES/UY.mo +0 -0
  333. holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
  334. holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
  335. holidays/locale/fa_AF/LC_MESSAGES/AF.mo +0 -0
  336. holidays/locale/fa_IR/LC_MESSAGES/IR.mo +0 -0
  337. holidays/locale/fi/LC_MESSAGES/AX.mo +0 -0
  338. holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
  339. holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
  340. holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
  341. holidays/locale/fo/LC_MESSAGES/FO.mo +0 -0
  342. holidays/locale/fr/LC_MESSAGES/BE.mo +0 -0
  343. holidays/locale/fr/LC_MESSAGES/BL.mo +0 -0
  344. holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
  345. holidays/locale/fr/LC_MESSAGES/CD.mo +0 -0
  346. holidays/locale/fr/LC_MESSAGES/CF.mo +0 -0
  347. holidays/locale/fr/LC_MESSAGES/CG.mo +0 -0
  348. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  349. holidays/locale/fr/LC_MESSAGES/CV.mo +0 -0
  350. holidays/locale/fr/LC_MESSAGES/DJ.mo +0 -0
  351. holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
  352. holidays/locale/fr/LC_MESSAGES/FR.mo +0 -0
  353. holidays/locale/fr/LC_MESSAGES/GF.mo +0 -0
  354. holidays/locale/fr/LC_MESSAGES/GP.mo +0 -0
  355. holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
  356. holidays/locale/fr/LC_MESSAGES/MA.mo +0 -0
  357. holidays/locale/fr/LC_MESSAGES/MC.mo +0 -0
  358. holidays/locale/fr/LC_MESSAGES/MF.mo +0 -0
  359. holidays/locale/fr/LC_MESSAGES/ML.mo +0 -0
  360. holidays/locale/fr/LC_MESSAGES/MQ.mo +0 -0
  361. holidays/locale/fr/LC_MESSAGES/NC.mo +0 -0
  362. holidays/locale/fr/LC_MESSAGES/PF.mo +0 -0
  363. holidays/locale/fr/LC_MESSAGES/PM.mo +0 -0
  364. holidays/locale/fr/LC_MESSAGES/RE.mo +0 -0
  365. holidays/locale/fr/LC_MESSAGES/TF.mo +0 -0
  366. holidays/locale/fr/LC_MESSAGES/WF.mo +0 -0
  367. holidays/locale/fr/LC_MESSAGES/YT.mo +0 -0
  368. holidays/locale/fr_HT/LC_MESSAGES/HT.mo +0 -0
  369. holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
  370. holidays/locale/he/LC_MESSAGES/IL.mo +0 -0
  371. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  372. holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
  373. holidays/locale/ht/LC_MESSAGES/HT.mo +0 -0
  374. holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
  375. holidays/locale/hy/LC_MESSAGES/AM.mo +0 -0
  376. holidays/locale/id/LC_MESSAGES/ID.mo +0 -0
  377. holidays/locale/is/LC_MESSAGES/FO.mo +0 -0
  378. holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
  379. holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
  380. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  381. holidays/locale/it/LC_MESSAGES/SM.mo +0 -0
  382. holidays/locale/it/LC_MESSAGES/VA.mo +0 -0
  383. holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
  384. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  385. holidays/locale/kk/LC_MESSAGES/KZ.mo +0 -0
  386. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  387. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  388. holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
  389. holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
  390. holidays/locale/lo/LC_MESSAGES/LA.mo +0 -0
  391. holidays/locale/lt/LC_MESSAGES/LT.mo +0 -0
  392. holidays/locale/lv/LC_MESSAGES/LV.mo +0 -0
  393. holidays/locale/mg/LC_MESSAGES/MG.mo +0 -0
  394. holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
  395. holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
  396. holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
  397. holidays/locale/mt/LC_MESSAGES/MT.mo +0 -0
  398. holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
  399. holidays/locale/nl/LC_MESSAGES/BE.mo +0 -0
  400. holidays/locale/nl/LC_MESSAGES/BQ.mo +0 -0
  401. holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
  402. holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
  403. holidays/locale/nl/LC_MESSAGES/SX.mo +0 -0
  404. holidays/locale/no/LC_MESSAGES/FO.mo +0 -0
  405. holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
  406. holidays/locale/no/LC_MESSAGES/NO.mo +0 -0
  407. holidays/locale/pap_AW/LC_MESSAGES/AW.mo +0 -0
  408. holidays/locale/pap_BQ/LC_MESSAGES/BQ.mo +0 -0
  409. holidays/locale/pap_CW/LC_MESSAGES/CW.mo +0 -0
  410. holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
  411. holidays/locale/ps_AF/LC_MESSAGES/AF.mo +0 -0
  412. holidays/locale/pt_AO/LC_MESSAGES/AO.mo +0 -0
  413. holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
  414. holidays/locale/pt_BR/LC_MESSAGES/BVMF.mo +0 -0
  415. holidays/locale/pt_CV/LC_MESSAGES/CV.mo +0 -0
  416. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  417. holidays/locale/pt_MZ/LC_MESSAGES/MZ.mo +0 -0
  418. holidays/locale/pt_PT/LC_MESSAGES/PT.mo +0 -0
  419. holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
  420. holidays/locale/ro/LC_MESSAGES/MD.mo +0 -0
  421. holidays/locale/ro/LC_MESSAGES/RO.mo +0 -0
  422. holidays/locale/ru/LC_MESSAGES/BY.mo +0 -0
  423. holidays/locale/ru/LC_MESSAGES/RU.mo +0 -0
  424. holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
  425. holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
  426. holidays/locale/sk/LC_MESSAGES/SK.mo +0 -0
  427. holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
  428. holidays/locale/sq/LC_MESSAGES/AL.mo +0 -0
  429. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  430. holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
  431. holidays/locale/sv/LC_MESSAGES/FO.mo +0 -0
  432. holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
  433. holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
  434. holidays/locale/sv_FI/LC_MESSAGES/AX.mo +0 -0
  435. holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
  436. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  437. holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
  438. holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
  439. holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
  440. holidays/locale/th/LC_MESSAGES/AS.mo +0 -0
  441. holidays/locale/th/LC_MESSAGES/AU.mo +0 -0
  442. holidays/locale/th/LC_MESSAGES/AX.mo +0 -0
  443. holidays/locale/th/LC_MESSAGES/BL.mo +0 -0
  444. holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
  445. holidays/locale/th/LC_MESSAGES/BY.mo +0 -0
  446. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  447. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  448. holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
  449. holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
  450. holidays/locale/th/LC_MESSAGES/FR.mo +0 -0
  451. holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
  452. holidays/locale/th/LC_MESSAGES/GF.mo +0 -0
  453. holidays/locale/th/LC_MESSAGES/GP.mo +0 -0
  454. holidays/locale/th/LC_MESSAGES/GU.mo +0 -0
  455. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  456. holidays/locale/th/LC_MESSAGES/ID.mo +0 -0
  457. holidays/locale/th/LC_MESSAGES/IL.mo +0 -0
  458. holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
  459. holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
  460. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  461. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  462. holidays/locale/th/LC_MESSAGES/LA.mo +0 -0
  463. holidays/locale/th/LC_MESSAGES/MF.mo +0 -0
  464. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  465. holidays/locale/th/LC_MESSAGES/MP.mo +0 -0
  466. holidays/locale/th/LC_MESSAGES/MQ.mo +0 -0
  467. holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
  468. holidays/locale/th/LC_MESSAGES/NC.mo +0 -0
  469. holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
  470. holidays/locale/th/LC_MESSAGES/PF.mo +0 -0
  471. holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
  472. holidays/locale/th/LC_MESSAGES/PM.mo +0 -0
  473. holidays/locale/th/LC_MESSAGES/PR.mo +0 -0
  474. holidays/locale/th/LC_MESSAGES/RE.mo +0 -0
  475. holidays/locale/th/LC_MESSAGES/RU.mo +0 -0
  476. holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
  477. holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
  478. holidays/locale/th/LC_MESSAGES/TF.mo +0 -0
  479. holidays/locale/th/LC_MESSAGES/TH.mo +0 -0
  480. holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
  481. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  482. holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
  483. holidays/locale/th/LC_MESSAGES/UM.mo +0 -0
  484. holidays/locale/th/LC_MESSAGES/US.mo +0 -0
  485. holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
  486. holidays/locale/th/LC_MESSAGES/VI.mo +0 -0
  487. holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
  488. holidays/locale/th/LC_MESSAGES/WF.mo +0 -0
  489. holidays/locale/th/LC_MESSAGES/YT.mo +0 -0
  490. holidays/locale/tkl/LC_MESSAGES/TK.mo +0 -0
  491. holidays/locale/to/LC_MESSAGES/TO.mo +0 -0
  492. holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
  493. holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
  494. holidays/locale/uk/LC_MESSAGES/AL.mo +0 -0
  495. holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
  496. holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
  497. holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
  498. holidays/locale/uk/LC_MESSAGES/AX.mo +0 -0
  499. holidays/locale/uk/LC_MESSAGES/AZ.mo +0 -0
  500. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  501. holidays/locale/uk/LC_MESSAGES/BE.mo +0 -0
  502. holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
  503. holidays/locale/uk/LC_MESSAGES/BL.mo +0 -0
  504. holidays/locale/uk/LC_MESSAGES/BO.mo +0 -0
  505. holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
  506. holidays/locale/uk/LC_MESSAGES/BVMF.mo +0 -0
  507. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  508. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  509. holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
  510. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  511. holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
  512. holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
  513. holidays/locale/uk/LC_MESSAGES/CY.mo +0 -0
  514. holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
  515. holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
  516. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  517. holidays/locale/uk/LC_MESSAGES/DO.mo +0 -0
  518. holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
  519. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  520. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  521. holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
  522. holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
  523. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  524. holidays/locale/uk/LC_MESSAGES/GF.mo +0 -0
  525. holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
  526. holidays/locale/uk/LC_MESSAGES/GP.mo +0 -0
  527. holidays/locale/uk/LC_MESSAGES/GR.mo +0 -0
  528. holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
  529. holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
  530. holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
  531. holidays/locale/uk/LC_MESSAGES/ID.mo +0 -0
  532. holidays/locale/uk/LC_MESSAGES/IL.mo +0 -0
  533. holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
  534. holidays/locale/uk/LC_MESSAGES/KZ.mo +0 -0
  535. holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
  536. holidays/locale/uk/LC_MESSAGES/LT.mo +0 -0
  537. holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
  538. holidays/locale/uk/LC_MESSAGES/LV.mo +0 -0
  539. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  540. holidays/locale/uk/LC_MESSAGES/MD.mo +0 -0
  541. holidays/locale/uk/LC_MESSAGES/ME.mo +0 -0
  542. holidays/locale/uk/LC_MESSAGES/MF.mo +0 -0
  543. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  544. holidays/locale/uk/LC_MESSAGES/MQ.mo +0 -0
  545. holidays/locale/uk/LC_MESSAGES/MX.mo +0 -0
  546. holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
  547. holidays/locale/uk/LC_MESSAGES/NC.mo +0 -0
  548. holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
  549. holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
  550. holidays/locale/uk/LC_MESSAGES/NO.mo +0 -0
  551. holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
  552. holidays/locale/uk/LC_MESSAGES/PE.mo +0 -0
  553. holidays/locale/uk/LC_MESSAGES/PF.mo +0 -0
  554. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  555. holidays/locale/uk/LC_MESSAGES/PM.mo +0 -0
  556. holidays/locale/uk/LC_MESSAGES/PT.mo +0 -0
  557. holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
  558. holidays/locale/uk/LC_MESSAGES/RE.mo +0 -0
  559. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  560. holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
  561. holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
  562. holidays/locale/uk/LC_MESSAGES/SK.mo +0 -0
  563. holidays/locale/uk/LC_MESSAGES/SM.mo +0 -0
  564. holidays/locale/uk/LC_MESSAGES/SV.mo +0 -0
  565. holidays/locale/uk/LC_MESSAGES/TF.mo +0 -0
  566. holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
  567. holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
  568. holidays/locale/uk/LC_MESSAGES/UY.mo +0 -0
  569. holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
  570. holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
  571. holidays/locale/uk/LC_MESSAGES/WF.mo +0 -0
  572. holidays/locale/uk/LC_MESSAGES/YT.mo +0 -0
  573. holidays/locale/uz/LC_MESSAGES/UZ.mo +0 -0
  574. holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
  575. holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
  576. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  577. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  578. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  579. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  580. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  581. holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
  582. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  583. holidays/mixins/__init__.py +18 -0
  584. holidays/mixins/child_entity.py +43 -0
  585. holidays/observed_holiday_base.py +4 -1
  586. holidays/registry.py +32 -0
  587. holidays/version.py +1 -1
  588. {holidays-0.75.dist-info → holidays-0.77.dist-info}/METADATA +239 -15
  589. holidays-0.77.dist-info/RECORD +838 -0
  590. {holidays-0.75.dist-info → holidays-0.77.dist-info}/licenses/CONTRIBUTORS +4 -0
  591. holidays-0.75.dist-info/RECORD +0 -687
  592. /holidays/{mixins.py → mixins/preferred_discretionary_holidays.py} +0 -0
  593. {holidays-0.75.dist-info → holidays-0.77.dist-info}/WHEEL +0 -0
  594. {holidays-0.75.dist-info → holidays-0.77.dist-info}/licenses/LICENSE +0 -0
  595. {holidays-0.75.dist-info → holidays-0.77.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,177 @@
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.gregorian import APR, MAY, JUN, JUL, SEP, DEC
16
+ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
17
+ from holidays.observed_holiday_base import (
18
+ ObservedHolidayBase,
19
+ MON_TO_NEXT_TUE,
20
+ SAT_TO_NEXT_MON,
21
+ SAT_SUN_TO_NEXT_MON,
22
+ SAT_SUN_TO_NEXT_MON_TUE,
23
+ )
24
+
25
+
26
+ class Montserrat(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
27
+ """Montserrat holidays.
28
+
29
+ References:
30
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Montserrat>
31
+ * [Public holidays Act, 2017](https://web.archive.org/web/20240619074948/http://agc.gov.ms/wp-content/uploads/2011/10/Act-No.-3-of-2017-Public-Holidays-Amendment-Act-20171.pdf)
32
+ * [Public holidays Act, 2019](https://web.archive.org/web/20241025070627/https://www.gov.ms/wp-content/uploads/2020/06/Public-Holidays-Act.pdf)
33
+ * [National Day of Prayer and Thanksgiving, 2021](https://web.archive.org/web/20220809144840/https://www.gov.ms/2021/07/16/wednesday-july-21-2021-public-holiday-national-day-of-prayer-thanksgiving/)
34
+ * [National Day of Prayer and Thanksgiving, 2022](https://web.archive.org/web/20220816124619/https://www.gov.ms/2022/07/19/public-holiday-for-national-day-of-prayer-and-thanksgiving-to-be-held-on-july-20-2022/)
35
+ * [National Day of Prayer and Thanksgiving](https://web.archive.org/web/20240711221313/https://www.gov.ms/wp-content/uploads/2023/05/SRO-No.-15-of-2023-Public-Holidays-Amendment-of-Schedule-Order.pdf)
36
+ * [Queen's Platinum Jubilee, 2022](https://web.archive.org/web/20250711160439/https://www.gov.ms/tag/public-holidays/)
37
+ * [Montserrat Public holidays, 2022](https://web.archive.org/web/20220809030551/https://www.gov.ms/wp-content/uploads/2021/12/Public-Holidays-2022-1.jpeg)
38
+ * [Montserrat Public holidays, 2023](https://web.archive.org/web/20241126232715/https://www.gov.ms/wp-content/uploads/2023/02/Public-Holidays-Montserrat-2023_page-0001.jpg)
39
+ * [Montserrat Public holidays, 2024](https://web.archive.org/web/20240421112540/https://www.gov.ms/wp-content/uploads/2023/12/Public-Holidays-Montserrat-2024.docx.pdf)
40
+ * [King's Birthday, 2024](https://web.archive.org/web/20250711202228/https://parliament.ms/wp-content/uploads/2024/09/SRO-No.-18-of-2024-PROCOLAMATION-APPOINTING-MONDAY-17-JUNE-2024-AS-A-PUBLIC-HOLIDAY.pdf)
41
+ * [Montserrat Public holidays, 2025](https://web.archive.org/web/20250711160324/https://www.gov.ms/wp-content/uploads/2025/01/2025-Public-Holidays-on-Montserrat.pdf)
42
+ """
43
+
44
+ country = "MS"
45
+ default_language = "en_MS"
46
+ # %s (observed).
47
+ observed_label = "%s (observed)"
48
+ # Public holidays Act, 2017.
49
+ start_year = 2017
50
+ supported_languages = ("en_MS", "en_US")
51
+
52
+ def __init__(self, *args, **kwargs):
53
+ ChristianHolidays.__init__(self)
54
+ InternationalHolidays.__init__(self)
55
+ StaticHolidays.__init__(self, MontserratStaticHolidays)
56
+ kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
57
+ super().__init__(*args, **kwargs)
58
+
59
+ def _populate_public_holidays(self):
60
+ self._add_observed(
61
+ # New Year's Day.
62
+ self._add_new_years_day(tr("New Year's Day")),
63
+ rule=SAT_SUN_TO_NEXT_MON_TUE + MON_TO_NEXT_TUE,
64
+ )
65
+
66
+ # Saint Patrick's Day.
67
+ self._add_observed(self._add_holiday_mar_17(tr("Saint Patrick's Day")))
68
+
69
+ # Good Friday.
70
+ self._add_good_friday(tr("Good Friday"))
71
+
72
+ # Easter Monday.
73
+ self._add_easter_monday(tr("Easter Monday"))
74
+
75
+ # Labor Day.
76
+ self._add_holiday_1st_mon_of_may(tr("Labour Day"))
77
+
78
+ name = (
79
+ # King's Birthday.
80
+ tr("King's Birthday")
81
+ if self._year >= 2023
82
+ # Queen's Birthday.
83
+ else tr("Queen's Birthday")
84
+ )
85
+ sovereign_birthday_dts = {
86
+ 2022: (JUN, 2),
87
+ 2023: (JUN, 19),
88
+ 2024: (JUN, 17),
89
+ }
90
+ sovereign_birthday_dt = (
91
+ self._add_holiday(name, dt)
92
+ if (dt := sovereign_birthday_dts.get(self._year))
93
+ else self._add_holiday_2_days_past_2nd_sat_of_jun(name)
94
+ )
95
+
96
+ # Whit Monday.
97
+ name = tr("Whit Monday")
98
+ whit_monday_dt = self._add_whit_monday(name)
99
+ if whit_monday_dt == sovereign_birthday_dt:
100
+ self._add_observed(whit_monday_dt, name=name, rule=MON_TO_NEXT_TUE)
101
+
102
+ if self._year >= 2021:
103
+ day_of_prayer_dts = {
104
+ 2021: (JUL, 21),
105
+ 2022: (JUL, 20),
106
+ }
107
+ name = (
108
+ # National Day of Prayer and Thanksgiving.
109
+ tr("National Day of Prayer and Thanksgiving")
110
+ if self._year <= 2023
111
+ # Day of Prayer and Thanksgiving.
112
+ else tr("Day of Prayer and Thanksgiving")
113
+ )
114
+ if dt := day_of_prayer_dts.get(self._year):
115
+ self._add_holiday(name, dt)
116
+ else:
117
+ self._add_holiday_2nd_wed_of_jul(name)
118
+
119
+ # Emancipation Day.
120
+ self._add_holiday_1st_mon_of_aug(tr("Emancipation Day"))
121
+
122
+ self._add_observed(
123
+ # Christmas Day.
124
+ self._add_christmas_day(tr("Christmas Day")),
125
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
126
+ )
127
+
128
+ self._add_observed(
129
+ # Boxing Day.
130
+ self._add_christmas_day_two(tr("Boxing Day")),
131
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
132
+ )
133
+
134
+ # Festival Day.
135
+ name = tr("Festival Day")
136
+ self._add_new_years_eve(name)
137
+ self._add_observed((self._year - 1, DEC, 31), name, rule=SAT_TO_NEXT_MON)
138
+
139
+
140
+ class MS(Montserrat):
141
+ pass
142
+
143
+
144
+ class MSR(Montserrat):
145
+ pass
146
+
147
+
148
+ class MontserratStaticHolidays(StaticHolidays):
149
+ """Montserrat special holidays.
150
+
151
+ References:
152
+ * [September 14th, 2018](https://web.archive.org/web/20220810224300/https://www.gov.ms/wp-content/uploads/2020/11/SRO.-No.-35-of-2018-Proclamation-Declaring-Friday-14-September-2018-as-a-public-holiday.pdf)
153
+ * [May 10th, 2019](https://web.archive.org/web/20240626113529/https://parliament.ms/wp-content/uploads/2022/02/SRO-No-13-of-2019-Proclamation-Declaring-Friday-10-May-2019-as-a-publi._.pdf)
154
+ * [July 15th, 2020](https://web.archive.org/web/20220810225456/https://www.gov.ms/wp-content/uploads/2020/08/SRO.-No.-40-of-2020-Proclamation-Declaring-Wednesday-15-July-2020-as-a-Public-Holiday.pdf)
155
+ * [National Day of Mourning](https://web.archive.org/web/20240617072858/https://www.parliament.ms/wp-content/uploads/2022/09/SRO-No.43-of-2022-Proclamation-Appointing-Monday-19-September-2022-a-Public-Holiday.pdf)
156
+ * [Coronation of King Charles III](https://web.archive.org/web/20241126232715/https://www.gov.ms/wp-content/uploads/2023/02/Public-Holidays-Montserrat-2023_page-0001.jpg)
157
+ """
158
+
159
+ # Special Public Holiday.
160
+ name = tr("Special Public Holiday")
161
+
162
+ special_public_holidays = {
163
+ 2018: (SEP, 14, name),
164
+ 2019: (MAY, 10, name),
165
+ 2020: (JUL, 15, name),
166
+ 2022: (
167
+ # Platinum Jubilee of Elizabeth II.
168
+ (JUN, 3, tr("Platinum Jubilee of Elizabeth II")),
169
+ # National Day of Mourning.
170
+ (SEP, 19, tr("National Day of Mourning")),
171
+ ),
172
+ 2023: (
173
+ (APR, 12, name),
174
+ # Coronation of King Charles III.
175
+ (MAY, 6, tr("Coronation of King Charles III")),
176
+ ),
177
+ }
@@ -27,7 +27,7 @@ class Morocco(HolidayBase, InternationalHolidays, IslamicHolidays):
27
27
  country = "MA"
28
28
  default_language = "ar"
29
29
  # %s (estimated).
30
- estimated_label = tr("(تقدير) %s")
30
+ estimated_label = tr("%s (المقدرة)")
31
31
  supported_languages = ("ar", "en_US", "fr")
32
32
 
33
33
  def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
@@ -97,9 +97,9 @@ class Nepal(
97
97
  2032: (JAN, 30),
98
98
  2033: (JAN, 29),
99
99
  }
100
- if self._year in martyrs_day_dates:
100
+ if dt := martyrs_day_dates.get(self._year):
101
101
  # Martyr's Day.
102
- self._add_holiday("Martyr's Day", martyrs_day_dates[self._year])
102
+ self._add_holiday("Martyr's Day", dt)
103
103
 
104
104
  democracy_day_dates = {
105
105
  2010: (FEB, 19),
@@ -127,9 +127,9 @@ class Nepal(
127
127
  2032: (FEB, 20),
128
128
  2033: (FEB, 19),
129
129
  }
130
- if self._year in democracy_day_dates:
130
+ if dt := democracy_day_dates.get(self._year):
131
131
  # National Democracy Day.
132
- self._add_holiday("National Democracy Day", democracy_day_dates[self._year])
132
+ self._add_holiday("National Democracy Day", dt)
133
133
 
134
134
  republic_day_dates = {
135
135
  2010: (MAY, 29),
@@ -156,10 +156,10 @@ class Nepal(
156
156
  2031: (MAY, 29),
157
157
  2032: (MAY, 28),
158
158
  }
159
- if self._year in republic_day_dates:
159
+ if dt := republic_day_dates.get(self._year):
160
160
  # Established in 2009.
161
161
  # Republic Day.
162
- self._add_holiday("Republic Day", republic_day_dates[self._year])
162
+ self._add_holiday("Republic Day", dt)
163
163
 
164
164
  # Hindu Holidays.
165
165
 
@@ -211,9 +211,9 @@ class Nepal(
211
211
  2031: (SEP, 19),
212
212
  2032: (SEP, 19),
213
213
  }
214
- if self._year in constitution_day_dates:
214
+ if dt := constitution_day_dates.get(self._year):
215
215
  # Constitution Day.
216
- self._add_holiday("Constitution Day", constitution_day_dates[self._year])
216
+ self._add_holiday("Constitution Day", dt)
217
217
 
218
218
  # Christmas Day.
219
219
  self._add_christmas_day("Christmas Day")
@@ -10,16 +10,14 @@
10
10
  # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
- from datetime import date
14
13
  from gettext import gettext as tr
15
14
 
16
- from holidays.calendars.gregorian import APR, AUG, _timedelta
17
15
  from holidays.constants import OPTIONAL, PUBLIC
18
16
  from holidays.groups import ChristianHolidays, InternationalHolidays
19
- from holidays.holiday_base import HolidayBase
17
+ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_PREV_SAT, SUN_TO_NEXT_MON
20
18
 
21
19
 
22
- class Netherlands(HolidayBase, ChristianHolidays, InternationalHolidays):
20
+ class Netherlands(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
23
21
  """Netherlands holidays.
24
22
 
25
23
  References:
@@ -37,6 +35,7 @@ class Netherlands(HolidayBase, ChristianHolidays, InternationalHolidays):
37
35
  def __init__(self, *args, **kwargs):
38
36
  ChristianHolidays.__init__(self)
39
37
  InternationalHolidays.__init__(self)
38
+ kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
40
39
  super().__init__(*args, **kwargs)
41
40
 
42
41
  def _populate_public_holidays(self):
@@ -49,7 +48,6 @@ class Netherlands(HolidayBase, ChristianHolidays, InternationalHolidays):
49
48
  # Easter Monday.
50
49
  self._add_easter_monday(tr("Tweede paasdag"))
51
50
 
52
- # King's / Queen's day
53
51
  if self._year >= 1891:
54
52
  name = (
55
53
  # King's Day.
@@ -59,14 +57,12 @@ class Netherlands(HolidayBase, ChristianHolidays, InternationalHolidays):
59
57
  else tr("Koninginnedag")
60
58
  )
61
59
  if self._year >= 2014:
62
- dt = date(self._year, APR, 27)
60
+ dt = self._add_holiday_apr_27(name)
63
61
  elif self._year >= 1949:
64
- dt = date(self._year, APR, 30)
62
+ dt = self._add_holiday_apr_30(name)
65
63
  else:
66
- dt = date(self._year, AUG, 31)
67
- if self._is_sunday(dt):
68
- dt = _timedelta(dt, -1 if self._year >= 1980 else +1)
69
- self._add_holiday(name, dt)
64
+ dt = self._add_holiday_aug_31(name)
65
+ self._move_holiday(dt, rule=SUN_TO_PREV_SAT if self._year >= 1980 else SUN_TO_NEXT_MON)
70
66
 
71
67
  if self._year >= 1950 and self._year % 5 == 0:
72
68
  # Liberation Day.
@@ -0,0 +1,43 @@
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 holidays.countries.france import France
14
+ from holidays.mixins.child_entity import ChildEntity
15
+
16
+
17
+ class HolidaysNC(ChildEntity, France):
18
+ """New Caledonia holidays.
19
+
20
+ Alias of a French subdivision that is also officially assigned
21
+ its own country code in ISO 3166-1.
22
+
23
+ References:
24
+ * <https://en.wikipedia.org/wiki/New_Caledonia>
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_France>
26
+ """
27
+
28
+ country = "NC"
29
+ parent_entity = France
30
+ # France took formal possession of New Caledonia on September 24th, 1853.
31
+ start_year = 1854
32
+
33
+
34
+ class NewCaledonia(HolidaysNC):
35
+ pass
36
+
37
+
38
+ class NC(HolidaysNC):
39
+ pass
40
+
41
+
42
+ class NCL(HolidaysNC):
43
+ pass
@@ -212,8 +212,8 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
212
212
  2051: (JUN, 30),
213
213
  2052: (JUN, 21),
214
214
  }
215
- if self._year in dates_obs:
216
- self._add_holiday("Matariki", dates_obs[self._year])
215
+ if dt := dates_obs.get(self._year):
216
+ self._add_holiday("Matariki", dt)
217
217
 
218
218
  # Labour Day
219
219
  if self._year >= 1900:
@@ -0,0 +1,115 @@
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.gregorian import SEP
16
+ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
17
+ from holidays.observed_holiday_base import (
18
+ ObservedHolidayBase,
19
+ SAT_SUN_TO_NEXT_MON,
20
+ SAT_SUN_TO_NEXT_MON_TUE,
21
+ )
22
+
23
+
24
+ class Niue(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
25
+ """Niue holidays.
26
+
27
+ References:
28
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Niue>
29
+ * <https://en.wikipedia.org/wiki/Niue_Constitution_Act>
30
+ * [Public Holidays Ordinance 1961](https://web.archive.org/web/20250102100637/http://www.paclii.org/nu/legis/num_act/nipho1961314.pdf)
31
+ * <https://web.archive.org/web/20250223114854/https://niuepocketguide.com/public-holidays-in-niue-other-important-dates/>
32
+ * [2021/2022 Public Holidays](https://web.archive.org/web/20250509105501/https://www.gov.nu/media/pages/information/1018c58017-1725838374/4nov2021-circular.pdf)
33
+ * [2025 Good Friday & Easter Monday and Anzac Day](https://web.archive.org/web/20250719195126/https://www.gov.nu/media/pages/gazette/3e02b3aa84-1746400484/official-psc-circular-easter-anzac-holiday.pdf)
34
+ * [2025 King's Birthday](https://web.archive.org/web/20250719195301/https://www.gov.nu/media/pages/public-service-circulars/3b9f44b6a0-1748573974/king-s-birthday-public-holiday-2025-circular.pdf)
35
+ * <http://archive.today/2025.07.14-145535/https://www.wipo.int/wipolex/en/text/427817>
36
+ """
37
+
38
+ country = "NU"
39
+ default_language = "en_NU"
40
+ # %s observed.
41
+ observed_label = tr("%s (observed)")
42
+ # Public Holidays Ordinance 1961.
43
+ start_year = 1962
44
+ supported_languages = ("en_NU", "en_US")
45
+
46
+ def __init__(self, *args, **kwargs):
47
+ ChristianHolidays.__init__(self)
48
+ InternationalHolidays.__init__(self)
49
+ StaticHolidays.__init__(self, cls=NiueStaticHolidays)
50
+ kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON_TUE)
51
+ super().__init__(*args, **kwargs)
52
+
53
+ def _populate_public_holidays(self):
54
+ # New Year's Day.
55
+ self._add_observed(self._add_new_years_day(tr("New Year's Day")))
56
+
57
+ # Takai Commission Holiday.
58
+ self._add_observed(self._add_new_years_day_two(tr("Takai Commission Holiday")))
59
+
60
+ # Good Friday.
61
+ self._add_good_friday(tr("Good Friday"))
62
+
63
+ # Easter Monday.
64
+ self._add_easter_monday(tr("Easter Monday"))
65
+
66
+ # ANZAC Day.
67
+ self._add_observed(self._add_anzac_day(tr("ANZAC Day")), rule=SAT_SUN_TO_NEXT_MON)
68
+
69
+ self._add_holiday_1st_mon_of_jun(
70
+ # King's Birthday.
71
+ tr("King's Birthday")
72
+ if self._year >= 2023
73
+ # Queen's Birthday.
74
+ else tr("Queen's Birthday")
75
+ )
76
+
77
+ if self._year >= 1974:
78
+ # Constitution Day.
79
+ self._add_observed(self._add_holiday_oct_19(tr("Constitution Day")))
80
+
81
+ # Constitution Day Holiday.
82
+ self._add_observed(self._add_holiday_oct_20(tr("Constitution Day Holiday")))
83
+ else:
84
+ # Annexation Day.
85
+ self._add_holiday_3rd_mon_of_oct(tr("Annexation Day"))
86
+
87
+ # Peniamina Gospel Day.
88
+ self._add_holiday_4th_mon_of_oct(tr("Peniamina Gospel Day"))
89
+
90
+ # Christmas Day.
91
+ self._add_observed(self._add_christmas_day(tr("Christmas Day")))
92
+
93
+ # Boxing Day.
94
+ self._add_observed(self._add_christmas_day_two(tr("Boxing Day")))
95
+
96
+
97
+ class NU(Niue):
98
+ pass
99
+
100
+
101
+ class NIU(Niue):
102
+ pass
103
+
104
+
105
+ class NiueStaticHolidays:
106
+ """Niue special holidays.
107
+
108
+ References:
109
+ * [Queen Elizabeth II's Funeral](https://web.archive.org/web/20250617174022/https://tvniue.com/2022/09/premier-will-attend-hm-the-queens-funeral-while-monday-19th-is-declared-one-off-public-holiday/)
110
+ """
111
+
112
+ special_public_holidays = {
113
+ # Queen Elizabeth II's Funeral.
114
+ 2022: (SEP, 19, tr("Queen Elizabeth II's Funeral")),
115
+ }
@@ -0,0 +1,129 @@
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
+
14
+ from gettext import gettext as tr
15
+
16
+ from holidays.calendars.gregorian import SEP
17
+ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
18
+ from holidays.observed_holiday_base import (
19
+ ObservedHolidayBase,
20
+ SAT_SUN_TO_NEXT_MON,
21
+ SAT_SUN_TO_NEXT_MON_TUE,
22
+ SUN_TO_NEXT_MON,
23
+ )
24
+
25
+
26
+ class NorfolkIsland(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
27
+ """Norfolk Island holidays.
28
+
29
+ References:
30
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Norfolk_Island>
31
+ * <https://web.archive.org/web/20250409233237/https://www.infrastructure.gov.au/territories-regions-cities/territories/norfolk-island/travel-information>
32
+ * [2020](https://web.archive.org/web/20220704121150/http://norfolkislander.com/images/2019_08_30_Gazette_No._38.pdf)
33
+ * [2021](https://web.archive.org/web/20250710234146/http://www.norfolkislander.com/images/2020_07_31_Gazette_No._35.pdf)
34
+ * [2022](https://web.archive.org/web/20250328071352/https://www.nirc.gov.au/files/assets/public/v/1/your-council/documents/nirc-gazettes/2021_07_09_gazette_no_29.pdf)
35
+ * [2023](https://web.archive.org/web/20250328071155/https://www.nirc.gov.au/files/assets/public/v/1/your-council/documents/nirc-gazettes/2022_07_21_gazette_no_29.pdf)
36
+ * [2024](https://web.archive.org/web/20250328070948/https://www.nirc.gov.au/files/assets/public/v/1/your-council/documents/nirc-gazettes/2023_07_13_gazette_no_40.pdf)
37
+ * [2025](https://web.archive.org/web/20250711000525/https://www.nirc.gov.au/files/assets/public/v/1/your-council/documents/nirc-gazettes/2024_07_05_gazette_no_25.pdf)
38
+ * [2026](https://web.archive.org/web/20250713192750/https://www.nirc.gov.au/files/assets/public/v/1/your-council/documents/nirc-gazettes/2025/2025-07-11-gazette-no-26.pdf)
39
+ """
40
+
41
+ country = "NF"
42
+ default_language = "en_NF"
43
+ # %s (observed).
44
+ observed_label = tr("%s (observed)")
45
+ supported_languages = ("en_NF", "en_US")
46
+ start_year = 2016
47
+
48
+ def __init__(self, *args, **kwargs):
49
+ ChristianHolidays.__init__(self)
50
+ InternationalHolidays.__init__(self)
51
+ StaticHolidays.__init__(self, NorfolkIslandStaticHolidays)
52
+ kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
53
+ super().__init__(*args, **kwargs)
54
+
55
+ def _populate_public_holidays(self):
56
+ # New Year's Day.
57
+ self._add_observed(self._add_new_years_day(tr("New Year's Day")))
58
+
59
+ # Australia Day.
60
+ self._add_observed(self._add_holiday_jan_26(tr("Australia Day")))
61
+
62
+ # Foundation Day.
63
+ self._add_observed(self._add_holiday_mar_6(tr("Foundation Day")), rule=SUN_TO_NEXT_MON)
64
+
65
+ # Good Friday.
66
+ self._add_good_friday(tr("Good Friday"))
67
+
68
+ # Easter Monday.
69
+ self._add_easter_monday(tr("Easter Monday"))
70
+
71
+ # ANZAC Day.
72
+ self._add_anzac_day(tr("ANZAC Day"))
73
+
74
+ # Bounty Day.
75
+ self._add_observed(bounty_day := self._add_holiday_jun_8(tr("Bounty Day")))
76
+
77
+ # Sovereign's Birthday.
78
+ name = (
79
+ # King's Birthday.
80
+ tr("King's Birthday")
81
+ if self._year >= 2023
82
+ # Queen's Birthday.
83
+ else tr("Queen's Birthday")
84
+ )
85
+ # If Sovereign's Birthday falls on the same day as Bounty Day (observed),
86
+ # it is moved to the next Monday.
87
+ if self._is_saturday(bounty_day):
88
+ self._add_holiday_2_days_past_3rd_sat_of_jun(name)
89
+ else:
90
+ self._add_holiday_2_days_past_2nd_sat_of_jun(name)
91
+
92
+ # Show Day.
93
+ self._add_holiday_2nd_mon_of_oct(tr("Show Day"))
94
+
95
+ # Thanksgiving Day.
96
+ self._add_holiday_last_wed_of_nov(tr("Thanksgiving Day"))
97
+
98
+ self._add_observed(
99
+ # Christmas Day.
100
+ self._add_christmas_day(tr("Christmas Day")),
101
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
102
+ )
103
+
104
+ self._add_observed(
105
+ # Boxing Day.
106
+ self._add_christmas_day_two(tr("Boxing Day")),
107
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
108
+ )
109
+
110
+
111
+ class NF(NorfolkIsland):
112
+ pass
113
+
114
+
115
+ class NFK(NorfolkIsland):
116
+ pass
117
+
118
+
119
+ class NorfolkIslandStaticHolidays:
120
+ """Norfolk Island special holidays.
121
+
122
+ References:
123
+ * [National Day of Mourning 2022](https://web.archive.org/web/20250711012623/https://www.infrastructure.gov.au/territories-regions-cities/territories/norfolk-island/media-releases/national-day-of-mourning-for-her-majesty-the-queen)
124
+ """
125
+
126
+ special_public_holidays = {
127
+ # National Day of Mourning for Queen Elizabeth II.
128
+ 2022: (SEP, 22, tr("National Day of Mourning for Queen Elizabeth II")),
129
+ }
@@ -10,11 +10,11 @@
10
10
  # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
- from holidays.constants import GOVERNMENT, PUBLIC, UNOFFICIAL
14
- from holidays.countries.united_states import US
13
+ from holidays.countries.united_states import UnitedStates
14
+ from holidays.mixins.child_entity import ChildEntity
15
15
 
16
16
 
17
- class HolidaysMP(US):
17
+ class HolidaysMP(ChildEntity, UnitedStates):
18
18
  """Northern Mariana Islands (the) holidays.
19
19
 
20
20
  Alias of a US subdivision that is also officially assigned its own country code in ISO 3166-1.
@@ -22,21 +22,13 @@ class HolidaysMP(US):
22
22
  """
23
23
 
24
24
  country = "MP"
25
- supported_categories = (GOVERNMENT, PUBLIC, UNOFFICIAL)
26
- subdivisions = () # Override US subdivisions.
27
- subdivisions_aliases = {} # Override US subdivisions aliases.
25
+ parent_entity = UnitedStates
26
+ # UNSC Resolution 21 on April 2nd, 1947.
27
+ start_year = 1948
28
28
 
29
- def _populate_public_holidays(self) -> None:
30
- self.subdiv = "MP"
31
- super()._populate_public_holidays()
32
29
 
33
- def _populate_government_holidays(self) -> None:
34
- self.subdiv = "MP"
35
- super()._populate_government_holidays()
36
-
37
- def _populate_unofficial_holidays(self) -> None:
38
- self.subdiv = "MP"
39
- super()._populate_unofficial_holidays()
30
+ class NorthernMarianaIslands(HolidaysMP):
31
+ pass
40
32
 
41
33
 
42
34
  class MP(HolidaysMP):
@@ -45,7 +37,3 @@ class MP(HolidaysMP):
45
37
 
46
38
  class MNP(HolidaysMP):
47
39
  pass
48
-
49
-
50
- class NorthernMarianaIslands(HolidaysMP):
51
- pass
@@ -49,7 +49,7 @@ class Oman(HolidayBase, IslamicHolidays):
49
49
  country = "OM"
50
50
  default_language = "ar"
51
51
  # %s (estimated).
52
- estimated_label = tr("%s (مُقدَّر)")
52
+ estimated_label = tr("%s (المقدرة)")
53
53
  start_year = 1970
54
54
  supported_languages = ("ar", "en_US")
55
55
 
@@ -16,7 +16,7 @@ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHoli
16
16
  from holidays.observed_holiday_base import ObservedHolidayBase, SAT_TO_PREV_FRI, SUN_TO_NEXT_MON
17
17
 
18
18
 
19
- class Palau(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
19
+ class Palau(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
20
20
  """Palau holidays.
21
21
 
22
22
  References: