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
@@ -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 HolidaysUM(US):
17
+ class HolidaysUM(ChildEntity, UnitedStates):
18
18
  """United States Minor Outlying Islands 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 HolidaysUM(US):
22
22
  """
23
23
 
24
24
  country = "UM"
25
- supported_categories = (GOVERNMENT, PUBLIC, UNOFFICIAL)
26
- subdivisions = () # Override US subdivisions.
27
- subdivisions_aliases = {} # Override US subdivisions aliases.
25
+ parent_entity = UnitedStates
26
+ # The first islands were claimed via Guano Islands Act on August 18th, 1856.
27
+ start_year = 1857
28
28
 
29
- def _populate_public_holidays(self) -> None:
30
- self.subdiv = "UM"
31
- super()._populate_public_holidays()
32
29
 
33
- def _populate_government_holidays(self) -> None:
34
- self.subdiv = "UM"
35
- super()._populate_government_holidays()
36
-
37
- def _populate_unofficial_holidays(self) -> None:
38
- self.subdiv = "UM"
39
- super()._populate_unofficial_holidays()
30
+ class UnitedStatesMinorOutlyingIslands(HolidaysUM):
31
+ pass
40
32
 
41
33
 
42
34
  class UM(HolidaysUM):
@@ -45,7 +37,3 @@ class UM(HolidaysUM):
45
37
 
46
38
  class UMI(HolidaysUM):
47
39
  pass
48
-
49
-
50
- class UnitedStatesMinorOutlyingIslands(HolidaysUM):
51
- pass
@@ -10,11 +10,11 @@
10
10
  # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
- from holidays.constants import GOVERNMENT, PUBLIC, UNOFFICIAL
14
- from holidays.countries.united_states import US
13
+ from holidays.countries.united_states import UnitedStates
14
+ from holidays.mixins.child_entity import ChildEntity
15
15
 
16
16
 
17
- class HolidaysVI(US):
17
+ class HolidaysVI(ChildEntity, UnitedStates):
18
18
  """United States Virgin Islands (the) 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 HolidaysVI(US):
22
22
  """
23
23
 
24
24
  country = "VI"
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 March 31st, 1917.
27
+ start_year = 1918
28
28
 
29
- def _populate_public_holidays(self) -> None:
30
- self.subdiv = "VI"
31
- super()._populate_public_holidays()
32
29
 
33
- def _populate_government_holidays(self) -> None:
34
- self.subdiv = "VI"
35
- super()._populate_government_holidays()
36
-
37
- def _populate_unofficial_holidays(self) -> None:
38
- self.subdiv = "VI"
39
- super()._populate_unofficial_holidays()
30
+ class UnitedStatesVirginIslands(HolidaysVI):
31
+ pass
40
32
 
41
33
 
42
34
  class VI(HolidaysVI):
@@ -45,7 +37,3 @@ class VI(HolidaysVI):
45
37
 
46
38
  class VIR(HolidaysVI):
47
39
  pass
48
-
49
-
50
- class UnitedStatesVirginIslands(HolidaysVI):
51
- pass
@@ -55,7 +55,7 @@ class Uzbekistan(ObservedHolidayBase, InternationalHolidays, IslamicHolidays, St
55
55
  super().__init__(*args, **kwargs)
56
56
 
57
57
  def _is_observed(self, dt: date) -> bool:
58
- # Commencement of the new Labor Code
58
+ # Commencement of the new Labor Code.
59
59
  return dt >= date(2023, APR, 30)
60
60
 
61
61
  def _populate_public_holidays(self):
@@ -132,6 +132,8 @@ class UzbekistanIslamicHolidays(_CustomIslamicHolidays):
132
132
  2021: (JUL, 20),
133
133
  2022: (JUL, 9),
134
134
  2023: (JUN, 28),
135
+ 2024: (JUN, 16),
136
+ 2025: (JUN, 6),
135
137
  }
136
138
 
