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
@@ -11,13 +11,14 @@
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from holidays.countries.france import France
14
+ from holidays.mixins.child_entity import ChildEntity
14
15
 
15
16
 
16
- class HolidaysTF(France):
17
+ class HolidaysTF(ChildEntity, France):
17
18
  """French Southern Territories holidays.
18
19
 
19
20
  Alias of a French subdivision that is also officially assigned
20
- its own country code in ISO 31661.
21
+ its own country code in ISO 3166-1.
21
22
 
22
23
  !!! note "Note"
23
24
  Since most islands doesn't have a permanent population,
@@ -31,8 +32,6 @@ class HolidaysTF(France):
31
32
 
32
33
  country = "TF"
33
34
  parent_entity = France
34
- subdivisions = () # Override France subdivisions.
35
- subdivisions_aliases = {} # Override France subdivisions aliases.
36
35
  # This overseas territory was separated in 1955.
37
36
  start_year = 1956
38
37
 
@@ -0,0 +1,44 @@
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 HolidaysGP(ChildEntity, France):
18
+ """Guadeloupe 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/Guadeloupe>
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_France>
26
+ """
27
+
28
+ country = "GP"
29
+ parent_entity = France
30
+ parent_entity_subdivision_code = "971"
31
+ # Cession from Sweden on May 30th, 1814.
32
+ start_year = 1815
33
+
34
+
35
+ class Guadeloupe(HolidaysGP):
36
+ pass
37
+
38
+
39
+ class GP(HolidaysGP):
40
+ pass
41
+
42
+
43
+ class GLP(HolidaysGP):
44
+ pass
@@ -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 HolidaysGU(US):
17
+ class HolidaysGU(ChildEntity, UnitedStates):
18
18
  """Guam 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 HolidaysGU(US):
