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
@@ -22,6 +22,7 @@ from holidays.calendars.hindu import _CustomHinduHolidays, _HinduLunisolar
22
22
  from holidays.calendars.islamic import _CustomIslamicHolidays, _IslamicLunar
23
23
  from holidays.calendars.julian import JULIAN_CALENDAR
24
24
  from holidays.calendars.julian_revised import JULIAN_REVISED_CALENDAR
25
+ from holidays.calendars.mongolian import _CustomMongolianHolidays, _MongolianLunisolar
25
26
  from holidays.calendars.persian import _Persian
26
27
  from holidays.calendars.sinhala import _SinhalaLunar, _CustomSinhalaHolidays
27
28
  from holidays.calendars.thai import _ThaiLunisolar, KHMER_CALENDAR, THAI_CALENDAR
@@ -0,0 +1,342 @@
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 datetime import date
14
+ from typing import Optional
15
+
16
+ from holidays.calendars.custom import _CustomCalendar
17
+ from holidays.calendars.gregorian import JAN, FEB, MAR, MAY, JUN, OCT, NOV, DEC
18
+
19
+ BUDDHA_DAY = "BUDDHA_DAY"
20
+ GENGHIS_KHAN_DAY = "GENGHIS_KHAN_DAY"
21
+ TSAGAAN_SAR = "TSAGAAN_SAR"
22
+
23
+
24
+ class _MongolianLunisolar:
25
+ BUDDHA_DAY_DATES = {
26
+ 2004: (JUN, 3),
27
+ 2005: (MAY, 23),
28
+ 2006: (JUN, 11),
29
+ 2007: (MAY, 31),
30
+ 2008: (MAY, 20),
31
+ 2009: (JUN, 7),
32
+ 2010: (MAY, 27),
33
+ 2011: (MAY, 17),
34
+ 2012: (JUN, 4),
35
+ 2013: (MAY, 25),
36
+ 2014: (JUN, 13),
37
+ 2015: (JUN, 2),
38
+ 2016: (MAY, 21),
39
+ 2017: (JUN, 9),
40
+ 2018: (MAY, 29),
41
+ 2019: (MAY, 18),
42
+ 2020: (JUN, 5),
43
+ 2021: (MAY, 26),
44
+ 2022: (JUN, 14),
45
+ 2023: (JUN, 4),
46
+ 2024: (MAY, 23),
47
+ 2025: (JUN, 11),
48
+ 2026: (MAY, 31),
49
+ 2027: (MAY, 20),
50
+ 2028: (JUN, 7),
51
+ 2029: (MAY, 27),
52
+ 2030: (MAY, 17),
53
+ 2031: (JUN, 5),
54
+ 2032: (MAY, 25),
55
+ 2033: (JUN, 12),
56
+ 2034: (JUN, 2),
57
+ 2035: (MAY, 22),
58
+ 2036: (JUN, 8),
59
+ 2037: (MAY, 29),
60
+ 2038: (MAY, 18),
61
+ 2039: (JUN, 6),
62
+ 2040: (MAY, 26),
63
+ 2041: (JUN, 14),
64
+ 2042: (JUN, 3),
65
+ 2043: (MAY, 23),
66
+ 2044: (JUN, 10),
67
+ 2045: (MAY, 30),
68
+ 2046: (MAY, 20),
69
+ 2047: (JUN, 8),
70
+ 2048: (MAY, 27),
71
+ 2049: (MAY, 17),
72
+ 2050: (JUN, 5),
73
+ 2051: (MAY, 25),
74
+ 2052: (JUN, 12),
75
+ 2053: (JUN, 1),
76
+ 2054: (MAY, 21),
77
+ 2055: (JUN, 9),
78
+ 2056: (MAY, 29),
79
+ 2057: (MAY, 18),
80
+ 2058: (JUN, 6),
81
+ 2059: (MAY, 27),
82
+ 2060: (JUN, 14),
83
+ 2061: (JUN, 3),
84
+ 2062: (MAY, 23),
85
+ 2063: (JUN, 11),
86
+ 2064: (MAY, 30),
87
+ 2065: (MAY, 20),
88
+ 2066: (JUN, 8),
89
+ 2067: (MAY, 28),
90
+ 2068: (JUN, 15),
91
+ 2069: (JUN, 4),
92
+ 2070: (MAY, 24),
93
+ 2071: (JUN, 12),
94
+ 2072: (MAY, 31),
95
+ 2073: (MAY, 21),
96
+ 2074: (JUN, 9),
97
+ 2075: (MAY, 30),
98
+ 2076: (MAY, 18),
99
+ 2077: (JUN, 6),
100
+ 2078: (MAY, 26),
101
+ 2079: (JUN, 14),
102
+ 2080: (JUN, 2),
103
+ 2081: (MAY, 22),
104
+ 2082: (JUN, 10),
105
+ 2083: (MAY, 31),
106
+ 2084: (MAY, 20),
107
+ 2085: (JUN, 8),
108
+ 2086: (MAY, 28),
109
+ 2087: (JUN, 16),
110
+ 2088: (JUN, 4),
111
+ 2089: (MAY, 24),
112
+ 2090: (JUN, 12),
113
+ 2091: (JUN, 1),
114
+ 2092: (MAY, 21),
115
+ 2093: (JUN, 9),
116
+ 2094: (MAY, 30),
117
+ 2095: (MAY, 19),
118
+ 2096: (JUN, 6),
119
+ 2097: (MAY, 26),
120
+ 2098: (JUN, 13),
121
+ 2099: (JUN, 3),
122
+ 2100: (MAY, 23),
123
+ }
124
+
125
+ GENGHIS_KHAN_DAY_DATES = {
126
+ 2004: (NOV, 13),
127
+ 2005: (NOV, 2),
128
+ 2006: (NOV, 21),
129
+ 2007: (NOV, 10),
130
+ 2008: (NOV, 28),
131
+ 2009: (NOV, 17),
132
+ 2010: (NOV, 7),
133
+ 2011: (NOV, 26),
134
+ 2012: (NOV, 14),
135
+ 2013: (NOV, 4),
136
+ 2014: (NOV, 23),
137
+ 2015: (NOV, 12),
138
+ 2016: (OCT, 31),
139
+ 2017: (NOV, 19),
140
+ 2018: (NOV, 8),
141
+ 2019: (NOV, 27),
142
+ 2020: (NOV, 16),
143
+ 2021: (NOV, 5),
144
+ 2022: (NOV, 24),
145
+ 2023: (NOV, 14),
146
+ 2024: (NOV, 2),
147
+ 2025: (NOV, 21),
148
+ 2026: (NOV, 10),
149
+ 2027: (NOV, 29),
150
+ 2028: (NOV, 17),
151
+ 2029: (NOV, 7),
152
+ 2030: (NOV, 26),
153
+ 2031: (NOV, 15),
154
+ 2032: (NOV, 4),
155
+ 2033: (NOV, 22),
156
+ 2034: (NOV, 11),
157
+ 2035: (NOV, 30),
158
+ 2036: (NOV, 18),
159
+ 2037: (NOV, 8),
160
+ 2038: (NOV, 27),
161
+ 2039: (NOV, 17),
162
+ 2040: (NOV, 5),
163
+ 2041: (NOV, 24),
164
+ 2042: (NOV, 13),
165
+ 2043: (NOV, 2),
166
+ 2044: (NOV, 20),
167
+ 2045: (NOV, 9),
168
+ 2046: (NOV, 28),
169
+ 2047: (NOV, 18),
170
+ 2048: (NOV, 7),
171
+ 2049: (NOV, 26),
172
+ 2050: (NOV, 15),
173
+ 2051: (NOV, 4),
174
+ 2052: (NOV, 22),
175
+ 2053: (NOV, 11),
176
+ 2054: (NOV, 30),
177
+ 2055: (NOV, 19),
178
+ 2056: (NOV, 8),
179
+ 2057: (NOV, 27),
180
+ 2058: (NOV, 17),
181
+ 2059: (NOV, 6),
182
+ 2060: (NOV, 24),
183
+ 2061: (NOV, 13),
184
+ 2062: (NOV, 2),
185
+ 2063: (NOV, 21),
186
+ 2064: (NOV, 9),
187
+ 2065: (NOV, 28),
188
+ 2066: (NOV, 18),
189
+ 2067: (NOV, 7),
190
+ 2068: (NOV, 25),
191
+ 2069: (NOV, 14),
192
+ 2070: (NOV, 3),
193
+ 2071: (NOV, 22),
194
+ 2072: (NOV, 11),
195
+ 2073: (NOV, 30),
196
+ 2074: (NOV, 19),
197
+ 2075: (NOV, 9),
198
+ 2076: (NOV, 27),
199
+ 2077: (NOV, 16),
200
+ 2078: (NOV, 5),
201
+ 2079: (NOV, 24),
202
+ 2080: (NOV, 12),
203
+ 2081: (NOV, 1),
204
+ 2082: (NOV, 21),
205
+ 2083: (NOV, 10),
206
+ 2084: (NOV, 28),
207
+ 2085: (NOV, 18),
208
+ 2086: (NOV, 7),
209
+ 2087: (NOV, 26),
210
+ 2088: (NOV, 14),
211
+ 2089: (NOV, 3),
212
+ 2090: (NOV, 22),
213
+ 2091: (NOV, 12),
214
+ 2092: (NOV, 30),
215
+ 2093: (NOV, 19),
216
+ 2094: (NOV, 9),
217
+ 2095: (NOV, 27),
218
+ 2096: (NOV, 15),
219
+ 2097: (NOV, 5),
220
+ 2098: (NOV, 23),
221
+ 2099: (NOV, 13),
222
+ 2100: (DEC, 2),
223
+ }
224
+
225
+ TSAGAAN_SAR_DATES = {
226
+ 2004: (FEB, 21),
227
+ 2005: (FEB, 9),
228
+ 2006: (JAN, 30),
229
+ 2007: (FEB, 18),
230
+ 2008: (FEB, 8),
231
+ 2009: (FEB, 25),
232
+ 2010: (FEB, 14),
233
+ 2011: (FEB, 3),
234
+ 2012: (FEB, 22),
235
+ 2013: (FEB, 11),
236
+ 2014: (JAN, 31),
237
+ 2015: (FEB, 19),
238
+ 2016: (FEB, 9),
239
+ 2017: (FEB, 27),
240
+ 2018: (FEB, 16),
241
+ 2019: (FEB, 5),
242
+ 2020: (FEB, 24),
243
+ 2021: (FEB, 12),
244
+ 2022: (FEB, 2),
245
+ 2023: (FEB, 21),
246
+ 2024: (FEB, 10),
247
+ 2025: (MAR, 1),
248
+ 2026: (FEB, 18),
249
+ 2027: (FEB, 7),
250
+ 2028: (FEB, 26),
251
+ 2029: (FEB, 14),
252
+ 2030: (FEB, 3),
253
+ 2031: (FEB, 22),
254
+ 2032: (FEB, 12),
255
+ 2033: (JAN, 31),
256
+ 2034: (FEB, 19),
257
+ 2035: (FEB, 9),
258
+ 2036: (FEB, 28),
259
+ 2037: (FEB, 16),
260
+ 2038: (FEB, 5),
261
+ 2039: (FEB, 24),
262
+ 2040: (FEB, 13),
263
+ 2041: (FEB, 2),
264
+ 2042: (FEB, 21),
265
+ 2043: (FEB, 10),
266
+ 2044: (FEB, 29),
267
+ 2045: (FEB, 17),
268
+ 2046: (FEB, 6),
269
+ 2047: (FEB, 25),
270
+ 2048: (FEB, 14),
271
+ 2049: (FEB, 3),
272
+ 2050: (FEB, 22),
273
+ 2051: (FEB, 12),
274
+ 2052: (FEB, 1),
275
+ 2053: (FEB, 19),
276
+ 2054: (FEB, 8),
277
+ 2055: (FEB, 27),
278
+ 2056: (FEB, 16),
279
+ 2057: (FEB, 4),
280
+ 2058: (FEB, 23),
281
+ 2059: (FEB, 13),
282
+ 2060: (FEB, 3),
283
+ 2061: (FEB, 21),
284
+ 2062: (FEB, 10),
285
+ 2063: (MAR, 1),
286
+ 2064: (FEB, 18),
287
+ 2065: (FEB, 6),
288
+ 2066: (FEB, 25),
289
+ 2067: (FEB, 14),
290
+ 2068: (FEB, 4),
291
+ 2069: (FEB, 22),
292
+ 2070: (FEB, 12),
293
+ 2071: (FEB, 1),
294
+ 2072: (FEB, 19),
295
+ 2073: (FEB, 7),
296
+ 2074: (FEB, 26),
297
+ 2075: (FEB, 16),
298
+ 2076: (FEB, 5),
299
+ 2077: (FEB, 23),
300
+ 2078: (FEB, 13),
301
+ 2079: (FEB, 2),
302
+ 2080: (FEB, 21),
303
+ 2081: (FEB, 9),
304
+ 2082: (FEB, 28),
305
+ 2083: (FEB, 17),
306
+ 2084: (FEB, 7),
307
+ 2085: (FEB, 25),
308
+ 2086: (FEB, 14),
309
+ 2087: (FEB, 4),
310
+ 2088: (FEB, 23),
311
+ 2089: (FEB, 11),
312
+ 2090: (MAR, 2),
313
+ 2091: (FEB, 19),
314
+ 2092: (FEB, 8),
315
+ 2093: (FEB, 26),
316
+ 2094: (FEB, 16),
317
+ 2095: (FEB, 5),
318
+ 2096: (FEB, 24),
319
+ 2097: (FEB, 13),
320
+ 2098: (FEB, 2),
321
+ 2099: (FEB, 21),
322
+ 2100: (FEB, 10),
323
+ }
324
+
325
+ def _get_holiday(self, holiday: str, year: int) -> tuple[Optional[date], bool]:
326
+ estimated_dates = getattr(self, f"{holiday}_DATES", {})
327
+ exact_dates = getattr(self, f"{holiday}_DATES_{_CustomCalendar.CUSTOM_ATTR_POSTFIX}", {})
328
+ dt = exact_dates.get(year, estimated_dates.get(year, ()))
329
+ return date(year, *dt) if dt else None, year not in exact_dates
330
+
331
+ def buddha_day_date(self, year: int) -> tuple[Optional[date], bool]:
332
+ return self._get_holiday(BUDDHA_DAY, year)
333
+
334
+ def genghis_khan_day_date(self, year: int) -> tuple[Optional[date], bool]:
335
+ return self._get_holiday(GENGHIS_KHAN_DAY, year)
336
+
337
+ def tsagaan_sar_date(self, year: int) -> tuple[Optional[date], bool]:
338
+ return self._get_holiday(TSAGAAN_SAR, year)
339
+
340
+
341
+ class _CustomMongolianHolidays(_CustomCalendar, _MongolianLunisolar):
342
+ pass
@@ -37,6 +37,7 @@ from holidays.countries.belize import Belize, BZ, BLZ
37
37
  from holidays.countries.benin import Benin, BJ, BEN