137
139
  EID_AL_FITR_DATES = {
@@ -154,10 +156,24 @@ class UzbekistanIslamicHolidays(_CustomIslamicHolidays):
154
156
  2022: (MAY, 2),
155
157
  2023: (APR, 21),
156
158
  2024: (APR, 10),
159
+ 2025: (MAR, 30),
157
160
  }
158
161
 
159
162
 
160
163
  class UzbekistanStaticHolidays:
164
+ """Uzbekistan special holidays.
165
+
166
+ References:
167
+ * [2018](https://web.archive.org/web/20250610012705/https://lex.uz/ru/docs/3479237)
168
+ * [2019](https://web.archive.org/web/20250521124231/https://lex.uz/docs/-4054698)
169
+ * [2020](https://web.archive.org/web/20250522053834/https://lex.uz/docs/-4595638)
170
+ * [2021](https://web.archive.org/web/20250522053822/https://lex.uz/docs/-5137156)
171
+ * [2022](https://web.archive.org/web/20250522053831/https://lex.uz/docs/-5784917)
172
+ * [2023](https://web.archive.org/web/20250522053822/https://lex.uz/docs/-6324664)
173
+ * [2024](https://web.archive.org/web/20250522053835/https://lex.uz/docs/-6704048)
174
+ * [2025](https://web.archive.org/web/20250422135040/https://lex.uz/docs/-7275687)
175
+ """
176
+
161
177
  # Date format (see strftime() Format Codes)
162
178
  substituted_date_format = tr("%d/%m %Y")
163
179
  # Day off (substituted from %s).
@@ -171,7 +187,7 @@ class UzbekistanStaticHolidays:
171
187
  (JAN, 3, JAN, 6),
172
188
  (MAR, 19, MAR, 17),
173
189
  (MAR, 22, MAR, 24),
174
- (MAR, 30, additional_day_off),
190
+ (MAR, 20, additional_day_off),
175
191
  (AUG, 23, AUG, 25),
176
192
  (AUG, 24, AUG, 26),
177
193
  (AUG, 31, additional_day_off),
@@ -232,4 +248,5 @@ class UzbekistanStaticHolidays:
232
248
  (DEC, 30, DEC, 14),
233
249
  (DEC, 31, additional_day_off),
234
250
  ),
251
+ 2025: (JAN, 2, JAN, 4),
235
252
  }
@@ -0,0 +1,43 @@
1
+ # holidays
2
+ # --------
3
+ # A fast, efficient Python library for generating country, province and state
4
+ # specific sets of holidays on the fly. It aims to make determining whether a
5
+ # specific date is a holiday as fast and flexible as possible.
6
+ #
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
+ # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
+ # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
+ # Website: https://github.com/vacanza/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from holidays.countries.france import France
14
+ from holidays.mixins.child_entity import ChildEntity
15
+
16
+
17
+ class HolidaysWF(ChildEntity, France):
18
+ """Wallis and Futuna holidays.
19
+
20
+ Alias of a French subdivision that is also officially assigned
21
+ its own country code in ISO 3166-1.
22
+
23
+ References:
24
+ * <https://en.wikipedia.org/wiki/Wallis_and_Futuna>
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_France>
26
+ """
27
+
28
+ country = "WF"
29
+ parent_entity = France
30
+ # Separation from French Caledonia on July 29th, 1961.
31
+ start_year = 1962
32
+
33
+
34
+ class WallisAndFutuna(HolidaysWF):
35
+ pass
36
+
37
+
38
+ class WF(HolidaysWF):
39
+ pass
40
+
41
+
42
+ class WLF(HolidaysWF):
43
+ pass
@@ -51,11 +51,11 @@ class Yemen(ObservedHolidayBase, InternationalHolidays, IslamicHolidays):
51
51
  country = "YE"
52
52
  default_language = "ar"
53
53
  # %s (estimated).
54
- estimated_label = tr("%s (مُقدَّر)")
54
+ estimated_label = tr("%s (المقدرة)")
55
55
  # %s (observed).