22
22
  """
23
23
 
24
24
  country = "GU"
25
- supported_categories = (GOVERNMENT, PUBLIC, UNOFFICIAL)
26
- subdivisions = () # Override US subdivisions.
27
- subdivisions_aliases = {} # Override US subdivisions aliases.
25
+ parent_entity = UnitedStates
26
+ # Became a U.S. Territory on April 11th, 1899.
27
+ start_year = 1900
28
28
 
29
- def _populate_public_holidays(self) -> None:
30
- self.subdiv = "GU"
31
- super()._populate_public_holidays()
32
29
 
33
- def _populate_government_holidays(self) -> None:
34
- self.subdiv = "GU"
35
- super()._populate_government_holidays()
36
-
37
- def _populate_unofficial_holidays(self) -> None:
38
- self.subdiv = "GU"
39
- super()._populate_unofficial_holidays()
30
+ class Guam(HolidaysGU):
31
+ pass
40
32
 
41
33
 
42
34
  class GU(HolidaysGU):
@@ -45,7 +37,3 @@ class GU(HolidaysGU):
45
37
 
46
38
  class GUM(HolidaysGU):
47
39
  pass
48
-
49
-
50
- class Guam(HolidaysGU):
51
- pass
@@ -34,7 +34,7 @@ from holidays.groups import (
34
34
  InternationalHolidays,
35
35
  StaticHolidays,
36
36
  )
37
- from holidays.mixins import PreferredDiscretionaryHolidays
37
+ from holidays.mixins.preferred_discretionary_holidays import PreferredDiscretionaryHolidays
38
38
  from holidays.observed_holiday_base import (
39
39
  ObservedHolidayBase,
40
40
  SAT_SUN_TO_NEXT_WORKDAY,
@@ -28,6 +28,7 @@ class Hungary(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
28
28
 
29
29
  country = "HU"
30
30
  default_language = "hu"
31
+ start_year = 1945
31
32
  supported_languages = ("en_US", "hu", "uk")
32
33
 
33
34
  def __init__(self, *args, **kwargs):
@@ -40,7 +41,7 @@ class Hungary(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
40
41
  # New Year's Day.
41
42
  self._add_new_years_day(tr("Újév"))
42
43
 
43
- if 1945 <= self._year <= 1950 or self._year >= 1989:
44
+ if self._year <= 1950 or self._year >= 1989:
44
45
  # National Day.
45
46
  self._add_holiday_mar_15(tr("Nemzeti ünnep"))
46
47
 
@@ -46,7 +46,7 @@ class Iran(HolidayBase, IslamicHolidays, PersianCalendarHolidays):
46
46
  country = "IR"
47
47
  default_language = "fa_IR"
48
48
  # %s (estimated).
49
- estimated_label = tr("(تخمین زده) %s")
49
+ estimated_label = tr("%s (تخمینی)")
50
50
  supported_languages = ("en_US", "fa_IR")
51
51
  start_year = 1980
52
52
  weekend = {FRI}
@@ -21,6 +21,10 @@ class IsleOfMan(UnitedKingdom):
21
21
  """Isle Of Man holidays."""
22
22
 
23
23
  country = "IM"
24
+ # The Isle of Man (IM) is not a subdivision of the United Kingdom (GB)
25
+ # entity, so the `IsleOfMan` class does not inherit from the `ChildEntity`
26
+ # mixin. The `parent_entity` is specified below solely to maintain
27
+ # consistency in holiday name localization.
24
28
  parent_entity = UnitedKingdom
25
29
  subdivisions = () # Override UnitedKingdom subdivisions.
26
30
  subdivisions_aliases = {} # Override UnitedKingdom subdivisions aliases.
@@ -38,7 +38,7 @@ class Israel(ObservedHolidayBase, HebrewCalendarHolidays):
38
38
  country = "IL"
39
39
  default_language = "he"
40
40
  # %s (observed).
41
- observed_label = tr("(נצפה) %s")
41
+ observed_label = tr("%s (נצפה)")
42
42
  supported_categories = (OPTIONAL, PUBLIC, SCHOOL)
43
43
  supported_languages = ("en_US", "he", "th", "uk")
44
44
  weekend = {FRI, SAT}
@@ -28,7 +28,7 @@ class Jordan(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolid
28
28
  country = "JO"
29
29
  default_language = "ar"
30
30
  # %s (estimated).
31
- estimated_label = tr("(تقدير) %s")
31
+ estimated_label = tr("%s (المقدرة)")
32
32
  supported_languages = ("ar", "en_US")
33
33
 
34
34
  def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
@@ -29,7 +29,7 @@ class Kuwait(HolidayBase, InternationalHolidays, IslamicHolidays):
29
29
  country = "KW"
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
 
35
35
  def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
@@ -0,0 +1,227 @@
1
+ # holidays
2
+ # --------
3
+ # A fast, efficient Python library for generating country, province and state
4
+ # specific sets of holidays on the fly. It aims to make determining whether a
5
+ # specific date is a holiday as fast and flexible as possible.
6
+ #
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
+ # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
+ # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
+ # Website: https://github.com/vacanza/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from gettext import gettext as tr
14
+
15
+ from holidays.calendars import _CustomIslamicHolidays
16
+ from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
17
+ from holidays.constants import PUBLIC, WORKDAY
18
+ from holidays.groups import InternationalHolidays, IslamicHolidays, StaticHolidays
19
+ from holidays.holiday_base import HolidayBase
20
+
21
+
22
+ class Libya(HolidayBase, InternationalHolidays, IslamicHolidays, StaticHolidays):
23
+ """Libya holidays.
24
+
25
+ References:
26
+ * [Law No. 4 of 1987](https://web.archive.org/web/20250629084625/https://lawsociety.ly/legislation/قانون-رقم-4-لسنة-1987-م-بشأن-العطلات-الرسمية/)
27
+ * [Law No. 5 of 2012](https://web.archive.org/web/20250629084558/https://lawsociety.ly/legislation/القانون-رقم-5-لسنة-2012-م-بشأن-العطلات-الرسم/)
28
+ * [National Environmental Sanitation Day](https://web.archive.org/web/20250629084547/https://lawsociety.ly/legislation/قرار-رقم-414-لسنة-2021-م-باعتبار-يوم-14-أغسطس-يو/)
29
+ """
30
+
31
+ country = "LY"
32
+ default_language = "ar"
33
+ # %s (estimated).
34
+ estimated_label = tr("%s (المقدرة)")
35
+ start_year = 1988
36
+ supported_categories = (PUBLIC, WORKDAY)
37
+ supported_languages = ("ar", "en_US")
38
+
39
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
40
+ """
41
+ Args:
42
+ islamic_show_estimated:
43
+ Whether to add "estimated" label to Islamic holidays name
44
+ if holiday date is estimated.
45
+ """
46
+ InternationalHolidays.__init__(self)
47
+ IslamicHolidays.__init__(
48
+ self, cls=LibyaIslamicHolidays, show_estimated=islamic_show_estimated
49
+ )
50
+ StaticHolidays.__init__(self, cls=LibyaStaticHolidays)
51
+ super().__init__(*args, **kwargs)
52
+
53
+ def _populate_public_holidays(self):
54
+ if self._year <= 2011:
55
+ # People's Authority Day.
56
+ self._add_holiday_mar_2(tr("عید إعلان سلطة الشعب"))
57
+
58
+ # American Forces Evacuation Day.
59
+ self._add_holiday_jun_11(tr("عيد إجلاء القوات الأمريكية"))
60
+
61
+ # Glorious July Revolution Day.
62
+ self._add_holiday_jul_23(tr("عيد ثورة يوليو المجيدة"))
63
+
64
+ # Great Al-Fateh Revolution Day.
65
+ self._add_holiday_sep_1(tr("عيد الفاتح العظيم"))
66
+ else:
67
+ # Anniversary of the February 17 Revolution.
68
+ self._add_holiday_feb_17(tr("ثورة 17 فبراير"))
69
+
70
+ # Labor Day.
71
+ self._add_labor_day(tr("عيد العمال"))
72
+
73
+ if self._year >= 2022:
74
+ # National Environmental Sanitation Day.
75
+ self._add_holiday_aug_14(tr("يوم وطني للإصحاح البيئي"))
76
+
77
+ # Martyrs' Day.
78
+ self._add_holiday_sep_16(tr("يوم الشهيد"))
79
+
80
+ # Liberation Day.
81
+ self._add_holiday_oct_23(tr("يوم التحرير"))
82
+
83
+ # Independence Day.
84
+ self._add_holiday_dec_24(tr("عيد الاستقلال"))
85
+
86
+ # Islamic New Year.
87
+ self._add_islamic_new_year_day(tr("عيد رأس السنة الهجرية"))
88
+
89
+ # Prophet's Birthday.
90
+ self._add_mawlid_day(tr("ذكرى المولد النبوي الشريف"))
91
+
92
+ # Eid al-Fitr.
93
+ name = tr("عيد الفطر")
94
+ self._add_eid_al_fitr_day(name)
95
+ self._add_eid_al_fitr_day_two(name)
96
+ self._add_eid_al_fitr_day_three(name)
97
+
98
+ # Day of Arafah.
99
+ self._add_arafah_day(tr("يوم عرفة"))
100
+
101
+ # Eid al-Adha.
102
+ name = tr("عيد الأضحى")
103
+ self._add_eid_al_adha_day(name)
104
+ self._add_eid_al_adha_day_two(name)
105
+ self._add_eid_al_adha_day_three(name)
106
+
107
+ def _populate_workday_holidays(self):
108
+ if self._year <= 2011:
109
+ # Syrian Revolution Day.
110
+ self._add_holiday_mar_8(tr("عيد ثورة سوريا"))
111
+
112
+ # Anniversary of the Arab League.
113
+ self._add_holiday_mar_22(tr("ذكرى إنشاء الجامعة العربية"))
114
+
115
+ # British Forces Evacuation Day.
116
+ self._add_holiday_mar_28(tr("عيد إجلاء القوات البريطانية"))
117
+
118
+ # Italian Forces Evacuation Day.
119
+ self._add_holiday_oct_7(tr("عيد إجلاء الطليان"))
120
+
121
+ # Islamic New Year.
122
+ self._add_islamic_new_year_day(tr("عيد رأس السنة الهجرية"))
123
+
124
+ # Ashura.
125
+ self._add_ashura_day(tr("عاشوراء"))
126
+
127
+ # Isra and Mi'raj.
128
+ self._add_isra_and_miraj_day(tr("ذكرى الإسراء والمعراج"))
129
+
130
+ # Night of Forgiveness.
131
+ self._add_imam_mahdi_birthday_day(tr("ليلة النصف من شعبان"))
132
+
133
+
134
+ class LY(Libya):
135
+ pass
136
+
137
+
138
+ class LBY(Libya):
139
+ pass
140
+
141
+
142
+ class LibyaIslamicHolidays(_CustomIslamicHolidays):
143
+ # https://web.archive.org/web/20240908234803/https://www.timeanddate.com/holidays/libya/eid-al-adha
144
+ # https://web.archive.org/web/20250629084537/https://lawsociety.ly/legislation/قرار-رقم-773-لسنة-2017-م-بشأن-تحديد-عطلة-عيد-ال/
145
+ EID_AL_ADHA_DATES = {
146
+ 2012: (OCT, 26),
147
+ 2013: (OCT, 15),
148
+ 2014: (OCT, 5),
149
+ 2015: (SEP, 23),
150
+ 2016: (SEP, 11),
151
+ 2017: (SEP, 1),
152
+ 2018: (AUG, 22),
153
+ 2019: (AUG, 11),
154
+ 2020: (JUL, 31),
155
+ 2021: (JUL, 20),
156
+ 2022: (JUL, 9),
157
+ 2023: (JUN, 28),
158
+ 2024: (JUN, 16),
159
+ 2025: (JUN, 6),
160
+ }
161
+
162
+ # https://web.archive.org/web/20241012125707/https://www.timeanddate.com/holidays/libya/eid-al-fitr
163
+ EID_AL_FITR_DATES = {
164
+ 2012: (AUG, 19),
165
+ 2013: (AUG, 8),
166
+ 2014: (JUL, 29),
167
+ 2015: (JUL, 18),
168
+ 2016: (JUL, 7),
169
+ 2017: (JUN, 26),
170
+ 2018: (JUN, 15),
171
+ 2019: (JUN, 4),
172
+ 2020: (MAY, 24),
173
+ 2021: (MAY, 13),
174
+ 2022: (MAY, 2),
175
+ 2023: (APR, 21),
176
+ 2024: (APR, 10),
177
+ 2025: (MAR, 31),
178
+ }
179
+
180
+ # https://web.archive.org/web/20250418094505/https://www.timeanddate.com/holidays/libya/muharram-new-year
181
+ HIJRI_NEW_YEAR_DATES = {
182
+ 2012: (NOV, 15),
183
+ 2013: (NOV, 5),
184
+ 2014: (OCT, 25),
185
+ 2015: (OCT, 15),
186
+ 2016: (OCT, 3),
187
+ 2017: (SEP, 22),
188
+ 2018: (SEP, 12),
189
+ 2019: (AUG, 31),
190
+ 2020: (AUG, 20),
191
+ 2021: (AUG, 10),
192
+ 2022: (JUL, 30),
193
+ 2023: (JUL, 19),
194
+ 2024: (JUL, 7),
195
+ 2025: (JUN, 26),
196
+ }
197
+
198
+ # https://web.archive.org/web/20241213175353/https://www.timeanddate.com/holidays/libya/prophet-birthday
199
+ # https://web.archive.org/web/20250629084607/https://lawsociety.ly/legislation/قرار-رقم-1299-لسنة-2019-م-بشأن-عطلة-ذكرى-المولد/
200
+ MAWLID_DATES = {
201
+ 2012: (FEB, 5),
202
+ 2013: (JAN, 24),
203
+ 2014: (JAN, 14),
204
+ 2015: ((JAN, 3), (DEC, 23)),
205
+ 2016: (DEC, 12),
206
+ 2017: (DEC, 1),
207
+ 2018: (NOV, 21),
208
+ 2019: (NOV, 9),
209
+ 2020: (OCT, 29),
210
+ 2021: (OCT, 19),
211
+ 2022: (OCT, 8),
212
+ 2023: (SEP, 27),
213
+ 2024: (SEP, 15),
214
+ }
215
+
216
+
217
+ class LibyaStaticHolidays:
218
+ """Libya special holidays.
219
+
220
+ References:
221
+ * <https://web.archive.org/web/20250629084721/https://lawsociety.ly/legislation/قرار-رقم-555-لسنة-2023-م-بمنح-إجازة-رسمية/>
222
+ """
223
+
224
+ special_public_holidays = {
225
+ # Public Holiday.
226
+ 2023: (DEC, 10, tr("عطلة رسمية"))
227
+ }
@@ -0,0 +1,44 @@
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 HolidaysMQ(ChildEntity, France):
18
+ """Martinique 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/Martinique>
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_France>
26
+ """
27
+
28
+ country = "MQ"
29
+ parent_entity = France
30
+ parent_entity_subdivision_code = "972"
31
+ # Cession from the UK on May 30th, 1814.
32
+ start_year = 1815
33
+
34
+
35
+ class Martinique(HolidaysMQ):
36
+ pass
37
+
38
+
39
+ class MQ(HolidaysMQ):
40
+ pass
41
+
42
+
43
+ class MTQ(HolidaysMQ):
44
+ pass
@@ -0,0 +1,197 @@
1
+ # holidays
2
+ # --------
3
+ # A fast, efficient Python library for generating country, province and state
4
+ # specific sets of holidays on the fly. It aims to make determining whether a
5
+ # specific date is a holiday as fast and flexible as possible.
6
+ #
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
+ # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
+ # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
+ # Website: https://github.com/vacanza/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from gettext import gettext as tr
14
+
15
+ from holidays.calendars import _CustomHinduHolidays, _CustomIslamicHolidays
16
+ from holidays.calendars.gregorian import JAN, FEB, APR, MAY, JUN, JUL, AUG, SEP
17
+ from holidays.groups import (
18
+ ChineseCalendarHolidays,
19
+ ChristianHolidays,
20
+ HinduCalendarHolidays,
21
+ InternationalHolidays,
22
+ IslamicHolidays,
23
+ StaticHolidays,
24
+ )
25
+ from holidays.holiday_base import HolidayBase
26
+
27
+
28
+ class Mauritius(
29
+ HolidayBase,
30
+ ChineseCalendarHolidays,
31
+ ChristianHolidays,
32
+ HinduCalendarHolidays,
33
+ InternationalHolidays,
34
+ IslamicHolidays,
35
+ StaticHolidays,
36
+ ):
37
+ """Mauritius holidays.
38
+
39
+ References:
40
+ * [Public Holidays Act Consolidated 1991](https://web.archive.org/web/20250618211720/https://natlex.ilo.org/dyn/natlex2/natlex2/files/download/101480/MUS101480.pdf)
41
+ * [The Public Holidays (Amendment) Act 2015](https://web.archive.org/web/20240805131941/http://mauritiusassembly.govmu.org/mauritiusassembly/wp-content/uploads/2023/03/act2815.pdf)
42
+ * Mauritius became independent in 1968, but the earliest accessible version of the Public
43
+ Holidays Act is the one consolidated in 1991. The most recent update to the holiday
44
+ schedule reflected in that version dates back to 1987. Therefore, 1988 is being used
45
+ as the starting year.
46
+ * [Ougadi](https://en.wikipedia.org/wiki/Ugadi) is another name for the Telugu holiday,
47
+ Ugadi, which is celebrated on the same day as Gudi Padwa. Therefore, reusing Gudi Padwa
48
+ for adding Ougadi.
49
+ * [2021](https://web.archive.org/web/20210926053030/https://mauritius-paris.govmu.org/Pages/About%20Us/Public-Holidays-in-Mauritius-for-Year-2021.aspx)
50
+ * [2022](https://web.archive.org/web/20240703234017/https://mauritius-kualalumpur.govmu.org/Documents/Public%20Holiday/Public%20holidays%20-%202022.pdf)
51
+ * [2024](https://web.archive.org/web/20240703233951/https://mauritius-paris.govmu.org/Documents/Public%20Holidays/Notice%20-%20Final%20Public%20holidays%20-%202024.pdf)
52
+ * [2025](https://web.archive.org/web/20250113100149/https://pmo.govmu.org/Communique/Notice-Public_Holidays_2025.pdf)
53
+ """
54
+
55
+ country = "MU"
56
+ default_language = "en_MU"
57
+ # %s (estimated).
58
+ estimated_label = tr("%s (estimated)")
59
+ start_year = 1988
60
+ supported_languages = ("en_MU", "en_US")
61
+
62
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
63
+ """
64
+ Args:
65
+ islamic_show_estimated:
66
+ Whether to add "estimated" label to Islamic holidays name
67
+ if holiday date is estimated.
68
+ """
69
+ ChineseCalendarHolidays.__init__(self)
70
+ ChristianHolidays.__init__(self)
71
+ HinduCalendarHolidays.__init__(self, cls=MauritiusHinduHolidays)
72
+ InternationalHolidays.__init__(self)
73
+ IslamicHolidays.__init__(
74
+ self, cls=MauritiusIslamicHolidays, show_estimated=islamic_show_estimated
75
+ )
76
+ StaticHolidays.__init__(self, cls=MauritiusStaticHolidays)
77
+ super().__init__(*args, **kwargs)
78
+
79
+ def _populate_public_holidays(self):
80
+ # New Year's Day.
81
+ self._add_new_years_day(tr("New Year's Day"))
82
+
83
+ # Day after New Year's Day.
84
+ self._add_new_years_day_two(tr("Day after New Year's Day"))
85
+
86
+ # Abolition of Slavery.
87
+ self._add_holiday_feb_1(tr("Abolition of Slavery"))
88
+
89
+ # Independence and Republic Day.
90
+ self._add_holiday_mar_12(tr("Independence and Republic Day"))
91
+
92
+ # Labor Day.
93
+ self._add_labor_day(tr("Labour Day"))
94
+
95
+ if self._year >= 2016 and self._year % 2 == 0:
96
+ # Assumption Day.
97
+ self._add_assumption_of_mary_day(tr("Assumption of the Blessed Virgin Mary"))
98
+
99
+ if self._year <= 2015 or self._year % 2 != 0:
100
+ # All Saints' Day.
101
+ self._add_all_saints_day(tr("All Saints' Day"))
102
+
103
+ # Arrival of Indentured Laborers.
104
+ self._add_holiday_nov_2(tr("Arrival of Indentured Labourers"))
105
+
106
+ # Christmas Day.
107
+ self._add_christmas_day(tr("Christmas Day"))
108
+
109
+ # Chinese Spring Festival.
110
+ self._add_chinese_new_years_day(tr("Chinese Spring Festival"))
111
+
112
+ # Eid al-Fitr.
113
+ self._add_eid_al_fitr_day(tr("Eid-ul-Fitr"))
114
+
115
+ # Thaipusam.
116
+ self._add_thaipusam(tr("Thaipoosam Cavadee"))
117
+
118
+ # Maha Shivaratri.
119
+ self._add_maha_shivaratri(tr("Maha Shivaratree"))
120
+
121
+ # Ugadi.
122
+ self._add_gudi_padwa(tr("Ougadi"))
123
+
124
+ # Ganesh Chaturthi.
125
+ self._add_ganesh_chaturthi(tr("Ganesh Chaturthi"))
126
+
127
+ # Diwali.
128
+ self._add_diwali_india(tr("Divali"))
129
+
130
+
131
+ class MU(Mauritius):
132
+ pass
133
+
134
+
135
+ class MUS(Mauritius):
136
+ pass
137
+
138
+
139
+ class MauritiusHinduHolidays(_CustomHinduHolidays):
140
+ # https://web.archive.org/web/20241208154454/https://www.timeanddate.com/holidays/mauritius/ganesh-chaturthi
141
+ GANESH_CHATURTHI_DATES = {
142
+ 2015: (SEP, 18),
143
+ 2016: (SEP, 6),
144
+ 2017: (AUG, 25),
145
+ 2018: (SEP, 14),
146
+ 2019: (SEP, 3),
147
+ 2020: (AUG, 23),
148
+ 2021: (SEP, 11),
149
+ 2022: (SEP, 1),
150
+ 2023: (SEP, 20),
151
+ 2024: (SEP, 8),
152
+ 2025: (AUG, 28),
153
+ }
154
+
155
+ # https://web.archive.org/web/20240910225221/https://www.timeanddate.com/holidays/mauritius/thaipoosam-cavadee
156
+ THAIPUSAM_DATES = {
157
+ 2020: (FEB, 8),
158
+ 2021: (JAN, 28),
159
+ 2022: (JAN, 18),
160
+ 2023: (FEB, 4),
161
+ 2024: (JAN, 25),
162
+ 2025: (FEB, 11),
163
+ }
164
+
165
+
166
+ class MauritiusIslamicHolidays(_CustomIslamicHolidays):
167
+ # https://web.archive.org/web/20250420201326/https://www.timeanddate.com/holidays/mauritius/eid-al-fitr
168
+ EID_AL_FITR_DATES = {
169
+ 2016: (JUL, 6),
170
+ 2017: (JUN, 26),
171
+ 2018: (JUN, 16),
172
+ 2019: (JUN, 5),
173
+ 2020: (MAY, 24),
174
+ 2021: (MAY, 14),
175
+ 2022: (MAY, 3),
176
+ 2023: (APR, 22),
177
+ 2024: (APR, 11),
178
+ 2025: (APR, 1),
179
+ }
180
+
181
+
182
+ class MauritiusStaticHolidays(StaticHolidays):
183
+ """Mauritius special holidays.
184
+
185
+ References:
186
+ * [July 29, 2019 and September 9, 2019](https://web.archive.org/web/20250618211631/https://mauritiuslii.org/akn/mu/officialGazette/government-gazette/2019-07-27/78/eng@2019-07-27)
187
+ """
188
+
189
+ # Public Holiday.
190
+ public_holiday = tr("Public Holiday")
191
+
192
+ special_public_holidays = {
193
+ 2019: (
194
+ (JUL, 29, public_holiday),
195
+ (SEP, 9, public_holiday),
196
+ )
197
+ }