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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (526) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/mongolian.py +342 -0
  3. holidays/countries/__init__.py +22 -0
  4. holidays/countries/aland_islands.py +3 -19
  5. holidays/countries/algeria.py +1 -1
  6. holidays/countries/american_samoa.py +8 -20
  7. holidays/countries/aruba.py +42 -36
  8. holidays/countries/bahrain.py +1 -1
  9. holidays/countries/bonaire_sint_eustatius_and_saba.py +134 -0
  10. holidays/countries/cocos_islands.py +3 -2
  11. holidays/countries/curacao.py +64 -38
  12. holidays/countries/egypt.py +1 -1
  13. holidays/countries/falkland_islands.py +141 -0
  14. holidays/countries/france.py +224 -127
  15. holidays/countries/french_guiana.py +44 -0
  16. holidays/countries/french_polynesia.py +43 -0
  17. holidays/countries/french_southern_territories.py +3 -4
  18. holidays/countries/guadeloupe.py +44 -0
  19. holidays/countries/guam.py +8 -20
  20. holidays/countries/hongkong.py +1 -1
  21. holidays/countries/hungary.py +2 -1
  22. holidays/countries/iran.py +1 -1
  23. holidays/countries/isle_of_man.py +4 -0
  24. holidays/countries/israel.py +1 -1
  25. holidays/countries/jordan.py +1 -1
  26. holidays/countries/kuwait.py +1 -1
  27. holidays/countries/libya.py +227 -0
  28. holidays/countries/martinique.py +44 -0
  29. holidays/countries/mauritius.py +197 -0
  30. holidays/countries/mayotte.py +44 -0
  31. holidays/countries/mongolia.py +202 -0
  32. holidays/countries/morocco.py +1 -1
  33. holidays/countries/netherlands.py +7 -11
  34. holidays/countries/new_caledonia.py +43 -0
  35. holidays/countries/northern_mariana_islands.py +8 -20
  36. holidays/countries/oman.py +1 -1
  37. holidays/countries/puerto_rico.py +8 -20
  38. holidays/countries/reunion.py +44 -0
  39. holidays/countries/saint_barthelemy.py +43 -0
  40. holidays/countries/saint_martin.py +43 -0
  41. holidays/countries/saint_pierre_and_miquelon.py +43 -0
  42. holidays/countries/san_marino.py +49 -26
  43. holidays/countries/saudi_arabia.py +3 -3
  44. holidays/countries/sint_maarten.py +118 -0
  45. holidays/countries/svalbard_and_jan_mayen.py +3 -9
  46. holidays/countries/taiwan.py +31 -9
  47. holidays/countries/tunisia.py +1 -1
  48. holidays/countries/turks_and_caicos_islands.py +1 -1
  49. holidays/countries/united_arab_emirates.py +1 -1
  50. holidays/countries/united_states.py +579 -400
  51. holidays/countries/united_states_minor_outlying_islands.py +8 -20
  52. holidays/countries/united_states_virgin_islands.py +8 -20
  53. holidays/countries/uzbekistan.py +19 -2
  54. holidays/countries/wallis_and_futuna.py +43 -0
  55. holidays/countries/yemen.py +2 -2
  56. holidays/groups/__init__.py +1 -0
  57. holidays/groups/chinese.py +11 -0
  58. holidays/groups/eastern.py +1 -1
  59. holidays/groups/mongolian.py +103 -0
  60. holidays/holiday_base.py +10 -5
  61. holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
  62. holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
  63. holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
  64. holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
  65. holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
  66. holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
  67. holidays/locale/ar/LC_MESSAGES/EG.mo +0 -0
  68. holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
  69. holidays/locale/ar/LC_MESSAGES/JO.mo +0 -0
  70. holidays/locale/ar/LC_MESSAGES/KW.mo +0 -0
  71. holidays/locale/ar/LC_MESSAGES/LY.mo +0 -0
  72. holidays/locale/ar/LC_MESSAGES/MA.mo +0 -0
  73. holidays/locale/ar/LC_MESSAGES/OM.mo +0 -0
  74. holidays/locale/ar/LC_MESSAGES/SA.mo +0 -0
  75. holidays/locale/ar/LC_MESSAGES/TN.mo +0 -0
  76. holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
  77. holidays/locale/ar/LC_MESSAGES/YE.mo +0 -0
  78. holidays/locale/az/LC_MESSAGES/AZ.mo +0 -0
  79. holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
  80. holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
  81. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  82. holidays/locale/cnr/LC_MESSAGES/ME.mo +0 -0
  83. holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
  84. holidays/locale/da/LC_MESSAGES/DK.mo +0 -0
  85. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  86. holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
  87. holidays/locale/de/LC_MESSAGES/BE.mo +0 -0
  88. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  89. holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
  90. holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
  91. holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
  92. holidays/locale/de/LC_MESSAGES/PL.mo +0 -0
  93. holidays/locale/el/LC_MESSAGES/CY.mo +0 -0
  94. holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
  95. holidays/locale/en_AU/LC_MESSAGES/AU.mo +0 -0
  96. holidays/locale/en_BQ/LC_MESSAGES/BQ.mo +0 -0
  97. holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
  98. holidays/locale/en_CY/LC_MESSAGES/CY.mo +0 -0
  99. holidays/locale/en_GB/LC_MESSAGES/FK.mo +0 -0
  100. holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
  101. holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
  102. holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
  103. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  104. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  105. holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
  106. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  107. holidays/locale/en_MU/LC_MESSAGES/MU.mo +0 -0
  108. holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
  109. holidays/locale/en_SC/LC_MESSAGES/SC.mo +0 -0
  110. holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
  111. holidays/locale/en_SL/LC_MESSAGES/SL.mo +0 -0
  112. holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
  113. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  114. holidays/locale/en_US/LC_MESSAGES/AF.mo +0 -0
  115. holidays/locale/en_US/LC_MESSAGES/AL.mo +0 -0
  116. holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
  117. holidays/locale/en_US/LC_MESSAGES/AO.mo +0 -0
  118. holidays/locale/en_US/LC_MESSAGES/AS.mo +0 -0
  119. holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
  120. holidays/locale/en_US/LC_MESSAGES/AU.mo +0 -0
  121. holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
  122. holidays/locale/en_US/LC_MESSAGES/AX.mo +0 -0
  123. holidays/locale/en_US/LC_MESSAGES/AZ.mo +0 -0
  124. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  125. holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
  126. holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
  127. holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
  128. holidays/locale/en_US/LC_MESSAGES/BL.mo +0 -0
  129. holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
  130. holidays/locale/en_US/LC_MESSAGES/BO.mo +0 -0
  131. holidays/locale/en_US/LC_MESSAGES/BQ.mo +0 -0
  132. holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
  133. holidays/locale/en_US/LC_MESSAGES/BVMF.mo +0 -0
  134. holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
  135. holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
  136. holidays/locale/en_US/LC_MESSAGES/CG.mo +0 -0
  137. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  138. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  139. holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
  140. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  141. holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
  142. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  143. holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
  144. holidays/locale/en_US/LC_MESSAGES/CY.mo +0 -0
  145. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  146. holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
  147. holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
  148. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  149. holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
  150. holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
  151. holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
  152. holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
  153. holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
  154. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  155. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  156. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  157. holidays/locale/en_US/LC_MESSAGES/FK.mo +0 -0
  158. holidays/locale/en_US/LC_MESSAGES/FR.mo +0 -0
  159. holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
  160. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  161. holidays/locale/en_US/LC_MESSAGES/GF.mo +0 -0
  162. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  163. holidays/locale/en_US/LC_MESSAGES/GP.mo +0 -0
  164. holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
  165. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  166. holidays/locale/en_US/LC_MESSAGES/GU.mo +0 -0
  167. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  168. holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
  169. holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
  170. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  171. holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
  172. holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
  173. holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
  174. holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
  175. holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
  176. holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
  177. holidays/locale/en_US/LC_MESSAGES/JO.mo +0 -0
  178. holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
  179. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  180. holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
  181. holidays/locale/en_US/LC_MESSAGES/KW.mo +0 -0
  182. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  183. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  184. holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
  185. holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
  186. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  187. holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
  188. holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
  189. holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
  190. holidays/locale/en_US/LC_MESSAGES/LY.mo +0 -0
  191. holidays/locale/en_US/LC_MESSAGES/MA.mo +0 -0
  192. holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
  193. holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
  194. holidays/locale/en_US/LC_MESSAGES/ME.mo +0 -0
  195. holidays/locale/en_US/LC_MESSAGES/MF.mo +0 -0
  196. holidays/locale/en_US/LC_MESSAGES/MG.mo +0 -0
  197. holidays/locale/en_US/LC_MESSAGES/MN.mo +0 -0
  198. holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
  199. holidays/locale/en_US/LC_MESSAGES/MP.mo +0 -0
  200. holidays/locale/en_US/LC_MESSAGES/MQ.mo +0 -0
  201. holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
  202. holidays/locale/en_US/LC_MESSAGES/MU.mo +0 -0
  203. holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
  204. holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
  205. holidays/locale/en_US/LC_MESSAGES/MZ.mo +0 -0
  206. holidays/locale/en_US/LC_MESSAGES/NC.mo +0 -0
  207. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  208. holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
  209. holidays/locale/en_US/LC_MESSAGES/NO.mo +0 -0
  210. holidays/locale/en_US/LC_MESSAGES/OM.mo +0 -0
  211. holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
  212. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  213. holidays/locale/en_US/LC_MESSAGES/PF.mo +0 -0
  214. holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
  215. holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
  216. holidays/locale/en_US/LC_MESSAGES/PM.mo +0 -0
  217. holidays/locale/en_US/LC_MESSAGES/PR.mo +0 -0
  218. holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
  219. holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
  220. holidays/locale/en_US/LC_MESSAGES/RE.mo +0 -0
  221. holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
  222. holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  224. holidays/locale/en_US/LC_MESSAGES/SA.mo +0 -0
  225. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  226. holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
  227. holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
  228. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  229. holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
  230. holidays/locale/en_US/LC_MESSAGES/SL.mo +0 -0
  231. holidays/locale/en_US/LC_MESSAGES/SM.mo +0 -0
  232. holidays/locale/en_US/LC_MESSAGES/SV.mo +0 -0
  233. holidays/locale/en_US/LC_MESSAGES/SX.mo +0 -0
  234. holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
  235. holidays/locale/en_US/LC_MESSAGES/TF.mo +0 -0
  236. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  237. holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
  238. holidays/locale/en_US/LC_MESSAGES/TN.mo +0 -0
  239. holidays/locale/en_US/LC_MESSAGES/TO.mo +0 -0
  240. holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
  241. holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
  242. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  243. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  244. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  245. holidays/locale/en_US/LC_MESSAGES/UM.mo +0 -0
  246. holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
  247. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  248. holidays/locale/en_US/LC_MESSAGES/UZ.mo +0 -0
  249. holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
  250. holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
  251. holidays/locale/en_US/LC_MESSAGES/VI.mo +0 -0
  252. holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
  253. holidays/locale/en_US/LC_MESSAGES/WF.mo +0 -0
  254. holidays/locale/en_US/LC_MESSAGES/YE.mo +0 -0
  255. holidays/locale/en_US/LC_MESSAGES/YT.mo +0 -0
  256. holidays/locale/es/LC_MESSAGES/BO.mo +0 -0
  257. holidays/locale/es/LC_MESSAGES/CL.mo +0 -0
  258. holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
  259. holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
  260. holidays/locale/es/LC_MESSAGES/CU.mo +0 -0
  261. holidays/locale/es/LC_MESSAGES/DO.mo +0 -0
  262. holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
  263. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  264. holidays/locale/es/LC_MESSAGES/GT.mo +0 -0
  265. holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
  266. holidays/locale/es/LC_MESSAGES/HT.mo +0 -0
  267. holidays/locale/es/LC_MESSAGES/MX.mo +0 -0
  268. holidays/locale/es/LC_MESSAGES/NI.mo +0 -0
  269. holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
  270. holidays/locale/es/LC_MESSAGES/PE.mo +0 -0
  271. holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
  272. holidays/locale/es/LC_MESSAGES/SV.mo +0 -0
  273. holidays/locale/es/LC_MESSAGES/UY.mo +0 -0
  274. holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
  275. holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
  276. holidays/locale/fa_AF/LC_MESSAGES/AF.mo +0 -0
  277. holidays/locale/fa_IR/LC_MESSAGES/IR.mo +0 -0
  278. holidays/locale/fi/LC_MESSAGES/AX.mo +0 -0
  279. holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
  280. holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
  281. holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
  282. holidays/locale/fr/LC_MESSAGES/BE.mo +0 -0
  283. holidays/locale/fr/LC_MESSAGES/BL.mo +0 -0
  284. holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
  285. holidays/locale/fr/LC_MESSAGES/CG.mo +0 -0
  286. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  287. holidays/locale/fr/LC_MESSAGES/DJ.mo +0 -0
  288. holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
  289. holidays/locale/fr/LC_MESSAGES/FR.mo +0 -0
  290. holidays/locale/fr/LC_MESSAGES/GF.mo +0 -0
  291. holidays/locale/fr/LC_MESSAGES/GP.mo +0 -0
  292. holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
  293. holidays/locale/fr/LC_MESSAGES/MA.mo +0 -0
  294. holidays/locale/fr/LC_MESSAGES/MC.mo +0 -0
  295. holidays/locale/fr/LC_MESSAGES/MF.mo +0 -0
  296. holidays/locale/fr/LC_MESSAGES/MQ.mo +0 -0
  297. holidays/locale/fr/LC_MESSAGES/NC.mo +0 -0
  298. holidays/locale/fr/LC_MESSAGES/PF.mo +0 -0
  299. holidays/locale/fr/LC_MESSAGES/PM.mo +0 -0
  300. holidays/locale/fr/LC_MESSAGES/RE.mo +0 -0
  301. holidays/locale/fr/LC_MESSAGES/TF.mo +0 -0
  302. holidays/locale/fr/LC_MESSAGES/WF.mo +0 -0
  303. holidays/locale/fr/LC_MESSAGES/YT.mo +0 -0
  304. holidays/locale/fr_HT/LC_MESSAGES/HT.mo +0 -0
  305. holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
  306. holidays/locale/he/LC_MESSAGES/IL.mo +0 -0
  307. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  308. holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
  309. holidays/locale/ht/LC_MESSAGES/HT.mo +0 -0
  310. holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
  311. holidays/locale/hy/LC_MESSAGES/AM.mo +0 -0
  312. holidays/locale/id/LC_MESSAGES/ID.mo +0 -0
  313. holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
  314. holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
  315. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  316. holidays/locale/it/LC_MESSAGES/SM.mo +0 -0
  317. holidays/locale/it/LC_MESSAGES/VA.mo +0 -0
  318. holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
  319. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  320. holidays/locale/kk/LC_MESSAGES/KZ.mo +0 -0
  321. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  322. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  323. holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
  324. holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
  325. holidays/locale/lo/LC_MESSAGES/LA.mo +0 -0
  326. holidays/locale/lt/LC_MESSAGES/LT.mo +0 -0
  327. holidays/locale/lv/LC_MESSAGES/LV.mo +0 -0
  328. holidays/locale/mg/LC_MESSAGES/MG.mo +0 -0
  329. holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
  330. holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
  331. holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
  332. holidays/locale/mt/LC_MESSAGES/MT.mo +0 -0
  333. holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
  334. holidays/locale/nl/LC_MESSAGES/BE.mo +0 -0
  335. holidays/locale/nl/LC_MESSAGES/BQ.mo +0 -0
  336. holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
  337. holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
  338. holidays/locale/nl/LC_MESSAGES/SX.mo +0 -0
  339. holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
  340. holidays/locale/no/LC_MESSAGES/NO.mo +0 -0
  341. holidays/locale/pap_AW/LC_MESSAGES/AW.mo +0 -0
  342. holidays/locale/pap_BQ/LC_MESSAGES/BQ.mo +0 -0
  343. holidays/locale/pap_CW/LC_MESSAGES/CW.mo +0 -0
  344. holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
  345. holidays/locale/ps_AF/LC_MESSAGES/AF.mo +0 -0
  346. holidays/locale/pt_AO/LC_MESSAGES/AO.mo +0 -0
  347. holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
  348. holidays/locale/pt_BR/LC_MESSAGES/BVMF.mo +0 -0
  349. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  350. holidays/locale/pt_MZ/LC_MESSAGES/MZ.mo +0 -0
  351. holidays/locale/pt_PT/LC_MESSAGES/PT.mo +0 -0
  352. holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
  353. holidays/locale/ro/LC_MESSAGES/MD.mo +0 -0
  354. holidays/locale/ro/LC_MESSAGES/RO.mo +0 -0
  355. holidays/locale/ru/LC_MESSAGES/BY.mo +0 -0
  356. holidays/locale/ru/LC_MESSAGES/RU.mo +0 -0
  357. holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
  358. holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
  359. holidays/locale/sk/LC_MESSAGES/SK.mo +0 -0
  360. holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
  361. holidays/locale/sq/LC_MESSAGES/AL.mo +0 -0
  362. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  363. holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
  364. holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
  365. holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
  366. holidays/locale/sv_FI/LC_MESSAGES/AX.mo +0 -0
  367. holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
  368. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  369. holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
  370. holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
  371. holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
  372. holidays/locale/th/LC_MESSAGES/AS.mo +0 -0
  373. holidays/locale/th/LC_MESSAGES/AU.mo +0 -0
  374. holidays/locale/th/LC_MESSAGES/AX.mo +0 -0
  375. holidays/locale/th/LC_MESSAGES/BL.mo +0 -0
  376. holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
  377. holidays/locale/th/LC_MESSAGES/BY.mo +0 -0
  378. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  379. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  380. holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
  381. holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
  382. holidays/locale/th/LC_MESSAGES/FR.mo +0 -0
  383. holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
  384. holidays/locale/th/LC_MESSAGES/GF.mo +0 -0
  385. holidays/locale/th/LC_MESSAGES/GP.mo +0 -0
  386. holidays/locale/th/LC_MESSAGES/GU.mo +0 -0
  387. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  388. holidays/locale/th/LC_MESSAGES/ID.mo +0 -0
  389. holidays/locale/th/LC_MESSAGES/IL.mo +0 -0
  390. holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
  391. holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
  392. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  393. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  394. holidays/locale/th/LC_MESSAGES/LA.mo +0 -0
  395. holidays/locale/th/LC_MESSAGES/MF.mo +0 -0
  396. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  397. holidays/locale/th/LC_MESSAGES/MP.mo +0 -0
  398. holidays/locale/th/LC_MESSAGES/MQ.mo +0 -0
  399. holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
  400. holidays/locale/th/LC_MESSAGES/NC.mo +0 -0
  401. holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
  402. holidays/locale/th/LC_MESSAGES/PF.mo +0 -0
  403. holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
  404. holidays/locale/th/LC_MESSAGES/PM.mo +0 -0
  405. holidays/locale/th/LC_MESSAGES/PR.mo +0 -0
  406. holidays/locale/th/LC_MESSAGES/RE.mo +0 -0
  407. holidays/locale/th/LC_MESSAGES/RU.mo +0 -0
  408. holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
  409. holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
  410. holidays/locale/th/LC_MESSAGES/TF.mo +0 -0
  411. holidays/locale/th/LC_MESSAGES/TH.mo +0 -0
  412. holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
  413. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  414. holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
  415. holidays/locale/th/LC_MESSAGES/UM.mo +0 -0
  416. holidays/locale/th/LC_MESSAGES/US.mo +0 -0
  417. holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
  418. holidays/locale/th/LC_MESSAGES/VI.mo +0 -0
  419. holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
  420. holidays/locale/th/LC_MESSAGES/WF.mo +0 -0
  421. holidays/locale/th/LC_MESSAGES/YT.mo +0 -0
  422. holidays/locale/to/LC_MESSAGES/TO.mo +0 -0
  423. holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
  424. holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
  425. holidays/locale/uk/LC_MESSAGES/AL.mo +0 -0
  426. holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
  427. holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
  428. holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
  429. holidays/locale/uk/LC_MESSAGES/AX.mo +0 -0
  430. holidays/locale/uk/LC_MESSAGES/AZ.mo +0 -0
  431. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  432. holidays/locale/uk/LC_MESSAGES/BE.mo +0 -0
  433. holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
  434. holidays/locale/uk/LC_MESSAGES/BL.mo +0 -0
  435. holidays/locale/uk/LC_MESSAGES/BO.mo +0 -0
  436. holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
  437. holidays/locale/uk/LC_MESSAGES/BVMF.mo +0 -0
  438. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  439. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  440. holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
  441. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  442. holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
  443. holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
  444. holidays/locale/uk/LC_MESSAGES/CY.mo +0 -0
  445. holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
  446. holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
  447. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  448. holidays/locale/uk/LC_MESSAGES/DO.mo +0 -0
  449. holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
  450. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  451. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  452. holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
  453. holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
  454. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  455. holidays/locale/uk/LC_MESSAGES/GF.mo +0 -0
  456. holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
  457. holidays/locale/uk/LC_MESSAGES/GP.mo +0 -0
  458. holidays/locale/uk/LC_MESSAGES/GR.mo +0 -0
  459. holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
  460. holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
  461. holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
  462. holidays/locale/uk/LC_MESSAGES/ID.mo +0 -0
  463. holidays/locale/uk/LC_MESSAGES/IL.mo +0 -0
  464. holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
  465. holidays/locale/uk/LC_MESSAGES/KZ.mo +0 -0
  466. holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
  467. holidays/locale/uk/LC_MESSAGES/LT.mo +0 -0
  468. holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
  469. holidays/locale/uk/LC_MESSAGES/LV.mo +0 -0
  470. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  471. holidays/locale/uk/LC_MESSAGES/MD.mo +0 -0
  472. holidays/locale/uk/LC_MESSAGES/ME.mo +0 -0
  473. holidays/locale/uk/LC_MESSAGES/MF.mo +0 -0
  474. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  475. holidays/locale/uk/LC_MESSAGES/MQ.mo +0 -0
  476. holidays/locale/uk/LC_MESSAGES/MX.mo +0 -0
  477. holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
  478. holidays/locale/uk/LC_MESSAGES/NC.mo +0 -0
  479. holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
  480. holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
  481. holidays/locale/uk/LC_MESSAGES/NO.mo +0 -0
  482. holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
  483. holidays/locale/uk/LC_MESSAGES/PE.mo +0 -0
  484. holidays/locale/uk/LC_MESSAGES/PF.mo +0 -0
  485. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  486. holidays/locale/uk/LC_MESSAGES/PM.mo +0 -0
  487. holidays/locale/uk/LC_MESSAGES/PT.mo +0 -0
  488. holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
  489. holidays/locale/uk/LC_MESSAGES/RE.mo +0 -0
  490. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  491. holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
  492. holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
  493. holidays/locale/uk/LC_MESSAGES/SK.mo +0 -0
  494. holidays/locale/uk/LC_MESSAGES/SM.mo +0 -0
  495. holidays/locale/uk/LC_MESSAGES/SV.mo +0 -0
  496. holidays/locale/uk/LC_MESSAGES/TF.mo +0 -0
  497. holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
  498. holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
  499. holidays/locale/uk/LC_MESSAGES/UY.mo +0 -0
  500. holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
  501. holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
  502. holidays/locale/uk/LC_MESSAGES/WF.mo +0 -0
  503. holidays/locale/uk/LC_MESSAGES/YT.mo +0 -0
  504. holidays/locale/uz/LC_MESSAGES/UZ.mo +0 -0
  505. holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
  506. holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
  507. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  508. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  509. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  510. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  511. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  512. holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
  513. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  514. holidays/mixins/__init__.py +18 -0
  515. holidays/mixins/child_entity.py +43 -0
  516. holidays/observed_holiday_base.py +1 -0
  517. holidays/registry.py +17 -0
  518. holidays/version.py +1 -1
  519. {holidays-0.75.dist-info → holidays-0.76.dist-info}/METADATA +134 -15
  520. holidays-0.76.dist-info/RECORD +785 -0
  521. {holidays-0.75.dist-info → holidays-0.76.dist-info}/licenses/CONTRIBUTORS +1 -0
  522. holidays-0.75.dist-info/RECORD +0 -687
  523. /holidays/{mixins.py → mixins/preferred_discretionary_holidays.py} +0 -0
  524. {holidays-0.75.dist-info → holidays-0.76.dist-info}/WHEEL +0 -0
  525. {holidays-0.75.dist-info → holidays-0.76.dist-info}/licenses/LICENSE +0 -0
  526. {holidays-0.75.dist-info → holidays-0.76.dist-info}/top_level.txt +0 -0