56
56
  observed_label = tr("%s (ملاحظة)")
57
57
  # %s (observed, estimated).
58
- observed_estimated_label = tr("%s (مُقدَّر ملاحظة)")
58
+ observed_estimated_label = tr("%s (المقدرة، ملاحظة)")
59
59
  # The Republic of Yemen was declared on 22 May 1990.
60
60
  start_year = 1991
61
61
  supported_categories = (PUBLIC, SCHOOL, WORKDAY)
@@ -22,6 +22,7 @@ from holidays.groups.hebrew import HebrewCalendarHolidays
22
22
  from holidays.groups.hindu import HinduCalendarHolidays
23
23
  from holidays.groups.international import InternationalHolidays
24
24
  from holidays.groups.islamic import IslamicHolidays
25
+ from holidays.groups.mongolian import MongolianCalendarHolidays
25
26
  from holidays.groups.persian import PersianCalendarHolidays
26
27
  from holidays.groups.sinhala import SinhalaCalendarHolidays
27
28
  from holidays.groups.thai import ThaiCalendarHolidays
@@ -121,6 +121,17 @@ class ChineseCalendarHolidays(EasternCalendarHolidays):
121
121
  name, self._chinese_calendar.buddha_birthday_date(self._year)
122
122
  )
123
123
 
124
+ def _add_chinese_day_before_new_years_eve(self, name) -> Optional[date]:
125
+ """
126
+ Add day before Chinese New Year's Eve (second to last day of 12th lunar month).
127
+
128
+ Chinese New Year's Eve is the day before the Chinese New Year.
129
+ https://en.wikipedia.org/wiki/Chinese_New_Year's_Eve
130
+ """
131
+ return self._add_chinese_calendar_holiday(
132
+ name, self._chinese_calendar.lunar_new_year_date(self._year), days_delta=-2
133
+ )
134
+
124
135
  def _add_chinese_new_years_eve(self, name) -> Optional[date]:
125
136
  """
126
137
  Add Chinese New Year's Eve (last day of 12th lunar month).
@@ -116,7 +116,7 @@ class ChristianHolidays:
116
116
  """
117
117
  return self._add_holiday_nov_2(name)
118
118
 
119
- def _add_ascension_thursday(self, name) -> date:
119
+ def _add_ascension_thursday(self, name, calendar=None) -> date:
120
120
  """
121
121
  Add Ascension Thursday (39 days after the Easter Sunday).
122
122
 
@@ -124,7 +124,7 @@ class ChristianHolidays:
124
124
  Day, or sometimes Holy Thursday.
125
125
  https://en.wikipedia.org/wiki/Feast_of_the_Ascension
126
126
  """
127
- return self._add_holiday(name, _timedelta(self._easter_sunday, +39))
127
+ return self._add_holiday(name, _timedelta(self.__get_easter_sunday(calendar), +39))
128
128
 
129
129
  def _add_ash_monday(self, name) -> date:
130
130
  """
@@ -316,16 +316,16 @@ class ChristianHolidays:
316
316
  """
317
317
  return self._add_holiday(name, _timedelta(self.__get_easter_sunday(calendar), -2))
318
318
 
319
- def _add_holy_saturday(self, name) -> date:
319
+ def _add_holy_saturday(self, name, calendar=None) -> date:
320
320
  """
321
321
  Add Holy Saturday (1 day before Easter Sunday).
322
322
 
323
323
  Great and Holy Saturday is a day between Good Friday and Easter Sunday.
324
324
  https://en.wikipedia.org/wiki/Holy_Saturday
325
325
  """
326
- return self._add_holiday(name, _timedelta(self._easter_sunday, -1))
326
+ return self._add_holiday(name, _timedelta(self.__get_easter_sunday(calendar), -1))
327
327
 
