holidays 0.75__py3-none-any.whl → 0.76__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 (526) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/mongolian.py +342 -0
  3. holidays/countries/__init__.py +22 -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/bahrain.py +1 -1
  9. holidays/countries/bonaire_sint_eustatius_and_saba.py +134 -0
  10. holidays/countries/cocos_islands.py +3 -2
  11. holidays/countries/curacao.py +64 -38
  12. holidays/countries/egypt.py +1 -1
  13. holidays/countries/falkland_islands.py +141 -0
  14. holidays/countries/france.py +224 -127
  15. holidays/countries/french_guiana.py +44 -0
  16. holidays/countries/french_polynesia.py +43 -0
  17. holidays/countries/french_southern_territories.py +3 -4
  18. holidays/countries/guadeloupe.py +44 -0
  19. holidays/countries/guam.py +8 -20
  20. holidays/countries/hongkong.py +1 -1
  21. holidays/countries/hungary.py +2 -1
  22. holidays/countries/iran.py +1 -1
  23. holidays/countries/isle_of_man.py +4 -0
  24. holidays/countries/israel.py +1 -1
  25. holidays/countries/jordan.py +1 -1
  26. holidays/countries/kuwait.py +1 -1
  27. holidays/countries/libya.py +227 -0
  28. holidays/countries/martinique.py +44 -0
  29. holidays/countries/mauritius.py +197 -0
  30. holidays/countries/mayotte.py +44 -0
  31. holidays/countries/mongolia.py +202 -0
  32. holidays/countries/morocco.py +1 -1
  33. holidays/countries/netherlands.py +7 -11
  34. holidays/countries/new_caledonia.py +43 -0
  35. holidays/countries/northern_mariana_islands.py +8 -20
  36. holidays/countries/oman.py +1 -1
  37. holidays/countries/puerto_rico.py +8 -20
  38. holidays/countries/reunion.py +44 -0
  39. holidays/countries/saint_barthelemy.py +43 -0
  40. holidays/countries/saint_martin.py +43 -0
  41. holidays/countries/saint_pierre_and_miquelon.py +43 -0
  42. holidays/countries/san_marino.py +49 -26
  43. holidays/countries/saudi_arabia.py +3 -3
  44. holidays/countries/sint_maarten.py +118 -0
  45. holidays/countries/svalbard_and_jan_mayen.py +3 -9
  46. holidays/countries/taiwan.py +31 -9
  47. holidays/countries/tunisia.py +1 -1
  48. holidays/countries/turks_and_caicos_islands.py +1 -1
  49. holidays/countries/united_arab_emirates.py +1 -1
  50. holidays/countries/united_states.py +579 -400
  51. holidays/countries/united_states_minor_outlying_islands.py +8 -20
  52. holidays/countries/united_states_virgin_islands.py +8 -20
  53. holidays/countries/uzbekistan.py +19 -2
  54. holidays/countries/wallis_and_futuna.py +43 -0
  55. holidays/countries/yemen.py +2 -2
  56. holidays/groups/__init__.py +1 -0
  57. holidays/groups/chinese.py +11 -0
  58. holidays/groups/eastern.py +1 -1
  59. holidays/groups/mongolian.py +103 -0
  60. holidays/holiday_base.py +10 -5
  61. holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
  62. holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
  63. holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
  64. holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
  65. holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
  66. holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
  67. holidays/locale/ar/LC_MESSAGES/EG.mo +0 -0
  68. holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
  69. holidays/locale/ar/LC_MESSAGES/JO.mo +0 -0
  70. holidays/locale/ar/LC_MESSAGES/KW.mo +0 -0
  71. holidays/locale/ar/LC_MESSAGES/LY.mo +0 -0
  72. holidays/locale/ar/LC_MESSAGES/MA.mo +0 -0
  73. holidays/locale/ar/LC_MESSAGES/OM.mo +0 -0
  74. holidays/locale/ar/LC_MESSAGES/SA.mo +0 -0
  75. holidays/locale/ar/LC_MESSAGES/TN.mo +0 -0
  76. holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
  77. holidays/locale/ar/LC_MESSAGES/YE.mo +0 -0
  78. holidays/locale/az/LC_MESSAGES/AZ.mo +0 -0
  79. holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
  80. holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
  81. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  82. holidays/locale/cnr/LC_MESSAGES/ME.mo +0 -0
  83. holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
  84. holidays/locale/da/LC_MESSAGES/DK.mo +0 -0
  85. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  86. holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
  87. holidays/locale/de/LC_MESSAGES/BE.mo +0 -0
  88. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  89. holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
  90. holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
  91. holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
  92. holidays/locale/de/LC_MESSAGES/PL.mo +0 -0
  93. holidays/locale/el/LC_MESSAGES/CY.mo +0 -0
  94. holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
  95. holidays/locale/en_AU/LC_MESSAGES/AU.mo +0 -0
  96. holidays/locale/en_BQ/LC_MESSAGES/BQ.mo +0 -0
  97. holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
  98. holidays/locale/en_CY/LC_MESSAGES/CY.mo +0 -0
  99. holidays/locale/en_GB/LC_MESSAGES/FK.mo +0 -0
  100. holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
  101. holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
  102. holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
  103. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  104. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  105. holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
  106. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  107. holidays/locale/en_MU/LC_MESSAGES/MU.mo +0 -0
  108. holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
  109. holidays/locale/en_SC/LC_MESSAGES/SC.mo +0 -0
  110. holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
  111. holidays/locale/en_SL/LC_MESSAGES/SL.mo +0 -0
  112. holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
  113. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  114. holidays/locale/en_US/LC_MESSAGES/AF.mo +0 -0
  115. holidays/locale/en_US/LC_MESSAGES/AL.mo +0 -0
  116. holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
  117. holidays/locale/en_US/LC_MESSAGES/AO.mo +0 -0
  118. holidays/locale/en_US/LC_MESSAGES/AS.mo +0 -0
  119. holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
  120. holidays/locale/en_US/LC_MESSAGES/AU.mo +0 -0
  121. holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
  122. holidays/locale/en_US/LC_MESSAGES/AX.mo +0 -0
  123. holidays/locale/en_US/LC_MESSAGES/AZ.mo +0 -0
  124. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  125. holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
  126. holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
  127. holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
  128. holidays/locale/en_US/LC_MESSAGES/BL.mo +0 -0
  129. holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
  130. holidays/locale/en_US/LC_MESSAGES/BO.mo +0 -0
  131. holidays/locale/en_US/LC_MESSAGES/BQ.mo +0 -0
  132. holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
  133. holidays/locale/en_US/LC_MESSAGES/BVMF.mo +0 -0
  134. holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
  135. holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
  136. holidays/locale/en_US/LC_MESSAGES/CG.mo +0 -0
  137. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  138. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  139. holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
  140. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  141. holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
  142. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  143. holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
  144. holidays/locale/en_US/LC_MESSAGES/CY.mo +0 -0
  145. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  146. holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
  147. holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
  148. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  149. holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
  150. holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
  151. holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
  152. holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
  153. holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
  154. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  155. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  156. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  157. holidays/locale/en_US/LC_MESSAGES/FK.mo +0 -0
  158. holidays/locale/en_US/LC_MESSAGES/FR.mo +0 -0
  159. holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
  160. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  161. holidays/locale/en_US/LC_MESSAGES/GF.mo +0 -0
  162. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  163. holidays/locale/en_US/LC_MESSAGES/GP.mo +0 -0
  164. holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
  165. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  166. holidays/locale/en_US/LC_MESSAGES/GU.mo +0 -0
  167. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  168. holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
  169. holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
  170. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  171. holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
  172. holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
  173. holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
  174. holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
  175. holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
  176. holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
  177. holidays/locale/en_US/LC_MESSAGES/JO.mo +0 -0
  178. holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
  179. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  180. holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
  181. holidays/locale/en_US/LC_MESSAGES/KW.mo +0 -0
  182. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  183. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  184. holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
  185. holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
  186. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  187. holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
  188. holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
  189. holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
  190. holidays/locale/en_US/LC_MESSAGES/LY.mo +0 -0
  191. holidays/locale/en_US/LC_MESSAGES/MA.mo +0 -0
  192. holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
  193. holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
  194. holidays/locale/en_US/LC_MESSAGES/ME.mo +0 -0
  195. holidays/locale/en_US/LC_MESSAGES/MF.mo +0 -0
  196. holidays/locale/en_US/LC_MESSAGES/MG.mo +0 -0
  197. holidays/locale/en_US/LC_MESSAGES/MN.mo +0 -0
  198. holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
  199. holidays/locale/en_US/LC_MESSAGES/MP.mo +0 -0
  200. holidays/locale/en_US/LC_MESSAGES/MQ.mo +0 -0
  201. holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
  202. holidays/locale/en_US/LC_MESSAGES/MU.mo +0 -0
  203. holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
  204. holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
  205. holidays/locale/en_US/LC_MESSAGES/MZ.mo +0 -0
  206. holidays/locale/en_US/LC_MESSAGES/NC.mo +0 -0
  207. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  208. holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
  209. holidays/locale/en_US/LC_MESSAGES/NO.mo +0 -0
  210. holidays/locale/en_US/LC_MESSAGES/OM.mo +0 -0
  211. holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
  212. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  213. holidays/locale/en_US/LC_MESSAGES/PF.mo +0 -0
  214. holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
  215. holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
  216. holidays/locale/en_US/LC_MESSAGES/PM.mo +0 -0
  217. holidays/locale/en_US/LC_MESSAGES/PR.mo +0 -0
  218. holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
  219. holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
  220. holidays/locale/en_US/LC_MESSAGES/RE.mo +0 -0
  221. holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
  222. holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  224. holidays/locale/en_US/LC_MESSAGES/SA.mo +0 -0
  225. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  226. holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
  227. holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
  228. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  229. holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
  230. holidays/locale/en_US/LC_MESSAGES/SL.mo +0 -0
  231. holidays/locale/en_US/LC_MESSAGES/SM.mo +0 -0
  232. holidays/locale/en_US/LC_MESSAGES/SV.mo +0 -0
  233. holidays/locale/en_US/LC_MESSAGES/SX.mo +0 -0
  234. holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
  235. holidays/locale/en_US/LC_MESSAGES/TF.mo +0 -0
  236. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  237. holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
  238. holidays/locale/en_US/LC_MESSAGES/TN.mo +0 -0
  239. holidays/locale/en_US/LC_MESSAGES/TO.mo +0 -0
  240. holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
  241. holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
  242. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  243. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  244. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  245. holidays/locale/en_US/LC_MESSAGES/UM.mo +0 -0
  246. holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
  247. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  248. holidays/locale/en_US/LC_MESSAGES/UZ.mo +0 -0
  249. holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
  250. holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
  251. holidays/locale/en_US/LC_MESSAGES/VI.mo +0 -0
  252. holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
  253. holidays/locale/en_US/LC_MESSAGES/WF.mo +0 -0
  254. holidays/locale/en_US/LC_MESSAGES/YE.mo +0 -0
  255. holidays/locale/en_US/LC_MESSAGES/YT.mo +0 -0
  256. holidays/locale/es/LC_MESSAGES/BO.mo +0 -0
  257. holidays/locale/es/LC_MESSAGES/CL.mo +0 -0
  258. holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
  259. holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
  260. holidays/locale/es/LC_MESSAGES/CU.mo +0 -0
  261. holidays/locale/es/LC_MESSAGES/DO.mo +0 -0
  262. holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
  263. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  264. holidays/locale/es/LC_MESSAGES/GT.mo +0 -0
  265. holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
  266. holidays/locale/es/LC_MESSAGES/HT.mo +0 -0
  267. holidays/locale/es/LC_MESSAGES/MX.mo +0 -0
  268. holidays/locale/es/LC_MESSAGES/NI.mo +0 -0
  269. holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
  270. holidays/locale/es/LC_MESSAGES/PE.mo +0 -0
  271. holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
  272. holidays/locale/es/LC_MESSAGES/SV.mo +0 -0
  273. holidays/locale/es/LC_MESSAGES/UY.mo +0 -0
  274. holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
  275. holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
  276. holidays/locale/fa_AF/LC_MESSAGES/AF.mo +0 -0
  277. holidays/locale/fa_IR/LC_MESSAGES/IR.mo +0 -0
  278. holidays/locale/fi/LC_MESSAGES/AX.mo +0 -0
  279. holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
  280. holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
  281. holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
  282. holidays/locale/fr/LC_MESSAGES/BE.mo +0 -0
  283. holidays/locale/fr/LC_MESSAGES/BL.mo +0 -0
  284. holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
  285. holidays/locale/fr/LC_MESSAGES/CG.mo +0 -0
  286. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  287. holidays/locale/fr/LC_MESSAGES/DJ.mo +0 -0
  288. holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
  289. holidays/locale/fr/LC_MESSAGES/FR.mo +0 -0
  290. holidays/locale/fr/LC_MESSAGES/GF.mo +0 -0
  291. holidays/locale/fr/LC_MESSAGES/GP.mo +0 -0
  292. holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
  293. holidays/locale/fr/LC_MESSAGES/MA.mo +0 -0
  294. holidays/locale/fr/LC_MESSAGES/MC.mo +0 -0
  295. holidays/locale/fr/LC_MESSAGES/MF.mo +0 -0
  296. holidays/locale/fr/LC_MESSAGES/MQ.mo +0 -0
  297. holidays/locale/fr/LC_MESSAGES/NC.mo +0 -0
  298. holidays/locale/fr/LC_MESSAGES/PF.mo +0 -0
  299. holidays/locale/fr/LC_MESSAGES/PM.mo +0 -0
  300. holidays/locale/fr/LC_MESSAGES/RE.mo +0 -0
  301. holidays/locale/fr/LC_MESSAGES/TF.mo +0 -0
  302. holidays/locale/fr/LC_MESSAGES/WF.mo +0 -0
  303. holidays/locale/fr/LC_MESSAGES/YT.mo +0 -0
  304. holidays/locale/fr_HT/LC_MESSAGES/HT.mo +0 -0
  305. holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
  306. holidays/locale/he/LC_MESSAGES/IL.mo +0 -0
  307. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  308. holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
  309. holidays/locale/ht/LC_MESSAGES/HT.mo +0 -0
  310. holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
  311. holidays/locale/hy/LC_MESSAGES/AM.mo +0 -0
  312. holidays/locale/id/LC_MESSAGES/ID.mo +0 -0
  313. holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
  314. holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
  315. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  316. holidays/locale/it/LC_MESSAGES/SM.mo +0 -0
  317. holidays/locale/it/LC_MESSAGES/VA.mo +0 -0
  318. holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
  319. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  320. holidays/locale/kk/LC_MESSAGES/KZ.mo +0 -0
  321. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  322. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  323. holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
  324. holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
  325. holidays/locale/lo/LC_MESSAGES/LA.mo +0 -0
  326. holidays/locale/lt/LC_MESSAGES/LT.mo +0 -0
  327. holidays/locale/lv/LC_MESSAGES/LV.mo +0 -0
  328. holidays/locale/mg/LC_MESSAGES/MG.mo +0 -0
  329. holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
  330. holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
  331. holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
  332. holidays/locale/mt/LC_MESSAGES/MT.mo +0 -0
  333. holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
  334. holidays/locale/nl/LC_MESSAGES/BE.mo +0 -0
  335. holidays/locale/nl/LC_MESSAGES/BQ.mo +0 -0
  336. holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
  337. holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
  338. holidays/locale/nl/LC_MESSAGES/SX.mo +0 -0
  339. holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
  340. holidays/locale/no/LC_MESSAGES/NO.mo +0 -0
  341. holidays/locale/pap_AW/LC_MESSAGES/AW.mo +0 -0
  342. holidays/locale/pap_BQ/LC_MESSAGES/BQ.mo +0 -0
  343. holidays/locale/pap_CW/LC_MESSAGES/CW.mo +0 -0
  344. holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
  345. holidays/locale/ps_AF/LC_MESSAGES/AF.mo +0 -0
  346. holidays/locale/pt_AO/LC_MESSAGES/AO.mo +0 -0
  347. holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
  348. holidays/locale/pt_BR/LC_MESSAGES/BVMF.mo +0 -0
  349. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  350. holidays/locale/pt_MZ/LC_MESSAGES/MZ.mo +0 -0
  351. holidays/locale/pt_PT/LC_MESSAGES/PT.mo +0 -0
  352. holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
  353. holidays/locale/ro/LC_MESSAGES/MD.mo +0 -0
  354. holidays/locale/ro/LC_MESSAGES/RO.mo +0 -0
  355. holidays/locale/ru/LC_MESSAGES/BY.mo +0 -0
  356. holidays/locale/ru/LC_MESSAGES/RU.mo +0 -0
  357. holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
  358. holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
  359. holidays/locale/sk/LC_MESSAGES/SK.mo +0 -0
  360. holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
  361. holidays/locale/sq/LC_MESSAGES/AL.mo +0 -0
  362. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  363. holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
  364. holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
  365. holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
  366. holidays/locale/sv_FI/LC_MESSAGES/AX.mo +0 -0
  367. holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
  368. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  369. holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
  370. holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
  371. holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
  372. holidays/locale/th/LC_MESSAGES/AS.mo +0 -0
  373. holidays/locale/th/LC_MESSAGES/AU.mo +0 -0
  374. holidays/locale/th/LC_MESSAGES/AX.mo +0 -0
  375. holidays/locale/th/LC_MESSAGES/BL.mo +0 -0
  376. holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
  377. holidays/locale/th/LC_MESSAGES/BY.mo +0 -0
  378. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  379. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  380. holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
  381. holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
  382. holidays/locale/th/LC_MESSAGES/FR.mo +0 -0
  383. holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
  384. holidays/locale/th/LC_MESSAGES/GF.mo +0 -0
  385. holidays/locale/th/LC_MESSAGES/GP.mo +0 -0
  386. holidays/locale/th/LC_MESSAGES/GU.mo +0 -0
  387. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  388. holidays/locale/th/LC_MESSAGES/ID.mo +0 -0
  389. holidays/locale/th/LC_MESSAGES/IL.mo +0 -0
  390. holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
  391. holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
  392. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  393. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  394. holidays/locale/th/LC_MESSAGES/LA.mo +0 -0
  395. holidays/locale/th/LC_MESSAGES/MF.mo +0 -0
  396. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  397. holidays/locale/th/LC_MESSAGES/MP.mo +0 -0
  398. holidays/locale/th/LC_MESSAGES/MQ.mo +0 -0
  399. holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
  400. holidays/locale/th/LC_MESSAGES/NC.mo +0 -0
  401. holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
  402. holidays/locale/th/LC_MESSAGES/PF.mo +0 -0
  403. holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
  404. holidays/locale/th/LC_MESSAGES/PM.mo +0 -0
  405. holidays/locale/th/LC_MESSAGES/PR.mo +0 -0
  406. holidays/locale/th/LC_MESSAGES/RE.mo +0 -0
  407. holidays/locale/th/LC_MESSAGES/RU.mo +0 -0
  408. holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
  409. holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
  410. holidays/locale/th/LC_MESSAGES/TF.mo +0 -0
  411. holidays/locale/th/LC_MESSAGES/TH.mo +0 -0
  412. holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
  413. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  414. holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
  415. holidays/locale/th/LC_MESSAGES/UM.mo +0 -0
  416. holidays/locale/th/LC_MESSAGES/US.mo +0 -0
  417. holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
  418. holidays/locale/th/LC_MESSAGES/VI.mo +0 -0
  419. holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
  420. holidays/locale/th/LC_MESSAGES/WF.mo +0 -0
  421. holidays/locale/th/LC_MESSAGES/YT.mo +0 -0
  422. holidays/locale/to/LC_MESSAGES/TO.mo +0 -0
  423. holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
  424. holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
  425. holidays/locale/uk/LC_MESSAGES/AL.mo +0 -0
  426. holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
  427. holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
  428. holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
  429. holidays/locale/uk/LC_MESSAGES/AX.mo +0 -0
  430. holidays/locale/uk/LC_MESSAGES/AZ.mo +0 -0
  431. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  432. holidays/locale/uk/LC_MESSAGES/BE.mo +0 -0
  433. holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
  434. holidays/locale/uk/LC_MESSAGES/BL.mo +0 -0
  435. holidays/locale/uk/LC_MESSAGES/BO.mo +0 -0
  436. holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
  437. holidays/locale/uk/LC_MESSAGES/BVMF.mo +0 -0
  438. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  439. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  440. holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
  441. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  442. holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
  443. holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
  444. holidays/locale/uk/LC_MESSAGES/CY.mo +0 -0
  445. holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
  446. holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
  447. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  448. holidays/locale/uk/LC_MESSAGES/DO.mo +0 -0
  449. holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
  450. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  451. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  452. holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
  453. holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
  454. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  455. holidays/locale/uk/LC_MESSAGES/GF.mo +0 -0
  456. holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
  457. holidays/locale/uk/LC_MESSAGES/GP.mo +0 -0
  458. holidays/locale/uk/LC_MESSAGES/GR.mo +0 -0
  459. holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
  460. holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
  461. holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
  462. holidays/locale/uk/LC_MESSAGES/ID.mo +0 -0
  463. holidays/locale/uk/LC_MESSAGES/IL.mo +0 -0
  464. holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
  465. holidays/locale/uk/LC_MESSAGES/KZ.mo +0 -0
  466. holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
  467. holidays/locale/uk/LC_MESSAGES/LT.mo +0 -0
  468. holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
  469. holidays/locale/uk/LC_MESSAGES/LV.mo +0 -0
  470. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  471. holidays/locale/uk/LC_MESSAGES/MD.mo +0 -0
  472. holidays/locale/uk/LC_MESSAGES/ME.mo +0 -0
  473. holidays/locale/uk/LC_MESSAGES/MF.mo +0 -0
  474. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  475. holidays/locale/uk/LC_MESSAGES/MQ.mo +0 -0
  476. holidays/locale/uk/LC_MESSAGES/MX.mo +0 -0
  477. holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
  478. holidays/locale/uk/LC_MESSAGES/NC.mo +0 -0
  479. holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
  480. holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
  481. holidays/locale/uk/LC_MESSAGES/NO.mo +0 -0
  482. holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
  483. holidays/locale/uk/LC_MESSAGES/PE.mo +0 -0
  484. holidays/locale/uk/LC_MESSAGES/PF.mo +0 -0
  485. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  486. holidays/locale/uk/LC_MESSAGES/PM.mo +0 -0
  487. holidays/locale/uk/LC_MESSAGES/PT.mo +0 -0
  488. holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
  489. holidays/locale/uk/LC_MESSAGES/RE.mo +0 -0
  490. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  491. holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
  492. holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
  493. holidays/locale/uk/LC_MESSAGES/SK.mo +0 -0
  494. holidays/locale/uk/LC_MESSAGES/SM.mo +0 -0
  495. holidays/locale/uk/LC_MESSAGES/SV.mo +0 -0
  496. holidays/locale/uk/LC_MESSAGES/TF.mo +0 -0
  497. holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
  498. holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
  499. holidays/locale/uk/LC_MESSAGES/UY.mo +0 -0
  500. holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
  501. holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
  502. holidays/locale/uk/LC_MESSAGES/WF.mo +0 -0
  503. holidays/locale/uk/LC_MESSAGES/YT.mo +0 -0
  504. holidays/locale/uz/LC_MESSAGES/UZ.mo +0 -0
  505. holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
  506. holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
  507. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  508. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  509. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  510. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  511. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  512. holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
  513. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  514. holidays/mixins/__init__.py +18 -0
  515. holidays/mixins/child_entity.py +43 -0
  516. holidays/observed_holiday_base.py +1 -0
  517. holidays/registry.py +17 -0
  518. holidays/version.py +1 -1
  519. {holidays-0.75.dist-info → holidays-0.76.dist-info}/METADATA +134 -15
  520. holidays-0.76.dist-info/RECORD +785 -0
  521. {holidays-0.75.dist-info → holidays-0.76.dist-info}/licenses/CONTRIBUTORS +1 -0
  522. holidays-0.75.dist-info/RECORD +0 -687
  523. /holidays/{mixins.py → mixins/preferred_discretionary_holidays.py} +0 -0
  524. {holidays-0.75.dist-info → holidays-0.76.dist-info}/WHEEL +0 -0
  525. {holidays-0.75.dist-info → holidays-0.76.dist-info}/licenses/LICENSE +0 -0
  526. {holidays-0.75.dist-info → holidays-0.76.dist-info}/top_level.txt +0 -0