@@ -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
@@ -72,9 +73,12 @@ from holidays.countries.equatorial_guinea import EquatorialGuinea, GQ, GNQ
72
73
  from holidays.countries.estonia import Estonia, EE, EST
73
74
  from holidays.countries.eswatini import Eswatini, SZ, SZW, Swaziland
74
75
  from holidays.countries.ethiopia import Ethiopia, ET, ETH
76
+ from holidays.countries.falkland_islands import FalklandIslands, FK, FLK
75
77
  from holidays.countries.fiji import Fiji, FJ, FJI
76
78
  from holidays.countries.finland import Finland, FI, FIN
77
79
  from holidays.countries.france import France, FR, FRA
80
+ from holidays.countries.french_guiana import FrenchGuiana, GF, GUF, HolidaysGF
81
+ from holidays.countries.french_polynesia import FrenchPolynesia, PF, PYF, HolidaysPF
78
82
  from holidays.countries.french_southern_territories import (
79
83
  FrenchSouthernTerritories,
80
84
  TF,
@@ -88,6 +92,7 @@ from holidays.countries.ghana import Ghana, GH, GHA
88
92
  from holidays.countries.greece import Greece, GR, GRC
89
93
  from holidays.countries.greenland import Greenland, GL, GRL
90
94
  from holidays.countries.grenada import Grenada, GD, GRD
95
+ from holidays.countries.guadeloupe import Guadeloupe, GP, GLP, HolidaysGP
91
96
  from holidays.countries.guam import Guam, GU, GUM, HolidaysGU
92
97
  from holidays.countries.guatemala import Guatemala, GT, GUA
93
98
  from holidays.countries.guernsey import Guernsey, GG, GGY
@@ -117,6 +122,7 @@ from holidays.countries.kyrgyzstan import Kyrgyzstan, KG, KGZ
117
122
  from holidays.countries.laos import Laos, LA, LAO
118
123
  from holidays.countries.latvia import Latvia, LV, LVA
119
124
  from holidays.countries.lesotho import Lesotho, LS, LSO
125
+ from holidays.countries.libya import Libya, LY, LBY
120
126
  from holidays.countries.liechtenstein import Liechtenstein, LI, LIE
121
127
  from holidays.countries.lithuania import Lithuania, LT, LTU
122
128
  from holidays.countries.luxembourg import Luxembourg, LU, LUX
@@ -127,11 +133,15 @@ from holidays.countries.malaysia import Malaysia, MY, MYS
127
133
  from holidays.countries.maldives import Maldives, MV, MDV
128
134
  from holidays.countries.malta import Malta, MT, MLT
129
135
  from holidays.countries.marshall_islands import MarshallIslands, MH, MHL, HolidaysMH
136
+ from holidays.countries.martinique import Martinique, MQ, MTQ, HolidaysMQ
130
137
  from holidays.countries.mauritania import Mauritania, MR, MRT
138
+ from holidays.countries.mauritius import Mauritius, MU, MUS
139
+ from holidays.countries.mayotte import Mayotte, YT, MYT, HolidaysYT
131
140
  from holidays.countries.mexico import Mexico, MX, MEX
132
141
  from holidays.countries.micronesia import Micronesia, FM, FSM
133
142
  from holidays.countries.moldova import Moldova, MD, MDA
134
143
  from holidays.countries.monaco import Monaco, MC, MCO
144
+ from holidays.countries.mongolia import Mongolia, MN, MNG
135
145
  from holidays.countries.montenegro import Montenegro, ME, MNE
136
146
  from holidays.countries.morocco import Morocco, MA, MOR
137
147
  from holidays.countries.mozambique import Mozambique, MZ, MOZ
@@ -139,6 +149,7 @@ from holidays.countries.namibia import Namibia, NA, NAM
139
149
  from holidays.countries.nauru import Nauru, NR, NRU
140
150
  from holidays.countries.nepal import Nepal, NP, NPL
141
151
  from holidays.countries.netherlands import Netherlands, NL, NLD
152
+ from holidays.countries.new_caledonia import NewCaledonia, NC, NCL, HolidaysNC
142
153
  from holidays.countries.new_zealand import NewZealand, NZ, NZL
143
154
  from holidays.countries.nicaragua import Nicaragua, NI, NIC
144
155
  from holidays.countries.niger import Niger, NE, NER
@@ -158,10 +169,19 @@ from holidays.countries.poland import Poland, PL, POL
158
169
  from holidays.countries.portugal import Portugal, PT, PRT
159
170
  from holidays.countries.puerto_rico import PuertoRico, PR, PRI, HolidaysPR
160
171
  from holidays.countries.qatar import Qatar, QA, QAT
172
+ from holidays.countries.reunion import Reunion, RE, REU, HolidaysRE
161
173
  from holidays.countries.romania import Romania, RO, ROU
162
174
  from holidays.countries.russia import Russia, RU, RUS
175
+ from holidays.countries.saint_barthelemy import SaintBarthelemy, BL, BLM, HolidaysBL
163
176
  from holidays.countries.saint_kitts_and_nevis import SaintKittsAndNevis, KN, KNA
164
177
  from holidays.countries.saint_lucia import SaintLucia, LC, LCA
178
+ from holidays.countries.saint_martin import SaintMartin, MF, MAF, HolidaysMF
179
+ from holidays.countries.saint_pierre_and_miquelon import (
180
+ SaintPierreAndMiquelon,
181
+ PM,
182
+ SPM,
183
+ HolidaysPM,
184
+ )
165
185
  from holidays.countries.samoa import Samoa, WS, WSM
166
186
  from holidays.countries.san_marino import SanMarino, SM, SMR
167
187
  from holidays.countries.sao_tome_and_principe import SaoTomeAndPrincipe, ST, STP
@@ -171,6 +191,7 @@ from holidays.countries.serbia import Serbia, RS, SRB
171
191
  from holidays.countries.seychelles import Seychelles, SC, SYC
172
192
  from holidays.countries.sierra_leone import SierraLeone, SL, SLE
173
193
  from holidays.countries.singapore import Singapore, SG, SGP
194
+ from holidays.countries.sint_maarten import SintMaarten, SX, SXM
174
195
  from holidays.countries.slovakia import Slovakia, SK, SVK
175
196
  from holidays.countries.slovenia import Slovenia, SI, SVN
176
197
  from holidays.countries.solomon_islands import SolomonIslands, SB, SLB
@@ -215,6 +236,7 @@ from holidays.countries.vanuatu import Vanuatu, VU, VTU
215
236
  from holidays.countries.vatican_city import VaticanCity, VA, VAT
216
237
  from holidays.countries.venezuela import Venezuela, VE, VEN
217
238
  from holidays.countries.vietnam import Vietnam, VN, VNM
239
+ from holidays.countries.wallis_and_futuna import WallisAndFutuna, WF, WLF, HolidaysWF
218
240
  from holidays.countries.yemen import Yemen, YE, YEM
219
241
  from holidays.countries.zambia import Zambia, ZM, ZMB
220
242
  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