328
- def _add_holy_thursday(self, name) -> date:
328
+ def _add_holy_thursday(self, name, calendar=None) -> date:
329
329
  """
330
330
  Add Holy Thursday (3 days before Easter Sunday).
331
331
 
@@ -334,7 +334,7 @@ class ChristianHolidays:
334
334
  Jesus Christ with the Apostles, as described in the canonical gospels.
335
335
  https://en.wikipedia.org/wiki/Maundy_Thursday
336
336
  """
337
- return self._add_holiday(name, _timedelta(self._easter_sunday, -3))
337
+ return self._add_holiday(name, _timedelta(self.__get_easter_sunday(calendar), -3))
338
338
 
339
339
  def _add_immaculate_conception_day(self, name) -> date:
340
340
  """
@@ -355,7 +355,7 @@ class ChristianHolidays:
355
355
  """
356
356
  return self._add_holiday_sep_8(name)
357
357
 
358
- def _add_palm_sunday(self, name) -> date:
358
+ def _add_palm_sunday(self, name, calendar=None) -> date:
359
359
  """
360
360
  Add Palm Sunday (7 days before Easter Sunday).
361
361
 
@@ -365,7 +365,7 @@ class ChristianHolidays:
365
365
  Palm Sunday marks the first day of Holy Week.
366
366
  https://en.wikipedia.org/wiki/Palm_Sunday
367
367
  """
368
- return self._add_holiday(name, _timedelta(self._easter_sunday, -7))
368
+ return self._add_holiday(name, _timedelta(self.__get_easter_sunday(calendar), -7))
369
369
 
370
370
  def _add_rejoicing_day(self, name) -> date:
371
371
  """
@@ -440,7 +440,7 @@ class ChristianHolidays:
440
440
  """
441
441
  return self._add_holiday(name, _timedelta(self._easter_sunday, +50))
442
442
 
443
- def _add_whit_sunday(self, name) -> date:
443
+ def _add_whit_sunday(self, name, calendar=None) -> date:
444
444
  """
445
445
  Add Whit Sunday (49 days after Easter Sunday).
446
446
 
@@ -450,7 +450,7 @@ class ChristianHolidays:
450
450
  Feast of Weeks.
451
451
  https://en.wikipedia.org/wiki/Pentecost
452
452
  """
453
- return self._add_holiday(name, _timedelta(self._easter_sunday, +49))
453
+ return self._add_holiday(name, _timedelta(self.__get_easter_sunday(calendar), +49))
454
454
 
455
455
  def _add_trinity_sunday(self, name) -> date:
456
456
  """
@@ -29,7 +29,7 @@ class EasternCalendarHolidays:
29
29
  days_delta: int = 0,
30
30
  ) -> Optional[date]:
31
31
  """
32
- Add Eastern (Buddhist, Chinese, Hindu, Islamic) calendar holiday.
32
+ Add Eastern (Buddhist, Chinese, Hindu, Islamic, Mongolian) calendar holiday.
33
33
 
34
34
  Adds customizable estimation label to holiday name if holiday date is an estimation.