@@ -10,22 +10,26 @@
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.groups import ChristianHolidays, InternationalHolidays
18
- from holidays.holiday_base import HolidayBase
16
+ from holidays.observed_holiday_base import (
17
+ ObservedHolidayBase,
18
+ MON_TO_NEXT_TUE,
19
+ SUN_TO_PREV_SAT,
20
+ SUN_TO_NEXT_MON,
21
+ )
19
22
 
20
23
 
21
- class Aruba(HolidayBase, ChristianHolidays, InternationalHolidays):
24
+ class Aruba(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
22
25
  """Aruba holidays.
23
26
 
24
27
  References:
25
- * <https://web.archive.org/web/20240615045656/https://www.government.aw/information-public-services/hiring-people_47940/item/holidays_43823.html>
26
- * <https://web.archive.org/web/20231208145916/https://www.overheid.aw/informatie-dienstverlening/ondernemen-en-werken-subthemas_46970/item/feestdagen_37375.html>
27
- * <https://web.archive.org/web/20231202011228/https://www.gobierno.aw/informacion-tocante-servicio/haci-negoshi-y-traha-sub-topics_47789/item/dia-di-fiesta_41242.html>
28
- * <https://web.archive.org/web/20250210000132/https://www.visitaruba.com/about-aruba/national-holidays-and-celebrations/>
28
+ * [AB 2013 no. 14](https://web.archive.org/web/20250212184919/https://cuatro.sim-cdn.nl/arubaoverheid2858bd/uploads/ab2013no.14_0.pdf?cb=WDbZKYCl)
29
+ * [Holidays List (English)]( https://web.archive.org/web/20230808172049/https://www.government.aw/information-public-services/hiring-people_47940/item/holidays_43823.html)
30
+ * [Holidays List (Dutch)](https://web.archive.org/web/20231208145916/https://www.overheid.aw/informatie-dienstverlening/ondernemen-en-werken-subthemas_46970/item/feestdagen_37375.html)
31
+ * [Holidays List (Papiamento)](https://web.archive.org/web/20231202011228/https://www.gobierno.aw/informacion-tocante-servicio/haci-negoshi-y-traha-sub-topics_47789/item/dia-di-fiesta_41242.html)
32
+ * [National Holidays & Celebrations](https://web.archive.org/web/20250210000132/https://www.visitaruba.com/about-aruba/national-holidays-and-celebrations/)
29
33
  * <https://web.archive.org/web/20240619235841/https://www.arubatoday.com/we-celebrate-our-national-hero-betico-croes/>
30
34
  * <https://web.archive.org/web/20240721173750/https://caribbeannewsglobal.com/carnival-monday-remains-a-festive-day-in-aruba/>
31
35
  * <https://web.archive.org/web/20250426210119/https://www.aruba.com/us/calendar/national-anthem-and-flag-day>
@@ -34,19 +38,20 @@ class Aruba(HolidayBase, ChristianHolidays, InternationalHolidays):
34
38
  country = "AW"
35
39
  default_language = "pap_AW"
36
40
  supported_languages = ("en_US", "nl", "pap_AW", "uk")
37
- # AUG 1947: Autonomous State status in the Kingdom of the Netherlands.
38
- start_year = 1947
41
+ # The Netherlands Antilles was established on December 15th, 1954.
42
+ start_year = 1955
39
43
 
40
44
  def __init__(self, *args, **kwargs):
41
45
  ChristianHolidays.__init__(self)
42
46
  InternationalHolidays.__init__(self)
47
+ kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
43
48
  super().__init__(*args, **kwargs)
44
49
 
45
50
  def _populate_public_holidays(self):
46
51
  # Aña Nobo.
47
52
  # Status: In-Use.
48
53
 
49
- # New Year's Day
54
+ # New Year's Day.
50
55
  self._add_new_years_day(tr("Aña Nobo"))
51
56
 
52
57
  # Dia Di Betico.
@@ -54,7 +59,7 @@ class Aruba(HolidayBase, ChristianHolidays, InternationalHolidays):
54
59
  # Started in 1989.
55
60
 
56
61
  if self._year >= 1989:
57
- # Betico Day
62
+ # Betico Day.
58
63
  self._add_holiday_jan_25(tr("Dia di Betico"))
59
64
 
60
65
  # Dialuna prome cu diaranson di shinish.
@@ -65,10 +70,10 @@ class Aruba(HolidayBase, ChristianHolidays, InternationalHolidays):
65
70
 
66
71
  if self._year >= 1956:
67
72
  self._add_ash_monday(
68
- # Carnival Monday
73
+ # Carnival Monday.
69
74
  tr("Dialuna despues di Carnaval Grandi")
70
75
  if self._year <= 2022
71
- # Monday before Ash Wednesday
76
+ # Monday before Ash Wednesday.
72
77
  else tr("Dialuna prome cu diaranson di shinish")
73
78
  )
74
79
 
@@ -77,21 +82,32 @@ class Aruba(HolidayBase, ChristianHolidays, InternationalHolidays):
77
82
  # Started in 1976.
78
83
 
79
84
  if self._year >= 1976:
80
- # National Anthem and Flag Day
85
+ # National Anthem and Flag Day.
81
86
  self._add_holiday_mar_18(tr("Dia di Himno y Bandera"))
82
87
 
83
88
  # Bierna Santo.
84
89
  # Status: In-Use.
85
90
 
86
- # Good Friday
91
+ # Good Friday.
87
92
  self._add_good_friday(tr("Bierna Santo"))
88
93
 
89
94
  # Di dos dia di Pasco di Resureccion.
90
95
  # Status: In-Use.
91
96
 
92
- # Easter Monday
97
+ # Easter Monday.
93
98
  self._add_easter_monday(tr("Di dos dia di Pasco di Resureccion"))
94
99
 
100
+ # Dia di Labor/Dia di Obrero.
101
+ # Status: In-Use.
102
+ # If fall on Sunday, then this will be move to next working day.
103
+ # This is placed here before King's/Queen's Day for _move_holiday logic.
104
+
105
+ self._move_holiday(
106
+ # Labor Day.
107
+ self._add_labor_day(tr("Dia di Obrero")),
108
+ rule=SUN_TO_NEXT_MON if self._year >= 1980 else MON_TO_NEXT_TUE + SUN_TO_NEXT_MON,
109
+ )
110
+
95
111
  # Aña di La Reina/Aña di Rey/Dia di Rey.
96
112
  # Status: In-Use.
97
113
  # Started under Queen Wilhelmina in 1891.
@@ -99,7 +115,6 @@ class Aruba(HolidayBase, ChristianHolidays, InternationalHolidays):
99
115
  # Switched to Aña di Rey in 2014 for King Willem-Alexander.
100
116
  # Have its name changed again to Dia di Rey from 2021 onwards.
101
117
 
102
- # King's / Queen's Day
103
118
  name = (
104
119
  # King's Day.
105
120
  tr("Dia di Rey")
@@ -110,38 +125,29 @@ class Aruba(HolidayBase, ChristianHolidays, InternationalHolidays):
110
125
  else tr("Aña di La Reina") # Queen's Day.
111
126
  )
112
127
  )
113
- if self._year >= 2014:
114
- dt = (APR, 27)
115
- elif self._year >= 1949:
116
- dt = (APR, 30)
117
- else:
118
- dt = (AUG, 31)
119
- if self._is_sunday(dt):
120
- dt = _timedelta(date(self._year, *dt), -1 if self._year >= 1980 else +1)
121
- self._add_holiday(name, dt)
122
-
123
- # Dia di Labor/Dia di Obrero.
124
- # Status: In-Use.
125
-
126
- # Labor Day
127
- self._add_labor_day(tr("Dia di Obrero"))
128
+ self._move_holiday(
129
+ self._add_holiday_apr_27(name)
130
+ if self._year >= 2014
131
+ else self._add_holiday_apr_30(name),
132
+ rule=SUN_TO_PREV_SAT if self._year >= 1980 else SUN_TO_NEXT_MON,
133
+ )
128
134
 
129
135
  # Dia di Asuncion.
130
136
  # Status: In-Use.
131
137
 
132
- # Ascension Day
138
+ # Ascension Day.
133
139
  self._add_ascension_thursday(tr("Dia di Asuncion"))
134
140
 
135
141
  # Pasco di Nacemento.
136
142
  # Status: In-Use.
137
143
 
138
- # Christmas Day
144
+ # Christmas Day.
139
145
  self._add_christmas_day(tr("Pasco di Nacemento"))
140
146
 
141
147
  # Di dos dia di Pasco di Nacemento.
142
148
  # Status: In-Use.
143
149
 
144
- # Second Day of Christmas
150
+ # Second Day of Christmas.
145
151
  self._add_christmas_day_two(tr("Di dos dia di Pasco di Nacemento"))
146
152
 
147
153
 
@@ -29,7 +29,7 @@ class Bahrain(HolidayBase, InternationalHolidays, IslamicHolidays):
29
29
  country = "BH"
30
30
  default_language = "ar"
31
31
  # %s (estimated).
32
- estimated_label = tr("(تقدير) %s")
32
+ estimated_label = tr("%s (المقدرة)")
33
33
  supported_languages = ("ar", "en_US")
34
34
  weekend = {FRI, SAT}
35
35
 
@@ -0,0 +1,134 @@
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 MAY
16
+ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
17
+ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_PREV_SAT
18
+
19
+
20
+ class BonaireSintEustatiusAndSaba(
21
+ ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays
22
+ ):
23
+ """Bonaire, Sint Eustatius and Saba holidays.
24
+
25
+ References:
26
+ * [Public Holidays 2025 (English)](https://web.archive.org/web/20250620050728/https://english.rijksdienstcn.com/social-affairs-work/employment/official-holidays)
27
+ * [Public Holidays 2025 (Dutch)](https://web.archive.org/web/20250323122427/https://www.rijksdienstcn.com/sociale-zaken-werk/arbeid/officiele-feestdagen)
28
+ * [Public Holidays 2025 (Papiamento)](https://web.archive.org/web/20250323125431/https://papiamentu.rijksdienstcn.com/asuntunan-sosial-i-labor/labor/dia-di-fiesta-ofisial)
29
+ * [Arbeidsregeling 2000](https://web.archive.org/web/20250625203706/https://lokaleregelgeving.overheid.nl/CVDR10375/1)
30
+ * [Dia di Rincon 2025](https://web.archive.org/web/20250515183744/https://sunwisebonaire.com/blog/dia-di-rincon-2025-on-bonaire/)
31
+ """
32
+
33
+ country = "BQ"
34
+ default_language = "nl"
35
+ # Became special municipalities of the Netherlands on October 10th, 2010.
36
+ start_year = 2011
37
+ subdivisions = (
38
+ "BON", # Bonaire.
39
+ "SAB", # Saba.
40
+ "STA", # Sint Eustatius.
41
+ )
42
+ subdivisions_aliases = {
43
+ "Bonaire": "BON",
44
+ "Saba": "SAB",
45
+ "Sint Eustatius": "STA",
46
+ }
47
+ supported_languages = ("en_BQ", "en_US", "nl", "pap_BQ")
48
+
49
+ def __init__(self, *args, **kwargs):
50
+ ChristianHolidays.__init__(self)
51
+ InternationalHolidays.__init__(self)
52
+ StaticHolidays.__init__(self, cls=BonaireSintEustatiusAndSabaStaticHolidays)
53
+ super().__init__(*args, **kwargs)
54
+
55
+ def _populate_public_holidays(self):
56
+ # New Year's Day.
57
+ self._add_new_years_day(tr("Nieuwjaarsdag"))
58
+
59
+ # Good Friday.
60
+ self._add_good_friday(tr("Goede Vrijdag"))
61
+
62
+ # Easter Sunday.
63
+ self._add_easter_sunday(tr("Eerste Paasdag"))
64
+
65
+ # Easter Monday.
66
+ self._add_easter_monday(tr("Tweede Paasdag"))
67
+
68
+ self._move_holiday(
69
+ # King's Day.
70
+ self._add_holiday_apr_27(tr("Koningsdag"))
71
+ if self._year >= 2014
72
+ # Queen's Day.
73
+ else self._add_holiday_apr_30(tr("Koninginnedag")),
74
+ rule=SUN_TO_PREV_SAT,
75
+ )
76
+
77
+ # Labor Day.
78
+ self._add_labor_day(tr("Dag van de Arbeid"))
79
+
80
+ # Ascension Day.
81
+ self._add_ascension_thursday(tr("Hemelvaartsdag"))
82
+
83
+ # Whit Sunday.
84
+ self._add_whit_sunday(tr("Eerste Pinksterdag"))
85
+
86
+ # Christmas Day.
87
+ self._add_christmas_day(tr("Eerste Kerstdag"))
88
+
89
+ # Second Day of Christmas.
90
+ self._add_christmas_day_two(tr("Tweede Kerstdag"))
91
+
92
+ def _populate_subdiv_bon_public_holidays(self):
93
+ if self._year >= 2020:
94
+ # Rincon Day.
95
+ self._add_holiday_apr_30(tr("Rincondag"))
96
+
97
+ # Bonaire Day.
98
+ self._add_holiday_sep_6(tr("Bonairedag"))
99
+
100
+ def _populate_subdiv_sab_public_holidays(self):
101
+ # Carnival Monday.
102
+ self._add_holiday_last_mon_of_jul(tr("Dag na de carnavalsoptocht"))
103
+
104
+ # Saba Day.
105
+ self._add_holiday_1st_fri_of_dec(tr("Sabadag"))
106
+
107
+ def _populate_subdiv_sta_public_holidays(self):
108
+ if self._year >= 2022:
109
+ # Emancipation Day.
110
+ self._add_holiday_jul_1(tr("Emancipatiedag"))
111
+
112
+ # Statia Day.
113
+ self._add_holiday_nov_16(tr("Statiadag"))
114
+
115
+
116
+ class BQ(BonaireSintEustatiusAndSaba):
117
+ pass
118
+
119
+
120
+ class BES(BonaireSintEustatiusAndSaba):
121
+ pass
122
+
123
+
124
+ class BonaireSintEustatiusAndSabaStaticHolidays(StaticHolidays):
125
+ """Bonaire, Sint Eustatius and Saba special holidays.
126
+
127
+ References:
128
+ * [Bonaire May 2nd, 2025](https://web.archive.org/web/20250620052258/https://bonairegov.com/nieuwsoverzicht/artikel/vrijdag-2-mei-2025-aangewezen-als-vrije-dag-voor-ambtenaren)
129
+ """
130
+
131
+ special_bon_public_holidays = {
132
+ # Bridge Holiday.
133
+ 2025: (MAY, 2, tr("Brugdag")),
134
+ }
@@ -55,6 +55,7 @@ class CocosIslands(
55
55
  * [2022](https://web.archive.org/web/20250429071240/https://www.infrastructure.gov.au/sites/default/files/documents/a33-2021-2022-public-holidays-cocos-keeling-islands.pdf)
56
56
  * [2022 Eid al-Fitr](https://web.archive.org/web/20220810061351/https://www.infrastructure.gov.au/sites/default/files/documents/Gazette-Change-to-CKI-Hari-Raya-Puasa-2022.pdf)
57
57
  * [2023](https://web.archive.org/web/20240711221156/https://www.infrastructure.gov.au/sites/default/files/documents/a19-2022-community-bulletin-2023-kings-birthday-cocos-keeling-islands.pdf)
58
+ * [2023 Eid al-Fitr](https://web.archive.org/web/20250627103728/https://www.infrastructure.gov.au/sites/default/files/documents/a02-2023-community-bulletin-change-of-public-holiday-date-for-hari-raya-puasa-2023-cocos-keeling-islands.pdf)
58
59
  * [2023 Eid al-Adha](https://web.archive.org/web/20240804112114/https://www.infrastructure.gov.au/sites/default/files/documents/a06-2023_community_bulletin_-_change_of_public_holiday_date_for_hari_raya_haji_2023.pdf)
59
60
  * [2024](https://web.archive.org/web/20250207203100/https://www.infrastructure.gov.au/sites/default/files/documents/a12-2023-2024-public-holidays-cocos-k-islands.pdf)
60
61
  * [2025](https://web.archive.org/web/20250413083314/https://www.infrastructure.gov.au/sites/default/files/documents/a21-2024-administrator-community-bulletin-cki-public-holidays-2025.pdf)
@@ -114,7 +115,7 @@ class CocosIslands(
114
115
  self._add_easter_monday(tr("Easter Monday"))
115
116
 
116
117
  # ANZAC Day.
117
- self._add_observed(self._add_holiday_apr_25(tr("ANZAC Day")))
118
+ self._add_observed(self._add_anzac_day(tr("ANZAC Day")))
118
119
 
119
120
  queens_kings_birthday_dates = {
120
121
  2021: (JUN, 7),
@@ -197,7 +198,7 @@ class CocosIslandsIslamicHolidays(_CustomIslamicHolidays):
197
198
  2020: (MAY, 24),
198
199
  2021: (MAY, 13),
199
200
  2022: (MAY, 3),
200
- 2023: (APR, 22),
201
+ 2023: (APR, 21),
201
202
  2024: (APR, 10),
202
203
  2025: (MAR, 31),
203
204
  }
@@ -10,109 +10,121 @@
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, MAY, _timedelta
17
15
  from holidays.constants import HALF_DAY, PUBLIC
18
16
  from holidays.groups import ChristianHolidays, InternationalHolidays
19
- from holidays.holiday_base import HolidayBase
17
+ from holidays.observed_holiday_base import (
18
+ ObservedHolidayBase,
19
+ MON_TO_NEXT_TUE,
20
+ SUN_TO_PREV_SAT,
21
+ SUN_TO_NEXT_MON,
22
+ )
20
23
 
21
24
 
22
- class Curacao(HolidayBase, ChristianHolidays, InternationalHolidays):
25
+ class Curacao(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
23
26
  """Curaçao holidays.
24
27
 
25
28
  References:
26
- * <https://web.archive.org/web/20240812164331/http://loketdigital.gobiernu.cw/Loket/product/571960bbe1e5fe8712b10a1323630e70>
29
+ * [Arbeidsregeling 2000](https://web.archive.org/web/20250625071823/https://lokaleregelgeving.overheid.nl/CVDR10375)
30
+ * [Landbesluit no. 22/2060](https://web.archive.org/web/20240629135453/https://gobiernu.cw/wp-content/uploads/2022/12/123.-GT-Lb.Arebeidsregeling-2000-4.pdf)
27
31
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Curaçao>
32
+ * <https://web.archive.org/web/20240723012531/https://loketdigital.gobiernu.cw/contact/officiele-vrije-dagen-op-curacao-nationale-feestdagen>
33
+ * <https://web.archive.org/web/20250422122824/https://www.meetcuracao.com/2-juli-dia-di-bandera-y-himno-op-curacao/>
28
34
  """
29
35
 
30
36
  country = "CW"
31
37
  default_language = "pap_CW"
32
38
  supported_categories = (HALF_DAY, PUBLIC)
33
39
  supported_languages = ("en_US", "nl", "pap_CW", "uk")
34
- # 1954: Creation of the Netherlands Antilles.
35
- start_year = 1954
40
+ # The Netherlands Antilles was established on December 15th, 1954.
41
+ start_year = 1955
36
42
 
37
43
  def __init__(self, *args, **kwargs):
38
44
  ChristianHolidays.__init__(self)
39
45
  InternationalHolidays.__init__(self)
46
+ kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
40
47
  super().__init__(*args, **kwargs)
41
48
 
42
49
  def _populate_public_holidays(self):
43
50
  # Aña Nobo.
44
51
  # Status: In-Use.
45
52
 
46
- # New Year's Day
53
+ # New Year's Day.
47
54
  self._add_new_years_day(tr("Aña Nobo"))
48
55
 
49
56
  # Dialuna despues di Carnaval Grandi.
50
57
  # Status: In-Use.
51
58
  # Started in 1947.
52
59
 
53
- # Carnival Monday
60
+ # Carnival Monday.
54
61
  self._add_ash_monday(tr("Dialuna despues di Carnaval Grandi"))
55
62
 
56
63
  # Bièrnèsantu.
57
64
  # Status: In-Use.
58
65
 
59
- # Good Friday
66
+ # Good Friday.
60
67
  self._add_good_friday(tr("Bièrnèsantu"))
61
68
 
62
69
  # Pasku di Resurekshon.
63
70
  # Status: In-Use
64
71
 
65
- # Easter Sunday
72
+ # Easter Sunday.
66
73
  self._add_easter_sunday(tr("Pasku di Resurekshon"))
67
74
 
68
75
  # Di dos dia di Pasku di Resurekshon.
69
76
  # Status: In-Use.
70
77
 
71
- # Easter Monday
78
+ # Easter Monday.
72
79
  self._add_easter_monday(tr("Di dos dia di Pasku di Resurekshon"))
73
80
 
81
+ # Dia di Obrero.
82
+ # Status: In-Use.
83
+ # If fall on Sunday, then this will be move to next working day.
84
+ # This is placed here before King's/Queen's Day for _move_holiday logic.
85
+
86
+ self._move_holiday(
87
+ # Labor Day.
88
+ self._add_labor_day(tr("Dia di Obrero")),
89
+ rule=SUN_TO_NEXT_MON if self._year >= 1980 else MON_TO_NEXT_TUE + SUN_TO_NEXT_MON,
90
+ )
91
+
74
92
  # Dia di la Reina/Dia di Rey.
75
93
  # Status: In-Use.
76
94
  # Started under Queen Wilhelmina in 1891.
77
95
  # Queen Beatrix kept Queen Juliana's Birthday after her coronation.
78
- # Switched to Aña di Rey in 2014 for King Willem-Alexander.
79
- # Have its name changed again to Dia di Rey from 2021 onwards.
96
+ # Switched to Dia di Rey in 2014 for King Willem-Alexander.
80
97
 
81
- # King's / Queen's Day
82
- name = (
98
+ self._move_holiday(
83
99
  # King's Day.
84
- tr("Dia di Rey")
100
+ self._add_holiday_apr_27(tr("Dia di Rey"))
85
101
  if self._year >= 2014
86
102
  # Queen's Day.
87
- else tr("Dia di la Reina")
103
+ else self._add_holiday_apr_30(tr("Dia di la Reina")),
104
+ rule=SUN_TO_PREV_SAT if self._year >= 1980 else SUN_TO_NEXT_MON,
88
105
  )
89
- dt = date(self._year, APR, 27 if self._year >= 2014 else 30)
90
- if self._is_sunday(dt):
91
- dt = _timedelta(dt, -1 if self._year >= 1980 else +1)
92
- self._add_holiday(name, dt)
93
-
94
- # Dia di Obrero.
95
- # Status: In-Use.
96
- # If fall on Sunday, then this will be move to next working day.
97
-
98
- dt = date(self._year, MAY, 1)
99
- if self._is_sunday(dt) or (self._is_monday(dt) and self._year <= 1979):
100
- dt = _timedelta(dt, +1)
101
- # Labor Day
102
- self._add_holiday(tr("Dia di Obrero"), dt)
103
106
 
104
107
  # Dia di Asenshon.
105
108
  # Status: In-Use.
106
109
 
107
- # Ascension Day
110
+ # Ascension Day.
108
111
  self._add_ascension_thursday(tr("Dia di Asenshon"))
109
112
 
113
+ # Domingo di Pentekòstès.
114
+ # Status: Removed
115
+ # Exists in Labor Regulation 2000.
116
+ # Presumed to be removed from 2010 onwards.
117
+
118
+ if self._year <= 2009:
119
+ # Whit Sunday.
120
+ self._add_whit_sunday(tr("Domingo di Pentekòstès"))
121
+
110
122
  # Dia di Himno i Bandera.
111
123
  # Status: In-Use.
112
124
  # Starts in 1984.
113
125
 
114
126
  if self._year >= 1984:
115
- # National Anthem and Flag Day
127
+ # National Anthem and Flag Day.
116
128
  self._add_holiday_jul_2(tr("Dia di Himno i Bandera"))
117
129
 
118
130
  # Dia di Pais Kòrsou / Dia di autonomia.
@@ -120,24 +132,38 @@ class Curacao(HolidayBase, ChristianHolidays, InternationalHolidays):
120
132
  # Starts in 2010.
121
133
 
122
134
  if self._year >= 2010:
123
- # Curaçao Day
135
+ # Curaçao Day.
124
136
  self._add_holiday_oct_10(tr("Dia di Pais Kòrsou"))
125
137
 
138
+ # Kingdom Day.
139
+ # Status: Removed.
140
+ # Added on June 3rd, 2008 via P.B. 2008 no. 50.
141
+ # Presumed to have been removed in 2010 after Curacao gain its Autonomy.
142
+
143
+ if 2008 <= self._year <= 2009:
144
+ # Kingdom Day.
145
+ self._add_holiday_dec_15(tr("Dia di Reino"))
146
+
126
147
  # Pasku di Nasementu.
127
148
  # Status: In-Use.
128
149
 
129
- # Christmas Day
150
+ # Christmas Day.
130
151
  self._add_christmas_day(tr("Pasku di Nasementu"))
131
152
 
132
153
  # Di dos dia di Pasku di Nasementu.
133
154
  # Status: In-Use.
134
155
 
135
- # Second Day of Christmas
156
+ # Second Day of Christmas.
136
157
  self._add_christmas_day_two(tr("Di dos dia di Pasku di Nasementu"))
137
158
 
138
159
  def _populate_half_day_holidays(self):
139
160
  # New Year's Eve.
140
- self._add_new_years_eve(tr("Vispu di Aña Nobo"))
161
+ # Status: In-Use.
162
+ # Presumed to have been added after 2010.
163
+
164
+ if self._year >= 2010:
165
+ # New Year's Eve.
166
+ self._add_new_years_eve(tr("Vispu di Aña Nobo"))
141
167
 
142
168
 
143
169
  class CW(Curacao):
@@ -24,7 +24,7 @@ class Egypt(HolidayBase, ChristianHolidays, IslamicHolidays, InternationalHolida
24
24
  country = "EG"
25
25
  default_language = "ar"
26
26
  # %s (estimated).
27
- estimated_label = tr("(تقدير) %s")
27
+ estimated_label = tr("%s (المقدرة)")
28
28
  supported_languages = ("ar", "en_US")
29
29
  weekend = {FRI, SAT}
30
30