holidays 0.75__py3-none-any.whl → 0.77__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (595) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/mongolian.py +342 -0
  3. holidays/countries/__init__.py +41 -0
  4. holidays/countries/aland_islands.py +3 -19
  5. holidays/countries/algeria.py +1 -1
  6. holidays/countries/american_samoa.py +8 -20
  7. holidays/countries/aruba.py +42 -36
  8. holidays/countries/australia.py +6 -8
  9. holidays/countries/bahrain.py +1 -1
  10. holidays/countries/bonaire_sint_eustatius_and_saba.py +134 -0
  11. holidays/countries/british_virgin_islands.py +6 -6
  12. holidays/countries/cabo_verde.py +293 -0
  13. holidays/countries/cayman_islands.py +162 -0
  14. holidays/countries/central_african_republic.py +143 -0
  15. holidays/countries/christmas_island.py +215 -0
  16. holidays/countries/cocos_islands.py +7 -6
  17. holidays/countries/curacao.py +64 -38
  18. holidays/countries/dr_congo.py +139 -0
  19. holidays/countries/egypt.py +1 -1
  20. holidays/countries/falkland_islands.py +141 -0
  21. holidays/countries/faroe_islands.py +102 -0
  22. holidays/countries/france.py +224 -127
  23. holidays/countries/french_guiana.py +44 -0
  24. holidays/countries/french_polynesia.py +43 -0
  25. holidays/countries/french_southern_territories.py +3 -4
  26. holidays/countries/georgia.py +11 -5
  27. holidays/countries/gibraltar.py +219 -0
  28. holidays/countries/guadeloupe.py +44 -0
  29. holidays/countries/guam.py +8 -20
  30. holidays/countries/guernsey.py +6 -6
  31. holidays/countries/hongkong.py +1 -1
  32. holidays/countries/hungary.py +2 -1
  33. holidays/countries/iran.py +1 -1
  34. holidays/countries/isle_of_man.py +4 -0
  35. holidays/countries/israel.py +1 -1
  36. holidays/countries/japan.py +6 -8
  37. holidays/countries/jersey.py +2 -2
  38. holidays/countries/jordan.py +1 -1
  39. holidays/countries/kuwait.py +1 -1
  40. holidays/countries/lebanon.py +448 -0
  41. holidays/countries/libya.py +227 -0
  42. holidays/countries/mali.py +151 -0
  43. holidays/countries/martinique.py +44 -0
  44. holidays/countries/mauritius.py +197 -0
  45. holidays/countries/mayotte.py +44 -0
  46. holidays/countries/mongolia.py +202 -0
  47. holidays/countries/montserrat.py +177 -0
  48. holidays/countries/morocco.py +1 -1
  49. holidays/countries/nepal.py +8 -8
  50. holidays/countries/netherlands.py +7 -11
  51. holidays/countries/new_caledonia.py +43 -0
  52. holidays/countries/new_zealand.py +2 -2
  53. holidays/countries/niue.py +115 -0
  54. holidays/countries/norfolk_island.py +129 -0
  55. holidays/countries/northern_mariana_islands.py +8 -20
  56. holidays/countries/oman.py +1 -1
  57. holidays/countries/palau.py +1 -1
  58. holidays/countries/palestine.py +177 -0
  59. holidays/countries/peru.py +12 -0
  60. holidays/countries/puerto_rico.py +8 -20
  61. holidays/countries/reunion.py +44 -0
  62. holidays/countries/saint_barthelemy.py +43 -0
  63. holidays/countries/saint_martin.py +43 -0
  64. holidays/countries/saint_pierre_and_miquelon.py +43 -0
  65. holidays/countries/saint_vincent_and_the_grenadines.py +130 -0
  66. holidays/countries/san_marino.py +49 -26
  67. holidays/countries/saudi_arabia.py +3 -3
  68. holidays/countries/seychelles.py +1 -1
  69. holidays/countries/sint_maarten.py +118 -0
  70. holidays/countries/solomon_islands.py +2 -2
  71. holidays/countries/svalbard_and_jan_mayen.py +3 -9
  72. holidays/countries/taiwan.py +31 -9
  73. holidays/countries/tokelau.py +66 -0
  74. holidays/countries/tunisia.py +1 -1
  75. holidays/countries/turks_and_caicos_islands.py +3 -3
  76. holidays/countries/united_arab_emirates.py +1 -1
  77. holidays/countries/united_kingdom.py +2 -2
  78. holidays/countries/united_states.py +579 -403
  79. holidays/countries/united_states_minor_outlying_islands.py +8 -20
  80. holidays/countries/united_states_virgin_islands.py +8 -20
  81. holidays/countries/uzbekistan.py +19 -2
  82. holidays/countries/wallis_and_futuna.py +43 -0
  83. holidays/countries/yemen.py +2 -2
  84. holidays/groups/__init__.py +1 -0
  85. holidays/groups/chinese.py +11 -0
  86. holidays/groups/christian.py +10 -10
  87. holidays/groups/eastern.py +1 -1
  88. holidays/groups/hebrew.py +2 -2
  89. holidays/groups/islamic.py +17 -0
  90. holidays/groups/mongolian.py +103 -0
  91. holidays/holiday_base.py +11 -6
  92. holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
  93. holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
  94. holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
  95. holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
  96. holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
  97. holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
  98. holidays/locale/ar/LC_MESSAGES/EG.mo +0 -0
  99. holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
  100. holidays/locale/ar/LC_MESSAGES/JO.mo +0 -0
  101. holidays/locale/ar/LC_MESSAGES/KW.mo +0 -0
  102. holidays/locale/ar/LC_MESSAGES/LB.mo +0 -0
  103. holidays/locale/ar/LC_MESSAGES/LY.mo +0 -0
  104. holidays/locale/ar/LC_MESSAGES/MA.mo +0 -0
  105. holidays/locale/ar/LC_MESSAGES/OM.mo +0 -0
  106. holidays/locale/ar/LC_MESSAGES/PS.mo +0 -0
  107. holidays/locale/ar/LC_MESSAGES/SA.mo +0 -0
  108. holidays/locale/ar/LC_MESSAGES/TN.mo +0 -0
  109. holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
  110. holidays/locale/ar/LC_MESSAGES/YE.mo +0 -0
  111. holidays/locale/az/LC_MESSAGES/AZ.mo +0 -0
  112. holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
  113. holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
  114. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  115. holidays/locale/cnr/LC_MESSAGES/ME.mo +0 -0
  116. holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
  117. holidays/locale/da/LC_MESSAGES/DK.mo +0 -0
  118. holidays/locale/da/LC_MESSAGES/FO.mo +0 -0
  119. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  120. holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
  121. holidays/locale/de/LC_MESSAGES/BE.mo +0 -0
  122. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  123. holidays/locale/de/LC_MESSAGES/CV.mo +0 -0
  124. holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
  125. holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
  126. holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
  127. holidays/locale/de/LC_MESSAGES/PL.mo +0 -0
  128. holidays/locale/el/LC_MESSAGES/CY.mo +0 -0
  129. holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
  130. holidays/locale/en_AU/LC_MESSAGES/AU.mo +0 -0
  131. holidays/locale/en_BQ/LC_MESSAGES/BQ.mo +0 -0
  132. holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
  133. holidays/locale/en_CX/LC_MESSAGES/CX.mo +0 -0
  134. holidays/locale/en_CY/LC_MESSAGES/CY.mo +0 -0
  135. holidays/locale/en_GB/LC_MESSAGES/FK.mo +0 -0
  136. holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
  137. holidays/locale/en_GB/LC_MESSAGES/GI.mo +0 -0
  138. holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
  139. holidays/locale/en_GB/LC_MESSAGES/KY.mo +0 -0
  140. holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
  141. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  142. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  143. holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
  144. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  145. holidays/locale/en_MS/LC_MESSAGES/MS.mo +0 -0
  146. holidays/locale/en_MU/LC_MESSAGES/MU.mo +0 -0
  147. holidays/locale/en_NF/LC_MESSAGES/NF.mo +0 -0
  148. holidays/locale/en_NU/LC_MESSAGES/NU.mo +0 -0
  149. holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
  150. holidays/locale/en_SC/LC_MESSAGES/SC.mo +0 -0
  151. holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
  152. holidays/locale/en_SL/LC_MESSAGES/SL.mo +0 -0
  153. holidays/locale/en_TK/LC_MESSAGES/TK.mo +0 -0
  154. holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
  155. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  156. holidays/locale/en_US/LC_MESSAGES/AF.mo +0 -0
  157. holidays/locale/en_US/LC_MESSAGES/AL.mo +0 -0
  158. holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
  159. holidays/locale/en_US/LC_MESSAGES/AO.mo +0 -0
  160. holidays/locale/en_US/LC_MESSAGES/AS.mo +0 -0
  161. holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
  162. holidays/locale/en_US/LC_MESSAGES/AU.mo +0 -0
  163. holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
  164. holidays/locale/en_US/LC_MESSAGES/AX.mo +0 -0
  165. holidays/locale/en_US/LC_MESSAGES/AZ.mo +0 -0
  166. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  167. holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
  168. holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
  169. holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
  170. holidays/locale/en_US/LC_MESSAGES/BL.mo +0 -0
  171. holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
  172. holidays/locale/en_US/LC_MESSAGES/BO.mo +0 -0
  173. holidays/locale/en_US/LC_MESSAGES/BQ.mo +0 -0
  174. holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
  175. holidays/locale/en_US/LC_MESSAGES/BVMF.mo +0 -0
  176. holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
  177. holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
  178. holidays/locale/en_US/LC_MESSAGES/CD.mo +0 -0
  179. holidays/locale/en_US/LC_MESSAGES/CF.mo +0 -0
  180. holidays/locale/en_US/LC_MESSAGES/CG.mo +0 -0
  181. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  182. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  183. holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
  184. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  185. holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
  186. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  187. holidays/locale/en_US/LC_MESSAGES/CV.mo +0 -0
  188. holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
  189. holidays/locale/en_US/LC_MESSAGES/CX.mo +0 -0
  190. holidays/locale/en_US/LC_MESSAGES/CY.mo +0 -0
  191. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  192. holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
  193. holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
  194. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  195. holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
  196. holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
  197. holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
  198. holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
  199. holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
  200. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  201. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  202. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  203. holidays/locale/en_US/LC_MESSAGES/FK.mo +0 -0
  204. holidays/locale/en_US/LC_MESSAGES/FO.mo +0 -0
  205. holidays/locale/en_US/LC_MESSAGES/FR.mo +0 -0
  206. holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
  207. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  208. holidays/locale/en_US/LC_MESSAGES/GF.mo +0 -0
  209. holidays/locale/en_US/LC_MESSAGES/GI.mo +0 -0
  210. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  211. holidays/locale/en_US/LC_MESSAGES/GP.mo +0 -0
  212. holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
  213. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  214. holidays/locale/en_US/LC_MESSAGES/GU.mo +0 -0
  215. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  216. holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
  217. holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
  218. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  219. holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
  220. holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
  221. holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
  222. holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
  224. holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
  225. holidays/locale/en_US/LC_MESSAGES/JO.mo +0 -0
  226. holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
  227. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  228. holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
  229. holidays/locale/en_US/LC_MESSAGES/KW.mo +0 -0
  230. holidays/locale/en_US/LC_MESSAGES/KY.mo +0 -0
  231. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  232. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  233. holidays/locale/en_US/LC_MESSAGES/LB.mo +0 -0
  234. holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
  235. holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
  236. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  237. holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
  238. holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
  239. holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
  240. holidays/locale/en_US/LC_MESSAGES/LY.mo +0 -0
  241. holidays/locale/en_US/LC_MESSAGES/MA.mo +0 -0
  242. holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
  243. holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
  244. holidays/locale/en_US/LC_MESSAGES/ME.mo +0 -0
  245. holidays/locale/en_US/LC_MESSAGES/MF.mo +0 -0
  246. holidays/locale/en_US/LC_MESSAGES/MG.mo +0 -0
  247. holidays/locale/en_US/LC_MESSAGES/ML.mo +0 -0
  248. holidays/locale/en_US/LC_MESSAGES/MN.mo +0 -0
  249. holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
  250. holidays/locale/en_US/LC_MESSAGES/MP.mo +0 -0
  251. holidays/locale/en_US/LC_MESSAGES/MQ.mo +0 -0
  252. holidays/locale/en_US/LC_MESSAGES/MS.mo +0 -0
  253. holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
  254. holidays/locale/en_US/LC_MESSAGES/MU.mo +0 -0
  255. holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
  256. holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
  257. holidays/locale/en_US/LC_MESSAGES/MZ.mo +0 -0
  258. holidays/locale/en_US/LC_MESSAGES/NC.mo +0 -0
  259. holidays/locale/en_US/LC_MESSAGES/NF.mo +0 -0
  260. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  261. holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
  262. holidays/locale/en_US/LC_MESSAGES/NO.mo +0 -0
  263. holidays/locale/en_US/LC_MESSAGES/NU.mo +0 -0
  264. holidays/locale/en_US/LC_MESSAGES/OM.mo +0 -0
  265. holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
  266. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  267. holidays/locale/en_US/LC_MESSAGES/PF.mo +0 -0
  268. holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
  269. holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
  270. holidays/locale/en_US/LC_MESSAGES/PM.mo +0 -0
  271. holidays/locale/en_US/LC_MESSAGES/PR.mo +0 -0
  272. holidays/locale/en_US/LC_MESSAGES/PS.mo +0 -0
  273. holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
  274. holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
  275. holidays/locale/en_US/LC_MESSAGES/RE.mo +0 -0
  276. holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
  277. holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
  278. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  279. holidays/locale/en_US/LC_MESSAGES/SA.mo +0 -0
  280. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  281. holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
  282. holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
  283. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  284. holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
  285. holidays/locale/en_US/LC_MESSAGES/SL.mo +0 -0
  286. holidays/locale/en_US/LC_MESSAGES/SM.mo +0 -0
  287. holidays/locale/en_US/LC_MESSAGES/SV.mo +0 -0
  288. holidays/locale/en_US/LC_MESSAGES/SX.mo +0 -0
  289. holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
  290. holidays/locale/en_US/LC_MESSAGES/TF.mo +0 -0
  291. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  292. holidays/locale/en_US/LC_MESSAGES/TK.mo +0 -0
  293. holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
  294. holidays/locale/en_US/LC_MESSAGES/TN.mo +0 -0
  295. holidays/locale/en_US/LC_MESSAGES/TO.mo +0 -0
  296. holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
  297. holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
  298. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  299. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  300. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  301. holidays/locale/en_US/LC_MESSAGES/UM.mo +0 -0
  302. holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
  303. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  304. holidays/locale/en_US/LC_MESSAGES/UZ.mo +0 -0
  305. holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
  306. holidays/locale/en_US/LC_MESSAGES/VC.mo +0 -0
  307. holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
  308. holidays/locale/en_US/LC_MESSAGES/VI.mo +0 -0
  309. holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
  310. holidays/locale/en_US/LC_MESSAGES/WF.mo +0 -0
  311. holidays/locale/en_US/LC_MESSAGES/YE.mo +0 -0
  312. holidays/locale/en_US/LC_MESSAGES/YT.mo +0 -0
  313. holidays/locale/en_VC/LC_MESSAGES/VC.mo +0 -0
  314. holidays/locale/es/LC_MESSAGES/BO.mo +0 -0
  315. holidays/locale/es/LC_MESSAGES/CL.mo +0 -0
  316. holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
  317. holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
  318. holidays/locale/es/LC_MESSAGES/CU.mo +0 -0
  319. holidays/locale/es/LC_MESSAGES/CV.mo +0 -0
  320. holidays/locale/es/LC_MESSAGES/DO.mo +0 -0
  321. holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
  322. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  323. holidays/locale/es/LC_MESSAGES/GT.mo +0 -0
  324. holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
  325. holidays/locale/es/LC_MESSAGES/HT.mo +0 -0
  326. holidays/locale/es/LC_MESSAGES/MX.mo +0 -0
  327. holidays/locale/es/LC_MESSAGES/NI.mo +0 -0
  328. holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
  329. holidays/locale/es/LC_MESSAGES/PE.mo +0 -0
  330. holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
  331. holidays/locale/es/LC_MESSAGES/SV.mo +0 -0
  332. holidays/locale/es/LC_MESSAGES/UY.mo +0 -0
  333. holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
  334. holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
  335. holidays/locale/fa_AF/LC_MESSAGES/AF.mo +0 -0
  336. holidays/locale/fa_IR/LC_MESSAGES/IR.mo +0 -0
  337. holidays/locale/fi/LC_MESSAGES/AX.mo +0 -0
  338. holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
  339. holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
  340. holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
  341. holidays/locale/fo/LC_MESSAGES/FO.mo +0 -0
  342. holidays/locale/fr/LC_MESSAGES/BE.mo +0 -0
  343. holidays/locale/fr/LC_MESSAGES/BL.mo +0 -0
  344. holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
  345. holidays/locale/fr/LC_MESSAGES/CD.mo +0 -0
  346. holidays/locale/fr/LC_MESSAGES/CF.mo +0 -0
  347. holidays/locale/fr/LC_MESSAGES/CG.mo +0 -0
  348. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  349. holidays/locale/fr/LC_MESSAGES/CV.mo +0 -0
  350. holidays/locale/fr/LC_MESSAGES/DJ.mo +0 -0
  351. holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
  352. holidays/locale/fr/LC_MESSAGES/FR.mo +0 -0
  353. holidays/locale/fr/LC_MESSAGES/GF.mo +0 -0
  354. holidays/locale/fr/LC_MESSAGES/GP.mo +0 -0
  355. holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
  356. holidays/locale/fr/LC_MESSAGES/MA.mo +0 -0
  357. holidays/locale/fr/LC_MESSAGES/MC.mo +0 -0
  358. holidays/locale/fr/LC_MESSAGES/MF.mo +0 -0
  359. holidays/locale/fr/LC_MESSAGES/ML.mo +0 -0
  360. holidays/locale/fr/LC_MESSAGES/MQ.mo +0 -0
  361. holidays/locale/fr/LC_MESSAGES/NC.mo +0 -0
  362. holidays/locale/fr/LC_MESSAGES/PF.mo +0 -0
  363. holidays/locale/fr/LC_MESSAGES/PM.mo +0 -0
  364. holidays/locale/fr/LC_MESSAGES/RE.mo +0 -0
  365. holidays/locale/fr/LC_MESSAGES/TF.mo +0 -0
  366. holidays/locale/fr/LC_MESSAGES/WF.mo +0 -0
  367. holidays/locale/fr/LC_MESSAGES/YT.mo +0 -0
  368. holidays/locale/fr_HT/LC_MESSAGES/HT.mo +0 -0
  369. holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
  370. holidays/locale/he/LC_MESSAGES/IL.mo +0 -0
  371. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  372. holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
  373. holidays/locale/ht/LC_MESSAGES/HT.mo +0 -0
  374. holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
  375. holidays/locale/hy/LC_MESSAGES/AM.mo +0 -0
  376. holidays/locale/id/LC_MESSAGES/ID.mo +0 -0
  377. holidays/locale/is/LC_MESSAGES/FO.mo +0 -0
  378. holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
  379. holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
  380. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  381. holidays/locale/it/LC_MESSAGES/SM.mo +0 -0
  382. holidays/locale/it/LC_MESSAGES/VA.mo +0 -0
  383. holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
  384. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  385. holidays/locale/kk/LC_MESSAGES/KZ.mo +0 -0
  386. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  387. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  388. holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
  389. holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
  390. holidays/locale/lo/LC_MESSAGES/LA.mo +0 -0
  391. holidays/locale/lt/LC_MESSAGES/LT.mo +0 -0
  392. holidays/locale/lv/LC_MESSAGES/LV.mo +0 -0
  393. holidays/locale/mg/LC_MESSAGES/MG.mo +0 -0
  394. holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
  395. holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
  396. holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
  397. holidays/locale/mt/LC_MESSAGES/MT.mo +0 -0
  398. holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
  399. holidays/locale/nl/LC_MESSAGES/BE.mo +0 -0
  400. holidays/locale/nl/LC_MESSAGES/BQ.mo +0 -0
  401. holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
  402. holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
  403. holidays/locale/nl/LC_MESSAGES/SX.mo +0 -0
  404. holidays/locale/no/LC_MESSAGES/FO.mo +0 -0
  405. holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
  406. holidays/locale/no/LC_MESSAGES/NO.mo +0 -0
  407. holidays/locale/pap_AW/LC_MESSAGES/AW.mo +0 -0
  408. holidays/locale/pap_BQ/LC_MESSAGES/BQ.mo +0 -0
  409. holidays/locale/pap_CW/LC_MESSAGES/CW.mo +0 -0
  410. holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
  411. holidays/locale/ps_AF/LC_MESSAGES/AF.mo +0 -0
  412. holidays/locale/pt_AO/LC_MESSAGES/AO.mo +0 -0
  413. holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
  414. holidays/locale/pt_BR/LC_MESSAGES/BVMF.mo +0 -0
  415. holidays/locale/pt_CV/LC_MESSAGES/CV.mo +0 -0
  416. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  417. holidays/locale/pt_MZ/LC_MESSAGES/MZ.mo +0 -0
  418. holidays/locale/pt_PT/LC_MESSAGES/PT.mo +0 -0
  419. holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
  420. holidays/locale/ro/LC_MESSAGES/MD.mo +0 -0
  421. holidays/locale/ro/LC_MESSAGES/RO.mo +0 -0
  422. holidays/locale/ru/LC_MESSAGES/BY.mo +0 -0
  423. holidays/locale/ru/LC_MESSAGES/RU.mo +0 -0
  424. holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
  425. holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
  426. holidays/locale/sk/LC_MESSAGES/SK.mo +0 -0
  427. holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
  428. holidays/locale/sq/LC_MESSAGES/AL.mo +0 -0
  429. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  430. holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
  431. holidays/locale/sv/LC_MESSAGES/FO.mo +0 -0
  432. holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
  433. holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
  434. holidays/locale/sv_FI/LC_MESSAGES/AX.mo +0 -0
  435. holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
  436. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  437. holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
  438. holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
  439. holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
  440. holidays/locale/th/LC_MESSAGES/AS.mo +0 -0
  441. holidays/locale/th/LC_MESSAGES/AU.mo +0 -0
  442. holidays/locale/th/LC_MESSAGES/AX.mo +0 -0
  443. holidays/locale/th/LC_MESSAGES/BL.mo +0 -0
  444. holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
  445. holidays/locale/th/LC_MESSAGES/BY.mo +0 -0
  446. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  447. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  448. holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
  449. holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
  450. holidays/locale/th/LC_MESSAGES/FR.mo +0 -0
  451. holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
  452. holidays/locale/th/LC_MESSAGES/GF.mo +0 -0
  453. holidays/locale/th/LC_MESSAGES/GP.mo +0 -0
  454. holidays/locale/th/LC_MESSAGES/GU.mo +0 -0
  455. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  456. holidays/locale/th/LC_MESSAGES/ID.mo +0 -0
  457. holidays/locale/th/LC_MESSAGES/IL.mo +0 -0
  458. holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
  459. holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
  460. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  461. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  462. holidays/locale/th/LC_MESSAGES/LA.mo +0 -0
  463. holidays/locale/th/LC_MESSAGES/MF.mo +0 -0
  464. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  465. holidays/locale/th/LC_MESSAGES/MP.mo +0 -0
  466. holidays/locale/th/LC_MESSAGES/MQ.mo +0 -0
  467. holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
  468. holidays/locale/th/LC_MESSAGES/NC.mo +0 -0
  469. holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
  470. holidays/locale/th/LC_MESSAGES/PF.mo +0 -0
  471. holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
  472. holidays/locale/th/LC_MESSAGES/PM.mo +0 -0
  473. holidays/locale/th/LC_MESSAGES/PR.mo +0 -0
  474. holidays/locale/th/LC_MESSAGES/RE.mo +0 -0
  475. holidays/locale/th/LC_MESSAGES/RU.mo +0 -0
  476. holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
  477. holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
  478. holidays/locale/th/LC_MESSAGES/TF.mo +0 -0
  479. holidays/locale/th/LC_MESSAGES/TH.mo +0 -0
  480. holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
  481. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  482. holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
  483. holidays/locale/th/LC_MESSAGES/UM.mo +0 -0
  484. holidays/locale/th/LC_MESSAGES/US.mo +0 -0
  485. holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
  486. holidays/locale/th/LC_MESSAGES/VI.mo +0 -0
  487. holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
  488. holidays/locale/th/LC_MESSAGES/WF.mo +0 -0
  489. holidays/locale/th/LC_MESSAGES/YT.mo +0 -0
  490. holidays/locale/tkl/LC_MESSAGES/TK.mo +0 -0
  491. holidays/locale/to/LC_MESSAGES/TO.mo +0 -0
  492. holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
  493. holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
  494. holidays/locale/uk/LC_MESSAGES/AL.mo +0 -0
  495. holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
  496. holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
  497. holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
  498. holidays/locale/uk/LC_MESSAGES/AX.mo +0 -0
  499. holidays/locale/uk/LC_MESSAGES/AZ.mo +0 -0
  500. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  501. holidays/locale/uk/LC_MESSAGES/BE.mo +0 -0
  502. holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
  503. holidays/locale/uk/LC_MESSAGES/BL.mo +0 -0
  504. holidays/locale/uk/LC_MESSAGES/BO.mo +0 -0
  505. holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
  506. holidays/locale/uk/LC_MESSAGES/BVMF.mo +0 -0
  507. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  508. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  509. holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
  510. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  511. holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
  512. holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
  513. holidays/locale/uk/LC_MESSAGES/CY.mo +0 -0
  514. holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
  515. holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
  516. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  517. holidays/locale/uk/LC_MESSAGES/DO.mo +0 -0
  518. holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
  519. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  520. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  521. holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
  522. holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
  523. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  524. holidays/locale/uk/LC_MESSAGES/GF.mo +0 -0
  525. holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
  526. holidays/locale/uk/LC_MESSAGES/GP.mo +0 -0
  527. holidays/locale/uk/LC_MESSAGES/GR.mo +0 -0
  528. holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
  529. holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
  530. holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
  531. holidays/locale/uk/LC_MESSAGES/ID.mo +0 -0
  532. holidays/locale/uk/LC_MESSAGES/IL.mo +0 -0
  533. holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
  534. holidays/locale/uk/LC_MESSAGES/KZ.mo +0 -0
  535. holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
  536. holidays/locale/uk/LC_MESSAGES/LT.mo +0 -0
  537. holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
  538. holidays/locale/uk/LC_MESSAGES/LV.mo +0 -0
  539. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  540. holidays/locale/uk/LC_MESSAGES/MD.mo +0 -0
  541. holidays/locale/uk/LC_MESSAGES/ME.mo +0 -0
  542. holidays/locale/uk/LC_MESSAGES/MF.mo +0 -0
  543. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  544. holidays/locale/uk/LC_MESSAGES/MQ.mo +0 -0
  545. holidays/locale/uk/LC_MESSAGES/MX.mo +0 -0
  546. holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
  547. holidays/locale/uk/LC_MESSAGES/NC.mo +0 -0
  548. holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
  549. holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
  550. holidays/locale/uk/LC_MESSAGES/NO.mo +0 -0
  551. holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
  552. holidays/locale/uk/LC_MESSAGES/PE.mo +0 -0
  553. holidays/locale/uk/LC_MESSAGES/PF.mo +0 -0
  554. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  555. holidays/locale/uk/LC_MESSAGES/PM.mo +0 -0
  556. holidays/locale/uk/LC_MESSAGES/PT.mo +0 -0
  557. holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
  558. holidays/locale/uk/LC_MESSAGES/RE.mo +0 -0
  559. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  560. holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
  561. holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
  562. holidays/locale/uk/LC_MESSAGES/SK.mo +0 -0
  563. holidays/locale/uk/LC_MESSAGES/SM.mo +0 -0
  564. holidays/locale/uk/LC_MESSAGES/SV.mo +0 -0
  565. holidays/locale/uk/LC_MESSAGES/TF.mo +0 -0
  566. holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
  567. holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
  568. holidays/locale/uk/LC_MESSAGES/UY.mo +0 -0
  569. holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
  570. holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
  571. holidays/locale/uk/LC_MESSAGES/WF.mo +0 -0
  572. holidays/locale/uk/LC_MESSAGES/YT.mo +0 -0
  573. holidays/locale/uz/LC_MESSAGES/UZ.mo +0 -0
  574. holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
  575. holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
  576. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  577. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  578. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  579. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  580. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  581. holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
  582. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  583. holidays/mixins/__init__.py +18 -0
  584. holidays/mixins/child_entity.py +43 -0
  585. holidays/observed_holiday_base.py +4 -1
  586. holidays/registry.py +32 -0
  587. holidays/version.py +1 -1
  588. {holidays-0.75.dist-info → holidays-0.77.dist-info}/METADATA +239 -15
  589. holidays-0.77.dist-info/RECORD +838 -0
  590. {holidays-0.75.dist-info → holidays-0.77.dist-info}/licenses/CONTRIBUTORS +4 -0
  591. holidays-0.75.dist-info/RECORD +0 -687
  592. /holidays/{mixins.py → mixins/preferred_discretionary_holidays.py} +0 -0
  593. {holidays-0.75.dist-info → holidays-0.77.dist-info}/WHEEL +0 -0
  594. {holidays-0.75.dist-info → holidays-0.77.dist-info}/licenses/LICENSE +0 -0
  595. {holidays-0.75.dist-info → holidays-0.77.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,448 @@
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.calendars.julian import JULIAN_CALENDAR
18
+ from holidays.constants import BANK, GOVERNMENT, PUBLIC
19
+ from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
20
+ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
21
+
22
+
23
+ class Lebanon(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
24
+ """Lebanon holidays.
25
+
26
+ References:
27
+ * [Decree No. 35 of 1977](https://web.archive.org/web/20250704170408/http://legiliban.ul.edu.lb/LawArticles.aspx?LawTreeSectionID=204659&LawID=202420&language=ar)
28
+ * [Decree No. 2512 of 1985](https://web.archive.org/web/20250704170328/http://legiliban.ul.edu.lb/LawArticles.aspx?LawTreeSectionID=186992&LawID=184753&language=ar)
29
+ * [Decree No. 5112 of 1994](https://web.archive.org/web/20250704170257/http://legiliban.ul.edu.lb/LawArticles.aspx?LawTreeSectionID=173902&LawID=171663&language=ar)
30
+ * [Decree No. 15215 of 2005](https://web.archive.org/web/20250704170428/http://legiliban.ul.edu.lb/LawArticles.aspx?LawTreeSectionID=213954&LawID=211715&language=ar)
31
+ * [Decree No. 16237 of 2006](https://web.archive.org/web/20250704170424/http://legiliban.ul.edu.lb/LawArticles.aspx?LawTreeSectionID=215180&LawID=212941&language=ar)
32
+ * [Decree No. 3369 of 2010](https://web.archive.org/web/20250704170437/http://legiliban.ul.edu.lb/LawArticles.aspx?LawTreeSectionID=227216&LawID=224978&language=ar)
33
+ * <https://web.archive.org/web/20200925173058/https://www.abl.org.lb/english/abl-and-banking-sector-news/official-holidays>
34
+ """
35
+
36
+ country = "LB"
37
+ default_language = "ar"
38
+ # %s (estimated).
39
+ estimated_label = tr("%s (المقدرة)")
40
+ # %s (observed).
41
+ observed_label = tr("%s (يُحتفل به)")
42
+ # %s (observed, estimated).
43
+ observed_estimated_label = tr("%s (يُحتفل به، المقدرة)")
44
+ start_year = 1978
45
+ supported_categories = (BANK, GOVERNMENT, PUBLIC)
46
+ supported_languages = ("ar", "en_US")
47
+
48
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
49
+ """
50
+ Args:
51
+ islamic_show_estimated:
52
+ Whether to add "estimated" label to Islamic holidays name
53
+ if holiday date is estimated.
54
+ """
55
+ ChristianHolidays.__init__(self)
56
+ InternationalHolidays.__init__(self)
57
+ IslamicHolidays.__init__(
58
+ self, cls=LebanonIslamicHolidays, show_estimated=islamic_show_estimated
59
+ )
60
+ super().__init__(*args, **kwargs)
61
+
62
+ def _populate_public_holidays(self):
63
+ # New Year's Day.
64
+ self._add_new_years_day(tr("رأس السنة الميلادية"))
65
+
66
+ if self._year >= 1995:
67
+ # Armenian Orthodox Christmas Day.
68
+ self._add_holiday_jan_6(tr("عيد الميلاد عند الطوائف الارمنية الارثوذكسية"))
69
+
70
+ # Saint Maron's Day.
71
+ self._add_holiday_feb_9(tr("عيد مار مارون"))
72
+
73
+ if 1995 <= self._year <= 2005 or self._year >= 2010:
74
+ # Feast of the Annunciation.
75
+ self._add_holiday_mar_25(tr("عيد بشارة السيدة مريم العذراء"))
76
+
77
+ # Catholic Good Friday.
78
+ catholic_good_friday = self._add_good_friday(tr("الجمعة العظيمة عند الطوائف الكاثوليكية"))
79
+
80
+ orthodox_good_friday = self._add_good_friday(
81
+ # Orthodox Good Friday.
82
+ tr("الجمعة العظيمة عند الطوائف الأرثوذكسية"),
83
+ calendar=JULIAN_CALENDAR,
84
+ )
85
+
86
+ if orthodox_good_friday == catholic_good_friday:
87
+ # Orthodox Holy Saturday.
88
+ self._add_holy_saturday(tr("سبت النور للطائفة الأرثوذكسية"))
89
+
90
+ if 1986 <= self._year <= 1994:
91
+ catholic_easter_monday = self._add_easter_monday(
92
+ # Catholic Easter Monday.
93
+ tr("اثنين الفصح عند الطوائف الكاثوليكية")
94
+ )
95
+
96
+ orthodox_easter_monday = self._add_easter_monday(
97
+ # Orthodox Easter Monday.
98
+ tr("اثنين الفصح عند الطوائف الأرثوذكسية"),
99
+ calendar=JULIAN_CALENDAR,
100
+ )
101
+
102
+ if catholic_easter_monday == orthodox_easter_monday:
103
+ # Orthodox Easter Tuesday.
104
+ self._add_easter_tuesday(tr("ثلاثاء الفصح للطوائف الأرثوذكسية"))
105
+
106
+ # Labor Day.
107
+ dt = self._add_labor_day(tr("عيد العمل"))
108
+ if self._year >= 1995:
109
+ self._add_observed(dt, rule=SUN_TO_NEXT_MON)
110
+
111
+ # Martyrs' Day.
112
+ name = tr("عيد الشهداء")
113
+ if self._year <= 1993:
114
+ self._add_holiday_1st_sun_from_may_6(name)
115
+ elif self._year >= 2006:
116
+ self._add_holiday_1st_sun_of_may(name)
117
+
118
+ if self._year >= 2006:
119
+ # Resistance and Liberation Day.
120
+ self._add_holiday_2nd_sun_of_may(tr("عيد المقاومة والتحرير"))
121
+
122
+ # Assumption Day.
123
+ self._add_assumption_of_mary_day(tr("عيد انتقال العذراء"))
124
+
125
+ if 1985 <= self._year <= 1993:
126
+ # All Saints' Day.
127
+ self._add_all_saints_day(tr("عيد جميع القديسين"))
128
+
129
+ # Independence Day.
130
+ self._add_holiday_nov_22(tr("ذكرى الاستقلال"))
131
+
132
+ # Christmas Day.
133
+ self._add_christmas_day(tr("عيد الميلاد"))
134
+
135
+ # Islamic New Year.
136
+ self._add_islamic_new_year_day(tr("عيد رأس السنة الهجرية"))
137
+
138
+ # Ashura.
139
+ self._add_ashura_day(tr("عاشوراء"))
140
+
141
+ # Prophet's Birthday.
142
+ self._add_mawlid_day(tr("ذكرى المولد النبوي الشريف"))
143
+
144
+ # Eid al-Fitr.
145
+ name = tr("عيد الفطر")
146
+ self._add_eid_al_fitr_day(name)
147
+ if self._year >= 1986:
148
+ self._add_eid_al_fitr_day_two(name)
149
+ if self._year <= 1994:
150
+ self._add_eid_al_fitr_day_three(name)
151
+
152
+ # Eid al-Adha.
153
+ name = tr("عيد الأضحى")
154
+ self._add_eid_al_adha_day(name)
155
+ self._add_eid_al_adha_day_two(name)
156
+ if 1986 <= self._year <= 1993:
157
+ self._add_eid_al_adha_day_three(name)
158
+
159
+ def _populate_bank_holidays(self):
160
+ if self._year >= 2020:
161
+ # Rafik Hariri Memorial Day.
162
+ self._add_holiday_feb_14(tr("يوم ذكرى رفيق الحريري"))
163
+
164
+ # Catholic Easter Monday.
165
+ self._add_easter_monday(tr("اثنين الفصح عند الطوائف الكاثوليكية"))
166
+
167
+ self._add_easter_monday(
168
+ # Orthodox Easter Monday.
169
+ tr("اثنين الفصح عند الطوائف الأرثوذكسية"),
170
+ calendar=JULIAN_CALENDAR,
171
+ )
172
+
173
+ def _populate_government_holidays(self):
174
+ if self._year >= 2020:
175
+ # Rafik Hariri Memorial Day.
176
+ self._add_holiday_feb_14(tr("يوم ذكرى رفيق الحريري"))
177
+
178
+ if self._year >= 2021:
179
+ # Anniversary of the tragedy of Beirut port explosion.
180
+ self._add_holiday_aug_4(tr("ذكرى مأساة انفجار مرفأ بيروت"))
181
+
182
+
183
+ class LB(Lebanon):
184
+ pass
185
+
186
+
187
+ class LBN(Lebanon):
188
+ pass
189
+
190
+
191
+ class LebanonIslamicHolidays(_CustomIslamicHolidays):
192
+ # https://web.archive.org/web/20250426220233/https://www.timeanddate.com/holidays/lebanon/first-day-ashura
193
+ ASHURA_DATES = {
194
+ 1978: (DEC, 11),
195
+ 1979: (NOV, 30),
196
+ 1980: (NOV, 18),
197
+ 1981: (NOV, 8),
198
+ 1982: (OCT, 28),
199
+ 1983: (OCT, 17),
200
+ 1984: (OCT, 6),
201
+ 1985: (SEP, 25),
202
+ 1986: (SEP, 15),
203
+ 1987: (SEP, 4),
204
+ 1988: (AUG, 23),
205
+ 1989: (AUG, 13),
206
+ 1990: (AUG, 2),
207
+ 1991: (JUL, 22),
208
+ 1992: (JUL, 11),
209
+ 1993: (JUN, 30),
210
+ 1994: (JUN, 19),
211
+ 1995: (JUN, 9),
212
+ 1996: (MAY, 28),
213
+ 1997: (MAY, 18),
214
+ 1998: (MAY, 7),
215
+ 1999: (APR, 26),
216
+ 2000: (APR, 15),
217
+ 2001: (APR, 4),
218
+ 2002: (MAR, 24),
219
+ 2003: (MAR, 14),
220
+ 2004: (MAR, 2),
221
+ 2005: (FEB, 19),
222
+ 2006: (FEB, 9),
223
+ 2007: (JAN, 29),
224
+ 2008: (JAN, 19),
225
+ 2009: ((JAN, 7), (DEC, 27)),
226
+ 2010: (DEC, 17),
227
+ 2011: (DEC, 6),
228
+ 2012: (NOV, 24),
229
+ 2013: (NOV, 14),
230
+ 2014: (NOV, 3),
231
+ 2015: (OCT, 24),
232
+ 2016: (OCT, 12),
233
+ 2017: (OCT, 1),
234
+ 2018: (SEP, 21),
235
+ 2019: (SEP, 10),
236
+ 2020: (AUG, 30),
237
+ 2021: (AUG, 19),
238
+ 2022: (AUG, 9),
239
+ 2023: (JUL, 28),
240
+ 2024: (JUL, 16),
241
+ }
242
+
243
+ # https://web.archive.org/web/20250316072400/https://www.timeanddate.com/holidays/lebanon/eid-al-adha
244
+ EID_AL_ADHA_DATES = {
245
+ 1978: (NOV, 11),
246
+ 1979: (NOV, 1),
247
+ 1980: (OCT, 20),
248
+ 1981: (OCT, 9),
249
+ 1982: (SEP, 29),
250
+ 1983: (SEP, 18),
251
+ 1984: (SEP, 6),
252
+ 1985: (AUG, 27),
253
+ 1986: (AUG, 16),
254
+ 1987: (AUG, 6),
255
+ 1988: (JUL, 25),
256
+ 1989: (JUL, 14),
257
+ 1990: (JUL, 4),
258
+ 1991: (JUN, 23),
259
+ 1992: (JUN, 11),
260
+ 1993: (JUN, 1),
261
+ 1994: (MAY, 21),
262
+ 1995: (MAY, 10),
263
+ 1996: (APR, 29),
264
+ 1997: (APR, 18),
265
+ 1998: (APR, 8),
266
+ 1999: (MAR, 28),
267
+ 2000: (MAR, 16),
268
+ 2001: (MAR, 6),
269
+ 2002: (FEB, 23),
270
+ 2003: (FEB, 12),
271
+ 2004: (FEB, 2),
272
+ 2005: (JAN, 21),
273
+ 2006: ((JAN, 10), (DEC, 31)),
274
+ 2007: (DEC, 20),
275
+ 2008: (DEC, 9),
276
+ 2009: (NOV, 28),
277
+ 2010: (NOV, 17),
278
+ 2011: (NOV, 7),
279
+ 2012: (OCT, 26),
280
+ 2013: (OCT, 15),
281
+ 2014: (OCT, 5),
282
+ 2015: (SEP, 24),
283
+ 2016: (SEP, 13),
284
+ 2017: (SEP, 2),
285
+ 2018: (AUG, 22),
286
+ 2019: (AUG, 12),
287
+ 2020: (JUL, 31),
288
+ 2021: (JUL, 20),
289
+ 2022: (JUL, 9),
290
+ 2023: (JUN, 28),
291
+ 2024: (JUN, 16),
292
+ 2025: (JUN, 6),
293
+ }
294
+
295
+ # https://web.archive.org/web/20250216042303/https://www.timeanddate.com/holidays/lebanon/eid-al-fitr
296
+ EID_AL_FITR_DATES = {
297
+ 1978: (SEP, 4),
298
+ 1979: (AUG, 25),
299
+ 1980: (AUG, 13),
300
+ 1981: (AUG, 2),
301
+ 1982: (JUL, 23),
302
+ 1983: (JUL, 12),
303
+ 1984: (JUN, 30),
304
+ 1985: (JUN, 20),
305
+ 1986: (JUN, 9),
306
+ 1987: (MAY, 30),
307
+ 1988: (MAY, 18),
308
+ 1989: (MAY, 7),
309
+ 1990: (APR, 27),
310
+ 1991: (APR, 16),
311
+ 1992: (APR, 4),
312
+ 1993: (MAR, 25),
313
+ 1994: (MAR, 14),
314
+ 1995: (MAR, 3),
315
+ 1996: (FEB, 21),
316
+ 1997: (FEB, 9),
317
+ 1998: (JAN, 30),
318
+ 1999: (JAN, 19),
319
+ 2000: ((JAN, 8), (DEC, 28)),
320
+ 2001: (DEC, 17),
321
+ 2002: (DEC, 6),
322
+ 2003: (NOV, 26),
323
+ 2004: (NOV, 14),
324
+ 2005: (NOV, 4),
325
+ 2006: (OCT, 24),
326
+ 2007: (OCT, 13),
327
+ 2008: (OCT, 2),
328
+ 2009: (SEP, 21),
329
+ 2010: (SEP, 10),
330
+ 2011: (AUG, 31),
331
+ 2012: (AUG, 19),
332
+ 2013: (AUG, 8),
333
+ 2014: (JUL, 29),
334
+ 2015: (JUL, 17),
335
+ 2016: (JUL, 7),
336
+ 2017: (JUN, 26),
337
+ 2018: (JUN, 15),
338
+ 2019: (JUN, 4),
339
+ 2020: (MAY, 24),
340
+ 2021: (MAY, 13),
341
+ 2022: (MAY, 2),
342
+ 2023: (APR, 21),
343
+ 2024: (APR, 10),
344
+ 2025: (MAR, 30),
345
+ }
346
+
347
+ # https://web.archive.org/web/20250428034326/https://www.timeanddate.com/holidays/lebanon/muharram
348
+ HIJRI_NEW_YEAR_DATES = {
349
+ 1978: (DEC, 2),
350
+ 1979: (NOV, 21),
351
+ 1980: (NOV, 9),
352
+ 1981: (OCT, 30),
353
+ 1982: (OCT, 19),
354
+ 1983: (OCT, 8),
355
+ 1984: (SEP, 27),
356
+ 1985: (SEP, 16),
357
+ 1986: (SEP, 6),
358
+ 1987: (AUG, 26),
359
+ 1988: (AUG, 14),
360
+ 1989: (AUG, 4),
361
+ 1990: (JUL, 24),
362
+ 1991: (JUL, 13),
363
+ 1992: (JUL, 2),
364
+ 1993: (JUN, 21),
365
+ 1994: (JUN, 10),
366
+ 1995: (MAY, 31),
367
+ 1996: (MAY, 19),
368
+ 1997: (MAY, 9),
369
+ 1998: (APR, 28),
370
+ 1999: (APR, 17),
371
+ 2000: (APR, 6),
372
+ 2001: (MAR, 26),
373
+ 2002: (MAR, 15),
374
+ 2003: (MAR, 5),
375
+ 2004: (FEB, 22),
376
+ 2005: (FEB, 10),
377
+ 2006: (JAN, 31),
378
+ 2007: (JAN, 20),
379
+ 2008: ((JAN, 10), (DEC, 29)),
380
+ 2009: (DEC, 18),
381
+ 2010: (DEC, 8),
382
+ 2011: (NOV, 27),
383
+ 2012: (NOV, 15),
384
+ 2013: (NOV, 5),
385
+ 2014: (OCT, 25),
386
+ 2015: (OCT, 14),
387
+ 2016: (OCT, 3),
388
+ 2017: (SEP, 22),
389
+ 2018: (SEP, 11),
390
+ 2019: (AUG, 31),
391
+ 2020: (AUG, 20),
392
+ 2021: (AUG, 9),
393
+ 2022: (JUL, 30),
394
+ 2023: (JUL, 19),
395
+ 2024: (JUL, 7),
396
+ 2025: (JUN, 26),
397
+ }
398
+
399
+ # https://web.archive.org/web/20240908071444/https://www.timeanddate.com/holidays/lebanon/prophet-birthday
400
+ MAWLID_DATES = {
401
+ 1978: (FEB, 20),
402
+ 1979: (FEB, 10),
403
+ 1980: (JAN, 30),
404
+ 1981: (JAN, 18),
405
+ 1982: ((JAN, 8), (DEC, 28)),
406
+ 1983: (DEC, 17),
407
+ 1984: (DEC, 6),
408
+ 1985: (NOV, 25),
409
+ 1986: (NOV, 15),
410
+ 1987: (NOV, 4),
411
+ 1988: (OCT, 23),
412
+ 1989: (OCT, 13),
413
+ 1990: (OCT, 2),
414
+ 1991: (SEP, 21),
415
+ 1992: (SEP, 10),
416
+ 1993: (AUG, 30),
417
+ 1994: (AUG, 19),
418
+ 1995: (AUG, 9),
419
+ 1996: (JUL, 28),
420
+ 1997: (JUL, 18),
421
+ 1998: (JUL, 7),
422
+ 1999: (JUN, 26),
423
+ 2000: (JUN, 15),
424
+ 2001: (JUN, 4),
425
+ 2002: (MAY, 24),
426
+ 2003: (MAY, 14),
427
+ 2004: (MAY, 2),
428
+ 2005: (APR, 21),
429
+ 2006: (APR, 11),
430
+ 2007: (MAR, 31),
431
+ 2008: (MAR, 20),
432
+ 2009: (MAR, 9),
433
+ 2010: (FEB, 26),
434
+ 2011: (FEB, 16),
435
+ 2012: (FEB, 5),
436
+ 2013: (JAN, 24),
437
+ 2014: (JAN, 14),
438
+ 2015: ((JAN, 3), (DEC, 24)),
439
+ 2016: (DEC, 12),
440
+ 2017: (DEC, 1),
441
+ 2018: (NOV, 20),
442
+ 2019: (NOV, 9),
443
+ 2020: (OCT, 29),
444
+ 2021: (OCT, 18),
445
+ 2022: (OCT, 8),
446
+ 2023: (SEP, 27),
447
+ 2024: (SEP, 15),
448
+ }
@@ -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
+ }