35
35
  """
holidays/groups/hebrew.py CHANGED
@@ -27,11 +27,11 @@ class HebrewCalendarHolidays:
27
27
  self._hebrew_calendar = _HebrewLunisolar()
28
28
 
29
29
  def _add_hebrew_calendar_holiday(
30
- self, name: str, hol_date: date, days_delta: Union[int, Iterable[int]] = 0
30
+ self, name: str, holiday_date: date, days_delta: Union[int, Iterable[int]] = 0
31
31
  ) -> set[date]:
32
32
  added_dates = set()
33
33
  for delta in (days_delta,) if isinstance(days_delta, int) else days_delta:
34
- if dt := self._add_holiday(name, _timedelta(hol_date, delta)):
34
+ if dt := self._add_holiday(name, _timedelta(holiday_date, delta)):
35
35
  added_dates.add(dt)
36
36
  return added_dates
37
37
 
@@ -373,6 +373,23 @@ class IslamicHolidays(EasternCalendarHolidays):
373
373
  name, self._islamic_calendar.nuzul_al_quran_dates(self._year)
374
374
  )
375
375
 
376
+ def _add_prophet_baptism_day(self, name) -> set[date]:
377
+ """
378
+ Add Prophet's Baptism.
379
+
380
+ Celebrated one week after the Prophet Mohammed's Birthday, this
381
+ marks the traditional Islamic birth rites that take place seven
382
+ days after birth. While it is not recognized in mainstream Islam,
383
+ Mali celebrates it as a cultural-religious public holiday that
384
+ reflects the local interpretation and honor of the Prophet Muhammad.
385
+ The term "baptism" is symbolic and not literal - there's no Islamic
386
+ ritual akin to Christian baptism.
387
+ https://www.officeholidays.com/holidays/mali/prophets-baptism
388
+ """
389
+ return self._add_islamic_calendar_holiday(
390
+ name, self._islamic_calendar.mawlid_dates(self._year), days_delta=+7
391
+ )
392
+
376
393
  def _add_prophet_death_day(self, name) -> set[date]:
377
394
  """
378
395
  Add death of Prophet Muhammad and Hasan ibn Ali day (28th day of 2nd month).
@@ -0,0 +1,103 @@
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 import _MongolianLunisolar
17
+ from holidays.groups.eastern import EasternCalendarHolidays
18
+
19
+
20
+ class MongolianCalendarHolidays(EasternCalendarHolidays):
21
+ """
22
+ Mongolian lunisolar calendar holidays.
23
+ """
24
+
25
+ def __init__(self, cls=None, show_estimated=False) -> None:
26
+ self._mongolian_calendar = cls() if cls else _MongolianLunisolar()
27
+ self._mongolian_calendar_show_estimated = show_estimated
28
+
29
+ def _add_mongolian_calendar_holiday(
30
+ self, name: str, dt_estimated: tuple[Optional[date], bool], days_delta: int = 0
31
+ ) -> Optional[date]:
32
+ """
33
+ Add Mongolian calendar holiday.
34
+
35
+ Adds customizable estimation label to holiday name if holiday date
36
+ is an estimation.
37
+ """
38
+
39
+ return self._add_eastern_calendar_holiday(
40
+ name, dt_estimated, self._mongolian_calendar_show_estimated, days_delta
41
+ )
42
+
43
+ def _add_buddha_day(self, name) -> Optional[date]:
44
+ """
45
+ Add Buddha Day.
46
+
47
+ Buddha Day is celebrated on the 15th day of the early summer month
48
+ in the Mongolian lunisolar calendar.
49
+ This holiday honors the birth, enlightenment, and death of Buddha.
50
+ https://en.wikipedia.org/wiki/Vesak (general Buddhist context)
51
+ """
52
+ return self._add_mongolian_calendar_holiday(
53
+ name, self._mongolian_calendar.buddha_day_date(self._year)
54
+ )
55
+
56
+ def _add_genghis_khan_day(self, name) -> Optional[date]:
57
+ """
58
+ Add Genghis Khan's Birthday.
59
+
60
+ Genghis Khan's Birthday is observed on the 1st day of the early winter month
61
+ according to the Mongolian lunisolar calendar.
62
+ It commemorates the birth of the founder of the Mongol Empire.
63
+ https://en.wikipedia.org/wiki/Genghis_Khan
64
+ """
65
+ return self._add_mongolian_calendar_holiday(
66
+ name, self._mongolian_calendar.genghis_khan_day_date(self._year)
67
+ )
68
+
69
+ def _add_tsagaan_sar(self, name) -> Optional[date]:
70
+ """
71
+ Add Tsagaan Sar (Mongolian Lunar New Year).
72
+
73
+ Tsagaan Sar, or White Moon Festival, marks the beginning of the Mongolian Lunar New Year.
74
+ It usually falls on the first day of the first month of the Mongolian lunisolar calendar.
75
+ https://en.wikipedia.org/wiki/Tsagaan_Sar
76
+ """
77
+ return self._add_mongolian_calendar_holiday(
78
+ name, self._mongolian_calendar.tsagaan_sar_date(self._year)
79
+ )
80
+
81
+ def _add_tsagaan_sar_day_2(self, name) -> Optional[date]:
82
+ """
83
+ Add Tsagaan Sar Day 2 (Mongolian Lunar New Year).
84
+
85
+ Tsagaan Sar, or White Moon Festival, marks the beginning of the Mongolian Lunar New Year.
86
+ It usually falls on the first day of the first month of the Mongolian lunisolar calendar.
87
+ https://en.wikipedia.org/wiki/Tsagaan_Sar
88
+ """
89
+ return self._add_mongolian_calendar_holiday(
90
+ name, self._mongolian_calendar.tsagaan_sar_date(self._year), days_delta=+1
91
+ )
92
+
93
+ def _add_tsagaan_sar_day_3(self, name) -> Optional[date]:
94
+ """
95
+ Add Tsagaan Sar Day 3 (Mongolian Lunar New Year).
96
+
97
+ Tsagaan Sar, or White Moon Festival, marks the beginning of the Mongolian Lunar New Year.
98
+ It usually falls on the first day of the first month of the Mongolian lunisolar calendar.
99
+ https://en.wikipedia.org/wiki/Tsagaan_Sar
100
+ """
101
+ return self._add_mongolian_calendar_holiday(
102
+ name, self._mongolian_calendar.tsagaan_sar_date(self._year), days_delta=+2
103
+ )
holidays/holiday_base.py CHANGED
@@ -44,7 +44,7 @@ from holidays.constants import HOLIDAY_NAME_DELIMITER, PUBLIC, DEFAULT_START_YEA
44
44
  from holidays.helpers import _normalize_arguments, _normalize_tuple
