holidays 0.58__py3-none-any.whl → 0.60__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 (611) hide show
  1. holidays/__init__.py +3 -15
  2. holidays/calendars/buddhist.py +4 -4
  3. holidays/calendars/chinese.py +8 -8
  4. holidays/calendars/hindu.py +4 -4
  5. holidays/calendars/islamic.py +25 -25
  6. holidays/countries/albania.py +81 -27
  7. holidays/countries/angola.py +2 -2
  8. holidays/countries/armenia.py +5 -2
  9. holidays/countries/australia.py +2 -1
  10. holidays/countries/azerbaijan.py +7 -2
  11. holidays/countries/belarus.py +1 -1
  12. holidays/countries/bosnia_and_herzegovina.py +2 -2
  13. holidays/countries/bulgaria.py +1 -2
  14. holidays/countries/cambodia.py +5 -7
  15. holidays/countries/chile.py +1 -2
  16. holidays/countries/czechia.py +6 -3
  17. holidays/countries/egypt.py +0 -1
  18. holidays/countries/france.py +1 -1
  19. holidays/countries/georgia.py +1 -1
  20. holidays/countries/germany.py +20 -1
  21. holidays/countries/hongkong.py +1 -2
  22. holidays/countries/indonesia.py +620 -83
  23. holidays/countries/japan.py +3 -4
  24. holidays/countries/jersey.py +2 -2
  25. holidays/countries/jordan.py +1 -1
  26. holidays/countries/kazakhstan.py +1 -1
  27. holidays/countries/kuwait.py +1 -1
  28. holidays/countries/kyrgyzstan.py +1 -1
  29. holidays/countries/malaysia.py +7 -1
  30. holidays/countries/mauritania.py +0 -1
  31. holidays/countries/moldova.py +4 -3
  32. holidays/countries/philippines.py +79 -40
  33. holidays/countries/russia.py +1 -1
  34. holidays/countries/saudi_arabia.py +1 -2
  35. holidays/countries/slovakia.py +1 -1
  36. holidays/countries/south_korea.py +1 -2
  37. holidays/countries/spain.py +17 -14
  38. holidays/countries/taiwan.py +1 -2
  39. holidays/countries/thailand.py +21 -23
  40. holidays/countries/timor_leste.py +41 -0
  41. holidays/countries/ukraine.py +1 -3
  42. holidays/countries/united_arab_emirates.py +5 -2
  43. holidays/countries/united_kingdom.py +2 -2
  44. holidays/countries/united_states.py +6 -4
  45. holidays/countries/uzbekistan.py +2 -1
  46. holidays/countries/vietnam.py +116 -25
  47. holidays/{deprecation.py → deprecations/v1_incompatibility.py} +12 -2
  48. holidays/groups/__init__.py +1 -0
  49. holidays/groups/buddhist.py +6 -11
  50. holidays/groups/chinese.py +7 -25
  51. holidays/groups/eastern.py +51 -0
  52. holidays/groups/hindu.py +6 -11
  53. holidays/groups/international.py +8 -5
  54. holidays/groups/islamic.py +39 -46
  55. holidays/holiday_base.py +31 -30
  56. holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
  57. holidays/locale/am/LC_MESSAGES/ET.po +1 -1
  58. holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
  59. holidays/locale/ar/LC_MESSAGES/AE.po +1 -1
  60. holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
  61. holidays/locale/ar/LC_MESSAGES/BH.po +1 -1
  62. holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
  63. holidays/locale/ar/LC_MESSAGES/CA.po +1 -1
  64. holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
  65. holidays/locale/ar/LC_MESSAGES/DJ.po +1 -1
  66. holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
  67. holidays/locale/ar/LC_MESSAGES/DZ.po +1 -1
  68. holidays/locale/ar/LC_MESSAGES/EG.mo +0 -0
  69. holidays/locale/ar/LC_MESSAGES/EG.po +1 -1
  70. holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
  71. holidays/locale/ar/LC_MESSAGES/ET.po +1 -1
  72. holidays/locale/ar/LC_MESSAGES/MA.mo +0 -0
  73. holidays/locale/ar/LC_MESSAGES/MA.po +1 -1
  74. holidays/locale/ar/LC_MESSAGES/SA.mo +0 -0
  75. holidays/locale/ar/LC_MESSAGES/SA.po +1 -1
  76. holidays/locale/ar/LC_MESSAGES/TN.mo +0 -0
  77. holidays/locale/ar/LC_MESSAGES/TN.po +1 -1
  78. holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
  79. holidays/locale/ar/LC_MESSAGES/UA.po +1 -1
  80. holidays/locale/az/LC_MESSAGES/AZ.mo +0 -0
  81. holidays/locale/az/LC_MESSAGES/AZ.po +1 -1
  82. holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
  83. holidays/locale/be/LC_MESSAGES/BY.po +1 -1
  84. holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
  85. holidays/locale/bg/LC_MESSAGES/BG.po +1 -1
  86. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  87. holidays/locale/bs/LC_MESSAGES/BA.po +1 -1
  88. holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
  89. holidays/locale/cs/LC_MESSAGES/CZ.po +1 -1
  90. holidays/locale/da/LC_MESSAGES/DK.mo +0 -0
  91. holidays/locale/da/LC_MESSAGES/DK.po +1 -1
  92. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  93. holidays/locale/da/LC_MESSAGES/GL.po +1 -1
  94. holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
  95. holidays/locale/de/LC_MESSAGES/AT.po +1 -1
  96. holidays/locale/de/LC_MESSAGES/BE.mo +0 -0
  97. holidays/locale/de/LC_MESSAGES/BE.po +1 -1
  98. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  99. holidays/locale/de/LC_MESSAGES/CH.po +1 -1
  100. holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
  101. holidays/locale/de/LC_MESSAGES/DE.po +16 -5
  102. holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
  103. holidays/locale/de/LC_MESSAGES/LI.po +1 -1
  104. holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
  105. holidays/locale/de/LC_MESSAGES/LU.po +1 -1
  106. holidays/locale/el/LC_MESSAGES/CY.mo +0 -0
  107. holidays/locale/el/LC_MESSAGES/CY.po +1 -1
  108. holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
  109. holidays/locale/el/LC_MESSAGES/GR.po +1 -1
  110. holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
  111. holidays/locale/en_CA/LC_MESSAGES/CA.po +1 -1
  112. holidays/locale/en_CY/LC_MESSAGES/CY.mo +0 -0
  113. holidays/locale/en_CY/LC_MESSAGES/CY.po +1 -1
  114. holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
  115. holidays/locale/en_PH/LC_MESSAGES/PH.po +128 -0
  116. holidays/locale/en_SC/LC_MESSAGES/SC.mo +0 -0
  117. holidays/locale/en_SC/LC_MESSAGES/SC.po +1 -1
  118. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  119. holidays/locale/en_US/LC_MESSAGES/AE.po +1 -1
  120. holidays/locale/en_US/LC_MESSAGES/AL.mo +0 -0
  121. holidays/locale/en_US/LC_MESSAGES/AL.po +106 -0
  122. holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
  123. holidays/locale/en_US/LC_MESSAGES/AM.po +1 -1
  124. holidays/locale/en_US/LC_MESSAGES/AO.mo +0 -0
  125. holidays/locale/en_US/LC_MESSAGES/AO.po +1 -1
  126. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  127. holidays/locale/en_US/LC_MESSAGES/AR.po +1 -1
  128. holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
  129. holidays/locale/en_US/LC_MESSAGES/AT.po +1 -1
  130. holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
  131. holidays/locale/en_US/LC_MESSAGES/AW.po +1 -1
  132. holidays/locale/en_US/LC_MESSAGES/AZ.mo +0 -0
  133. holidays/locale/en_US/LC_MESSAGES/AZ.po +1 -1
  134. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  135. holidays/locale/en_US/LC_MESSAGES/BA.po +1 -1
  136. holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
  137. holidays/locale/en_US/LC_MESSAGES/BE.po +1 -1
  138. holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
  139. holidays/locale/en_US/LC_MESSAGES/BG.po +1 -1
  140. holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
  141. holidays/locale/en_US/LC_MESSAGES/BH.po +1 -1
  142. holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
  143. holidays/locale/en_US/LC_MESSAGES/BN.po +1 -1
  144. holidays/locale/en_US/LC_MESSAGES/BO.mo +0 -0
  145. holidays/locale/en_US/LC_MESSAGES/BO.po +1 -1
  146. holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
  147. holidays/locale/en_US/LC_MESSAGES/BY.po +1 -1
  148. holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
  149. holidays/locale/en_US/LC_MESSAGES/CA.po +1 -1
  150. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  151. holidays/locale/en_US/LC_MESSAGES/CH.po +1 -1
  152. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  153. holidays/locale/en_US/LC_MESSAGES/CL.po +1 -1
  154. holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
  155. holidays/locale/en_US/LC_MESSAGES/CN.po +1 -1
  156. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  157. holidays/locale/en_US/LC_MESSAGES/CO.po +1 -1
  158. holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
  159. holidays/locale/en_US/LC_MESSAGES/CR.po +1 -1
  160. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  161. holidays/locale/en_US/LC_MESSAGES/CU.po +1 -1
  162. holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
  163. holidays/locale/en_US/LC_MESSAGES/CW.po +1 -1
  164. holidays/locale/en_US/LC_MESSAGES/CY.mo +0 -0
  165. holidays/locale/en_US/LC_MESSAGES/CY.po +1 -1
  166. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  167. holidays/locale/en_US/LC_MESSAGES/CZ.po +1 -1
  168. holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
  169. holidays/locale/en_US/LC_MESSAGES/DE.po +17 -4
  170. holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
  171. holidays/locale/en_US/LC_MESSAGES/DJ.po +1 -1
  172. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  173. holidays/locale/en_US/LC_MESSAGES/DK.po +1 -1
  174. holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
  175. holidays/locale/en_US/LC_MESSAGES/DO.po +1 -1
  176. holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
  177. holidays/locale/en_US/LC_MESSAGES/DZ.po +1 -1
  178. holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
  179. holidays/locale/en_US/LC_MESSAGES/EC.po +1 -1
  180. holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
  181. holidays/locale/en_US/LC_MESSAGES/EE.po +1 -1
  182. holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
  183. holidays/locale/en_US/LC_MESSAGES/EG.po +1 -1
  184. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  185. holidays/locale/en_US/LC_MESSAGES/ES.po +1 -1
  186. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  187. holidays/locale/en_US/LC_MESSAGES/ET.po +1 -1
  188. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  189. holidays/locale/en_US/LC_MESSAGES/FI.po +1 -1
  190. holidays/locale/en_US/LC_MESSAGES/FR.mo +0 -0
  191. holidays/locale/en_US/LC_MESSAGES/FR.po +1 -1
  192. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  193. holidays/locale/en_US/LC_MESSAGES/GE.po +1 -1
  194. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  195. holidays/locale/en_US/LC_MESSAGES/GL.po +1 -1
  196. holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
  197. holidays/locale/en_US/LC_MESSAGES/GR.po +1 -1
  198. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  199. holidays/locale/en_US/LC_MESSAGES/GT.po +1 -1
  200. holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
  201. holidays/locale/en_US/LC_MESSAGES/HN.po +1 -1
  202. holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
  203. holidays/locale/en_US/LC_MESSAGES/HR.po +1 -1
  204. holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
  205. holidays/locale/en_US/LC_MESSAGES/HU.po +1 -1
  206. holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
  207. holidays/locale/en_US/LC_MESSAGES/ID.po +68 -14
  208. holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
  209. holidays/locale/en_US/LC_MESSAGES/IL.po +1 -1
  210. holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
  211. holidays/locale/en_US/LC_MESSAGES/IR.po +1 -1
  212. holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
  213. holidays/locale/en_US/LC_MESSAGES/IS.po +1 -1
  214. holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
  215. holidays/locale/en_US/LC_MESSAGES/JP.po +1 -1
  216. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  217. holidays/locale/en_US/LC_MESSAGES/KH.po +1 -1
  218. holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
  219. holidays/locale/en_US/LC_MESSAGES/KR.po +1 -1
  220. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  221. holidays/locale/en_US/LC_MESSAGES/LA.po +1 -1
  222. holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/LI.po +1 -1
  224. holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
  225. holidays/locale/en_US/LC_MESSAGES/LT.po +1 -1
  226. holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
  227. holidays/locale/en_US/LC_MESSAGES/LU.po +1 -1
  228. holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
  229. holidays/locale/en_US/LC_MESSAGES/LV.po +1 -1
  230. holidays/locale/en_US/LC_MESSAGES/MA.mo +0 -0
  231. holidays/locale/en_US/LC_MESSAGES/MA.po +1 -1
  232. holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
  233. holidays/locale/en_US/LC_MESSAGES/MC.po +1 -1
  234. holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
  235. holidays/locale/en_US/LC_MESSAGES/MD.po +1 -1
  236. holidays/locale/en_US/LC_MESSAGES/MG.mo +0 -0
  237. holidays/locale/en_US/LC_MESSAGES/MG.po +1 -1
  238. holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
  239. holidays/locale/en_US/LC_MESSAGES/MT.po +1 -1
  240. holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
  241. holidays/locale/en_US/LC_MESSAGES/MX.po +1 -1
  242. holidays/locale/en_US/LC_MESSAGES/MZ.mo +0 -0
  243. holidays/locale/en_US/LC_MESSAGES/MZ.po +1 -1
  244. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  245. holidays/locale/en_US/LC_MESSAGES/NI.po +1 -1
  246. holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
  247. holidays/locale/en_US/LC_MESSAGES/NL.po +1 -1
  248. holidays/locale/en_US/LC_MESSAGES/NO.mo +0 -0
  249. holidays/locale/en_US/LC_MESSAGES/NO.po +1 -1
  250. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  251. holidays/locale/en_US/LC_MESSAGES/PE.po +1 -1
  252. holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
  253. holidays/locale/en_US/LC_MESSAGES/PH.po +128 -0
  254. holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
  255. holidays/locale/en_US/LC_MESSAGES/PL.po +1 -1
  256. holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
  257. holidays/locale/en_US/LC_MESSAGES/PT.po +1 -1
  258. holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
  259. holidays/locale/en_US/LC_MESSAGES/PY.po +1 -1
  260. holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
  261. holidays/locale/en_US/LC_MESSAGES/RO.po +1 -1
  262. holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
  263. holidays/locale/en_US/LC_MESSAGES/RS.po +1 -1
  264. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  265. holidays/locale/en_US/LC_MESSAGES/RU.po +1 -1
  266. holidays/locale/en_US/LC_MESSAGES/SA.mo +0 -0
  267. holidays/locale/en_US/LC_MESSAGES/SA.po +1 -1
  268. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  269. holidays/locale/en_US/LC_MESSAGES/SC.po +1 -1
  270. holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
  271. holidays/locale/en_US/LC_MESSAGES/SE.po +1 -1
  272. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  273. holidays/locale/en_US/LC_MESSAGES/SI.po +1 -1
  274. holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
  275. holidays/locale/en_US/LC_MESSAGES/SK.po +1 -1
  276. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  277. holidays/locale/en_US/LC_MESSAGES/TH.po +1 -1
  278. holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
  279. holidays/locale/en_US/LC_MESSAGES/TL.po +16 -4
  280. holidays/locale/en_US/LC_MESSAGES/TN.mo +0 -0
  281. holidays/locale/en_US/LC_MESSAGES/TN.po +1 -1
  282. holidays/locale/en_US/LC_MESSAGES/TO.mo +0 -0
  283. holidays/locale/en_US/LC_MESSAGES/TO.po +1 -1
  284. holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
  285. holidays/locale/en_US/LC_MESSAGES/TR.po +1 -1
  286. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  287. holidays/locale/en_US/LC_MESSAGES/TW.po +1 -1
  288. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  289. holidays/locale/en_US/LC_MESSAGES/TZ.po +1 -1
  290. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  291. holidays/locale/en_US/LC_MESSAGES/UA.po +1 -1
  292. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  293. holidays/locale/en_US/LC_MESSAGES/UY.po +1 -1
  294. holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
  295. holidays/locale/en_US/LC_MESSAGES/VE.po +1 -1
  296. holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
  297. holidays/locale/en_US/LC_MESSAGES/VN.po +37 -19
  298. holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
  299. holidays/locale/es/LC_MESSAGES/AR.po +1 -1
  300. holidays/locale/es/LC_MESSAGES/BO.mo +0 -0
  301. holidays/locale/es/LC_MESSAGES/BO.po +1 -1
  302. holidays/locale/es/LC_MESSAGES/CL.mo +0 -0
  303. holidays/locale/es/LC_MESSAGES/CL.po +1 -1
  304. holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
  305. holidays/locale/es/LC_MESSAGES/CO.po +1 -1
  306. holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
  307. holidays/locale/es/LC_MESSAGES/CR.po +1 -1
  308. holidays/locale/es/LC_MESSAGES/CU.mo +0 -0
  309. holidays/locale/es/LC_MESSAGES/CU.po +1 -1
  310. holidays/locale/es/LC_MESSAGES/DO.mo +0 -0
  311. holidays/locale/es/LC_MESSAGES/DO.po +1 -1
  312. holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
  313. holidays/locale/es/LC_MESSAGES/EC.po +1 -1
  314. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  315. holidays/locale/es/LC_MESSAGES/ES.po +1 -1
  316. holidays/locale/es/LC_MESSAGES/GT.mo +0 -0
  317. holidays/locale/es/LC_MESSAGES/GT.po +1 -1
  318. holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
  319. holidays/locale/es/LC_MESSAGES/HN.po +1 -1
  320. holidays/locale/es/LC_MESSAGES/MX.mo +0 -0
  321. holidays/locale/es/LC_MESSAGES/MX.po +1 -1
  322. holidays/locale/es/LC_MESSAGES/NI.mo +0 -0
  323. holidays/locale/es/LC_MESSAGES/NI.po +1 -1
  324. holidays/locale/es/LC_MESSAGES/PE.mo +0 -0
  325. holidays/locale/es/LC_MESSAGES/PE.po +1 -1
  326. holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
  327. holidays/locale/es/LC_MESSAGES/PY.po +1 -1
  328. holidays/locale/es/LC_MESSAGES/UY.mo +0 -0
  329. holidays/locale/es/LC_MESSAGES/UY.po +1 -1
  330. holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
  331. holidays/locale/es/LC_MESSAGES/VE.po +1 -1
  332. holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
  333. holidays/locale/et/LC_MESSAGES/EE.po +1 -1
  334. holidays/locale/fa/LC_MESSAGES/IR.mo +0 -0
  335. holidays/locale/fa/LC_MESSAGES/IR.po +1 -1
  336. holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
  337. holidays/locale/fi/LC_MESSAGES/FI.po +1 -1
  338. holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
  339. holidays/locale/fil/LC_MESSAGES/PH.po +129 -0
  340. holidays/locale/fr/LC_MESSAGES/BE.mo +0 -0
  341. holidays/locale/fr/LC_MESSAGES/BE.po +1 -1
  342. holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
  343. holidays/locale/fr/LC_MESSAGES/CA.po +1 -1
  344. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  345. holidays/locale/fr/LC_MESSAGES/CH.po +1 -1
  346. holidays/locale/fr/LC_MESSAGES/DJ.mo +0 -0
  347. holidays/locale/fr/LC_MESSAGES/DJ.po +1 -1
  348. holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
  349. holidays/locale/fr/LC_MESSAGES/DZ.po +1 -1
  350. holidays/locale/fr/LC_MESSAGES/FR.mo +0 -0
  351. holidays/locale/fr/LC_MESSAGES/FR.po +1 -1
  352. holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
  353. holidays/locale/fr/LC_MESSAGES/LU.po +1 -1
  354. holidays/locale/fr/LC_MESSAGES/MA.mo +0 -0
  355. holidays/locale/fr/LC_MESSAGES/MA.po +1 -1
  356. holidays/locale/fr/LC_MESSAGES/MC.mo +0 -0
  357. holidays/locale/fr/LC_MESSAGES/MC.po +1 -1
  358. holidays/locale/he/LC_MESSAGES/IL.mo +0 -0
  359. holidays/locale/he/LC_MESSAGES/IL.po +1 -1
  360. holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
  361. holidays/locale/hr/LC_MESSAGES/HR.po +1 -1
  362. holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
  363. holidays/locale/hu/LC_MESSAGES/HU.po +1 -1
  364. holidays/locale/hy/LC_MESSAGES/AM.mo +0 -0
  365. holidays/locale/hy/LC_MESSAGES/AM.po +1 -1
  366. holidays/locale/id/LC_MESSAGES/ID.mo +0 -0
  367. holidays/locale/id/LC_MESSAGES/ID.po +66 -12
  368. holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
  369. holidays/locale/is/LC_MESSAGES/IS.po +1 -1
  370. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  371. holidays/locale/it/LC_MESSAGES/CH.po +1 -1
  372. holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
  373. holidays/locale/ja/LC_MESSAGES/JP.po +1 -1
  374. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  375. holidays/locale/ka/LC_MESSAGES/GE.po +1 -1
  376. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  377. holidays/locale/kl/LC_MESSAGES/GL.po +1 -1
  378. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  379. holidays/locale/km/LC_MESSAGES/KH.po +1 -1
  380. holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
  381. holidays/locale/ko/LC_MESSAGES/KR.po +1 -1
  382. holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
  383. holidays/locale/lb/LC_MESSAGES/LU.po +1 -1
  384. holidays/locale/lo/LC_MESSAGES/LA.mo +0 -0
  385. holidays/locale/lo/LC_MESSAGES/LA.po +1 -1
  386. holidays/locale/lt/LC_MESSAGES/LT.mo +0 -0
  387. holidays/locale/lt/LC_MESSAGES/LT.po +1 -1
  388. holidays/locale/lv/LC_MESSAGES/LV.mo +0 -0
  389. holidays/locale/lv/LC_MESSAGES/LV.po +1 -1
  390. holidays/locale/mg/LC_MESSAGES/MG.mo +0 -0
  391. holidays/locale/mg/LC_MESSAGES/MG.po +1 -1
  392. holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
  393. holidays/locale/ms/LC_MESSAGES/BN.po +1 -1
  394. holidays/locale/mt/LC_MESSAGES/MT.mo +0 -0
  395. holidays/locale/mt/LC_MESSAGES/MT.po +1 -1
  396. holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
  397. holidays/locale/nl/LC_MESSAGES/AW.po +1 -1
  398. holidays/locale/nl/LC_MESSAGES/BE.mo +0 -0
  399. holidays/locale/nl/LC_MESSAGES/BE.po +1 -1
  400. holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
  401. holidays/locale/nl/LC_MESSAGES/CW.po +1 -1
  402. holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
  403. holidays/locale/nl/LC_MESSAGES/NL.po +1 -1
  404. holidays/locale/no/LC_MESSAGES/NO.mo +0 -0
  405. holidays/locale/no/LC_MESSAGES/NO.po +1 -1
  406. holidays/locale/pap_AW/LC_MESSAGES/AW.mo +0 -0
  407. holidays/locale/pap_AW/LC_MESSAGES/AW.po +1 -1
  408. holidays/locale/pap_CW/LC_MESSAGES/CW.mo +0 -0
  409. holidays/locale/pap_CW/LC_MESSAGES/CW.po +1 -1
  410. holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
  411. holidays/locale/pl/LC_MESSAGES/PL.po +1 -1
  412. holidays/locale/pt_AO/LC_MESSAGES/AO.mo +0 -0
  413. holidays/locale/pt_AO/LC_MESSAGES/AO.po +1 -1
  414. holidays/locale/pt_MZ/LC_MESSAGES/MZ.mo +0 -0
  415. holidays/locale/pt_MZ/LC_MESSAGES/MZ.po +1 -1
  416. holidays/locale/pt_PT/LC_MESSAGES/PT.mo +0 -0
  417. holidays/locale/pt_PT/LC_MESSAGES/PT.po +1 -1
  418. holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
  419. holidays/locale/pt_TL/LC_MESSAGES/TL.po +17 -5
  420. holidays/locale/ro/LC_MESSAGES/MD.mo +0 -0
  421. holidays/locale/ro/LC_MESSAGES/MD.po +1 -1
  422. holidays/locale/ro/LC_MESSAGES/RO.mo +0 -0
  423. holidays/locale/ro/LC_MESSAGES/RO.po +1 -1
  424. holidays/locale/ru/LC_MESSAGES/RU.mo +0 -0
  425. holidays/locale/ru/LC_MESSAGES/RU.po +1 -1
  426. holidays/locale/sk/LC_MESSAGES/SK.mo +0 -0
  427. holidays/locale/sk/LC_MESSAGES/SK.po +1 -1
  428. holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
  429. holidays/locale/sl/LC_MESSAGES/SI.po +1 -1
  430. holidays/locale/sq/LC_MESSAGES/AL.mo +0 -0
  431. holidays/locale/sq/LC_MESSAGES/AL.po +106 -0
  432. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  433. holidays/locale/sr/LC_MESSAGES/BA.po +1 -1
  434. holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
  435. holidays/locale/sr/LC_MESSAGES/RS.po +1 -1
  436. holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
  437. holidays/locale/sv/LC_MESSAGES/SE.po +1 -1
  438. holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
  439. holidays/locale/sv_FI/LC_MESSAGES/FI.po +1 -1
  440. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  441. holidays/locale/sw/LC_MESSAGES/TZ.po +1 -1
  442. holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
  443. holidays/locale/tet/LC_MESSAGES/TL.po +19 -7
  444. holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
  445. holidays/locale/th/LC_MESSAGES/BN.po +1 -1
  446. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  447. holidays/locale/th/LC_MESSAGES/CA.po +1 -1
  448. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  449. holidays/locale/th/LC_MESSAGES/CN.po +1 -1
  450. holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
  451. holidays/locale/th/LC_MESSAGES/DE.po +15 -2
  452. holidays/locale/th/LC_MESSAGES/ID.mo +0 -0
  453. holidays/locale/th/LC_MESSAGES/ID.po +195 -0
  454. holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
  455. holidays/locale/th/LC_MESSAGES/JP.po +1 -1
  456. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  457. holidays/locale/th/LC_MESSAGES/KH.po +1 -1
  458. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  459. holidays/locale/th/LC_MESSAGES/KR.po +1 -1
  460. holidays/locale/th/LC_MESSAGES/LA.mo +0 -0
  461. holidays/locale/th/LC_MESSAGES/LA.po +1 -1
  462. holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
  463. holidays/locale/th/LC_MESSAGES/PH.po +128 -0
  464. holidays/locale/th/LC_MESSAGES/TH.mo +0 -0
  465. holidays/locale/th/LC_MESSAGES/TH.po +1 -1
  466. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  467. holidays/locale/th/LC_MESSAGES/TW.po +1 -1
  468. holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
  469. holidays/locale/th/LC_MESSAGES/VN.po +93 -0
  470. holidays/locale/to/LC_MESSAGES/TO.mo +0 -0
  471. holidays/locale/to/LC_MESSAGES/TO.po +1 -1
  472. holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
  473. holidays/locale/tr/LC_MESSAGES/TR.po +1 -1
  474. holidays/locale/uk/LC_MESSAGES/AL.mo +0 -0
  475. holidays/locale/uk/LC_MESSAGES/AL.po +106 -0
  476. holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
  477. holidays/locale/uk/LC_MESSAGES/AO.po +1 -1
  478. holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
  479. holidays/locale/uk/LC_MESSAGES/AR.po +1 -1
  480. holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
  481. holidays/locale/uk/LC_MESSAGES/AT.po +1 -1
  482. holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
  483. holidays/locale/uk/LC_MESSAGES/AW.po +1 -1
  484. holidays/locale/uk/LC_MESSAGES/AZ.mo +0 -0
  485. holidays/locale/uk/LC_MESSAGES/AZ.po +1 -1
  486. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  487. holidays/locale/uk/LC_MESSAGES/BA.po +1 -1
  488. holidays/locale/uk/LC_MESSAGES/BE.mo +0 -0
  489. holidays/locale/uk/LC_MESSAGES/BE.po +1 -1
  490. holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
  491. holidays/locale/uk/LC_MESSAGES/BG.po +1 -1
  492. holidays/locale/uk/LC_MESSAGES/BO.mo +0 -0
  493. holidays/locale/uk/LC_MESSAGES/BO.po +1 -1
  494. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  495. holidays/locale/uk/LC_MESSAGES/CH.po +1 -1
  496. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  497. holidays/locale/uk/LC_MESSAGES/CL.po +1 -1
  498. holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
  499. holidays/locale/uk/LC_MESSAGES/CO.po +1 -1
  500. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  501. holidays/locale/uk/LC_MESSAGES/CR.po +1 -1
  502. holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
  503. holidays/locale/uk/LC_MESSAGES/CU.po +1 -1
  504. holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
  505. holidays/locale/uk/LC_MESSAGES/CW.po +1 -1
  506. holidays/locale/uk/LC_MESSAGES/CY.mo +0 -0
  507. holidays/locale/uk/LC_MESSAGES/CY.po +1 -1
  508. holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
  509. holidays/locale/uk/LC_MESSAGES/CZ.po +1 -1
  510. holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
  511. holidays/locale/uk/LC_MESSAGES/DE.po +17 -4
  512. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  513. holidays/locale/uk/LC_MESSAGES/DK.po +1 -1
  514. holidays/locale/uk/LC_MESSAGES/DO.mo +0 -0
  515. holidays/locale/uk/LC_MESSAGES/DO.po +1 -1
  516. holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
  517. holidays/locale/uk/LC_MESSAGES/EC.po +1 -1
  518. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  519. holidays/locale/uk/LC_MESSAGES/EE.po +1 -1
  520. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  521. holidays/locale/uk/LC_MESSAGES/ES.po +1 -1
  522. holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
  523. holidays/locale/uk/LC_MESSAGES/FI.po +1 -1
  524. holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
  525. holidays/locale/uk/LC_MESSAGES/FR.po +1 -1
  526. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  527. holidays/locale/uk/LC_MESSAGES/GE.po +1 -1
  528. holidays/locale/uk/LC_MESSAGES/GR.mo +0 -0
  529. holidays/locale/uk/LC_MESSAGES/GR.po +1 -1
  530. holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
  531. holidays/locale/uk/LC_MESSAGES/HN.po +1 -1
  532. holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
  533. holidays/locale/uk/LC_MESSAGES/HR.po +1 -1
  534. holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
  535. holidays/locale/uk/LC_MESSAGES/HU.po +1 -1
  536. holidays/locale/uk/LC_MESSAGES/ID.mo +0 -0
  537. holidays/locale/uk/LC_MESSAGES/ID.po +67 -13
  538. holidays/locale/uk/LC_MESSAGES/IL.mo +0 -0
  539. holidays/locale/uk/LC_MESSAGES/IL.po +1 -1
  540. holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
  541. holidays/locale/uk/LC_MESSAGES/IS.po +1 -1
  542. holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
  543. holidays/locale/uk/LC_MESSAGES/LI.po +1 -1
  544. holidays/locale/uk/LC_MESSAGES/LT.mo +0 -0
  545. holidays/locale/uk/LC_MESSAGES/LT.po +1 -1
  546. holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
  547. holidays/locale/uk/LC_MESSAGES/LU.po +1 -1
  548. holidays/locale/uk/LC_MESSAGES/LV.mo +0 -0
  549. holidays/locale/uk/LC_MESSAGES/LV.po +1 -1
  550. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  551. holidays/locale/uk/LC_MESSAGES/MC.po +1 -1
  552. holidays/locale/uk/LC_MESSAGES/MD.mo +0 -0
  553. holidays/locale/uk/LC_MESSAGES/MD.po +1 -1
  554. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  555. holidays/locale/uk/LC_MESSAGES/MG.po +1 -1
  556. holidays/locale/uk/LC_MESSAGES/MX.mo +0 -0
  557. holidays/locale/uk/LC_MESSAGES/MX.po +1 -1
  558. holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
  559. holidays/locale/uk/LC_MESSAGES/MZ.po +1 -1
  560. holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
  561. holidays/locale/uk/LC_MESSAGES/NI.po +1 -1
  562. holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
  563. holidays/locale/uk/LC_MESSAGES/NL.po +1 -1
  564. holidays/locale/uk/LC_MESSAGES/NO.mo +0 -0
  565. holidays/locale/uk/LC_MESSAGES/NO.po +1 -1
  566. holidays/locale/uk/LC_MESSAGES/PE.mo +0 -0
  567. holidays/locale/uk/LC_MESSAGES/PE.po +1 -1
  568. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  569. holidays/locale/uk/LC_MESSAGES/PL.po +1 -1
  570. holidays/locale/uk/LC_MESSAGES/PT.mo +0 -0
  571. holidays/locale/uk/LC_MESSAGES/PT.po +1 -1
  572. holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
  573. holidays/locale/uk/LC_MESSAGES/PY.po +1 -1
  574. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  575. holidays/locale/uk/LC_MESSAGES/RO.po +1 -1
  576. holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
  577. holidays/locale/uk/LC_MESSAGES/SE.po +1 -1
  578. holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
  579. holidays/locale/uk/LC_MESSAGES/SI.po +1 -1
  580. holidays/locale/uk/LC_MESSAGES/SK.mo +0 -0
  581. holidays/locale/uk/LC_MESSAGES/SK.po +1 -1
  582. holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
  583. holidays/locale/uk/LC_MESSAGES/TR.po +1 -1
  584. holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
  585. holidays/locale/uk/LC_MESSAGES/UA.po +1 -1
  586. holidays/locale/uk/LC_MESSAGES/UY.mo +0 -0
  587. holidays/locale/uk/LC_MESSAGES/UY.po +1 -1
  588. holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
  589. holidays/locale/uk/LC_MESSAGES/VE.po +1 -1
  590. holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
  591. holidays/locale/vi/LC_MESSAGES/VN.po +32 -14
  592. holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
  593. holidays/locale/zh_CN/LC_MESSAGES/CN.po +1 -1
  594. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  595. holidays/locale/zh_CN/LC_MESSAGES/TW.po +1 -1
  596. holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
  597. holidays/locale/zh_TW/LC_MESSAGES/CN.po +1 -1
  598. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  599. holidays/locale/zh_TW/LC_MESSAGES/TW.po +1 -1
  600. holidays/mixins.py +1 -4
  601. holidays/observed_holiday_base.py +5 -5
  602. holidays/registry.py +4 -3
  603. holidays/utils.py +8 -7
  604. holidays/version.py +13 -0
  605. {holidays-0.58.dist-info → holidays-0.60.dist-info}/METADATA +26 -42
  606. holidays-0.60.dist-info/RECORD +797 -0
  607. {holidays-0.58.dist-info → holidays-0.60.dist-info}/WHEEL +1 -1
  608. holidays-0.58.dist-info/RECORD +0 -777
  609. {holidays-0.58.dist-info → holidays-0.60.dist-info}/AUTHORS +0 -0
  610. {holidays-0.58.dist-info → holidays-0.60.dist-info}/LICENSE +0 -0
  611. {holidays-0.58.dist-info → holidays-0.60.dist-info}/top_level.txt +0 -0
