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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (526) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/mongolian.py +342 -0
  3. holidays/countries/__init__.py +22 -0
  4. holidays/countries/aland_islands.py +3 -19
  5. holidays/countries/algeria.py +1 -1
  6. holidays/countries/american_samoa.py +8 -20
  7. holidays/countries/aruba.py +42 -36
  8. holidays/countries/bahrain.py +1 -1
  9. holidays/countries/bonaire_sint_eustatius_and_saba.py +134 -0
  10. holidays/countries/cocos_islands.py +3 -2
  11. holidays/countries/curacao.py +64 -38
  12. holidays/countries/egypt.py +1 -1
  13. holidays/countries/falkland_islands.py +141 -0
  14. holidays/countries/france.py +224 -127
  15. holidays/countries/french_guiana.py +44 -0
  16. holidays/countries/french_polynesia.py +43 -0
  17. holidays/countries/french_southern_territories.py +3 -4
  18. holidays/countries/guadeloupe.py +44 -0
  19. holidays/countries/guam.py +8 -20
  20. holidays/countries/hongkong.py +1 -1
  21. holidays/countries/hungary.py +2 -1
  22. holidays/countries/iran.py +1 -1
  23. holidays/countries/isle_of_man.py +4 -0
  24. holidays/countries/israel.py +1 -1
  25. holidays/countries/jordan.py +1 -1
  26. holidays/countries/kuwait.py +1 -1
  27. holidays/countries/libya.py +227 -0
  28. holidays/countries/martinique.py +44 -0
  29. holidays/countries/mauritius.py +197 -0
  30. holidays/countries/mayotte.py +44 -0
  31. holidays/countries/mongolia.py +202 -0
  32. holidays/countries/morocco.py +1 -1
  33. holidays/countries/netherlands.py +7 -11
  34. holidays/countries/new_caledonia.py +43 -0
  35. holidays/countries/northern_mariana_islands.py +8 -20
  36. holidays/countries/oman.py +1 -1
  37. holidays/countries/puerto_rico.py +8 -20
  38. holidays/countries/reunion.py +44 -0
  39. holidays/countries/saint_barthelemy.py +43 -0
  40. holidays/countries/saint_martin.py +43 -0
  41. holidays/countries/saint_pierre_and_miquelon.py +43 -0
  42. holidays/countries/san_marino.py +49 -26
  43. holidays/countries/saudi_arabia.py +3 -3
  44. holidays/countries/sint_maarten.py +118 -0
  45. holidays/countries/svalbard_and_jan_mayen.py +3 -9
  46. holidays/countries/taiwan.py +31 -9
  47. holidays/countries/tunisia.py +1 -1
  48. holidays/countries/turks_and_caicos_islands.py +1 -1
  49. holidays/countries/united_arab_emirates.py +1 -1
  50. holidays/countries/united_states.py +579 -400
  51. holidays/countries/united_states_minor_outlying_islands.py +8 -20
  52. holidays/countries/united_states_virgin_islands.py +8 -20
  53. holidays/countries/uzbekistan.py +19 -2
  54. holidays/countries/wallis_and_futuna.py +43 -0
  55. holidays/countries/yemen.py +2 -2
  56. holidays/groups/__init__.py +1 -0
  57. holidays/groups/chinese.py +11 -0
  58. holidays/groups/eastern.py +1 -1
  59. holidays/groups/mongolian.py +103 -0
  60. holidays/holiday_base.py +10 -5
  61. holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
  62. holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
  63. holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
  64. holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
  65. holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
  66. holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
  67. holidays/locale/ar/LC_MESSAGES/EG.mo +0 -0
  68. holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
  69. holidays/locale/ar/LC_MESSAGES/JO.mo +0 -0
  70. holidays/locale/ar/LC_MESSAGES/KW.mo +0 -0
  71. holidays/locale/ar/LC_MESSAGES/LY.mo +0 -0
  72. holidays/locale/ar/LC_MESSAGES/MA.mo +0 -0
  73. holidays/locale/ar/LC_MESSAGES/OM.mo +0 -0
  74. holidays/locale/ar/LC_MESSAGES/SA.mo +0 -0
  75. holidays/locale/ar/LC_MESSAGES/TN.mo +0 -0
  76. holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
  77. holidays/locale/ar/LC_MESSAGES/YE.mo +0 -0
  78. holidays/locale/az/LC_MESSAGES/AZ.mo +0 -0
  79. holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
  80. holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
  81. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  82. holidays/locale/cnr/LC_MESSAGES/ME.mo +0 -0
  83. holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
  84. holidays/locale/da/LC_MESSAGES/DK.mo +0 -0
  85. holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
  86. holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
  87. holidays/locale/de/LC_MESSAGES/BE.mo +0 -0
  88. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  89. holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
  90. holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
  91. holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
  92. holidays/locale/de/LC_MESSAGES/PL.mo +0 -0
  93. holidays/locale/el/LC_MESSAGES/CY.mo +0 -0
  94. holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
  95. holidays/locale/en_AU/LC_MESSAGES/AU.mo +0 -0
  96. holidays/locale/en_BQ/LC_MESSAGES/BQ.mo +0 -0
  97. holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
  98. holidays/locale/en_CY/LC_MESSAGES/CY.mo +0 -0
  99. holidays/locale/en_GB/LC_MESSAGES/FK.mo +0 -0
  100. holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
  101. holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
  102. holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
  103. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  104. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  105. holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
  106. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  107. holidays/locale/en_MU/LC_MESSAGES/MU.mo +0 -0
  108. holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
  109. holidays/locale/en_SC/LC_MESSAGES/SC.mo +0 -0
  110. holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
  111. holidays/locale/en_SL/LC_MESSAGES/SL.mo +0 -0
  112. holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
  113. holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
  114. holidays/locale/en_US/LC_MESSAGES/AF.mo +0 -0
  115. holidays/locale/en_US/LC_MESSAGES/AL.mo +0 -0
  116. holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
  117. holidays/locale/en_US/LC_MESSAGES/AO.mo +0 -0
  118. holidays/locale/en_US/LC_MESSAGES/AS.mo +0 -0
  119. holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
  120. holidays/locale/en_US/LC_MESSAGES/AU.mo +0 -0
  121. holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
  122. holidays/locale/en_US/LC_MESSAGES/AX.mo +0 -0
  123. holidays/locale/en_US/LC_MESSAGES/AZ.mo +0 -0
  124. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  125. holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
  126. holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
  127. holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
  128. holidays/locale/en_US/LC_MESSAGES/BL.mo +0 -0
  129. holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
  130. holidays/locale/en_US/LC_MESSAGES/BO.mo +0 -0
  131. holidays/locale/en_US/LC_MESSAGES/BQ.mo +0 -0
  132. holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
  133. holidays/locale/en_US/LC_MESSAGES/BVMF.mo +0 -0
  134. holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
  135. holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
  136. holidays/locale/en_US/LC_MESSAGES/CG.mo +0 -0
  137. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  138. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  139. holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
  140. holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
  141. holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
  142. holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
  143. holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
  144. holidays/locale/en_US/LC_MESSAGES/CY.mo +0 -0
  145. holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
  146. holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
  147. holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
  148. holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
  149. holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
  150. holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
  151. holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
  152. holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
  153. holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
  154. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  155. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  156. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  157. holidays/locale/en_US/LC_MESSAGES/FK.mo +0 -0
  158. holidays/locale/en_US/LC_MESSAGES/FR.mo +0 -0
  159. holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
  160. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  161. holidays/locale/en_US/LC_MESSAGES/GF.mo +0 -0
  162. holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
  163. holidays/locale/en_US/LC_MESSAGES/GP.mo +0 -0
  164. holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
  165. holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
  166. holidays/locale/en_US/LC_MESSAGES/GU.mo +0 -0
  167. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  168. holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
  169. holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
  170. holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
  171. holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
  172. holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
  173. holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
  174. holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
  175. holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
  176. holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
  177. holidays/locale/en_US/LC_MESSAGES/JO.mo +0 -0
  178. holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
  179. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  180. holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
  181. holidays/locale/en_US/LC_MESSAGES/KW.mo +0 -0
  182. holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
  183. holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
  184. holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
  185. holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
  186. holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
  187. holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
  188. holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
  189. holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
  190. holidays/locale/en_US/LC_MESSAGES/LY.mo +0 -0
  191. holidays/locale/en_US/LC_MESSAGES/MA.mo +0 -0
  192. holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
  193. holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
  194. holidays/locale/en_US/LC_MESSAGES/ME.mo +0 -0
  195. holidays/locale/en_US/LC_MESSAGES/MF.mo +0 -0
  196. holidays/locale/en_US/LC_MESSAGES/MG.mo +0 -0
  197. holidays/locale/en_US/LC_MESSAGES/MN.mo +0 -0
  198. holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
  199. holidays/locale/en_US/LC_MESSAGES/MP.mo +0 -0
  200. holidays/locale/en_US/LC_MESSAGES/MQ.mo +0 -0
  201. holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
  202. holidays/locale/en_US/LC_MESSAGES/MU.mo +0 -0
  203. holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
  204. holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
  205. holidays/locale/en_US/LC_MESSAGES/MZ.mo +0 -0
  206. holidays/locale/en_US/LC_MESSAGES/NC.mo +0 -0
  207. holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
  208. holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
  209. holidays/locale/en_US/LC_MESSAGES/NO.mo +0 -0
  210. holidays/locale/en_US/LC_MESSAGES/OM.mo +0 -0
  211. holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
  212. holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
  213. holidays/locale/en_US/LC_MESSAGES/PF.mo +0 -0
  214. holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
  215. holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
  216. holidays/locale/en_US/LC_MESSAGES/PM.mo +0 -0
  217. holidays/locale/en_US/LC_MESSAGES/PR.mo +0 -0
  218. holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
  219. holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
  220. holidays/locale/en_US/LC_MESSAGES/RE.mo +0 -0
  221. holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
  222. holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
  224. holidays/locale/en_US/LC_MESSAGES/SA.mo +0 -0
  225. holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
  226. holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
  227. holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
  228. holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
  229. holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
  230. holidays/locale/en_US/LC_MESSAGES/SL.mo +0 -0
  231. holidays/locale/en_US/LC_MESSAGES/SM.mo +0 -0
  232. holidays/locale/en_US/LC_MESSAGES/SV.mo +0 -0
  233. holidays/locale/en_US/LC_MESSAGES/SX.mo +0 -0
  234. holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
  235. holidays/locale/en_US/LC_MESSAGES/TF.mo +0 -0
  236. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  237. holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
  238. holidays/locale/en_US/LC_MESSAGES/TN.mo +0 -0
  239. holidays/locale/en_US/LC_MESSAGES/TO.mo +0 -0
  240. holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
  241. holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
  242. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  243. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  244. holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
  245. holidays/locale/en_US/LC_MESSAGES/UM.mo +0 -0
  246. holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
  247. holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
  248. holidays/locale/en_US/LC_MESSAGES/UZ.mo +0 -0
  249. holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
  250. holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
  251. holidays/locale/en_US/LC_MESSAGES/VI.mo +0 -0
  252. holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
  253. holidays/locale/en_US/LC_MESSAGES/WF.mo +0 -0
  254. holidays/locale/en_US/LC_MESSAGES/YE.mo +0 -0
  255. holidays/locale/en_US/LC_MESSAGES/YT.mo +0 -0
  256. holidays/locale/es/LC_MESSAGES/BO.mo +0 -0
  257. holidays/locale/es/LC_MESSAGES/CL.mo +0 -0
  258. holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
  259. holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
  260. holidays/locale/es/LC_MESSAGES/CU.mo +0 -0
  261. holidays/locale/es/LC_MESSAGES/DO.mo +0 -0
  262. holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
  263. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  264. holidays/locale/es/LC_MESSAGES/GT.mo +0 -0
  265. holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
  266. holidays/locale/es/LC_MESSAGES/HT.mo +0 -0
  267. holidays/locale/es/LC_MESSAGES/MX.mo +0 -0
  268. holidays/locale/es/LC_MESSAGES/NI.mo +0 -0
  269. holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
  270. holidays/locale/es/LC_MESSAGES/PE.mo +0 -0
  271. holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
  272. holidays/locale/es/LC_MESSAGES/SV.mo +0 -0
  273. holidays/locale/es/LC_MESSAGES/UY.mo +0 -0
  274. holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
  275. holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
  276. holidays/locale/fa_AF/LC_MESSAGES/AF.mo +0 -0
  277. holidays/locale/fa_IR/LC_MESSAGES/IR.mo +0 -0
  278. holidays/locale/fi/LC_MESSAGES/AX.mo +0 -0
  279. holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
  280. holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
  281. holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
  282. holidays/locale/fr/LC_MESSAGES/BE.mo +0 -0
  283. holidays/locale/fr/LC_MESSAGES/BL.mo +0 -0
  284. holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
  285. holidays/locale/fr/LC_MESSAGES/CG.mo +0 -0
  286. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  287. holidays/locale/fr/LC_MESSAGES/DJ.mo +0 -0
  288. holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
  289. holidays/locale/fr/LC_MESSAGES/FR.mo +0 -0
  290. holidays/locale/fr/LC_MESSAGES/GF.mo +0 -0
  291. holidays/locale/fr/LC_MESSAGES/GP.mo +0 -0
  292. holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
  293. holidays/locale/fr/LC_MESSAGES/MA.mo +0 -0
  294. holidays/locale/fr/LC_MESSAGES/MC.mo +0 -0
  295. holidays/locale/fr/LC_MESSAGES/MF.mo +0 -0
  296. holidays/locale/fr/LC_MESSAGES/MQ.mo +0 -0
  297. holidays/locale/fr/LC_MESSAGES/NC.mo +0 -0
  298. holidays/locale/fr/LC_MESSAGES/PF.mo +0 -0
  299. holidays/locale/fr/LC_MESSAGES/PM.mo +0 -0
  300. holidays/locale/fr/LC_MESSAGES/RE.mo +0 -0
  301. holidays/locale/fr/LC_MESSAGES/TF.mo +0 -0
  302. holidays/locale/fr/LC_MESSAGES/WF.mo +0 -0
  303. holidays/locale/fr/LC_MESSAGES/YT.mo +0 -0
  304. holidays/locale/fr_HT/LC_MESSAGES/HT.mo +0 -0
  305. holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
  306. holidays/locale/he/LC_MESSAGES/IL.mo +0 -0
  307. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  308. holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
  309. holidays/locale/ht/LC_MESSAGES/HT.mo +0 -0
  310. holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
  311. holidays/locale/hy/LC_MESSAGES/AM.mo +0 -0
  312. holidays/locale/id/LC_MESSAGES/ID.mo +0 -0
  313. holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
  314. holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
  315. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  316. holidays/locale/it/LC_MESSAGES/SM.mo +0 -0
  317. holidays/locale/it/LC_MESSAGES/VA.mo +0 -0
  318. holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
  319. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  320. holidays/locale/kk/LC_MESSAGES/KZ.mo +0 -0
  321. holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
  322. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  323. holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
  324. holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
  325. holidays/locale/lo/LC_MESSAGES/LA.mo +0 -0
  326. holidays/locale/lt/LC_MESSAGES/LT.mo +0 -0
  327. holidays/locale/lv/LC_MESSAGES/LV.mo +0 -0
  328. holidays/locale/mg/LC_MESSAGES/MG.mo +0 -0
  329. holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
  330. holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
  331. holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
  332. holidays/locale/mt/LC_MESSAGES/MT.mo +0 -0
  333. holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
  334. holidays/locale/nl/LC_MESSAGES/BE.mo +0 -0
  335. holidays/locale/nl/LC_MESSAGES/BQ.mo +0 -0
  336. holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
  337. holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
  338. holidays/locale/nl/LC_MESSAGES/SX.mo +0 -0
  339. holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
  340. holidays/locale/no/LC_MESSAGES/NO.mo +0 -0
  341. holidays/locale/pap_AW/LC_MESSAGES/AW.mo +0 -0
  342. holidays/locale/pap_BQ/LC_MESSAGES/BQ.mo +0 -0
  343. holidays/locale/pap_CW/LC_MESSAGES/CW.mo +0 -0
  344. holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
  345. holidays/locale/ps_AF/LC_MESSAGES/AF.mo +0 -0
  346. holidays/locale/pt_AO/LC_MESSAGES/AO.mo +0 -0
  347. holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
  348. holidays/locale/pt_BR/LC_MESSAGES/BVMF.mo +0 -0
  349. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  350. holidays/locale/pt_MZ/LC_MESSAGES/MZ.mo +0 -0
  351. holidays/locale/pt_PT/LC_MESSAGES/PT.mo +0 -0
  352. holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
  353. holidays/locale/ro/LC_MESSAGES/MD.mo +0 -0
  354. holidays/locale/ro/LC_MESSAGES/RO.mo +0 -0
  355. holidays/locale/ru/LC_MESSAGES/BY.mo +0 -0
  356. holidays/locale/ru/LC_MESSAGES/RU.mo +0 -0
  357. holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
  358. holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
  359. holidays/locale/sk/LC_MESSAGES/SK.mo +0 -0
  360. holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
  361. holidays/locale/sq/LC_MESSAGES/AL.mo +0 -0
  362. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  363. holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
  364. holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
  365. holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
  366. holidays/locale/sv_FI/LC_MESSAGES/AX.mo +0 -0
  367. holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
  368. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  369. holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
  370. holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
  371. holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
  372. holidays/locale/th/LC_MESSAGES/AS.mo +0 -0
  373. holidays/locale/th/LC_MESSAGES/AU.mo +0 -0
  374. holidays/locale/th/LC_MESSAGES/AX.mo +0 -0
  375. holidays/locale/th/LC_MESSAGES/BL.mo +0 -0
  376. holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
  377. holidays/locale/th/LC_MESSAGES/BY.mo +0 -0
  378. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  379. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  380. holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
  381. holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
  382. holidays/locale/th/LC_MESSAGES/FR.mo +0 -0
  383. holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
  384. holidays/locale/th/LC_MESSAGES/GF.mo +0 -0
  385. holidays/locale/th/LC_MESSAGES/GP.mo +0 -0
  386. holidays/locale/th/LC_MESSAGES/GU.mo +0 -0
  387. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  388. holidays/locale/th/LC_MESSAGES/ID.mo +0 -0
  389. holidays/locale/th/LC_MESSAGES/IL.mo +0 -0
  390. holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
  391. holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
  392. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  393. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  394. holidays/locale/th/LC_MESSAGES/LA.mo +0 -0
  395. holidays/locale/th/LC_MESSAGES/MF.mo +0 -0
  396. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  397. holidays/locale/th/LC_MESSAGES/MP.mo +0 -0
  398. holidays/locale/th/LC_MESSAGES/MQ.mo +0 -0
  399. holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
  400. holidays/locale/th/LC_MESSAGES/NC.mo +0 -0
  401. holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
  402. holidays/locale/th/LC_MESSAGES/PF.mo +0 -0
  403. holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
  404. holidays/locale/th/LC_MESSAGES/PM.mo +0 -0
  405. holidays/locale/th/LC_MESSAGES/PR.mo +0 -0
  406. holidays/locale/th/LC_MESSAGES/RE.mo +0 -0
  407. holidays/locale/th/LC_MESSAGES/RU.mo +0 -0
  408. holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
  409. holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
  410. holidays/locale/th/LC_MESSAGES/TF.mo +0 -0
  411. holidays/locale/th/LC_MESSAGES/TH.mo +0 -0
  412. holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
  413. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  414. holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
  415. holidays/locale/th/LC_MESSAGES/UM.mo +0 -0
  416. holidays/locale/th/LC_MESSAGES/US.mo +0 -0
  417. holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
  418. holidays/locale/th/LC_MESSAGES/VI.mo +0 -0
  419. holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
  420. holidays/locale/th/LC_MESSAGES/WF.mo +0 -0
  421. holidays/locale/th/LC_MESSAGES/YT.mo +0 -0
  422. holidays/locale/to/LC_MESSAGES/TO.mo +0 -0
  423. holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
  424. holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
  425. holidays/locale/uk/LC_MESSAGES/AL.mo +0 -0
  426. holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
  427. holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
  428. holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
  429. holidays/locale/uk/LC_MESSAGES/AX.mo +0 -0
  430. holidays/locale/uk/LC_MESSAGES/AZ.mo +0 -0
  431. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  432. holidays/locale/uk/LC_MESSAGES/BE.mo +0 -0
  433. holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
  434. holidays/locale/uk/LC_MESSAGES/BL.mo +0 -0
  435. holidays/locale/uk/LC_MESSAGES/BO.mo +0 -0
  436. holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
  437. holidays/locale/uk/LC_MESSAGES/BVMF.mo +0 -0
  438. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  439. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  440. holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
  441. holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
  442. holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
  443. holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
  444. holidays/locale/uk/LC_MESSAGES/CY.mo +0 -0
  445. holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
  446. holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
  447. holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
  448. holidays/locale/uk/LC_MESSAGES/DO.mo +0 -0
  449. holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
  450. holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
  451. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  452. holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
  453. holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
  454. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  455. holidays/locale/uk/LC_MESSAGES/GF.mo +0 -0
  456. holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
  457. holidays/locale/uk/LC_MESSAGES/GP.mo +0 -0
  458. holidays/locale/uk/LC_MESSAGES/GR.mo +0 -0
  459. holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
  460. holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
  461. holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
  462. holidays/locale/uk/LC_MESSAGES/ID.mo +0 -0
  463. holidays/locale/uk/LC_MESSAGES/IL.mo +0 -0
  464. holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
  465. holidays/locale/uk/LC_MESSAGES/KZ.mo +0 -0
  466. holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
  467. holidays/locale/uk/LC_MESSAGES/LT.mo +0 -0
  468. holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
  469. holidays/locale/uk/LC_MESSAGES/LV.mo +0 -0
  470. holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
  471. holidays/locale/uk/LC_MESSAGES/MD.mo +0 -0
  472. holidays/locale/uk/LC_MESSAGES/ME.mo +0 -0
  473. holidays/locale/uk/LC_MESSAGES/MF.mo +0 -0
  474. holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
  475. holidays/locale/uk/LC_MESSAGES/MQ.mo +0 -0
  476. holidays/locale/uk/LC_MESSAGES/MX.mo +0 -0
  477. holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
  478. holidays/locale/uk/LC_MESSAGES/NC.mo +0 -0
  479. holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
  480. holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
  481. holidays/locale/uk/LC_MESSAGES/NO.mo +0 -0
  482. holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
  483. holidays/locale/uk/LC_MESSAGES/PE.mo +0 -0
  484. holidays/locale/uk/LC_MESSAGES/PF.mo +0 -0
  485. holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
  486. holidays/locale/uk/LC_MESSAGES/PM.mo +0 -0
  487. holidays/locale/uk/LC_MESSAGES/PT.mo +0 -0
  488. holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
  489. holidays/locale/uk/LC_MESSAGES/RE.mo +0 -0
  490. holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
  491. holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
  492. holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
  493. holidays/locale/uk/LC_MESSAGES/SK.mo +0 -0
  494. holidays/locale/uk/LC_MESSAGES/SM.mo +0 -0
  495. holidays/locale/uk/LC_MESSAGES/SV.mo +0 -0
  496. holidays/locale/uk/LC_MESSAGES/TF.mo +0 -0
  497. holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
  498. holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
  499. holidays/locale/uk/LC_MESSAGES/UY.mo +0 -0
  500. holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
  501. holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
  502. holidays/locale/uk/LC_MESSAGES/WF.mo +0 -0
  503. holidays/locale/uk/LC_MESSAGES/YT.mo +0 -0
  504. holidays/locale/uz/LC_MESSAGES/UZ.mo +0 -0
  505. holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
  506. holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
  507. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  508. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  509. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  510. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  511. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  512. holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
  513. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  514. holidays/mixins/__init__.py +18 -0
  515. holidays/mixins/child_entity.py +43 -0
  516. holidays/observed_holiday_base.py +1 -0
  517. holidays/registry.py +17 -0
  518. holidays/version.py +1 -1
  519. {holidays-0.75.dist-info → holidays-0.76.dist-info}/METADATA +134 -15
  520. holidays-0.76.dist-info/RECORD +785 -0
  521. {holidays-0.75.dist-info → holidays-0.76.dist-info}/licenses/CONTRIBUTORS +1 -0
  522. holidays-0.75.dist-info/RECORD +0 -687
  523. /holidays/{mixins.py → mixins/preferred_discretionary_holidays.py} +0 -0
  524. {holidays-0.75.dist-info → holidays-0.76.dist-info}/WHEEL +0 -0
  525. {holidays-0.75.dist-info → holidays-0.76.dist-info}/licenses/LICENSE +0 -0
  526. {holidays-0.75.dist-info → holidays-0.76.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,141 @@
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 MAY, SEP
16
+ from holidays.constants import GOVERNMENT, PUBLIC, WORKDAY
17
+ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
18
+ from holidays.observed_holiday_base import (
19
+ ObservedHolidayBase,
20
+ SAT_TO_NEXT_MON,
21
+ SAT_TO_NEXT_TUE,
22
+ SUN_TO_NEXT_TUE,
23
+ SUN_TO_NEXT_WED,
24
+ SAT_SUN_TO_NEXT_MON,
25
+ )
26
+
27
+
28
+ class FalklandIslands(
29
+ ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays
30
+ ):
31
+ """Falkland Islands holidays.
32
+
33
+ References:
34
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_the_Falkland_Islands>
35
+ * [January 31st, 2023 Amendment](https://web.archive.org/web/20250704040815/https://www.falklands.gov.fk/legalservices/statute-law-commissioner/gazettes-supplements/2023/supplements-2023?task=download.send&id=140)
36
+ * <https://web.archive.org/web/20241201174202/https://www.timeanddate.com/holidays/falkland-islands/2025>
37
+ * [Falkland Day](https://web.archive.org/web/20250325025508/https://www.daysoftheyear.com/days/falklands-day/)
38
+ * [Peat Cutting Day](https://en.wikipedia.org/wiki/Peat_Cutting_Monday)
39
+ * [HM The King's Birthday](https://web.archive.org/web/20230329063159/https://en.mercopress.com/2022/11/03/falklands-appoints-14-november-as-a-public-holiday-to-celebrate-birthday-of-king-charles-iii)
40
+ * [Governor's Office Stanley](https://web.archive.org/web/20250704040807/https://www.gov.uk/world/organisations/governors-office-stanley/office/governors-office-stanley)
41
+ * [2020-2023](https://web.archive.org/web/20220805134148/http://www.falklands.gov.fk/policy/jdownloads/Reports%20&%20Publications/Public%20Health,%20Social%20and%20Community%20Publications/Falkland%20Islands%20Public%20Holidays%202020-2023.pdf)
42
+ * [2023-2026](https://web.archive.org/web/20250402143330/https://www.falklands.gov.fk/policy/downloads?task=download.send&id=186:falkland-islands-public-holidays-2023-2026&catid=12)
43
+ """
44
+
45
+ country = "FK"
46
+ default_language = "en_GB"
47
+ # %s observed.
48
+ observed_label = tr("%s (observed)")
49
+ # Falkland War's Conclusion.
50
+ start_year = 1983
51
+ supported_categories = (GOVERNMENT, PUBLIC, WORKDAY)
52
+ supported_languages = ("en_GB", "en_US")
53
+
54
+ def __init__(self, *args, **kwargs):
55
+ ChristianHolidays.__init__(self)
56
+ InternationalHolidays.__init__(self)
57
+ StaticHolidays.__init__(self, cls=FalklandIslandsStaticHolidays)
58
+ kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
59
+ super().__init__(*args, **kwargs)
60
+
61
+ def _populate_public_holidays(self):
62
+ # New Year's Day.
63
+ self._add_observed(self._add_new_years_day(tr("New Year's Day")))
64
+
65
+ # Good Friday.
66
+ self._add_good_friday(tr("Good Friday"))
67
+
68
+ if self._year <= 2022:
69
+ # Queen's Birthday.
70
+ self._add_observed(self._add_holiday_apr_21(tr("HM The Queen's Birthday")))
71
+
72
+ # Liberation Day.
73
+ self._add_observed(self._add_holiday_jun_14(tr("Liberation Day")))
74
+
75
+ if self._year <= 2001:
76
+ # Falkland Day.
77
+ self._add_observed(self._add_holiday_aug_14(tr("Falkland Day")))
78
+ else:
79
+ # Peat Cutting Day.
80
+ self._add_holiday_1st_mon_of_oct(tr("Peat Cutting Day"))
81
+
82
+ if self._year >= 2022:
83
+ # King's Birthday.
84
+ self._add_observed(self._add_holiday_nov_14(tr("HM The King's Birthday")))
85
+
86
+ self._add_observed(
87
+ # Christmas Day.
88
+ self._add_christmas_day(tr("Christmas Day")),
89
+ rule=SAT_TO_NEXT_TUE + SUN_TO_NEXT_WED,
90
+ )
91
+
92
+ self._add_observed(
93
+ # Boxing Day.
94
+ self._add_christmas_day_two(tr("Boxing Day")),
95
+ rule=SAT_TO_NEXT_MON + SUN_TO_NEXT_WED,
96
+ )
97
+
98
+ self._add_observed(
99
+ # Christmas Holiday.
100
+ self._add_christmas_day_three(tr("Christmas Holiday")),
101
+ rule=SAT_TO_NEXT_MON + SUN_TO_NEXT_TUE,
102
+ )
103
+
104
+ def _populate_government_holidays(self):
105
+ # Government Holiday.
106
+ name = tr("Government Holiday")
107
+ last_workday = self._add_holiday(
108
+ name, self._get_next_workday(self._next_year_new_years_day, -1)
109
+ )
110
+ self._add_holiday(name, self._get_next_workday(last_workday, -1))
111
+
112
+ def _populate_workday_holidays(self):
113
+ # Margaret Thatcher Day.
114
+ self._add_holiday_jan_10(tr("Margaret Thatcher Day"))
115
+
116
+ if self._year >= 2002:
117
+ # Falkland Day.
118
+ self._add_holiday_aug_14(tr("Falkland Day"))
119
+
120
+
121
+ class FK(FalklandIslands):
122
+ pass
123
+
124
+
125
+ class FLK(FalklandIslands):
126
+ pass
127
+
128
+
129
+ class FalklandIslandsStaticHolidays:
130
+ """Falkland Islands special holidays.
131
+
132
+ References:
133
+ * <https://web.archive.org/web/20231004165250/https://en.mercopress.com/2022/09/14/falklands-public-holiday-and-national-two-minute-s-silence-for-queen-elizabeth-ii>
134
+ """
135
+
136
+ special_public_holidays = {
137
+ # Queen Elizabeth II's Funeral.
138
+ 2022: (SEP, 19, tr("Queen Elizabeth II's Funeral")),
139
+ # King Charles III's Coronation.
140
+ 2023: (MAY, 8, tr("HM The King's Coronation")),
141
+ }
@@ -22,6 +22,29 @@ class France(HolidayBase, ChristianHolidays, InternationalHolidays):
22
22
  References:
23
23
  * <https://fr.wikipedia.org/wiki/Fêtes_et_jours_fériés_en_France>
24
24
  * <https://web.archive.org/web/20250424031328/https://www.service-public.fr/particuliers/vosdroits/F2405>
25
+ * [Arrêté du 29 germinal an X](https://web.archive.org/web/20250327095254/https://journals.openedition.org/rdr/439)
26
+ * [Loi du 6 juillet 1880](https://archive.org/details/jorf-18800707-185)
27
+ * [Loi du 8 mars 1886](https://archive.org/details/jorf-18860309-67)
28
+ * [Loi du 9 décembre 1905](https://web.archive.org/web/20250617084843/https://mjp.univ-perp.fr/france/1905laicite.htm)
29
+ * [Loi du 24 octobre 1922](https://web.archive.org/web/20250618030815/https://archives.defense.gouv.fr/content/download/102094/992430/Loi%20du%2024%20octobre%201922%20fixant%20la%20journée%20commémorative%20du%2011%20novembre.pdf)
30
+ * [Loi n°46-828 du 26 avril 1946](https://archive.org/details/jorf-19460428-100)
31
+ * [Loi n°46-934 du 7 mai 1946](https://archive.org/details/jorf-19460508-107)
32
+ * [Loi n°47-778 du 30 avril 1947 ](https://archive.org/details/jorf-19470501-104)
33
+ * [Loi n°48-746 du 29 avril 1948](https://archive.org/details/jorf-19480430-104)
34
+ * [Loi n°53-225 du 20 mars 1953](https://archive.org/details/jorf-19530321-69)
35
+ * [Décret n°59-533 du 11 avril 1959](https://archive.org/details/jorf-19590415-88)
36
+ * [Loi n° 61-814 du 29 juillet 1961](https://web.archive.org/web/20240715174837/https://www.legifrance.gouv.fr/loda/id/JORFTEXT000000684031)
37
+ * [Loi n°81-893 du 2 octobre 1981](https://archive.org/details/jorf-19811003-232)
38
+ * [Loi n° 83-550 du 30 juin 1983](https://archive.org/details/jorf-19830701-151)
39
+ * [Décret n°83-1003 du 23 novembre 1983](https://archive.org/details/jorf-19831124-272_202506)
40
+ * [Loi n° 2004-626 du 30 juin 2004](https://web.archive.org/web/20220830045136/https://www.legifrance.gouv.fr/loda/id/JORFTEXT000000622485/)
41
+ * [Loi n° 2008-351 du 16 avril 2008](https://web.archive.org/web/20220602124233/https://www.legifrance.gouv.fr/loda/id/JORFTEXT000018656009/)
42
+ * [Décret n° 2012-553 du 23 avril 2012](https://web.archive.org/web/20231104120733/https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000025743756)
43
+ * <https://web.archive.org/web/20240719134144/https://www.moselle.gouv.fr/contenu/telechargement/5830/42693/file/fiche+commerce+MAJ.pdf>
44
+ * <https://web.archive.org/web/20190812110746/http://histoire.assemblee.pf/articles.php?id=567>
45
+ * <https://web.archive.org/web/20190812043635/http://histoire.assemblee.pf/articles.php?id=568>
46
+ * <https://web.archive.org/web/20250618073111/https://www.tahitipresse.pf/2025/05/polynesie-29-juin-ou-20-novembre/>
47
+ * <https://web.archive.org/web/20250618061809/https://la1ere.franceinfo.fr/nouvellecaledonie/commemorations-differentes-24-septembre-752087.html>
25
48
 
26
49
  Some provinces have specific holidays, only those are included in the
27
50
  PROVINCES, because these provinces have different administrative status,
@@ -30,49 +53,57 @@ class France(HolidayBase, ChristianHolidays, InternationalHolidays):
30
53
 
31
54
  country = "FR"
32
55
  default_language = "fr"
33
- start_year = 1801
56
+ # Arrêté du 29 germinal an X (April 19th, 1802),
57
+ # Reaffirmed by Article 42 de la loi du 9 décembre 1905.
58
+ start_year = 1803
59
+ # fmt: off
34
60
  subdivisions: tuple[str, ...] = (
35
- "BL", # Saint-Barthélemy.
36
- "GES", # Alsace, Champagne-Ardenne, Lorraine(Moselle).
37
- "GP", # Guadeloupe.
38
- "GY", # Guyane.
39
- "MF", # Saint-Martin.
40
- "MQ", # Martinique.
41
- "NC", # Nouvelle-Calédonie,
42
- "PF", # Polynésie Française.
43
- "RE", # La Réunion.
44
- "WF", # Wallis-et-Futuna.
45
- "YT", # Mayotte.
61
+ "57", # Moselle.
62
+ "6AE", # Alsace.
63
+ "971", # Guadeloupe.
64
+ "972", # Martinique.
65
+ "973", # Guyane.
66
+ "974", # La Réunion.
67
+ "976", # Mayotte.
68
+ "BL", # Saint-Barthélemy.
69
+ "MF", # Saint-Martin.
70
+ "NC", # Nouvelle-Calédonie,
71
+ "PF", # Polynésie Française.
72
+ "PM", # Saint-Pierre-et-Miquelon.
73
+ "TF", # Terres australes françaises.
74
+ "WF", # Wallis-et-Futuna.
46
75
  )
76
+ # fmt: on
47
77
  subdivisions_aliases = {
78
+ "Moselle": "57",
79
+ "Alsace": "6AE",
80
+ "GP": "971",
81
+ "GUA": "971",
82
+ "Guadeloupe": "971",
83
+ "MQ": "972",
84
+ "Martinique": "972",
85
+ "GY": "973",
86
+ "Guyane": "973",
87
+ "RE": "974",
88
+ "LRE": "974",
89
+ "La Réunion": "974",
90
+ "YT": "976",
91
+ "MAY": "976",
92
+ "Mayotte": "976",
48
93
  "Saint-Barthélemy": "BL",
49
- "Alsace": "GES",
50
- "Champagne-Ardenne": "GES",
51
- "Lorraine": "GES",
52
- "Guadeloupe": "GP",
53
- "Guyane": "GY",
54
94
  "Saint-Martin": "MF",
55
- "Martinique": "MQ",
56
95
  "Nouvelle-Calédonie": "NC",
57
96
  "Polynésie Française": "PF",
58
- "La Réunion": "RE",
97
+ "Saint-Pierre-et-Miquelon": "PM",
98
+ "Terres australes françaises": "TF",
59
99
  "Wallis-et-Futuna": "WF",
60
- "Mayotte": "YT",
61
100
  }
62
- supported_languages = ("en_US", "fr", "uk")
101
+ supported_languages = ("en_US", "fr", "th", "uk")
63
102
  _deprecated_subdivisions = (
64
103
  "Alsace-Moselle",
65
- "Guadeloupe",
66
- "Guyane",
67
- "La Réunion",
68
- "Martinique",
69
- "Mayotte",
104
+ "GES",
70
105
  "Métropole",
71
- "Nouvelle-Calédonie",
72
- "Polynésie Française",
73
106
  "Saint-Barthélémy",
74
- "Saint-Martin",
75
- "Wallis-et-Futuna",
76
107
  )
77
108
 
78
109
  def __init__(self, *args, **kwargs):
@@ -81,158 +112,224 @@ class France(HolidayBase, ChristianHolidays, InternationalHolidays):
81
112
  super().__init__(*args, **kwargs)
82
113
 
83
114
  def _populate_public_holidays(self):
84
- # Civil holidays.
115
+ # Established on March 28th, 1810.
85
116
  if self._year >= 1811:
86
117
  # New Year's Day.
87
118
  self._add_new_years_day(tr("Jour de l'an"))
88
119
 
120
+ # Established on March 8th, 1886.
121
+ if self._year >= 1886:
122
+ # Easter Monday.
123
+ self._add_easter_monday(tr("Lundi de Pâques"))
124
+
125
+ # Removed on June 30th, 2004.
126
+ # Readded on April 16th, 2008.
127
+ if self._year not in {2005, 2006, 2007}:
128
+ # Whit Monday.
129
+ self._add_whit_monday(tr("Lundi de Pentecôte"))
130
+
131
+ # Made unofficial public holiday with no name on April 23rd, 1919.
132
+ # Included in official list by Vichy France with new name on April 24th, 1941.
133
+ # Confirmed for 1946 with no name on April 26th, 1946.
134
+ # Added annually from 1947 onwards with no name on April 30th, 1947.
135
+ # Got its current name on April 29th, 1948.
89
136
  if self._year >= 1919:
90
- self._add_labor_day(
137
+ if self._year >= 1948:
91
138
  # Labor Day.
92
- tr("Fête du Travail")
93
- if self._year >= 1948
139
+ name = tr("Fête du Travail")
140
+ elif 1941 <= self._year <= 1945:
94
141
  # Labor and Social Concord Day.
95
- else tr("Fête du Travail et de la Concorde sociale")
96
- )
97
-
142
+ name = tr("Fête du Travail et de la Concorde sociale")
143
+ else:
144
+ # May Day.
145
+ name = tr("1er mai")
146
+ self._add_labor_day(name)
147
+
148
+ # Commemorated on May 7th, 1946 as 1st Sunday after May 7th.
149
+ # Upgraded to Public Holiday on May 8th directly on March 20th, 1953.
150
+ # Removed from 1960 onwards per April 11th, 1959 decree.
151
+ # Readded on October 2nd, 1981.
98
152
  if 1953 <= self._year <= 1959 or self._year >= 1982:
99
153
  # Victory Day.
100
154
  self._add_world_war_two_victory_day(tr("Fête de la Victoire"))
101
155
 
156
+ # Ascension Day.
157
+ self._add_ascension_thursday(tr("Ascension"))
158
+
159
+ # Established on July 6th, 1880.
102
160
  if self._year >= 1880:
103
161
  # National Day.
104
162
  self._add_holiday_jul_14(tr("Fête nationale"))
105
163
 
106
- if self._year >= 1918:
107
- # Armistice Day.
108
- self._add_holiday_nov_11(tr("Armistice"))
164
+ # Assumption Day.
165
+ self._add_assumption_of_mary_day(tr("Assomption"))
109
166
 
110
- # Religious holidays.
167
+ # All Saints' Day.
168
+ self._add_all_saints_day(tr("Toussaint"))
111
169
 
112
- if self._year >= 1886:
113
- # Easter Monday.
114
- self._add_easter_monday(tr("Lundi de Pâques"))
115
-
116
- if self._year not in {2005, 2006, 2007}:
117
- # Whit Monday.
118
- self._add_whit_monday(tr("Lundi de Pentecôte"))
170
+ # Established on October 24th, 1922.
171
+ if self._year >= 1922:
172
+ # Armistice Day.
173
+ self._add_remembrance_day(tr("Armistice"))
119
174
 
120
- if self._year >= 1802:
121
- # Ascension Day.
122
- self._add_ascension_thursday(tr("Ascension"))
123
- # Assumption Day.
124
- self._add_assumption_of_mary_day(tr("Assomption"))
125
- # All Saints' Day.
126
- self._add_all_saints_day(tr("Toussaint"))
127
- # Christmas Day.
128
- self._add_christmas_day(tr("Noël"))
175
+ # Christmas Day.
176
+ self._add_christmas_day(tr("Noël"))
129
177
 
130
178
  if self.subdiv == "Alsace-Moselle":
131
- self._populate_subdiv_ges_public_holidays()
132
- elif self.subdiv == "Guadeloupe":
133
- self._populate_subdiv_gp_public_holidays()
134
- elif self.subdiv == "Guyane":
135
- self._populate_subdiv_gy_public_holidays()
136
- elif self.subdiv == "La Réunion":
137
- self._populate_subdiv_re_public_holidays()
138
- elif self.subdiv == "Martinique":
139
- self._populate_subdiv_mq_public_holidays()
140
- elif self.subdiv == "Mayotte":
141
- self._populate_subdiv_yt_public_holidays()
142
- elif self.subdiv == "Nouvelle-Calédonie":
143
- self._populate_subdiv_nc_public_holidays()
144
- elif self.subdiv == "Polynésie Française":
145
- self._populate_subdiv_pf_public_holidays()
179
+ self._populate_subdiv_6ae_public_holidays()
146
180
  elif self.subdiv == "Saint-Barthélémy":
147
181
  self._populate_subdiv_bl_public_holidays()
148
- elif self.subdiv == "Saint-Martin":
149
- self._populate_subdiv_mf_public_holidays()
150
- elif self.subdiv == "Wallis-et-Futuna":
151
- self._populate_subdiv_wf_public_holidays()
152
-
153
- # Saint Barthelemy.
154
- def _populate_subdiv_bl_public_holidays(self):
155
- # Abolition of slavery.
156
- self._add_holiday_oct_9(tr("Abolition de l'esclavage"))
157
182
 
158
- # Alsace, Champagne-Ardenne, Lorraine(Moselle).
159
- def _populate_subdiv_ges_public_holidays(self):
160
- # Good Friday.
161
- self._add_good_friday(tr("Vendredi saint"))
162
-
163
- # Saint Stephen's Day.
164
- self._add_christmas_day_two(tr("Saint Étienne"))
183
+ # Moselle.
184
+ def _populate_subdiv_57_public_holidays(self):
185
+ # Established on August 16th, 1892.
186
+ if self._year >= 1893:
187
+ # Good Friday.
188
+ self._add_good_friday(tr("Vendredi saint"))
189
+
190
+ # Established on August 16th, 1892.
191
+ if self._year >= 1892:
192
+ # Saint Stephen's Day.
193
+ self._add_christmas_day_two(tr("Saint Étienne"))
194
+
195
+ # Alsace.
196
+ def _populate_subdiv_6ae_public_holidays(self):
197
+ # Established on August 16th, 1892.
198
+ if self._year >= 1893:
199
+ # Good Friday.
200
+ self._add_good_friday(tr("Vendredi saint"))
201
+
202
+ # Established on August 16th, 1892.
203
+ if self._year >= 1892:
204
+ # Saint Stephen's Day.
205
+ self._add_christmas_day_two(tr("Saint Étienne"))
165
206
 
166
207
  # Guadeloupe.
167
- def _populate_subdiv_gp_public_holidays(self):
208
+ def _populate_subdiv_971_public_holidays(self):
168
209
  # Good Friday.
169
210
  self._add_good_friday(tr("Vendredi saint"))
170
211
 
171
212
  # Mi-Careme.
172
213
  self._add_holiday_24_days_prior_easter(tr("Mi-Carême"))
173
214
 
174
- # Abolition of slavery.
175
- self._add_holiday_may_27(tr("Abolition de l'esclavage"))
215
+ # Provision for Public Holidays decreed on June 30th, 1983.
216
+ # Date for each DOM declared on November 23rd, 1983.
217
+ # Victor Schoelcher Day is based on June 30th, 1983 provision.
218
+ if self._year >= 1984:
219
+ # Abolition of Slavery.
220
+ self._add_holiday_may_27(tr("Abolition de l'esclavage"))
221
+
222
+ # Victor Schoelcher Day.
223
+ self._add_holiday_jul_21(tr("Fête de Victor Schoelcher"))
224
+
225
+ # Martinique.
226
+ def _populate_subdiv_972_public_holidays(self):
227
+ # Good Friday.
228
+ self._add_good_friday(tr("Vendredi saint"))
229
+
230
+ # Provision for Public Holidays decreed on June 30th, 1983.
231
+ # Date for each DOM declared on November 23rd, 1983.
232
+ # Victor Schoelcher Day is based on June 30th, 1983 provision.
233
+ if self._year >= 1984:
234
+ # Abolition of Slavery.
235
+ self._add_holiday_may_22(tr("Abolition de l'esclavage"))
176
236
 
177
- # Feast of Victor Schoelcher.
178
- self._add_holiday_jul_21(tr("Fête de Victor Schoelcher"))
237
+ # Victor Schoelcher Day.
238
+ self._add_holiday_jul_21(tr("Fête de Victor Schoelcher"))
179
239
 
180
240
  # Guyane.
181
- def _populate_subdiv_gy_public_holidays(self):
182
- # Abolition of slavery.
183
- self._add_holiday_jun_10(tr("Abolition de l'esclavage"))
241
+ def _populate_subdiv_973_public_holidays(self):
242
+ # Provision for Public Holidays decreed on June 30th, 1983.
243
+ # Date for each DOM declared on November 23rd, 1983.
244
+ if self._year >= 1984:
245
+ # Abolition of Slavery.
246
+ self._add_holiday_jun_10(tr("Abolition de l'esclavage"))
247
+
248
+ # Reunion.
249
+ def _populate_subdiv_974_public_holidays(self):
250
+ # Provision for Public Holidays decreed on June 30th, 1983.
251
+ # Date for each DOM declared on November 23rd, 1983.
252
+ if self._year >= 1983:
253
+ # Abolition of Slavery.
254
+ self._add_holiday_dec_20(tr("Abolition de l'esclavage"))
255
+
256
+ # Mayotte.
257
+ def _populate_subdiv_976_public_holidays(self):
258
+ # Provision for Public Holidays decreed on June 30th, 1983.
259
+ # Date for each DOM declared on November 23rd, 1983.
260
+ if self._year >= 1984:
261
+ # Abolition of Slavery.
262
+ self._add_holiday_apr_27(tr("Abolition de l'esclavage"))
263
+
264
+ # Saint Barthelemy.
265
+ def _populate_subdiv_bl_public_holidays(self):
266
+ # Provision for Public Holidays decreed on June 30th, 1983.
267
+ # Date for each DOM declared on November 23rd, 1983.
268
+ # Amended to include Saint-Barthélemy and Saint-Martin subdivision on April 23rd, 2012.
269
+ if self._year >= 2012:
270
+ # Abolition of Slavery.
271
+ self._add_holiday_oct_9(tr("Abolition de l'esclavage"))
184
272
 
185
273
  # Saint Martin.
186
274
  def _populate_subdiv_mf_public_holidays(self):
187
- if self._year >= 2018:
188
- # Abolition of slavery.
275
+ # Provision for Public Holidays decreed on June 30th, 1983.
276
+ # Date for each DOM declared on November 23rd, 1983.
277
+ # Amended to include Saint-Barthélemy and Saint-Martin subdivision on April 23rd, 2012.
278
+ # Victor Schoelcher Day is based on June 30th, 1983 provision.
279
+ if self._year >= 2012:
280
+ # Abolition of Slavery.
189
281
  self._add_holiday_may_28(tr("Abolition de l'esclavage"))
190
282
 
191
- # Martinique.
192
- def _populate_subdiv_mq_public_holidays(self):
193
- # Good Friday.
194
- self._add_good_friday(tr("Vendredi saint"))
195
-
196
- # Abolition of slavery.
197
- self._add_holiday_may_22(tr("Abolition de l'esclavage"))
198
-
199
- # Feast of Victor Schoelcher.
200
- self._add_holiday_jul_21(tr("Fête de Victor Schoelcher"))
283
+ # Victor Schoelcher Day.
284
+ self._add_holiday_jul_21(tr("Fête de Victor Schoelcher"))
201
285
 
202
286
  # New Caledonia.
203
287
  def _populate_subdiv_nc_public_holidays(self):
204
- # Citizenship Day.
205
- self._add_holiday_sep_24(tr("Fête de la Citoyenneté"))
288
+ # First observed in 1953.
289
+ # Renamed in 2004.
290
+ if self._year >= 1953:
291
+ self._add_holiday_sep_24(
292
+ # Citizenship Day.
293
+ tr("Fête de la Citoyenneté")
294
+ if self._year >= 2004
295
+ # Annexation Day.
296
+ else tr("Fête de la prise de possession")
297
+ )
206
298
 
207
299
  # French Polynesia.
208
300
  def _populate_subdiv_pf_public_holidays(self):
209
301
  # Good Friday.
210
302
  self._add_good_friday(tr("Vendredi saint"))
211
303
 
212
- # Missionary Day.
213
- self._add_holiday_mar_5(tr("Arrivée de l'Évangile"))
304
+ # Established on February 1st, 1978.
305
+ if self._year >= 1978:
306
+ # Missionary Day.
307
+ self._add_holiday_mar_5(tr("Arrivée de l'Évangile"))
214
308
 
215
- # Internal Autonomy Day.
216
- self._add_holiday_jun_29(tr("Fête de l'autonomie"))
309
+ # Established on May 30th, 1985.
310
+ # Replaced by Matāri'i on April 30th, 2024.
311
+ if 1985 <= self._year <= 2024:
312
+ # Internal Autonomy Day.
313
+ self._add_holiday_jun_29(tr("Fête de l'autonomie"))
217
314
 
218
- # Reunion.
219
- def _populate_subdiv_re_public_holidays(self):
220
- if self._year >= 1981:
221
- # Abolition of slavery.
222
- self._add_holiday_dec_20(tr("Abolition de l'esclavage"))
315
+ # Established on April 30th, 2024.
316
+ if self._year >= 2025:
317
+ # Matāri'i.
318
+ self._add_holiday_nov_20(tr("Matāri'i"))
223
319
 
224
320
  # Wallis and Futuna.
225
321
  def _populate_subdiv_wf_public_holidays(self):
226
- # Feast of Saint Peter Chanel.
227
- self._add_holiday_apr_28(tr("Saint Pierre Chanel"))
322
+ # While it's not clear when these holidays were added,
323
+ # they're likely added after local autonomy was granted on July 29th, 1961.
324
+ if self._year >= 1962:
325
+ # Feast of Saint Peter Chanel.
326
+ self._add_holiday_apr_28(tr("Saint Pierre Chanel"))
228
327
 
229
- # Festival of the territory.
230
- self._add_holiday_jul_29(tr("Fête du Territoire"))
328
+ # Saints Peter and Paul Day.
329
+ self._add_saints_peter_and_paul_day(tr("Saints Pierre et Paul"))
231
330
 
232
- # Mayotte.
233
- def _populate_subdiv_yt_public_holidays(self):
234
- # Abolition of slavery.
235
- self._add_holiday_apr_27(tr("Abolition de l'esclavage"))
331
+ # Territory Day.
332
+ self._add_holiday_jul_29(tr("Fête du Territoire"))
236
333
 
237
334
 
238
335
  class FR(France):
@@ -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 HolidaysGF(ChildEntity, France):
18
+ """French Guiana 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/French_Guiana>
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_France>
26
+ """
27
+
28
+ country = "GF"
29
+ parent_entity = France
30
+ parent_entity_subdivision_code = "973"
31
+ # Cession from Portugal on May 30th, 1814.
32
+ start_year = 1815
33
+
34
+
35
+ class FrenchGuiana(HolidaysGF):
36
+ pass
37
+
38
+
39
+ class GF(HolidaysGF):
40
+ pass
41
+
42
+
43
+ class GUF(HolidaysGF):
44
+ pass
@@ -0,0 +1,43 @@
1
+ # holidays
2
+ # --------
3
+ # A fast, efficient Python library for generating country, province and state
4
+ # specific sets of holidays on the fly. It aims to make determining whether a
5
+ # specific date is a holiday as fast and flexible as possible.
6
+ #
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
+ # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
+ # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
+ # Website: https://github.com/vacanza/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from holidays.countries.france import France
14
+ from holidays.mixins.child_entity import ChildEntity
15
+
16
+
17
+ class HolidaysPF(ChildEntity, France):
18
+ """French Polynesia 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/French_Polynesia>
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_France>
26
+ """
27
+
28
+ country = "PF"
29
+ parent_entity = France
30
+ # Pōmare V abdicated and Tahiti became a French Colony on June 29th, 1880.
31
+ start_year = 1881
32
+
33
+
34
+ class FrenchPolynesia(HolidaysPF):
35
+ pass
36
+
37
+
38
+ class PF(HolidaysPF):
39
+ pass
40
+
41
+
42
+ class PYF(HolidaysPF):
43
+ pass