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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (595) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/mongolian.py +342 -0
  3. holidays/countries/__init__.py +41 -0
  4. holidays/countries/aland_islands.py +3 -19
  5. holidays/countries/algeria.py +1 -1
  6. holidays/countries/american_samoa.py +8 -20
  7. holidays/countries/aruba.py +42 -36
  8. holidays/countries/australia.py +6 -8
  9. holidays/countries/bahrain.py +1 -1
  10. holidays/countries/bonaire_sint_eustatius_and_saba.py +134 -0
  11. holidays/countries/british_virgin_islands.py +6 -6
  12. holidays/countries/cabo_verde.py +293 -0
  13. holidays/countries/cayman_islands.py +162 -0
  14. holidays/countries/central_african_republic.py +143 -0
  15. holidays/countries/christmas_island.py +215 -0
  16. holidays/countries/cocos_islands.py +7 -6
  17. holidays/countries/curacao.py +64 -38
  18. holidays/countries/dr_congo.py +139 -0
  19. holidays/countries/egypt.py +1 -1
  20. holidays/countries/falkland_islands.py +141 -0
  21. holidays/countries/faroe_islands.py +102 -0
  22. holidays/countries/france.py +224 -127
  23. holidays/countries/french_guiana.py +44 -0
  24. holidays/countries/french_polynesia.py +43 -0
  25. holidays/countries/french_southern_territories.py +3 -4
  26. holidays/countries/georgia.py +11 -5
  27. holidays/countries/gibraltar.py +219 -0
  28. holidays/countries/guadeloupe.py +44 -0
  29. holidays/countries/guam.py +8 -20
  30. holidays/countries/guernsey.py +6 -6
  31. holidays/countries/hongkong.py +1 -1
  32. holidays/countries/hungary.py +2 -1
  33. holidays/countries/iran.py +1 -1
  34. holidays/countries/isle_of_man.py +4 -0
  35. holidays/countries/israel.py +1 -1
  36. holidays/countries/japan.py +6 -8
  37. holidays/countries/jersey.py +2 -2
  38. holidays/countries/jordan.py +1 -1
  39. holidays/countries/kuwait.py +1 -1
  40. holidays/countries/lebanon.py +448 -0
  41. holidays/countries/libya.py +227 -0
  42. holidays/countries/mali.py +151 -0
  43. holidays/countries/martinique.py +44 -0
  44. holidays/countries/mauritius.py +197 -0
  45. holidays/countries/mayotte.py +44 -0
  46. holidays/countries/mongolia.py +202 -0
  47. holidays/countries/montserrat.py +177 -0
  48. holidays/countries/morocco.py +1 -1
  49. holidays/countries/nepal.py +8 -8
  50. holidays/countries/netherlands.py +7 -11
  51. holidays/countries/new_caledonia.py +43 -0
  52. holidays/countries/new_zealand.py +2 -2
  53. holidays/countries/niue.py +115 -0
  54. holidays/countries/norfolk_island.py +129 -0
  55. holidays/countries/northern_mariana_islands.py +8 -20
  56. holidays/countries/oman.py +1 -1
  57. holidays/countries/palau.py +1 -1
  58. holidays/countries/palestine.py +177 -0
  59. holidays/countries/peru.py +12 -0
  60. holidays/countries/puerto_rico.py +8 -20
  61. holidays/countries/reunion.py +44 -0
  62. holidays/countries/saint_barthelemy.py +43 -0
  63. holidays/countries/saint_martin.py +43 -0
  64. holidays/countries/saint_pierre_and_miquelon.py +43 -0
  65. holidays/countries/saint_vincent_and_the_grenadines.py +130 -0
  66. holidays/countries/san_marino.py +49 -26
  67. holidays/countries/saudi_arabia.py +3 -3
  68. holidays/countries/seychelles.py +1 -1
  69. holidays/countries/sint_maarten.py +118 -0
  70. holidays/countries/solomon_islands.py +2 -2
  71. holidays/countries/svalbard_and_jan_mayen.py +3 -9
  72. holidays/countries/taiwan.py +31 -9
  73. holidays/countries/tokelau.py +66 -0
  74. holidays/countries/tunisia.py +1 -1
  75. holidays/countries/turks_and_caicos_islands.py +3 -3
  76. holidays/countries/united_arab_emirates.py +1 -1
  77. holidays/countries/united_kingdom.py +2 -2
  78. holidays/countries/united_states.py +579 -403
  79. holidays/countries/united_states_minor_outlying_islands.py +8 -20
  80. holidays/countries/united_states_virgin_islands.py +8 -20
  81. holidays/countries/uzbekistan.py +19 -2
  82. holidays/countries/wallis_and_futuna.py +43 -0
  83. holidays/countries/yemen.py +2 -2
  84. holidays/groups/__init__.py +1 -0
  85. holidays/groups/chinese.py +11 -0
  86. holidays/groups/christian.py +10 -10
  87. holidays/groups/eastern.py +1 -1
  88. holidays/groups/hebrew.py +2 -2
  89. holidays/groups/islamic.py +17 -0
  90. holidays/groups/mongolian.py +103 -0
  91. holidays/holiday_base.py +11 -6
  92. holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
  93. holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
  94. holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
  95. holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
  96. holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
  97. holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
  98. holidays/locale/ar/LC_MESSAGES/EG.mo +0 -0
  99. holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
  100. holidays/locale/ar/LC_MESSAGES/JO.mo +0 -0
  101. holidays/locale/ar/LC_MESSAGES/KW.mo +0 -0
  102. holidays/locale/ar/LC_MESSAGES/LB.mo +0 -0
  103. holidays/locale/ar/LC_MESSAGES/LY.mo +0 -0
  104. holidays/locale/ar/LC_MESSAGES/MA.mo +0 -0
  105. holidays/locale/ar/LC_MESSAGES/OM.mo +0 -0
  106. holidays/locale/ar/LC_MESSAGES/PS.mo +0 -0
  107. holidays/locale/ar/LC_MESSAGES/SA.mo +0 -0
  108. holidays/locale/ar/LC_MESSAGES/TN.mo +0 -0
  109. holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
  110. holidays/locale/ar/LC_MESSAGES/YE.mo +0 -0
  111. holidays/locale/az/LC_MESSAGES/AZ.mo +0 -0
  112. holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
  113. holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
  114. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  115. holidays/locale/cnr/LC_MESSAGES/ME.mo +0 -0
  116. holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
  117. holidays/locale/da/LC_MESSAGES/DK.mo +0 -0
  118. holidays/locale/da/LC_MESSAGES/FO.mo +0 -0
  119. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  120. holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
  121. holidays/locale/de/LC_MESSAGES/BE.mo +0 -0
  122. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  123. holidays/locale/de/LC_MESSAGES/CV.mo +0 -0
  124. holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
  125. holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
  126. holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
  127. holidays/locale/de/LC_MESSAGES/PL.mo +0 -0
  128. holidays/locale/el/LC_MESSAGES/CY.mo +0 -0
  129. holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
  130. holidays/locale/en_AU/LC_MESSAGES/AU.mo +0 -0
  131. holidays/locale/en_BQ/LC_MESSAGES/BQ.mo +0 -0
  132. holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
  133. holidays/locale/en_CX/LC_MESSAGES/CX.mo +0 -0
  134. holidays/locale/en_CY/LC_MESSAGES/CY.mo +0 -0
  135. holidays/locale/en_GB/LC_MESSAGES/FK.mo +0 -0
  136. holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
  137. holidays/locale/en_GB/LC_MESSAGES/GI.mo +0 -0
  138. holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
  139. holidays/locale/en_GB/LC_MESSAGES/KY.mo +0 -0
  140. holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
  141. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  142. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  143. holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
  144. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  145. holidays/locale/en_MS/LC_MESSAGES/MS.mo +0 -0
  146. holidays/locale/en_MU/LC_MESSAGES/MU.mo +0 -0
  147. holidays/locale/en_NF/LC_MESSAGES/NF.mo +0 -0
  148. holidays/locale/en_NU/LC_MESSAGES/NU.mo +0 -0
  149. holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
  150. holidays/locale/en_SC/LC_MESSAGES/SC.mo +0 -0
  151. holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
  152. holidays/locale/en_SL/LC_MESSAGES/SL.mo +0 -0
  153. holidays/locale/en_TK/LC_MESSAGES/TK.mo +0 -0
  154. holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
  155. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  156. holidays/locale/en_US/LC_MESSAGES/AF.mo +0 -0
  157. holidays/locale/en_US/LC_MESSAGES/AL.mo +0 -0
  158. holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
  159. holidays/locale/en_US/LC_MESSAGES/AO.mo +0 -0
  160. holidays/locale/en_US/LC_MESSAGES/AS.mo +0 -0
  161. holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
  162. holidays/locale/en_US/LC_MESSAGES/AU.mo +0 -0
  163. holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
  164. holidays/locale/en_US/LC_MESSAGES/AX.mo +0 -0
  165. holidays/locale/en_US/LC_MESSAGES/AZ.mo +0 -0
  166. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  167. holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
  168. holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
  169. holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
  170. holidays/locale/en_US/LC_MESSAGES/BL.mo +0 -0
  171. holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
  172. holidays/locale/en_US/LC_MESSAGES/BO.mo +0 -0
  173. holidays/locale/en_US/LC_MESSAGES/BQ.mo +0 -0
  174. holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
  175. holidays/locale/en_US/LC_MESSAGES/BVMF.mo +0 -0
  176. holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
  177. holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
  178. holidays/locale/en_US/LC_MESSAGES/CD.mo +0 -0
  179. holidays/locale/en_US/LC_MESSAGES/CF.mo +0 -0
  180. holidays/locale/en_US/LC_MESSAGES/CG.mo +0 -0
  181. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  182. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  183. holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
  184. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  185. holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
  186. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  187. holidays/locale/en_US/LC_MESSAGES/CV.mo +0 -0
  188. holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
  189. holidays/locale/en_US/LC_MESSAGES/CX.mo +0 -0
  190. holidays/locale/en_US/LC_MESSAGES/CY.mo +0 -0
  191. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  192. holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
  193. holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
  194. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  195. holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
  196. holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
  197. holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
  198. holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
  199. holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
  200. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  201. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  202. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  203. holidays/locale/en_US/LC_MESSAGES/FK.mo +0 -0
  204. holidays/locale/en_US/LC_MESSAGES/FO.mo +0 -0
  205. holidays/locale/en_US/LC_MESSAGES/FR.mo +0 -0
  206. holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
  207. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  208. holidays/locale/en_US/LC_MESSAGES/GF.mo +0 -0
  209. holidays/locale/en_US/LC_MESSAGES/GI.mo +0 -0
  210. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  211. holidays/locale/en_US/LC_MESSAGES/GP.mo +0 -0
  212. holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
  213. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  214. holidays/locale/en_US/LC_MESSAGES/GU.mo +0 -0
  215. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  216. holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
  217. holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
  218. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  219. holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
  220. holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
  221. holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
  222. holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
  224. holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
  225. holidays/locale/en_US/LC_MESSAGES/JO.mo +0 -0
  226. holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
  227. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  228. holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
  229. holidays/locale/en_US/LC_MESSAGES/KW.mo +0 -0
  230. holidays/locale/en_US/LC_MESSAGES/KY.mo +0 -0
  231. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  232. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  233. holidays/locale/en_US/LC_MESSAGES/LB.mo +0 -0
  234. holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
  235. holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
  236. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  237. holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
  238. holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
  239. holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
  240. holidays/locale/en_US/LC_MESSAGES/LY.mo +0 -0
  241. holidays/locale/en_US/LC_MESSAGES/MA.mo +0 -0
  242. holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
  243. holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
  244. holidays/locale/en_US/LC_MESSAGES/ME.mo +0 -0
  245. holidays/locale/en_US/LC_MESSAGES/MF.mo +0 -0
  246. holidays/locale/en_US/LC_MESSAGES/MG.mo +0 -0
  247. holidays/locale/en_US/LC_MESSAGES/ML.mo +0 -0
  248. holidays/locale/en_US/LC_MESSAGES/MN.mo +0 -0
  249. holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
  250. holidays/locale/en_US/LC_MESSAGES/MP.mo +0 -0
  251. holidays/locale/en_US/LC_MESSAGES/MQ.mo +0 -0
  252. holidays/locale/en_US/LC_MESSAGES/MS.mo +0 -0
  253. holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
  254. holidays/locale/en_US/LC_MESSAGES/MU.mo +0 -0
  255. holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
  256. holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
  257. holidays/locale/en_US/LC_MESSAGES/MZ.mo +0 -0
  258. holidays/locale/en_US/LC_MESSAGES/NC.mo +0 -0
  259. holidays/locale/en_US/LC_MESSAGES/NF.mo +0 -0
  260. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  261. holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
  262. holidays/locale/en_US/LC_MESSAGES/NO.mo +0 -0
  263. holidays/locale/en_US/LC_MESSAGES/NU.mo +0 -0
  264. holidays/locale/en_US/LC_MESSAGES/OM.mo +0 -0
  265. holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
  266. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  267. holidays/locale/en_US/LC_MESSAGES/PF.mo +0 -0
  268. holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
  269. holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
  270. holidays/locale/en_US/LC_MESSAGES/PM.mo +0 -0
  271. holidays/locale/en_US/LC_MESSAGES/PR.mo +0 -0
  272. holidays/locale/en_US/LC_MESSAGES/PS.mo +0 -0
  273. holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
  274. holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
  275. holidays/locale/en_US/LC_MESSAGES/RE.mo +0 -0
  276. holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
  277. holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
  278. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  279. holidays/locale/en_US/LC_MESSAGES/SA.mo +0 -0
  280. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  281. holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
  282. holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
  283. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  284. holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
  285. holidays/locale/en_US/LC_MESSAGES/SL.mo +0 -0
  286. holidays/locale/en_US/LC_MESSAGES/SM.mo +0 -0
  287. holidays/locale/en_US/LC_MESSAGES/SV.mo +0 -0
  288. holidays/locale/en_US/LC_MESSAGES/SX.mo +0 -0
  289. holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
  290. holidays/locale/en_US/LC_MESSAGES/TF.mo +0 -0
  291. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  292. holidays/locale/en_US/LC_MESSAGES/TK.mo +0 -0
  293. holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
  294. holidays/locale/en_US/LC_MESSAGES/TN.mo +0 -0
  295. holidays/locale/en_US/LC_MESSAGES/TO.mo +0 -0
  296. holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
  297. holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
  298. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  299. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  300. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  301. holidays/locale/en_US/LC_MESSAGES/UM.mo +0 -0
  302. holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
  303. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  304. holidays/locale/en_US/LC_MESSAGES/UZ.mo +0 -0
  305. holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
  306. holidays/locale/en_US/LC_MESSAGES/VC.mo +0 -0
  307. holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
  308. holidays/locale/en_US/LC_MESSAGES/VI.mo +0 -0
  309. holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
  310. holidays/locale/en_US/LC_MESSAGES/WF.mo +0 -0
  311. holidays/locale/en_US/LC_MESSAGES/YE.mo +0 -0
  312. holidays/locale/en_US/LC_MESSAGES/YT.mo +0 -0
  313. holidays/locale/en_VC/LC_MESSAGES/VC.mo +0 -0
  314. holidays/locale/es/LC_MESSAGES/BO.mo +0 -0
  315. holidays/locale/es/LC_MESSAGES/CL.mo +0 -0
  316. holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
  317. holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
  318. holidays/locale/es/LC_MESSAGES/CU.mo +0 -0
  319. holidays/locale/es/LC_MESSAGES/CV.mo +0 -0
  320. holidays/locale/es/LC_MESSAGES/DO.mo +0 -0
  321. holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
  322. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  323. holidays/locale/es/LC_MESSAGES/GT.mo +0 -0
  324. holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
  325. holidays/locale/es/LC_MESSAGES/HT.mo +0 -0
  326. holidays/locale/es/LC_MESSAGES/MX.mo +0 -0
  327. holidays/locale/es/LC_MESSAGES/NI.mo +0 -0
  328. holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
  329. holidays/locale/es/LC_MESSAGES/PE.mo +0 -0
  330. holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
  331. holidays/locale/es/LC_MESSAGES/SV.mo +0 -0
  332. holidays/locale/es/LC_MESSAGES/UY.mo +0 -0
  333. holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
  334. holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
  335. holidays/locale/fa_AF/LC_MESSAGES/AF.mo +0 -0
  336. holidays/locale/fa_IR/LC_MESSAGES/IR.mo +0 -0
  337. holidays/locale/fi/LC_MESSAGES/AX.mo +0 -0
  338. holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
  339. holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
  340. holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
  341. holidays/locale/fo/LC_MESSAGES/FO.mo +0 -0
  342. holidays/locale/fr/LC_MESSAGES/BE.mo +0 -0
  343. holidays/locale/fr/LC_MESSAGES/BL.mo +0 -0
  344. holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
  345. holidays/locale/fr/LC_MESSAGES/CD.mo +0 -0
  346. holidays/locale/fr/LC_MESSAGES/CF.mo +0 -0
  347. holidays/locale/fr/LC_MESSAGES/CG.mo +0 -0
  348. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  349. holidays/locale/fr/LC_MESSAGES/CV.mo +0 -0
  350. holidays/locale/fr/LC_MESSAGES/DJ.mo +0 -0
  351. holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
  352. holidays/locale/fr/LC_MESSAGES/FR.mo +0 -0
  353. holidays/locale/fr/LC_MESSAGES/GF.mo +0 -0
  354. holidays/locale/fr/LC_MESSAGES/GP.mo +0 -0
  355. holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
  356. holidays/locale/fr/LC_MESSAGES/MA.mo +0 -0
  357. holidays/locale/fr/LC_MESSAGES/MC.mo +0 -0
  358. holidays/locale/fr/LC_MESSAGES/MF.mo +0 -0
  359. holidays/locale/fr/LC_MESSAGES/ML.mo +0 -0
  360. holidays/locale/fr/LC_MESSAGES/MQ.mo +0 -0
  361. holidays/locale/fr/LC_MESSAGES/NC.mo +0 -0
  362. holidays/locale/fr/LC_MESSAGES/PF.mo +0 -0
  363. holidays/locale/fr/LC_MESSAGES/PM.mo +0 -0
  364. holidays/locale/fr/LC_MESSAGES/RE.mo +0 -0
  365. holidays/locale/fr/LC_MESSAGES/TF.mo +0 -0
  366. holidays/locale/fr/LC_MESSAGES/WF.mo +0 -0
  367. holidays/locale/fr/LC_MESSAGES/YT.mo +0 -0
  368. holidays/locale/fr_HT/LC_MESSAGES/HT.mo +0 -0
  369. holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
  370. holidays/locale/he/LC_MESSAGES/IL.mo +0 -0
  371. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  372. holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
  373. holidays/locale/ht/LC_MESSAGES/HT.mo +0 -0
  374. holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
  375. holidays/locale/hy/LC_MESSAGES/AM.mo +0 -0
  376. holidays/locale/id/LC_MESSAGES/ID.mo +0 -0
  377. holidays/locale/is/LC_MESSAGES/FO.mo +0 -0
  378. holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
  379. holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
  380. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  381. holidays/locale/it/LC_MESSAGES/SM.mo +0 -0
  382. holidays/locale/it/LC_MESSAGES/VA.mo +0 -0
  383. holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
  384. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  385. holidays/locale/kk/LC_MESSAGES/KZ.mo +0 -0
  386. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  387. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  388. holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
  389. holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
  390. holidays/locale/lo/LC_MESSAGES/LA.mo +0 -0
  391. holidays/locale/lt/LC_MESSAGES/LT.mo +0 -0
  392. holidays/locale/lv/LC_MESSAGES/LV.mo +0 -0
  393. holidays/locale/mg/LC_MESSAGES/MG.mo +0 -0
  394. holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
  395. holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
  396. holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
  397. holidays/locale/mt/LC_MESSAGES/MT.mo +0 -0
  398. holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
  399. holidays/locale/nl/LC_MESSAGES/BE.mo +0 -0
  400. holidays/locale/nl/LC_MESSAGES/BQ.mo +0 -0
  401. holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
  402. holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
  403. holidays/locale/nl/LC_MESSAGES/SX.mo +0 -0
  404. holidays/locale/no/LC_MESSAGES/FO.mo +0 -0
  405. holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
  406. holidays/locale/no/LC_MESSAGES/NO.mo +0 -0
  407. holidays/locale/pap_AW/LC_MESSAGES/AW.mo +0 -0
  408. holidays/locale/pap_BQ/LC_MESSAGES/BQ.mo +0 -0
  409. holidays/locale/pap_CW/LC_MESSAGES/CW.mo +0 -0
  410. holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
  411. holidays/locale/ps_AF/LC_MESSAGES/AF.mo +0 -0
  412. holidays/locale/pt_AO/LC_MESSAGES/AO.mo +0 -0
  413. holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
  414. holidays/locale/pt_BR/LC_MESSAGES/BVMF.mo +0 -0
  415. holidays/locale/pt_CV/LC_MESSAGES/CV.mo +0 -0
  416. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  417. holidays/locale/pt_MZ/LC_MESSAGES/MZ.mo +0 -0
  418. holidays/locale/pt_PT/LC_MESSAGES/PT.mo +0 -0
  419. holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
  420. holidays/locale/ro/LC_MESSAGES/MD.mo +0 -0
  421. holidays/locale/ro/LC_MESSAGES/RO.mo +0 -0
  422. holidays/locale/ru/LC_MESSAGES/BY.mo +0 -0
  423. holidays/locale/ru/LC_MESSAGES/RU.mo +0 -0
  424. holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
  425. holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
  426. holidays/locale/sk/LC_MESSAGES/SK.mo +0 -0
  427. holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
  428. holidays/locale/sq/LC_MESSAGES/AL.mo +0 -0
  429. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  430. holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
  431. holidays/locale/sv/LC_MESSAGES/FO.mo +0 -0
  432. holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
  433. holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
  434. holidays/locale/sv_FI/LC_MESSAGES/AX.mo +0 -0
  435. holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
  436. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  437. holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
  438. holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
  439. holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
  440. holidays/locale/th/LC_MESSAGES/AS.mo +0 -0
  441. holidays/locale/th/LC_MESSAGES/AU.mo +0 -0
  442. holidays/locale/th/LC_MESSAGES/AX.mo +0 -0
  443. holidays/locale/th/LC_MESSAGES/BL.mo +0 -0
  444. holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
  445. holidays/locale/th/LC_MESSAGES/BY.mo +0 -0
  446. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  447. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  448. holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
  449. holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
  450. holidays/locale/th/LC_MESSAGES/FR.mo +0 -0
  451. holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
  452. holidays/locale/th/LC_MESSAGES/GF.mo +0 -0
  453. holidays/locale/th/LC_MESSAGES/GP.mo +0 -0
  454. holidays/locale/th/LC_MESSAGES/GU.mo +0 -0
  455. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  456. holidays/locale/th/LC_MESSAGES/ID.mo +0 -0
  457. holidays/locale/th/LC_MESSAGES/IL.mo +0 -0
  458. holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
  459. holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
  460. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  461. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  462. holidays/locale/th/LC_MESSAGES/LA.mo +0 -0
  463. holidays/locale/th/LC_MESSAGES/MF.mo +0 -0
  464. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  465. holidays/locale/th/LC_MESSAGES/MP.mo +0 -0
  466. holidays/locale/th/LC_MESSAGES/MQ.mo +0 -0
  467. holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
  468. holidays/locale/th/LC_MESSAGES/NC.mo +0 -0
  469. holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
  470. holidays/locale/th/LC_MESSAGES/PF.mo +0 -0
  471. holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
  472. holidays/locale/th/LC_MESSAGES/PM.mo +0 -0
  473. holidays/locale/th/LC_MESSAGES/PR.mo +0 -0
  474. holidays/locale/th/LC_MESSAGES/RE.mo +0 -0
  475. holidays/locale/th/LC_MESSAGES/RU.mo +0 -0
  476. holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
  477. holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
  478. holidays/locale/th/LC_MESSAGES/TF.mo +0 -0
  479. holidays/locale/th/LC_MESSAGES/TH.mo +0 -0
  480. holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
  481. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  482. holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
  483. holidays/locale/th/LC_MESSAGES/UM.mo +0 -0
  484. holidays/locale/th/LC_MESSAGES/US.mo +0 -0
  485. holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
  486. holidays/locale/th/LC_MESSAGES/VI.mo +0 -0
  487. holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
  488. holidays/locale/th/LC_MESSAGES/WF.mo +0 -0
  489. holidays/locale/th/LC_MESSAGES/YT.mo +0 -0
  490. holidays/locale/tkl/LC_MESSAGES/TK.mo +0 -0
  491. holidays/locale/to/LC_MESSAGES/TO.mo +0 -0
  492. holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
  493. holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
  494. holidays/locale/uk/LC_MESSAGES/AL.mo +0 -0
  495. holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
  496. holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
  497. holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
  498. holidays/locale/uk/LC_MESSAGES/AX.mo +0 -0
  499. holidays/locale/uk/LC_MESSAGES/AZ.mo +0 -0
  500. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  501. holidays/locale/uk/LC_MESSAGES/BE.mo +0 -0
  502. holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
  503. holidays/locale/uk/LC_MESSAGES/BL.mo +0 -0
  504. holidays/locale/uk/LC_MESSAGES/BO.mo +0 -0
  505. holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
  506. holidays/locale/uk/LC_MESSAGES/BVMF.mo +0 -0
  507. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  508. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  509. holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
  510. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  511. holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
  512. holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
  513. holidays/locale/uk/LC_MESSAGES/CY.mo +0 -0
  514. holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
  515. holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
  516. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  517. holidays/locale/uk/LC_MESSAGES/DO.mo +0 -0
  518. holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
  519. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  520. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  521. holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
  522. holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
  523. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  524. holidays/locale/uk/LC_MESSAGES/GF.mo +0 -0
  525. holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
  526. holidays/locale/uk/LC_MESSAGES/GP.mo +0 -0
  527. holidays/locale/uk/LC_MESSAGES/GR.mo +0 -0
  528. holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
  529. holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
  530. holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
  531. holidays/locale/uk/LC_MESSAGES/ID.mo +0 -0
  532. holidays/locale/uk/LC_MESSAGES/IL.mo +0 -0
  533. holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
  534. holidays/locale/uk/LC_MESSAGES/KZ.mo +0 -0
  535. holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
  536. holidays/locale/uk/LC_MESSAGES/LT.mo +0 -0
  537. holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
  538. holidays/locale/uk/LC_MESSAGES/LV.mo +0 -0
  539. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  540. holidays/locale/uk/LC_MESSAGES/MD.mo +0 -0
  541. holidays/locale/uk/LC_MESSAGES/ME.mo +0 -0
  542. holidays/locale/uk/LC_MESSAGES/MF.mo +0 -0
  543. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  544. holidays/locale/uk/LC_MESSAGES/MQ.mo +0 -0
  545. holidays/locale/uk/LC_MESSAGES/MX.mo +0 -0
  546. holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
  547. holidays/locale/uk/LC_MESSAGES/NC.mo +0 -0
  548. holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
  549. holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
  550. holidays/locale/uk/LC_MESSAGES/NO.mo +0 -0
  551. holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
  552. holidays/locale/uk/LC_MESSAGES/PE.mo +0 -0
  553. holidays/locale/uk/LC_MESSAGES/PF.mo +0 -0
  554. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  555. holidays/locale/uk/LC_MESSAGES/PM.mo +0 -0
  556. holidays/locale/uk/LC_MESSAGES/PT.mo +0 -0
  557. holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
  558. holidays/locale/uk/LC_MESSAGES/RE.mo +0 -0
  559. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  560. holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
  561. holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
  562. holidays/locale/uk/LC_MESSAGES/SK.mo +0 -0
  563. holidays/locale/uk/LC_MESSAGES/SM.mo +0 -0
  564. holidays/locale/uk/LC_MESSAGES/SV.mo +0 -0
  565. holidays/locale/uk/LC_MESSAGES/TF.mo +0 -0
  566. holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
  567. holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
  568. holidays/locale/uk/LC_MESSAGES/UY.mo +0 -0
  569. holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
  570. holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
  571. holidays/locale/uk/LC_MESSAGES/WF.mo +0 -0
  572. holidays/locale/uk/LC_MESSAGES/YT.mo +0 -0
  573. holidays/locale/uz/LC_MESSAGES/UZ.mo +0 -0
  574. holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
  575. holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
  576. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  577. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  578. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  579. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  580. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  581. holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
  582. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  583. holidays/mixins/__init__.py +18 -0
  584. holidays/mixins/child_entity.py +43 -0
  585. holidays/observed_holiday_base.py +4 -1
  586. holidays/registry.py +32 -0
  587. holidays/version.py +1 -1
  588. {holidays-0.75.dist-info → holidays-0.77.dist-info}/METADATA +239 -15
  589. holidays-0.77.dist-info/RECORD +838 -0
  590. {holidays-0.75.dist-info → holidays-0.77.dist-info}/licenses/CONTRIBUTORS +4 -0
  591. holidays-0.75.dist-info/RECORD +0 -687
  592. /holidays/{mixins.py → mixins/preferred_discretionary_holidays.py} +0 -0
  593. {holidays-0.75.dist-info → holidays-0.77.dist-info}/WHEEL +0 -0
  594. {holidays-0.75.dist-info → holidays-0.77.dist-info}/licenses/LICENSE +0 -0
  595. {holidays-0.75.dist-info → holidays-0.77.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,219 @@
1
+ # holidays
2
+ # --------
3
+ # A fast, efficient Python library for generating country, province and state
4
+ # specific sets of holidays on the fly. It aims to make determining whether a
5
+ # specific date is a holiday as fast and flexible as possible.
6
+ #
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
+ # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
+ # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
+ # Website: https://github.com/vacanza/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from gettext import gettext as tr
14
+
15
+ from holidays.calendars.gregorian import JAN, FEB, APR, MAY, JUN, AUG, SEP
16
+ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
17
+ from holidays.observed_holiday_base import (
18
+ ObservedHolidayBase,
19
+ SAT_SUN_TO_NEXT_MON,
20
+ SAT_SUN_TO_NEXT_MON_TUE,
21
+ )
22
+
23
+
24
+ class Gibraltar(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
25
+ """Gibraltar holidays.
26
+
27
+ References:
28
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Gibraltar>
29
+ * [2000](https://web.archive.org/web/20250714134510/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/1999s073.pdf)
30
+ * [2001](https://web.archive.org/web/20250714134609/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2000s041.pdf)
31
+ * [2003](https://web.archive.org/web/20250713064759/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2002s094.pdf)
32
+ * [2004](https://web.archive.org/web/20250713065008/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2003s105.pdf)
33
+ * [2005](https://web.archive.org/web/20250713071914/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2004s069.pdf)
34
+ * [2006](https://web.archive.org/web/20250713072021/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2005s111.pdf)
35
+ * [2007](https://web.archive.org/web/20250713072021/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2006s122.pdf)
36
+ * [2008](https://web.archive.org/web/20250713072026/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2007s113.pdf)
37
+ * [2009](https://web.archive.org/web/20250713072221/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2008s073.pdf)
38
+ * [2010](https://web.archive.org/web/20250713072222/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2009s049.pdf)
39
+ * [2011](https://web.archive.org/web/20250713072228/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2010s149.pdf)
40
+ * [2012](https://web.archive.org/web/20250713073334/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2011s189.pdf)
41
+ * [2013](https://web.archive.org/web/20250713162959/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2012s146.pdf)
42
+ * [2014](https://web.archive.org/web/20250713103345/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2013s149.pdf)
43
+ * [2015](https://web.archive.org/web/20250713163521/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2014s203.pdf)
44
+ * [2016](https://web.archive.org/web/20250713164519/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2015s196.pdf)
45
+ * [2017](https://web.archive.org/web/20250713073752/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2016s217.pdf)
46
+ * [2018](https://web.archive.org/web/20250714135250/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2017s224.pdf)
47
+ * [2019](https://web.archive.org/web/20250713071343/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2018s229.pdf)
48
+ * [2020](https://web.archive.org/web/20250714135425/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2019s217.pdf)
49
+ * [2021](https://web.archive.org/web/20250421063152/https://www.gibraltarlaws.gov.gi/legislations/bank-and-public-holidays-order-2020-5593/download)
50
+ * [2022](https://web.archive.org/web/20250414134257/https://www.gibraltarlaws.gov.gi/legislations/bank-and-public-holidays-order-2021-6286/version/21-10-2021/download)
51
+ * [2023](https://web.archive.org/web/20240831014104/https://www.gibraltarlaws.gov.gi/legislations/bank-and-public-holidays-order-2022-6735/version/22-02-2023/download)
52
+ * [2024](https://web.archive.org/web/20250502030403/https://www.gibraltarlaws.gov.gi/legislations/bank-and-public-holidays-order-2023-7215/version/06-11-2023/download)
53
+ * [2025](https://web.archive.org/web/20250714135600/https://www.gibraltarlaws.gov.gi/legislations/bank-and-public-holidays-order-2024-7456/download)
54
+ """
55
+
56
+ country = "GI"
57
+ default_language = "en_GB"
58
+ # %s (observed).
59
+ observed_label = tr("%s (observed)")
60
+ # First holiday info available from 2000.
61
+ start_year = 2000
62
+ supported_languages = ("en_GB", "en_US")
63
+
64
+ def __init__(self, *args, **kwargs):
65
+ ChristianHolidays.__init__(self)
66
+ InternationalHolidays.__init__(self)
67
+ StaticHolidays.__init__(self, GibraltarStaticHolidays)
68
+ kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
69
+ super().__init__(*args, **kwargs)
70
+
71
+ def _populate_public_holidays(self):
72
+ # New Year's Day.
73
+ self._add_observed(self._add_new_years_day(tr("New Year's Day")))
74
+
75
+ name = (
76
+ # Winter Midterm Bank Holiday.
77
+ tr("Winter Midterm Bank Holiday")
78
+ if self._year >= 2023
79
+ # Commonwealth Day.
80
+ else tr("Commonwealth Day")
81
+ )
82
+ winter_midterm_dts = {
83
+ 2024: (FEB, 12),
84
+ }
85
+ if dt := winter_midterm_dts.get(self._year):
86
+ self._add_holiday(name, dt)
87
+ elif self._year >= 2021:
88
+ self._add_holiday_3rd_mon_of_feb(name)
89
+ else:
90
+ self._add_holiday_2nd_mon_of_mar(name)
91
+
92
+ # Good Friday.
93
+ self._add_good_friday(tr("Good Friday"))
94
+
95
+ # Easter Monday.
96
+ self._add_easter_monday(tr("Easter Monday"))
97
+
98
+ if self._year >= 2013:
99
+ # Workers' Memorial Day.
100
+ name = tr("Workers' Memorial Day")
101
+ workers_memorial_dts = {
102
+ 2013: (APR, 26),
103
+ 2015: (APR, 27),
104
+ }
105
+ if dt := workers_memorial_dts.get(self._year):
106
+ self._add_holiday(name, dt)
107
+ else:
108
+ self._add_observed(self._add_holiday_apr_28(name))
109
+
110
+ # May Day.
111
+ name = tr("May Day")
112
+ may_day_dts = {
113
+ 2007: (MAY, 7),
114
+ 2008: (MAY, 5),
115
+ 2009: (MAY, 4),
116
+ }
117
+ if dt := may_day_dts.get(self._year):
118
+ self._add_holiday(name, dt)
119
+ else:
120
+ self._add_observed(self._add_holiday_may_1(name))
121
+
122
+ # Spring Bank Holiday.
123
+ name = tr("Spring Bank Holiday")
124
+ spring_bank_dts = {
125
+ 2012: (JUN, 4),
126
+ 2022: (JUN, 2),
127
+ }
128
+ if dt := spring_bank_dts.get(self._year):
129
+ self._add_holiday(name, dt)
130
+ else:
131
+ self._add_holiday_last_mon_of_may(name)
132
+
133
+ name = (
134
+ # King's Birthday.
135
+ tr("King's Birthday")
136
+ if self._year >= 2023
137
+ # Queen's Birthday.
138
+ else tr("Queen's Birthday")
139
+ )
140
+ sovereign_birthday_dts = {
141
+ 2000: (JUN, 19),
142
+ 2001: (JUN, 18),
143
+ 2006: (JUN, 19),
144
+ 2007: (JUN, 18),
145
+ 2012: (JUN, 18),
146
+ 2013: (JUN, 17),
147
+ 2017: (JUN, 19),
148
+ 2019: (JUN, 17),
149
+ 2023: (JUN, 19),
150
+ 2024: (JUN, 17),
151
+ }
152
+ if dt := sovereign_birthday_dts.get(self._year):
153
+ self._add_holiday(name, dt)
154
+ else:
155
+ self._add_holiday_2_days_past_2nd_sat_of_jun(name)
156
+
157
+ self._add_holiday_last_mon_of_aug(
158
+ # Summer Bank Holiday.
159
+ tr("Summer Bank Holiday")
160
+ if 2002 <= self._year <= 2007
161
+ # Late Summer Bank Holiday.
162
+ else tr("Late Summer Bank Holiday")
163
+ )
164
+
165
+ # Gibraltar National Day.
166
+ name = tr("Gibraltar National Day")
167
+ national_day_dts = {
168
+ 2016: (SEP, 5),
169
+ 2017: (SEP, 4),
170
+ }
171
+ if dt := national_day_dts.get(self._year):
172
+ self._add_holiday(name, dt)
173
+ else:
174
+ self._add_observed(self._add_holiday_sep_10(name))
175
+
176
+ self._add_observed(
177
+ # Christmas Day.
178
+ self._add_christmas_day(tr("Christmas Day")),
179
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
180
+ )
181
+
182
+ self._add_observed(
183
+ # Boxing Day.
184
+ self._add_christmas_day_two(tr("Boxing Day")),
185
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
186
+ )
187
+
188
+
189
+ class GI(Gibraltar):
190
+ pass
191
+
192
+
193
+ class GIB(Gibraltar):
194
+ pass
195
+
196
+
197
+ class GibraltarStaticHolidays(StaticHolidays):
198
+ """Gibraltar special holidays.
199
+
200
+ References:
201
+ * [Evacuation Commemoration Day, 2015](https://web.archive.org/web/20250714174537/https://www.gibraltarlaws.gov.gi/uploads/legislations/banking-and-financial-dealings/B&P%20Holidays/2015s112.pdf)
202
+ """
203
+
204
+ special_public_holidays = {
205
+ # Tercentenary Holiday.
206
+ 2004: (AUG, 4, tr("Tercentenary Holiday")),
207
+ # Bank Holiday.
208
+ 2009: (JAN, 12, tr("Bank Holiday")),
209
+ # Queen's Diamond Jubilee.
210
+ 2012: (JUN, 5, tr("Queen's Diamond Jubilee")),
211
+ # Evacuation Commemoration Day.
212
+ 2015: (SEP, 7, tr("Evacuation Commemoration Day")),
213
+ # 75th Anniversary of VE Day.
214
+ 2020: (MAY, 8, tr("75th Anniversary of VE Day")),
215
+ # Queen's Platinum Jubilee.
216
+ 2022: (JUN, 3, tr("Platinum Jubilee")),
217
+ # Special King’s Coronation Bank Holiday.
218
+ 2023: (MAY, 8, tr("Special King's Coronation Bank Holiday")),
219
+ }
@@ -0,0 +1,44 @@
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 HolidaysGP(ChildEntity, France):
18
+ """Guadeloupe 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/Guadeloupe>
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_France>
26
+ """
27
+
28
+ country = "GP"
29
+ parent_entity = France
30
+ parent_entity_subdivision_code = "971"
31
+ # Cession from Sweden on May 30th, 1814.
32
+ start_year = 1815
33
+
34
+
35
+ class Guadeloupe(HolidaysGP):
36
+ pass
37
+
38
+
39
+ class GP(HolidaysGP):
40
+ pass
41
+
42
+
43
+ class GLP(HolidaysGP):
44
+ 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 HolidaysGU(US):
17
+ class HolidaysGU(ChildEntity, UnitedStates):
18
18
  """Guam 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 HolidaysGU(US):
22
22
  """
23
23
 
24
24
  country = "GU"
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 on April 11th, 1899.
27
+ start_year = 1900
28
28
 
29
- def _populate_public_holidays(self) -> None:
30
- self.subdiv = "GU"
31
- super()._populate_public_holidays()
32
29
 
33
- def _populate_government_holidays(self) -> None:
34
- self.subdiv = "GU"
35
- super()._populate_government_holidays()
36
-
37
- def _populate_unofficial_holidays(self) -> None:
38
- self.subdiv = "GU"
39
- super()._populate_unofficial_holidays()
30
+ class Guam(HolidaysGU):
31
+ pass
40
32
 
41
33
 
42
34
  class GU(HolidaysGU):
@@ -45,7 +37,3 @@ class GU(HolidaysGU):
45
37
 
46
38
  class GUM(HolidaysGU):
47
39
  pass
48
-
49
-
50
- class Guam(HolidaysGU):
51
- pass
@@ -107,8 +107,8 @@ class Guernsey(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, St
107
107
  }
108
108
  # Spring Bank Holiday
109
109
  name = "Spring Bank Holiday"
110
- if self._year in spring_bank_dates:
111
- self._add_holiday(name, spring_bank_dates[self._year])
110
+ if dt := spring_bank_dates.get(self._year):
111
+ self._add_holiday(name, dt)
112
112
  else:
113
113
  self._add_holiday_last_mon_of_may(name)
114
114
 
@@ -168,9 +168,9 @@ class Guernsey(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, St
168
168
  1945: (JUN, 14),
169
169
  1946: (JUN, 13),
170
170
  }
171
- if self._year in his_majesty_birth_dates:
171
+ if dt := his_majesty_birth_dates.get(self._year):
172
172
  # His Majesty's Birthday.
173
- self._add_holiday("His Majesty's Birthday", his_majesty_birth_dates[self._year])
173
+ self._add_holiday("His Majesty's Birthday", dt)
174
174
 
175
175
  # Summer Bank Holiday
176
176
  # Le premier Lundi du mois d'Août
@@ -217,8 +217,8 @@ class Guernsey(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, St
217
217
  }
218
218
  # Liberation Day.
219
219
  name = "Liberation Day"
220
- if self._year in liberation_dates:
221
- self._add_holiday(name, liberation_dates[self._year])
220
+ if dt := liberation_dates.get(self._year):
221
+ self._add_holiday(name, dt)
222
222
  else:
223
223
  self._add_holiday_may_9(name)
224
224
 
@@ -34,7 +34,7 @@ from holidays.groups import (
34
34
  InternationalHolidays,
35
35
  StaticHolidays,
36
36
  )
37
- from holidays.mixins import PreferredDiscretionaryHolidays
37
+ from holidays.mixins.preferred_discretionary_holidays import PreferredDiscretionaryHolidays
38
38
  from holidays.observed_holiday_base import (
39
39
  ObservedHolidayBase,
40
40
  SAT_SUN_TO_NEXT_WORKDAY,
@@ -28,6 +28,7 @@ class Hungary(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
28
28
 
29
29
  country = "HU"
30
30
  default_language = "hu"
31
+ start_year = 1945
31
32
  supported_languages = ("en_US", "hu", "uk")
32
33
 
33
34
  def __init__(self, *args, **kwargs):
@@ -40,7 +41,7 @@ class Hungary(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
40
41
  # New Year's Day.
41
42
  self._add_new_years_day(tr("Újév"))
42
43
 
43
- if 1945 <= self._year <= 1950 or self._year >= 1989:
44
+ if self._year <= 1950 or self._year >= 1989:
44
45
  # National Day.
45
46
  self._add_holiday_mar_15(tr("Nemzeti ünnep"))
46
47
 
@@ -46,7 +46,7 @@ class Iran(HolidayBase, IslamicHolidays, PersianCalendarHolidays):
46
46
  country = "IR"
47
47
  default_language = "fa_IR"
48
48
  # %s (estimated).
49
- estimated_label = tr("(تخمین زده) %s")
49
+ estimated_label = tr("%s (تخمینی)")
50
50
  supported_languages = ("en_US", "fa_IR")
51
51
  start_year = 1980
52
52
  weekend = {FRI}
@@ -21,6 +21,10 @@ class IsleOfMan(UnitedKingdom):
21
21
  """Isle Of Man holidays."""
22
22
 
23
23
  country = "IM"
24
+ # The Isle of Man (IM) is not a subdivision of the United Kingdom (GB)
25
+ # entity, so the `IsleOfMan` class does not inherit from the `ChildEntity`
26
+ # mixin. The `parent_entity` is specified below solely to maintain
27
+ # consistency in holiday name localization.
24
28
  parent_entity = UnitedKingdom
25
29
  subdivisions = () # Override UnitedKingdom subdivisions.
26
30
  subdivisions_aliases = {} # Override UnitedKingdom subdivisions aliases.
@@ -38,7 +38,7 @@ class Israel(ObservedHolidayBase, HebrewCalendarHolidays):
38
38
  country = "IL"
39
39
  default_language = "he"
40
40
  # %s (observed).
41
- observed_label = tr("(נצפה) %s")
41
+ observed_label = tr("%s (נצפה)")
42
42
  supported_categories = (OPTIONAL, PUBLIC, SCHOOL)
43
43
  supported_languages = ("en_US", "he", "th", "uk")
44
44
  weekend = {FRI, SAT}
@@ -137,11 +137,9 @@ class Japan(ObservedHolidayBase, InternationalHolidays, StaticHolidays):
137
137
  2020: (JUL, 23),
138
138
  2021: (JUL, 22),
139
139
  }
140
- dts_observed.add(
141
- self._add_holiday(name, dates[self._year])
142
- if self._year in dates
143
- else self._add_holiday_3rd_mon_of_jul(name)
144
- )
140
+ dts_observed.add(self._add_holiday(name, dt)) if (
141
+ dt := dates.get(self._year)
142
+ ) else dts_observed.add(self._add_holiday_3rd_mon_of_jul(name))
145
143
 
146
144
  if self._year >= 2016:
147
145
  dates = {
@@ -178,9 +176,9 @@ class Japan(ObservedHolidayBase, InternationalHolidays, StaticHolidays):
178
176
  2020: (JUL, 24),
179
177
  2021: (JUL, 23),
180
178
  }
181
- dts_observed.add(
182
- self._add_holiday(name, dates[self._year])
183
- ) if self._year in dates else self._add_holiday_2nd_mon_of_oct(name)
179
+ dts_observed.add(self._add_holiday(name, dt)) if (
180
+ dt := dates.get(self._year)
181
+ ) else dts_observed.add(self._add_holiday_2nd_mon_of_oct(name))
184
182
  else:
185
183
  dts_observed.add(self._add_holiday_oct_10(name))
186
184
 
@@ -106,8 +106,8 @@ class Jersey(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
106
106
  2022: (JUN, 2),
107
107
  }
108
108
  name = "Spring Bank Holiday"
109
- if self._year in spring_bank_dates:
110
- self._add_holiday(name, spring_bank_dates[self._year])
109
+ if dt := spring_bank_dates.get(self._year):
110
+ self._add_holiday(name, dt)
111
111
  else:
112
112
  self._add_holiday_last_mon_of_may(name)
113
113
 
@@ -28,7 +28,7 @@ class Jordan(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolid
28
28
  country = "JO"
29
29
  default_language = "ar"
30
30
  # %s (estimated).
31
- estimated_label = tr("(تقدير) %s")
31
+ estimated_label = tr("%s (المقدرة)")
32
32
  supported_languages = ("ar", "en_US")
33
33
 
34
34
  def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
@@ -29,7 +29,7 @@ class Kuwait(HolidayBase, InternationalHolidays, IslamicHolidays):
29
29
  country = "KW"
30
30
  default_language = "ar"
31
31
  # %s (estimated).
32
- estimated_label = tr("(تقدير) %s")
32
+ estimated_label = tr("%s (المقدرة)")
33
33
  supported_languages = ("ar", "en_US")
34
34
 
35
35
  def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):