@@ -12,7 +12,6 @@
12
12
 
13
13
  from datetime import date
14
14
  from gettext import gettext as tr
15
- from typing import Set, Tuple
16
15
 
17
16
  from holidays.calendars.gregorian import (
18
17
  FEB,
@@ -54,7 +53,7 @@ class Japan(ObservedHolidayBase, InternationalHolidays, StaticHolidays):
54
53
  def _is_observed(self, dt: date) -> bool:
55
54
  return dt >= date(1973, APR, 12)
56
55
 
57
- def _populate_observed(self, dts: Set[date]) -> None:
56
+ def _populate_observed(self, dts: set[date]) -> None:
58
57
  # When a national holiday falls on Sunday, next working day
59
58
  # shall become a public holiday (振替休日) - substitute holiday.
60
59
  for dt in sorted(dts):
@@ -211,7 +210,7 @@ class Japan(ObservedHolidayBase, InternationalHolidays, StaticHolidays):
211
210
  self._add_new_years_eve(name)
212
211
 
213
212
  @property
214
- def _vernal_equinox_date(self) -> Tuple[int, int]:
213
+ def _vernal_equinox_date(self) -> tuple[int, int]:
215
214
  day = 20
216
215
  if (
217
216
  (self._year % 4 == 0 and self._year <= 1956)
@@ -225,7 +224,7 @@ class Japan(ObservedHolidayBase, InternationalHolidays, StaticHolidays):
225
224
  return MAR, day
226
225
 
227
226
  @property
228
- def _autumnal_equinox_date(self) -> Tuple[int, int]:
227
+ def _autumnal_equinox_date(self) -> tuple[int, int]:
229
228
  day = 23
230
229
  if self._year % 4 == 3 and self._year <= 1979:
231
230
  day = 24
@@ -11,7 +11,7 @@
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
13
  from datetime import date
14
- from typing import Optional, Tuple
14
+ from typing import Optional
15
15
 
16
16
  from holidays.calendars.gregorian import JAN, APR, MAY, JUN, JUL, SEP, OCT, DEC
17
17
  from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
@@ -56,7 +56,7 @@ class Jersey(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
56
56
  kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY)
57
57
  ObservedHolidayBase.__init__(self, *args, **kwargs)
58
58
 
59
- def _add_observed(self, dt: date, **kwargs) -> Tuple[bool, Optional[date]]:
59
+ def _add_observed(self, dt: date, **kwargs) -> tuple[bool, Optional[date]]:
60
60
  # Prior to 2004, in-lieu are only given for Sundays.
61
61
  # https://www.jerseylaw.je/laws/enacted/Pages/RO-123-2004.aspx
62
62
  kwargs.setdefault(
@@ -39,7 +39,7 @@ class Jordan(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolid
39
39
  def _populate_public_holidays(self):
40
40
  # The resting days are Friday and Saturday since Jan 6, 2000.
41
41
  # https://archive.wfn.org/2000/01/msg00078.html
42
- self.weekend = {FRI, SAT} if self._year >= 2000 else {THU, FRI}
42
+ self.weekend = {THU, FRI} if self._year <= 1999 else {FRI, SAT}
43
43
 
44
44
  # New Year's Day.
45
45
  self._add_new_years_day(tr("رأس السنة الميلادية"))
@@ -130,7 +130,7 @@ class Kazakhstan(
130
130
  dts_observed.add(self._add_holiday_may_7(tr("Отан Қорғаушы күні")))
131
131
 
132
132
  # Victory Day.
133
- dt = self._add_world_war_two_victory_day(tr("Жеңіс күні"))
133
+ dt = self._add_world_war_two_victory_day(tr("Жеңіс күні"), is_western=False)
134
134
  if self._year != 2020:
135
135
  dts_observed.add(dt)
136
136
 
@@ -39,7 +39,7 @@ class Kuwait(HolidayBase, InternationalHolidays, IslamicHolidays):
39
39
  def _populate_public_holidays(self):
40
40
  # The resting days are Friday and Saturday since Sep 1, 2007.
41
41
  # https://www.arabnews.com/node/298933
42
- self.weekend = {FRI, SAT} if self._year >= 2007 else {THU, FRI}
42
+ self.weekend = {THU, FRI} if self._year <= 2006 else {FRI, SAT}
43
43
 
44
44
  # New Year's Day.
45
45
  self._add_new_years_day(tr("رأس السنة الميلادية"))
@@ -58,7 +58,7 @@ class Kyrgyzstan(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicH
58
58
  self._add_holiday_may_5("Constitution Day")
59
59
 
60
60
  # Victory Day.
61
- self._add_world_war_two_victory_day("Victory Day")
61
+ self._add_world_war_two_victory_day("Victory Day", is_western=False)
62
62
 
63
63
  # Independence Day.
64
64
  self._add_holiday_aug_31("Independence Day")
@@ -33,6 +33,7 @@ from holidays.calendars.gregorian import (
33
33
  DEC,
34
34
  FRI,
35
35
  SAT,
36
+ SUN,
36
37
  )
37
38
  from holidays.groups import (
38
39
  BuddhistCalendarHolidays,
@@ -220,12 +221,17 @@ class Malaysia(
220
221
 
221
222
  super()._populate_subdiv_holidays()
222
223
 
223
- if self.subdiv in {"01", "02"}:
224
+ if (
225
+ self.subdiv == "01" and (self._year <= 1994 or 2014 <= self._year <= 2024)
226
+ ) or self.subdiv == "02":
224
227
  self._observed_rule = FRI_TO_NEXT_WORKDAY
225
228
  self.weekend = {FRI, SAT}
226
229
  elif self.subdiv in {"03", "11"}:
227
230
  self._observed_rule = SAT_TO_NEXT_WORKDAY
228
231
  self.weekend = {FRI, SAT}
232
+ else:
233
+ self._observed_rule = SUN_TO_NEXT_WORKDAY
234
+ self.weekend = {SAT, SUN}
229
235
 
230
236
  if self.observed:
231
237
  self._populate_observed(self.dts_observed)
@@ -28,7 +28,6 @@ class Mauritania(HolidayBase, InternationalHolidays, IslamicHolidays):
28
28
  def __init__(self, *args, **kwargs):
29
29
  InternationalHolidays.__init__(self)
30
30
  IslamicHolidays.__init__(self)
31
-
32
31
  super().__init__(*args, **kwargs)
33
32
 
34
33
  def _populate(self, year):
@@ -64,15 +64,16 @@ class Moldova(HolidayBase, ChristianHolidays, InternationalHolidays):
64
64
  # International Workers' Solidarity Day.
65
65
  self._add_labor_day(tr("Ziua internaţională a solidarităţii oamenilor muncii"))
66
66
 
67
- may_9 = self._add_world_war_two_victory_day(
67
+ self._add_world_war_two_victory_day(
68
68
  # Victory Day and Commemoration of the heroes fallen for
69
69
  # Independence of Fatherland.
70
- tr("Ziua Victoriei și a comemorării eroilor căzuţi pentru Independenţa Patriei")
70
+ tr("Ziua Victoriei și a comemorării eroilor căzuţi pentru Independenţa Patriei"),
71
+ is_western=False,
71
72
  )
72
73
 
73
74
  if self._year >= 2017:
74
75
  # Europe Day.
75
- self._add_holiday(tr("Ziua Europei"), may_9)
76
+ self._add_holiday_may_9(tr("Ziua Europei"))
76
77
 
77
78
  if self._year >= 2016:
78
79
  # International Children's Day.
@@ -10,8 +10,11 @@
10
10
  # Website: https://github.com/vacanza/holidays
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
+ from gettext import gettext as tr
14
+
13
15
  from holidays.calendars import _CustomChineseHolidays, _CustomIslamicHolidays
14
16
  from holidays.calendars.gregorian import JAN, FEB, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
17
+ from holidays.constants import PUBLIC, WORKDAY
15
18
  from holidays.groups import (
16
19
  ChineseCalendarHolidays,
17
20
  ChristianHolidays,
@@ -37,13 +40,24 @@ class Philippines(
37
40
  - https://en.wikipedia.org/wiki/Public_holidays_in_the_Philippines
38
41
  - `Revised Administrative Code of 1987 <https://www.officialgazette.gov.ph/1987/07/25/executive-order-no-292-book-ichapter-7-regular-holidays-and-nationwide-special-days/>`_
39
42
  - `Republic Act No. 9177 <https://www.officialgazette.gov.ph/2002/11/13/republic-act-no-9177/>`_
43
+ - `Republic Act No. 9256 <https://www.officialgazette.gov.ph/2004/02/25/republic-act-no-9256/>`_
40
44
  - `Republic Act No. 9492 <https://www.officialgazette.gov.ph/2007/07/24/republic-act-no-9492/>`_
45
+ - `Republic Act No. 9645 <https://www.officialgazette.gov.ph/2009/06/12/republic-act-no-9645/>`_
41
46
  - `Republic Act No. 9849 <https://www.officialgazette.gov.ph/2009/12/11/republic-act-no-9849/>`_
42
47
  - `Republic Act No. 10966 <https://www.officialgazette.gov.ph/2017/12/28/republic-act-no-10966/>`_
43
- - `Nationwide holidays 2018-2024 <https://www.officialgazette.gov.ph/nationwide-holidays/2018/>`_
48
+ - `Proclamation No. 944/2020` <https://www.officialgazette.gov.ph/2020/05/19/proclamation-no-944-s-2020/>`_
49
+ - `Proclamation No. 985/2020` <https://www.officialgazette.gov.ph/2020/07/29/proclamation-no-985-s-2020/>`_
50
+ - `Proclamation No. 665/2024` <https://www.officialgazette.gov.ph/2024/08/15/proclamation-no-665-s-2024/>`_
51
+ - `Proclamation No. 729/2024` <https://www.officialgazette.gov.ph/2024/10/30/proclamation-no-729-s-2024/>`_
52
+ - `Nationwide holidays 2018-2025 <https://www.officialgazette.gov.ph/nationwide-holidays/2018/>`_
44
53
  """
45
54
 
46
55
  country = "PH"
56
+ supported_categories = (PUBLIC, WORKDAY)
57
+ default_language = "en_PH"
58
+ # %s (estimated).
59
+ estimated_label = tr("%s (estimated)")
60
+ supported_languages = ("en_PH", "en_US", "fil", "th")
47
61
 
48
62
  def __init__(self, *args, **kwargs):
49
63
  ChineseCalendarHolidays.__init__(self, cls=PhilippinesChineseHolidays)
@@ -58,98 +72,114 @@ class Philippines(
58
72
  return None
59
73
 
60
74
  # New Year's Day.
61
- self._add_new_years_day("New Year's Day")
75
+ self._add_new_years_day(tr("New Year's Day"))
62
76
 
63
- # Chinese New Year.
64
77
  if self._year >= 2012 and self._year != 2023:
65
- self._add_chinese_new_years_day("Chinese New Year")
78
+ # Chinese New Year.
79
+ self._add_chinese_new_years_day(tr("Chinese New Year"))
66
80
 
67
- # EDSA People Power Revolution Anniversary.
68
- if self._year >= 2016 and self._year not in {2017, 2024}:
81
+ if 2016 <= self._year <= 2023 and self._year != 2017:
69
82
  dates_obs = {
70
83
  2023: (FEB, 24),
71
84
  }
72
85
  self._add_holiday(
73
- "EDSA People Power Revolution Anniversary", dates_obs.get(self._year, (FEB, 25))
86
+ # EDSA People Power Revolution Anniversary.
87
+ tr("EDSA People Power Revolution Anniversary"),
88
+ dates_obs.get(self._year, (FEB, 25)),
74
89
  )
75
90
 
76
91
  # Maundy Thursday.
77
- self._add_holy_thursday("Maundy Thursday")
92
+ self._add_holy_thursday(tr("Maundy Thursday"))
78
93
 
79
94
  # Good Friday.
80
- self._add_good_friday("Good Friday")
95
+ self._add_good_friday(tr("Good Friday"))
81
96
 
82
- # Black Saturday.
83
97
  if self._year >= 2013:
84
- self._add_holy_saturday("Black Saturday")
98
+ # Black Saturday.
99
+ self._add_holy_saturday(tr("Black Saturday"))
85
100
 
86
- # Day of Valor.
87
101
  dates_obs = {
88
102
  2008: (APR, 7),
89
103
  2009: (APR, 6),
104
+ 2023: (APR, 10),
90
105
  }
91
- self._add_holiday("Araw ng Kagitingan (Day of Valor)", dates_obs.get(self._year, (APR, 9)))
106
+ # Day of Valor.
107
+ self._add_holiday(tr("Araw ng Kagitingan"), dates_obs.get(self._year, (APR, 9)))
92
108
 
93
109
  # Labor Day.
94
- self._add_labor_day("Labor Day")
110
+ self._add_labor_day(tr("Labor Day"))
95
111
 
96
- # Independence Day.
97
112
  dates_obs = {
98
113
  2007: (JUN, 11),
99
114
  2008: (JUN, 9),
100
115
  2010: (JUN, 14),
101
116
  }
102
- self._add_holiday("Independence Day", dates_obs.get(self._year, (JUN, 12)))
117
+ # Independence Day.
118
+ self._add_holiday(tr("Independence Day"), dates_obs.get(self._year, (JUN, 12)))
103
119
 
104
- # Ninoy Aquino Day.
105
- dates_obs = {
106
- 2007: (AUG, 20),
107
- 2008: (AUG, 18),
108
- 2010: (AUG, 23),
109
- }
110
- self._add_holiday("Ninoy Aquino Day", dates_obs.get(self._year, (AUG, 21)))
120
+ if self._year >= 2004:
121
+ dates_obs = {
122
+ 2007: (AUG, 20),
123
+ 2008: (AUG, 18),
124
+ 2010: (AUG, 23),
125
+ 2024: (AUG, 23),
126
+ }
127
+ # Ninoy Aquino Day.
128
+ self._add_holiday(tr("Ninoy Aquino Day"), dates_obs.get(self._year, (AUG, 21)))
111
129
 
112
130
  # National Heroes Day.
113
- name = "National Heroes Day"
131
+ name = tr("National Heroes Day")
114
132
  if self._year >= 2007:
115
133
  self._add_holiday_last_mon_of_aug(name)
116
134
  else:
117
135
  self._add_holiday_last_sun_of_aug(name)
118
136
 
119
137
  # All Saints' Day.
120
- self._add_all_saints_day("All Saints' Day")
138
+ self._add_all_saints_day(tr("All Saints' Day"))
121
139
 
122
- # Bonifacio Day.
123
140
  dates_obs = {
124
141
  2008: (DEC, 1),
125
142
  2010: (NOV, 29),
126
143
  }
127
- self._add_holiday("Bonifacio Day", dates_obs.get(self._year, (NOV, 30)))
144
+ # Bonifacio Day.
145
+ self._add_holiday(tr("Bonifacio Day"), dates_obs.get(self._year, (NOV, 30)))
128
146
 
129
- # Immaculate Conception.
130
147
  if self._year >= 2019:
131
- self._add_immaculate_conception_day("Feast of the Immaculate Conception of Mary")
148
+ # Immaculate Conception.
149
+ self._add_immaculate_conception_day(tr("Feast of the Immaculate Conception of Mary"))
132
150
 
133
151
  # Christmas Day.
134
- self._add_christmas_day("Christmas Day")
152
+ self._add_christmas_day(tr("Christmas Day"))
135
153
 
136
- # Rizal Day.
137
154
  dates_obs = {
138
155
  2010: (DEC, 27),
139
156
  }
140
- self._add_holiday("Rizal Day", dates_obs.get(self._year, (DEC, 30)))
157
+ # Rizal Day.
158
+ self._add_holiday(tr("Rizal Day"), dates_obs.get(self._year, (DEC, 30)))
141
159
 
142
- # Last Day of the Year.
143
160
  if self._year not in {2021, 2022}:
144
- self._add_new_years_eve("Last Day of the Year")
161
+ # New Year's Eve.
162
+ self._add_new_years_eve(tr("Last Day of the Year"))
145
163
 
146
- # Eid al-Fitr.
147
164
  if self._year >= 2002:
148
- self._add_eid_al_fitr_day("Eid'l Fitr (Feast of Ramadhan)")
165
+ # Eid al-Fitr.
166
+ self._add_eid_al_fitr_day(tr("Eid'l Fitr"))
149
167
 
150
- # Eid al-Adha.
151
168
  if self._year >= 2010:
152
- self._add_eid_al_adha_day("Eid'l Adha (Feast of Sacrifice)")
169
+ # Eid al-Adha.
170
+ self._add_eid_al_adha_day(tr("Eid'l Adha"))
171
+
172
+ def _populate_workday_holidays(self):
173
+ # Added in 2009, get special non-working day status in 2025:
174
+ if self._year >= 2009 and self._year != 2025:
175
+ # Founding Anniversary of Iglesia ni Cristo.
176
+ self._add_holiday_jul_27(tr("Founding Anniversary of Iglesia ni Cristo"))
177
+
178
+ # Added from 2025 onwards as first decreed in
179
+ # https://www.officialgazette.gov.ph/downloads/2024/10oct/20241030-PROC-727-FRM.pdf
180
+ if self._year >= 2025:
181
+ # EDSA People Power Revolution Anniversary.
182
+ self._add_holiday_feb_25(tr("EDSA People Power Revolution Anniversary"))
153
183
 
154
184
 
155
185
  class PH(Philippines):
@@ -225,8 +255,10 @@ class PhilippinesIslamicHolidays(_CustomIslamicHolidays):
225
255
 
226
256
 
227
257
  class PhilippinesStaticHolidays:
228
- additional_special = "Additional special (non-working) day"
229
- election_special = "Elections special (non-working) day"
258
+ # Additional special (non-working) day.
259
+ additional_special = tr("Additional special (non-working) day")
260
+ # Elections special (non-working) day.
261
+ election_special = tr("Elections special (non-working) day")
230
262
 
231
263
  special_public_holidays = {
232
264
  2008: (
@@ -289,4 +321,11 @@ class PhilippinesStaticHolidays:
289
321
  (NOV, 2, additional_special),
290
322
  (DEC, 24, additional_special),
291
323
  ),
324
+ 2025: (
325
+ (JUL, 27, additional_special),
326
+ # All Saints' Day Eve.
327
+ (OCT, 31, tr("All Saints' Day Eve")),
328
+ # Christmas Eve.
329
+ (DEC, 24, tr("Christmas Eve")),
330
+ ),
292
331
  }
@@ -75,7 +75,7 @@ class Russia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
75
75
  self._add_labor_day_two(name)
76
76
 
77
77
  # Victory Day.
78
- self._add_world_war_two_victory_day(tr("День Победы"))
78
+ self._add_world_war_two_victory_day(tr("День Победы"), is_western=False)
79
79
 
80
80
  if self._year >= 1992:
81
81
  self._add_holiday_jun_12(
@@ -12,7 +12,6 @@
12
12
 
13
13
  from datetime import date
14
14
  from gettext import gettext as tr
15
- from typing import Set
16
15
 
17
16
  from holidays.calendars.gregorian import JAN, FEB, SEP, NOV, THU, FRI, SAT, _timedelta
18
17
  from holidays.groups import IslamicHolidays, StaticHolidays
@@ -58,7 +57,7 @@ class SaudiArabia(ObservedHolidayBase, IslamicHolidays, StaticHolidays):
58
57
  kwargs.setdefault("observed_rule", FRI_TO_PREV_THU + SAT_TO_NEXT_SUN)
59
58
  super().__init__(*args, **kwargs)
60
59
 
61
- def _add_islamic_observed(self, dts: Set[date]) -> None:
60
+ def _add_islamic_observed(self, dts: set[date]) -> None:
62
61
  # Observed days are added to make up for any days falling on a weekend.
63
62
  if not self.observed:
64
63
  return None
@@ -60,7 +60,7 @@ class Slovakia(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHoli
60
60
 
61
61
  if self._year >= 1997:
62
62
  # Day of Victory over Fascism.
63
- self._add_holiday_may_8(tr("Deň víťazstva nad fašizmom"))
63
+ self._add_world_war_two_victory_day(tr("Deň víťazstva nad fašizmom"))
64
64
 
65
65
  # Saints Cyril and Methodius Day.
66
66
  self._add_holiday_jul_5(tr("Sviatok svätého Cyrila a svätého Metoda"))
@@ -13,7 +13,6 @@
13
13
  import warnings
14
14
  from datetime import date
15
15
  from gettext import gettext as tr
16
- from typing import Dict, Set
17
16
 
18
17
  from holidays.calendars import _CustomChineseHolidays
19
18
  from holidays.calendars.gregorian import (
@@ -103,7 +102,7 @@ class SouthKorea(
103
102
  kwargs.setdefault("observed_since", 2014)
104
103
  super().__init__(*args, **kwargs)
105
104
 
106
- def _populate_observed(self, dts: Set[date], three_day_holidays: Dict[date, str]) -> None:
105
+ def _populate_observed(self, dts: set[date], three_day_holidays: dict[date, str]) -> None:
107
106
  for dt in sorted(dts.union(three_day_holidays.keys())):
108
107
  if not self._is_observed(dt):
109
108
  continue
@@ -46,8 +46,9 @@ class Spain(
46
46
  2020: https://www.boe.es/buscar/doc.php?id=BOE-A-2019-14552
47
47
  2021: https://www.boe.es/buscar/doc.php?id=BOE-A-2020-13343
48
48
  2022: https://www.boe.es/buscar/doc.php?id=BOE-A-2021-17113
49
- 2023: https://www.boe.es/diario_boe/txt.php?id=BOE-A-2022-16755
49
+ 2023: https://www.boe.es/buscar/doc.php?id=BOE-A-2022-16755
50
50
  2024: https://www.boe.es/buscar/doc.php?id=BOE-A-2023-22014
51
+ 2025: https://www.boe.es/buscar/doc.php?id=BOE-A-2024-21316
51
52
  """
52
53
 
53
54
  country = "ES"
@@ -105,7 +106,7 @@ class Spain(
105
106
  # Assumption Day.
106
107
  self._add_assumption_of_mary_day(tr("Asunción de la Virgen"))
107
108
 
108
- if self._year != 2014:
109
+ if self._year not in {2014, 2025}:
109
110
  # National Day.
110
111
  self._add_holiday_oct_12(tr("Fiesta Nacional de España"))
111
112
 
@@ -143,7 +144,7 @@ class Spain(
143
144
  if self._year in {2010, 2021}:
144
145
  self._move_holiday(self._add_assumption_of_mary_day(tr("Asunción de la Virgen")))
145
146
 
146
- if self._year == 2014:
147
+ if self._year in {2014, 2025}:
147
148
  self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
148
149
 
149
150
  if self._year in {2015, 2020}:
@@ -176,7 +177,7 @@ class Spain(
176
177
  if self._year in {2010, 2021}:
177
178
  self._move_holiday(self._add_assumption_of_mary_day(tr("Asunción de la Virgen")))
178
179
 
179
- if self._year == 2014:
180
+ if self._year in {2014, 2025}:
180
181
  self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
181
182
 
182
183
  if self._year in {2015, 2020}:
@@ -209,7 +210,7 @@ class Spain(
209
210
  # Asturia Day.
210
211
  self._move_holiday(self._add_holiday_sep_8(tr("Día de Asturias")))
211
212
 
212
- if self._year == 2014:
213
+ if self._year in {2014, 2025}:
213
214
  self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
214
215
 
215
216
  if self._year in {2015, 2020}:
@@ -275,7 +276,7 @@ class Spain(
275
276
  # Santa Maria of Africa.
276
277
  self._add_holiday_aug_5(tr("Nuestra Señora de África"))
277
278
 
278
- if self._year not in {2011, 2012, 2015, 2018}:
279
+ if self._year not in {2011, 2012, 2015, 2018, 2025}:
279
280
  # Ceuta Day.
280
281
  self._add_holiday_sep_2(tr("Día de Ceuta"))
281
282
 
@@ -328,7 +329,7 @@ class Spain(
328
329
  if self._year == 2021:
329
330
  self._move_holiday(self._add_assumption_of_mary_day(tr("Asunción de la Virgen")))
330
331
 
331
- if self._year == 2014:
332
+ if self._year in {2014, 2025}:
332
333
  self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
333
334
 
334
335
  if self._year in {2015, 2020}:
@@ -438,7 +439,7 @@ class Spain(
438
439
  # Extremadura Day.
439
440
  self._move_holiday(self._add_holiday_sep_8(tr("Día de Extremadura")))
440
441
 
441
- if self._year == 2014:
442
+ if self._year in {2014, 2025}:
442
443
  self._move_holiday(self._add_holiday_oct_12(tr("Fiesta Nacional de España")))
443
444
 
444
445
  if self._year in {2015, 2020}:
@@ -480,7 +481,7 @@ class Spain(
480
481
 
481
482
  self._add_holy_thursday(tr("Jueves Santo"))
482
483
 
483
- if self._year != 2014:
484
+ if self._year not in {2014, 2025}:
484
485
  self._add_easter_monday(tr("Lunes de Pascua"))
485
486
 
486
487
  if self._year == 2015:
@@ -492,7 +493,7 @@ class Spain(
492
493
  if self._year in {2011, 2016, 2022}:
493
494
  self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
494
495
 
495
- if self._year in {2013, 2014, 2019, 2020}:
496
+ if self._year in {2013, 2014, 2019, 2020, 2025}:
496
497
  self._add_christmas_day_two(tr("San Esteban"))
497
498
 
498
499
  def _populate_subdiv_mc_public_holidays(self):
@@ -502,7 +503,7 @@ class Spain(
502
503
  if self._year in {2013, 2019}:
503
504
  self._move_holiday(self._add_epiphany_day(tr("Epifanía del Señor")))
504
505
 
505
- if (self._year <= 2021 and self._year != 2017) or self._year == 2024:
506
+ if (self._year <= 2021 and self._year != 2017) or self._year in {2024, 2025}:
506
507
  self._move_holiday(self._add_saint_josephs_day(tr("San José")))
507
508
 
508
509
  self._add_holy_thursday(tr("Jueves Santo"))
@@ -539,7 +540,7 @@ class Spain(
539
540
  if self._year in {2010, 2011, 2014}:
540
541
  self._add_corpus_christi_day(tr("Corpus Christi"))
541
542
 
542
- if self._year in {2011, 2016, 2022, 2024}:
543
+ if self._year in {2011, 2016, 2022, 2024, 2025}:
543
544
  self._add_saint_james_day(tr("Santiago Apóstol"))
544
545
 
545
546
  if self._year == 2020:
@@ -579,7 +580,7 @@ class Spain(
579
580
  if self._year in {2011, 2016, 2022}:
580
581
  self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
581
582
 
582
- if self._year in {2022, 2023}:
583
+ if self._year in {2022, 2023, 2025}:
583
584
  # Eid al-Fitr.
584
585
  self._add_eid_al_fitr_day(tr("Fiesta del Eid Fitr"))
585
586
 
@@ -652,7 +653,7 @@ class Spain(
652
653
  self._move_holiday(self._add_christmas_day(tr("Natividad del Señor")))
653
654
 
654
655
  def _populate_subdiv_vc_public_holidays(self):
655
- if (self._year <= 2022 and self._year != 2017) or self._year == 2024:
656
+ if (self._year <= 2022 and self._year != 2017) or self._year in {2024, 2025}:
656
657
  self._add_saint_josephs_day(tr("San José"))
657
658
 
658
659
  if self._year in {2011, 2016, 2017, 2022}:
@@ -702,11 +703,13 @@ class SpainIslamicHolidays(_CustomIslamicHolidays):
702
703
  2022: (JUL, 9),
703
704
  2023: (JUN, 29),
704
705
  2024: (JUN, 17),
706
+ 2025: (JUN, 6),
705
707
  }
706
708
 
707
709
  EID_AL_FITR_DATES = {
708
710
  2022: (MAY, 3),
709
711
  2023: (APR, 21),
712
+ 2025: (MAR, 31),
710
713
  }
711
714
 
712
715
 
@@ -12,7 +12,6 @@
12
12
 
13
13
  from datetime import date
14
14
  from gettext import gettext as tr
15
- from typing import Set
16
15
 
17
16
  from holidays.calendars.gregorian import (
18
17
  JAN,
@@ -80,7 +79,7 @@ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays
80
79
  super().__init__(*args, **kwargs)
81
80
 
82
81
  def _populate_observed(
83
- self, dts: Set[date], rule: ObservedRule = None, since: int = 2015
82
+ self, dts: set[date], rule: ObservedRule = None, since: int = 2015
84
83
  ) -> None:
85
84
  if self._year < since:
86
85
  return None