38
38
  from holidays.countries.bermuda import Bermuda, BM, BMU
39
39
  from holidays.countries.bolivia import Bolivia, BO, BOL
40
+ from holidays.countries.bonaire_sint_eustatius_and_saba import BonaireSintEustatiusAndSaba, BQ, BES
40
41
  from holidays.countries.bosnia_and_herzegovina import BosniaAndHerzegovina, BA, BIH
41
42
  from holidays.countries.botswana import Botswana, BW, BWA
42
43
  from holidays.countries.brazil import Brazil, BR, BRA
@@ -45,12 +46,16 @@ from holidays.countries.brunei import Brunei, BN, BRN
45
46
  from holidays.countries.bulgaria import Bulgaria, BG, BLG
46
47
  from holidays.countries.burkina_faso import BurkinaFaso, BF, BFA
47
48
  from holidays.countries.burundi import Burundi, BI, BDI
49
+ from holidays.countries.cabo_verde import CaboVerde, CV, CPV
48
50
  from holidays.countries.cambodia import Cambodia, KH, KHM
49
51
  from holidays.countries.cameroon import Cameroon, CM, CMR
50
52
  from holidays.countries.canada import Canada, CA, CAN
53
+ from holidays.countries.cayman_islands import CaymanIslands, KY, CYM
54
+ from holidays.countries.central_african_republic import CentralAfricanRepublic, CF, CAF
51
55
  from holidays.countries.chad import Chad, TD, TCD