45
45
 
46
46
  CategoryArg = Union[str, Iterable[str]]
47
- DateArg = Union[date, tuple[int, int]]
47
+ DateArg = Union[date, tuple[int, int], tuple[int, int, int]]
48
48
  DateLike = Union[date, datetime, str, float, int]
49
49
  SpecialHoliday = Union[tuple[int, int, str], tuple[tuple[int, int, str], ...]]
50
50
  SubstitutedHoliday = Union[
@@ -348,11 +348,16 @@ class HolidayBase(dict[date, str]):
348
348
  if isinstance(subdiv, int):
349
349
  subdiv = str(subdiv)
350
350
 
351
- subdivisions_aliases = tuple(sorted(self.subdivisions_aliases))
351
+ subdivision_aliases = tuple(self.subdivisions_aliases)
352
+ supported_subdivisions = set(
353
+ self.subdivisions
354
+ + subdivision_aliases
355
+ + self._deprecated_subdivisions
356
+ + (self.parent_entity.subdivisions if self.parent_entity else ())
357
+ )
358
+
352
359
  # Unsupported subdivisions.
353
- if not isinstance(self, HolidaySum) and subdiv not in (
354
- self.subdivisions + subdivisions_aliases + self._deprecated_subdivisions
355
- ):
360
+ if not isinstance(self, HolidaySum) and subdiv not in supported_subdivisions:
356
361
  raise NotImplementedError(
357
362
  f"Entity `{self._entity_code}` does not have subdivision {subdiv}"
358
363
  )
@@ -371,7 +376,7 @@ class HolidayBase(dict[date, str]):
371
376
  "Dec, 1 2023. The list of supported subdivisions: "
372
377
  f"{', '.join(sorted(self.subdivisions))}; "
373
378
  "the list of supported subdivisions aliases: "
374
- f"{', '.join(subdivisions_aliases)}.",
379
+ f"{', '.join(sorted(subdivision_aliases))}.",
375
380
  DeprecationWarning,
376
381
  )
377
382
 
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file