52
56
  from holidays.countries.chile import Chile, CL, CHL
53
57
  from holidays.countries.china import China, CN, CHN
58
+ from holidays.countries.christmas_island import ChristmasIsland, CX, CXR
54
59
  from holidays.countries.cocos_islands import CocosIslands, CC, CCK
55
60
  from holidays.countries.colombia import Colombia, CO, COL
56
61
  from holidays.countries.congo import Congo, CG, COG
@@ -65,6 +70,7 @@ from holidays.countries.denmark import Denmark, DK, DNK
65
70
  from holidays.countries.djibouti import Djibouti, DJ, DJI
66
71
  from holidays.countries.dominica import Dominica, DM, DMA
67
72
  from holidays.countries.dominican_republic import DominicanRepublic, DO, DOM
73
+ from holidays.countries.dr_congo import DRCongo, CD, COD
68
74
  from holidays.countries.ecuador import Ecuador, EC, ECU
69
75
  from holidays.countries.egypt import Egypt, EG, EGY
70
76
  from holidays.countries.el_salvador import ElSalvador, SV, SLV
@@ -72,9 +78,13 @@ from holidays.countries.equatorial_guinea import EquatorialGuinea, GQ, GNQ
72
78
  from holidays.countries.estonia import Estonia, EE, EST
73
79
  from holidays.countries.eswatini import Eswatini, SZ, SZW, Swaziland
74
80
  from holidays.countries.ethiopia import Ethiopia, ET, ETH
81
+ from holidays.countries.falkland_islands import FalklandIslands, FK, FLK
82
+ from holidays.countries.faroe_islands import FaroeIslands, FO, FRO
75
83
  from holidays.countries.fiji import Fiji, FJ, FJI
76
84
  from holidays.countries.finland import Finland, FI, FIN
77
85
  from holidays.countries.france import France, FR, FRA
86
+ from holidays.countries.french_guiana import FrenchGuiana, GF, GUF, HolidaysGF
87
+ from holidays.countries.french_polynesia import FrenchPolynesia, PF, PYF, HolidaysPF
78
88
  from holidays.countries.french_southern_territories import (
79
89
  FrenchSouthernTerritories,
80
90
  TF,
@@ -85,9 +95,11 @@ from holidays.countries.gabon import Gabon, GA, GAB
85
95
  from holidays.countries.georgia import Georgia, GE, GEO
86
96
  from holidays.countries.germany import Germany, DE, DEU
87
97
  from holidays.countries.ghana import Ghana, GH, GHA
98
+ from holidays.countries.gibraltar import Gibraltar, GI, GIB
88
99
  from holidays.countries.greece import Greece, GR, GRC
89
100
  from holidays.countries.greenland import Greenland, GL, GRL
90
101
  from holidays.countries.grenada import Grenada, GD, GRD
102
+ from holidays.countries.guadeloupe import Guadeloupe, GP, GLP, HolidaysGP
91
103
  from holidays.countries.guam import Guam, GU, GUM, HolidaysGU
92
104
  from holidays.countries.guatemala import Guatemala, GT, GUA
93
105
  from holidays.countries.guernsey import Guernsey, GG, GGY
@@ -116,7 +128,9 @@ from holidays.countries.kuwait import Kuwait, KW, KWT
116
128
  from holidays.countries.kyrgyzstan import Kyrgyzstan, KG, KGZ
117
129
  from holidays.countries.laos import Laos, LA, LAO
118
130
  from holidays.countries.latvia import Latvia, LV, LVA
131
+ from holidays.countries.lebanon import Lebanon, LB, LBN
119
132
  from holidays.countries.lesotho import Lesotho, LS, LSO
133
+ from holidays.countries.libya import Libya, LY, LBY
120
134
  from holidays.countries.liechtenstein import Liechtenstein, LI, LIE
121
135
  from holidays.countries.lithuania import Lithuania, LT, LTU
122
136
  from holidays.countries.luxembourg import Luxembourg, LU, LUX
@@ -125,30 +139,40 @@ from holidays.countries.madagascar import Madagascar, MG, MDG
125
139
  from holidays.countries.malawi import Malawi, MW, MWI
126
140
  from holidays.countries.malaysia import Malaysia, MY, MYS
127
141
  from holidays.countries.maldives import Maldives, MV, MDV
142
+ from holidays.countries.mali import Mali, ML, MLI
128
143
  from holidays.countries.malta import Malta, MT, MLT
129
144
  from holidays.countries.marshall_islands import MarshallIslands, MH, MHL, HolidaysMH
145
+ from holidays.countries.martinique import Martinique, MQ, MTQ, HolidaysMQ
130
146
  from holidays.countries.mauritania import Mauritania, MR, MRT
147
+ from holidays.countries.mauritius import Mauritius, MU, MUS
148
+ from holidays.countries.mayotte import Mayotte, YT, MYT, HolidaysYT
131
149
  from holidays.countries.mexico import Mexico, MX, MEX
132
150
  from holidays.countries.micronesia import Micronesia, FM, FSM
133
151
  from holidays.countries.moldova import Moldova, MD, MDA
134
152
  from holidays.countries.monaco import Monaco, MC, MCO
153
+ from holidays.countries.mongolia import Mongolia, MN, MNG
135
154
  from holidays.countries.montenegro import Montenegro, ME, MNE
155
+ from holidays.countries.montserrat import Montserrat, MS, MSR
136
156
  from holidays.countries.morocco import Morocco, MA, MOR
137
157
  from holidays.countries.mozambique import Mozambique, MZ, MOZ
138
158
  from holidays.countries.namibia import Namibia, NA, NAM
139
159
  from holidays.countries.nauru import Nauru, NR, NRU
140
160
  from holidays.countries.nepal import Nepal, NP, NPL
141
161
  from holidays.countries.netherlands import Netherlands, NL, NLD
162
+ from holidays.countries.new_caledonia import NewCaledonia, NC, NCL, HolidaysNC
142
163
  from holidays.countries.new_zealand import NewZealand, NZ, NZL
143
164
  from holidays.countries.nicaragua import Nicaragua, NI, NIC
144
165
  from holidays.countries.niger import Niger, NE, NER
145
166
  from holidays.countries.nigeria import Nigeria, NG, NGA
167
+ from holidays.countries.niue import Niue, NU, NIU
168
+ from holidays.countries.norfolk_island import NorfolkIsland, NF, NFK
146
169
  from holidays.countries.north_macedonia import NorthMacedonia, MK, MKD
147
170
  from holidays.countries.northern_mariana_islands import NorthernMarianaIslands, MP, MNP, HolidaysMP
148
171
  from holidays.countries.norway import Norway, NO, NOR
149
172
  from holidays.countries.oman import Oman, OM, OMN
150
173
  from holidays.countries.pakistan import Pakistan, PK, PAK
151
174
  from holidays.countries.palau import Palau, PW, PLW
175
+ from holidays.countries.palestine import Palestine, PS, PSE
152
176
  from holidays.countries.panama import Panama, PA, PAN
153
177
  from holidays.countries.papua_new_guinea import PapuaNewGuinea, PG, PNG
154
178
  from holidays.countries.paraguay import Paraguay, PY, PRY
@@ -158,10 +182,24 @@ from holidays.countries.poland import Poland, PL, POL
158
182
  from holidays.countries.portugal import Portugal, PT, PRT
159
183
  from holidays.countries.puerto_rico import PuertoRico, PR, PRI, HolidaysPR
160
184
  from holidays.countries.qatar import Qatar, QA, QAT
185
+ from holidays.countries.reunion import Reunion, RE, REU, HolidaysRE
161
186
  from holidays.countries.romania import Romania, RO, ROU
162
187
  from holidays.countries.russia import Russia, RU, RUS
188
+ from holidays.countries.saint_barthelemy import SaintBarthelemy, BL, BLM, HolidaysBL
163
189
  from holidays.countries.saint_kitts_and_nevis import SaintKittsAndNevis, KN, KNA
164
190
  from holidays.countries.saint_lucia import SaintLucia, LC, LCA
191
+ from holidays.countries.saint_martin import SaintMartin, MF, MAF, HolidaysMF
192
+ from holidays.countries.saint_pierre_and_miquelon import (
193
+ SaintPierreAndMiquelon,
194
+ PM,
195
+ SPM,
196
+ HolidaysPM,
197
+ )
198
+ from holidays.countries.saint_vincent_and_the_grenadines import (
199
+ SaintVincentAndTheGrenadines,
200
+ VC,
201
+ VCT,
202
+ )
165
203
  from holidays.countries.samoa import Samoa, WS, WSM
166
204
  from holidays.countries.san_marino import SanMarino, SM, SMR
167
205
  from holidays.countries.sao_tome_and_principe import SaoTomeAndPrincipe, ST, STP
@@ -171,6 +209,7 @@ from holidays.countries.serbia import Serbia, RS, SRB
171
209
  from holidays.countries.seychelles import Seychelles, SC, SYC
172
210
  from holidays.countries.sierra_leone import SierraLeone, SL, SLE
173
211
  from holidays.countries.singapore import Singapore, SG, SGP
212
+ from holidays.countries.sint_maarten import SintMaarten, SX, SXM
174
213
  from holidays.countries.slovakia import Slovakia, SK, SVK
175
214
  from holidays.countries.slovenia import Slovenia, SI, SVN
176
215
  from holidays.countries.solomon_islands import SolomonIslands, SB, SLB
@@ -187,6 +226,7 @@ from holidays.countries.tanzania import Tanzania, TZ, TZA
187
226
  from holidays.countries.thailand import Thailand, TH, THA
188
227
  from holidays.countries.timor_leste import TimorLeste, TL, TLS
189
228
  from holidays.countries.togo import Togo, TG, TGO
229
+ from holidays.countries.tokelau import Tokelau, TK, TKL
190
230
  from holidays.countries.tonga import Tonga, TO, TON
191
231
  from holidays.countries.trinidad_and_tobago import TrinidadAndTobago, TT, TTO
192
232
  from holidays.countries.tunisia import Tunisia, TN, TUN
@@ -215,6 +255,7 @@ from holidays.countries.vanuatu import Vanuatu, VU, VTU
215
255
  from holidays.countries.vatican_city import VaticanCity, VA, VAT
216
256
  from holidays.countries.venezuela import Venezuela, VE, VEN
217
257
  from holidays.countries.vietnam import Vietnam, VN, VNM
258
+ from holidays.countries.wallis_and_futuna import WallisAndFutuna, WF, WLF, HolidaysWF
218
259
  from holidays.countries.yemen import Yemen, YE, YEM
219
260
  from holidays.countries.zambia import Zambia, ZM, ZMB
220
261
  from holidays.countries.zimbabwe import Zimbabwe, ZW, ZWE
@@ -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 PUBLIC, UNOFFICIAL, WORKDAY
14
13
  from holidays.countries.finland import Finland
14
+ from holidays.mixins.child_entity import ChildEntity
15
15
 
16
16
 
17
- class HolidaysAX(Finland):
17
+ class HolidaysAX(ChildEntity, Finland):
18
18
  """Åland Islands holidays.
19
19
 
20
20
  Alias of a Finnish subdivision that is also officially assigned
@@ -30,26 +30,10 @@ class HolidaysAX(Finland):
30
30
 
31
31
  country = "AX"
32
32
  parent_entity = Finland
33
- default_language = "fi"
34
- supported_languages = ("en_US", "fi", "sv_FI", "th", "uk")
35
- supported_categories = (PUBLIC, UNOFFICIAL, WORKDAY)
36
- subdivisions = () # Override Finland subdivisions.
37
- subdivisions_aliases = {} # Override Finland subdivisions aliases.
33
+ parent_entity_subdivision_code = "01"
38
34
  # Åland Islands got its autonomy on May 7th, 1920.
39
35
  start_year = 1921
40
36
 
41
- def _populate_public_holidays(self) -> None:
42
- self.subdiv = "01"
43
- super()._populate_public_holidays()
44
-
45
- def _populate_unofficial_holidays(self) -> None:
46
- self.subdiv = "01"
47
- super()._populate_unofficial_holidays()
48
-
49
- def _populate_workday_holidays(self) -> None:
50
- self.subdiv = "01"
51
- super()._populate_workday_holidays()
52
-
53
37
 
54
38
  class AlandIslands(HolidaysAX):
55
39
  pass
@@ -29,7 +29,7 @@ class Algeria(HolidayBase, InternationalHolidays, IslamicHolidays):
29
29
  country = "DZ"
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", "fr")
34
34
 
35
35
  def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
@@ -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 HolidaysAS(US):
17
+ class HolidaysAS(ChildEntity, UnitedStates):
18
18
  """American Samoa 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 HolidaysAS(US):
22
22
  """
23
23
 
24
24
  country = "AS"
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 since April 17th, 1900.
27
+ start_year = 1901
28
28
 
29
- def _populate_public_holidays(self) -> None:
30
- self.subdiv = "AS"
31
- super()._populate_public_holidays()
32
29
 
33
- def _populate_government_holidays(self) -> None:
34
- self.subdiv = "AS"
35
- super()._populate_government_holidays()
36
-
37
- def _populate_unofficial_holidays(self) -> None:
38
- self.subdiv = "AS"
39
- super()._populate_unofficial_holidays()
30
+ class AmericanSamoa(HolidaysAS):
31
+ pass
40
32
 
41
33
 
42
34
  class AS(HolidaysAS):
@@ -45,7 +37,3 @@ class AS(HolidaysAS):
45
37
 
46
38
  class ASM(HolidaysAS):
47
39
  pass
48
-
49
-
50
- class AmericanSamoa(HolidaysAS):
51
- pass