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.
- holidays/calendars/__init__.py +1 -0
- holidays/calendars/mongolian.py +342 -0
- holidays/countries/__init__.py +41 -0
- holidays/countries/aland_islands.py +3 -19
- holidays/countries/algeria.py +1 -1
- holidays/countries/american_samoa.py +8 -20
- holidays/countries/aruba.py +42 -36
- holidays/countries/australia.py +6 -8
- holidays/countries/bahrain.py +1 -1
- holidays/countries/bonaire_sint_eustatius_and_saba.py +134 -0
- holidays/countries/british_virgin_islands.py +6 -6
- holidays/countries/cabo_verde.py +293 -0
- holidays/countries/cayman_islands.py +162 -0
- holidays/countries/central_african_republic.py +143 -0
- holidays/countries/christmas_island.py +215 -0
- holidays/countries/cocos_islands.py +7 -6
- holidays/countries/curacao.py +64 -38
- holidays/countries/dr_congo.py +139 -0
- holidays/countries/egypt.py +1 -1
- holidays/countries/falkland_islands.py +141 -0
- holidays/countries/faroe_islands.py +102 -0
- holidays/countries/france.py +224 -127
- holidays/countries/french_guiana.py +44 -0
- holidays/countries/french_polynesia.py +43 -0
- holidays/countries/french_southern_territories.py +3 -4
- holidays/countries/georgia.py +11 -5
- holidays/countries/gibraltar.py +219 -0
- holidays/countries/guadeloupe.py +44 -0
- holidays/countries/guam.py +8 -20
- holidays/countries/guernsey.py +6 -6
- holidays/countries/hongkong.py +1 -1
- holidays/countries/hungary.py +2 -1
- holidays/countries/iran.py +1 -1
- holidays/countries/isle_of_man.py +4 -0
- holidays/countries/israel.py +1 -1
- holidays/countries/japan.py +6 -8
- holidays/countries/jersey.py +2 -2
- holidays/countries/jordan.py +1 -1
- holidays/countries/kuwait.py +1 -1
- holidays/countries/lebanon.py +448 -0
- holidays/countries/libya.py +227 -0
- holidays/countries/mali.py +151 -0
- holidays/countries/martinique.py +44 -0
- holidays/countries/mauritius.py +197 -0
- holidays/countries/mayotte.py +44 -0
- holidays/countries/mongolia.py +202 -0
- holidays/countries/montserrat.py +177 -0
- holidays/countries/morocco.py +1 -1
- holidays/countries/nepal.py +8 -8
- holidays/countries/netherlands.py +7 -11
- holidays/countries/new_caledonia.py +43 -0
- holidays/countries/new_zealand.py +2 -2
- holidays/countries/niue.py +115 -0
- holidays/countries/norfolk_island.py +129 -0
- holidays/countries/northern_mariana_islands.py +8 -20
- holidays/countries/oman.py +1 -1
- holidays/countries/palau.py +1 -1
- holidays/countries/palestine.py +177 -0
- holidays/countries/peru.py +12 -0
- holidays/countries/puerto_rico.py +8 -20
- holidays/countries/reunion.py +44 -0
- holidays/countries/saint_barthelemy.py +43 -0
- holidays/countries/saint_martin.py +43 -0
- holidays/countries/saint_pierre_and_miquelon.py +43 -0
- holidays/countries/saint_vincent_and_the_grenadines.py +130 -0
- holidays/countries/san_marino.py +49 -26
- holidays/countries/saudi_arabia.py +3 -3
- holidays/countries/seychelles.py +1 -1
- holidays/countries/sint_maarten.py +118 -0
- holidays/countries/solomon_islands.py +2 -2
- holidays/countries/svalbard_and_jan_mayen.py +3 -9
- holidays/countries/taiwan.py +31 -9
- holidays/countries/tokelau.py +66 -0
- holidays/countries/tunisia.py +1 -1
- holidays/countries/turks_and_caicos_islands.py +3 -3
- holidays/countries/united_arab_emirates.py +1 -1
- holidays/countries/united_kingdom.py +2 -2
- holidays/countries/united_states.py +579 -403
- holidays/countries/united_states_minor_outlying_islands.py +8 -20
- holidays/countries/united_states_virgin_islands.py +8 -20
- holidays/countries/uzbekistan.py +19 -2
- holidays/countries/wallis_and_futuna.py +43 -0
- holidays/countries/yemen.py +2 -2
- holidays/groups/__init__.py +1 -0
- holidays/groups/chinese.py +11 -0
- holidays/groups/christian.py +10 -10
- holidays/groups/eastern.py +1 -1
- holidays/groups/hebrew.py +2 -2
- holidays/groups/islamic.py +17 -0
- holidays/groups/mongolian.py +103 -0
- holidays/holiday_base.py +11 -6
- holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/DJ.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/EG.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/JO.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/KW.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/LB.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/LY.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/MA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/OM.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/PS.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/SA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/TN.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/YE.mo +0 -0
- holidays/locale/az/LC_MESSAGES/AZ.mo +0 -0
- holidays/locale/be/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/bg/LC_MESSAGES/BG.mo +0 -0
- holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/cnr/LC_MESSAGES/ME.mo +0 -0
- holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/da/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/da/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/de/LC_MESSAGES/AT.mo +0 -0
- holidays/locale/de/LC_MESSAGES/BE.mo +0 -0
- holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/de/LC_MESSAGES/CV.mo +0 -0
- holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/de/LC_MESSAGES/LI.mo +0 -0
- holidays/locale/de/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/de/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/el/LC_MESSAGES/CY.mo +0 -0
- holidays/locale/el/LC_MESSAGES/GR.mo +0 -0
- holidays/locale/en_AU/LC_MESSAGES/AU.mo +0 -0
- holidays/locale/en_BQ/LC_MESSAGES/BQ.mo +0 -0
- holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/en_CX/LC_MESSAGES/CX.mo +0 -0
- holidays/locale/en_CY/LC_MESSAGES/CY.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/FK.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/GI.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/IM.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/KY.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/en_LC/LC_MESSAGES/LC.mo +0 -0
- holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/en_MS/LC_MESSAGES/MS.mo +0 -0
- holidays/locale/en_MU/LC_MESSAGES/MU.mo +0 -0
- holidays/locale/en_NF/LC_MESSAGES/NF.mo +0 -0
- holidays/locale/en_NU/LC_MESSAGES/NU.mo +0 -0
- holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/en_SC/LC_MESSAGES/SC.mo +0 -0
- holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/en_SL/LC_MESSAGES/SL.mo +0 -0
- holidays/locale/en_TK/LC_MESSAGES/TK.mo +0 -0
- holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AX.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BQ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BVMF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CX.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DJ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/FK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/FR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ID.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/JO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LB.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ME.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ML.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MQ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MX.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/OM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RS.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SX.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/WF.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/YE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/YT.mo +0 -0
- holidays/locale/en_VC/LC_MESSAGES/VC.mo +0 -0
- holidays/locale/es/LC_MESSAGES/BO.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CO.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CR.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CU.mo +0 -0
- holidays/locale/es/LC_MESSAGES/CV.mo +0 -0
- holidays/locale/es/LC_MESSAGES/DO.mo +0 -0
- holidays/locale/es/LC_MESSAGES/EC.mo +0 -0
- holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/es/LC_MESSAGES/GT.mo +0 -0
- holidays/locale/es/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/es/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/es/LC_MESSAGES/MX.mo +0 -0
- holidays/locale/es/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/es/LC_MESSAGES/PE.mo +0 -0
- holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/es/LC_MESSAGES/SV.mo +0 -0
- holidays/locale/es/LC_MESSAGES/UY.mo +0 -0
- holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/et/LC_MESSAGES/EE.mo +0 -0
- holidays/locale/fa_AF/LC_MESSAGES/AF.mo +0 -0
- holidays/locale/fa_IR/LC_MESSAGES/IR.mo +0 -0
- holidays/locale/fi/LC_MESSAGES/AX.mo +0 -0
- holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/fo/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/BE.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/BL.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CD.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CG.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CV.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/DJ.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/FR.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/GF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/GP.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/MA.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/MC.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/MF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/ML.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/MQ.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/NC.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/PF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/PM.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/RE.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/TF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/WF.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/YT.mo +0 -0
- holidays/locale/fr_HT/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/he/LC_MESSAGES/IL.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/hr/LC_MESSAGES/HR.mo +0 -0
- holidays/locale/ht/LC_MESSAGES/HT.mo +0 -0
- holidays/locale/hu/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/hy/LC_MESSAGES/AM.mo +0 -0
- holidays/locale/id/LC_MESSAGES/ID.mo +0 -0
- holidays/locale/is/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/is/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/is/LC_MESSAGES/IS.mo +0 -0
- holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/it/LC_MESSAGES/SM.mo +0 -0
- holidays/locale/it/LC_MESSAGES/VA.mo +0 -0
- holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/kk/LC_MESSAGES/KZ.mo +0 -0
- holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/lb/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/lo/LC_MESSAGES/LA.mo +0 -0
- holidays/locale/lt/LC_MESSAGES/LT.mo +0 -0
- holidays/locale/lv/LC_MESSAGES/LV.mo +0 -0
- holidays/locale/mg/LC_MESSAGES/MG.mo +0 -0
- holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
- holidays/locale/ms/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/mt/LC_MESSAGES/MT.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/BE.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/BQ.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/SX.mo +0 -0
- holidays/locale/no/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/no/LC_MESSAGES/NO.mo +0 -0
- holidays/locale/pap_AW/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/pap_BQ/LC_MESSAGES/BQ.mo +0 -0
- holidays/locale/pap_CW/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/pl/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/ps_AF/LC_MESSAGES/AF.mo +0 -0
- holidays/locale/pt_AO/LC_MESSAGES/AO.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BVMF.mo +0 -0
- holidays/locale/pt_CV/LC_MESSAGES/CV.mo +0 -0
- holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/pt_MZ/LC_MESSAGES/MZ.mo +0 -0
- holidays/locale/pt_PT/LC_MESSAGES/PT.mo +0 -0
- holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/ro/LC_MESSAGES/MD.mo +0 -0
- holidays/locale/ro/LC_MESSAGES/RO.mo +0 -0
- holidays/locale/ru/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/ru/LC_MESSAGES/RU.mo +0 -0
- holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/sk/LC_MESSAGES/SK.mo +0 -0
- holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
- holidays/locale/sq/LC_MESSAGES/AL.mo +0 -0
- holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/sr/LC_MESSAGES/RS.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/FO.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/sv_FI/LC_MESSAGES/AX.mo +0 -0
- holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
- holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/AS.mo +0 -0
- holidays/locale/th/LC_MESSAGES/AU.mo +0 -0
- holidays/locale/th/LC_MESSAGES/AX.mo +0 -0
- holidays/locale/th/LC_MESSAGES/BL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/BN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/BY.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/th/LC_MESSAGES/FR.mo +0 -0
- holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/th/LC_MESSAGES/GF.mo +0 -0
- holidays/locale/th/LC_MESSAGES/GP.mo +0 -0
- holidays/locale/th/LC_MESSAGES/GU.mo +0 -0
- holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/ID.mo +0 -0
- holidays/locale/th/LC_MESSAGES/IL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/IM.mo +0 -0
- holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/th/LC_MESSAGES/LA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MF.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MP.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MQ.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/th/LC_MESSAGES/NC.mo +0 -0
- holidays/locale/th/LC_MESSAGES/NO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/PF.mo +0 -0
- holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/PM.mo +0 -0
- holidays/locale/th/LC_MESSAGES/PR.mo +0 -0
- holidays/locale/th/LC_MESSAGES/RE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/RU.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TF.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/th/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/UM.mo +0 -0
- holidays/locale/th/LC_MESSAGES/US.mo +0 -0
- holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/VI.mo +0 -0
- holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/WF.mo +0 -0
- holidays/locale/th/LC_MESSAGES/YT.mo +0 -0
- holidays/locale/tkl/LC_MESSAGES/TK.mo +0 -0
- holidays/locale/to/LC_MESSAGES/TO.mo +0 -0
- holidays/locale/tr/LC_MESSAGES/TR.mo +0 -0
- holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AT.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AW.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AX.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BG.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BVMF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CU.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CW.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CY.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/EC.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/EE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/FR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GP.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HN.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/HU.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ID.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/IL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/KZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/LI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/LT.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/LU.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/LV.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MD.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ME.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MQ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MX.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NC.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PM.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PT.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/RE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SK.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SM.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SV.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/TF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/TR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/UY.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/WF.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/YT.mo +0 -0
- holidays/locale/uz/LC_MESSAGES/UZ.mo +0 -0
- holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
- holidays/mixins/__init__.py +18 -0
- holidays/mixins/child_entity.py +43 -0
- holidays/observed_holiday_base.py +4 -1
- holidays/registry.py +32 -0
- holidays/version.py +1 -1
- {holidays-0.75.dist-info → holidays-0.77.dist-info}/METADATA +239 -15
- holidays-0.77.dist-info/RECORD +838 -0
- {holidays-0.75.dist-info → holidays-0.77.dist-info}/licenses/CONTRIBUTORS +4 -0
- holidays-0.75.dist-info/RECORD +0 -687
- /holidays/{mixins.py → mixins/preferred_discretionary_holidays.py} +0 -0
- {holidays-0.75.dist-info → holidays-0.77.dist-info}/WHEEL +0 -0
- {holidays-0.75.dist-info → holidays-0.77.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.75.dist-info → holidays-0.77.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,162 @@
|
|
|
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 import APR, MAY, JUN, JUL, SEP, NOV, DEC
|
|
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 CaymanIslands(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
|
|
25
|
+
"""Cayman Islands holidays.
|
|
26
|
+
|
|
27
|
+
References:
|
|
28
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_the_Cayman_Islands>
|
|
29
|
+
* [Public Holidays Law (2007 Revision)](https://web.archive.org/web/20250227060525/https://legislation.gov.ky/cms/images/LEGISLATION/PRINCIPAL/1964/1964-0140/PublicHolidaysAct_2007%20Revision_g.pdf)
|
|
30
|
+
* [Public Holidays Order, 2024](https://web.archive.org/web/20240518181823/https://legislation.gov.ky/cms/images/LEGISLATION/AMENDING/2024/2024-O004/PublicHolidaysOrder2024SL4of2024.pdf)
|
|
31
|
+
* [2006-2015](https://web.archive.org/web/20151014061601/http://www.gov.ky/portal/page?_pageid=1142,1592653&_dad=portal&_schema=PORTAL)
|
|
32
|
+
* [2016-2018](https://web.archive.org/web/20180330170202/http://www.gov.ky:80/portal/page/portal/cighome/cayman/islands/publicholidays)
|
|
33
|
+
* [2021](http://archive.today/2025.07.09-033240/https://www.gov.ky/news/press-release-details/public-holidays-for-2021)
|
|
34
|
+
* [2022](http://archive.today/2025.07.09-033515/https://www.gov.ky/news/press-release-details/public-holidays-2022)
|
|
35
|
+
* [2024](http://archive.today/2025.01.06-110234/https://www.gov.ky/calendar/public-holidays)
|
|
36
|
+
* [2025](http://archive.today/2025.07.09-033853/https://www.gov.ky/calendar/public-holidays)
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
country = "KY"
|
|
40
|
+
default_language = "en_GB"
|
|
41
|
+
# %s observed.
|
|
42
|
+
observed_label = tr("%s (observed)")
|
|
43
|
+
# Earliest year of holidays with an accessible online record.
|
|
44
|
+
start_year = 2006
|
|
45
|
+
supported_languages = ("en_GB", "en_US")
|
|
46
|
+
|
|
47
|
+
def __init__(self, *args, **kwargs):
|
|
48
|
+
ChristianHolidays.__init__(self)
|
|
49
|
+
InternationalHolidays.__init__(self)
|
|
50
|
+
StaticHolidays.__init__(self, cls=CaymanIslandsStaticHolidays)
|
|
51
|
+
kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
|
|
52
|
+
super().__init__(*args, **kwargs)
|
|
53
|
+
|
|
54
|
+
def _populate_public_holidays(self):
|
|
55
|
+
# New Year's Day.
|
|
56
|
+
self._add_observed(self._add_new_years_day(tr("New Year's Day")))
|
|
57
|
+
|
|
58
|
+
# National Heroes Day.
|
|
59
|
+
self._add_holiday_4th_mon_of_jan(tr("National Heroes Day"))
|
|
60
|
+
|
|
61
|
+
# Ash Wednesday.
|
|
62
|
+
self._add_ash_wednesday(tr("Ash Wednesday"))
|
|
63
|
+
|
|
64
|
+
# Good Friday.
|
|
65
|
+
self._add_good_friday(tr("Good Friday"))
|
|
66
|
+
|
|
67
|
+
# Easter Monday.
|
|
68
|
+
self._add_easter_monday(tr("Easter Monday"))
|
|
69
|
+
|
|
70
|
+
if self._year >= 2024:
|
|
71
|
+
# Emancipation Day.
|
|
72
|
+
self._add_holiday_1st_mon_of_may(tr("Emancipation Day"))
|
|
73
|
+
|
|
74
|
+
# Discovery Day.
|
|
75
|
+
self._add_holiday_3rd_mon_of_may(tr("Discovery Day"))
|
|
76
|
+
|
|
77
|
+
if self._year <= 2022:
|
|
78
|
+
queens_birthday_dates = {
|
|
79
|
+
2007: (JUN, 18),
|
|
80
|
+
2012: (JUN, 18),
|
|
81
|
+
2013: (JUN, 17),
|
|
82
|
+
2017: (JUN, 19),
|
|
83
|
+
2022: (JUN, 6),
|
|
84
|
+
}
|
|
85
|
+
# Queen's Birthday.
|
|
86
|
+
name = tr("Queen's Birthday")
|
|
87
|
+
if dt := queens_birthday_dates.get(self._year):
|
|
88
|
+
self._add_holiday(name, dt)
|
|
89
|
+
else:
|
|
90
|
+
self._add_holiday_2_days_past_2nd_sat_of_jun(name)
|
|
91
|
+
else:
|
|
92
|
+
# King's Birthday.
|
|
93
|
+
self._add_holiday_2_days_past_3rd_sat_of_jun(tr("King's Birthday"))
|
|
94
|
+
|
|
95
|
+
# Constitution Day.
|
|
96
|
+
self._add_holiday_1st_mon_of_jul(tr("Constitution Day"))
|
|
97
|
+
|
|
98
|
+
# Remembrance Day.
|
|
99
|
+
self._add_holiday_2nd_mon_of_nov(tr("Remembrance Day"))
|
|
100
|
+
|
|
101
|
+
self._add_observed(
|
|
102
|
+
# Christmas Day.
|
|
103
|
+
self._add_christmas_day(tr("Christmas Day")),
|
|
104
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE,
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
self._add_observed(
|
|
108
|
+
# Boxing Day.
|
|
109
|
+
self._add_christmas_day_two(tr("Boxing Day")),
|
|
110
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE,
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
class KY(CaymanIslands):
|
|
115
|
+
pass
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class CYM(CaymanIslands):
|
|
119
|
+
pass
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class CaymanIslandsStaticHolidays:
|
|
123
|
+
"""Cayman Islands special holidays.
|
|
124
|
+
|
|
125
|
+
References:
|
|
126
|
+
* [Public Holidays Order, 2009](https://archive.org/details/public-holidays-order-2009-sl-33-of-2009)
|
|
127
|
+
* [Public Holidays Order (No. 2), 2019](https://archive.org/details/public-holidays-no.-2-order-2019-sl-38-of-2019)
|
|
128
|
+
* [Public Holidays Order, 2025](https://archive.org/details/public-holidays-order-2025-sl-15-of-2025)
|
|
129
|
+
* [Referendum Day 2019](https://web.archive.org/web/20250711121821/https://www.facebook.com/ElectionsOffice/posts/reminder-the-referendum-vote-has-been-postponed-and-will-no-longer-take-place-th/2619995141431734/?_rdc=2&_rdr)
|
|
130
|
+
* [UK Royal Wedding](https://en.wikipedia.org/wiki/Wedding_of_Prince_William_and_Catherine_Middleton)
|
|
131
|
+
* [Queen Elizabeth II's Diamond Jubilee](https://web.archive.org/web/20210803202236/https://www.caymancompass.com/2012/06/06/queens-diamond-jubilee-feted/)
|
|
132
|
+
* [Queen Elizabeth II's Funeral](https://web.archive.org/web/20231226055510/https://www.caymancompass.com/2022/09/12/cayman-declares-public-holiday-for-queens-funeral/)
|
|
133
|
+
* [King Charles III's Coronation](https://web.archive.org/web/20250601214328/https://www.radiocayman.gov.ky/news/public-holidays-for-2023-unconfirmed)
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
# Referendum Day.
|
|
137
|
+
referendum_day_name = tr("Referendum Day")
|
|
138
|
+
# General Election Day.
|
|
139
|
+
general_election_day_name = tr("General Election Day")
|
|
140
|
+
special_public_holidays = {
|
|
141
|
+
2009: (
|
|
142
|
+
# 2009 Cayman Islands Constitution Day.
|
|
143
|
+
(NOV, 6, tr("2009 Cayman Islands Constitution Day")),
|
|
144
|
+
(MAY, 20, general_election_day_name),
|
|
145
|
+
),
|
|
146
|
+
# UK Royal Wedding.
|
|
147
|
+
2011: (APR, 29, tr("UK Royal Wedding")),
|
|
148
|
+
2012: (
|
|
149
|
+
# Queen Elizabeth II's Diamond Jubilee.
|
|
150
|
+
(JUN, 4, tr("Queen Elizabeth II's Diamond Jubilee")),
|
|
151
|
+
(JUL, 18, referendum_day_name),
|
|
152
|
+
),
|
|
153
|
+
2013: (MAY, 22, general_election_day_name),
|
|
154
|
+
2017: (MAY, 24, general_election_day_name),
|
|
155
|
+
2019: (DEC, 19, referendum_day_name),
|
|
156
|
+
2021: (APR, 14, general_election_day_name),
|
|
157
|
+
# Queen Elizabeth II's Funeral.
|
|
158
|
+
2022: (SEP, 19, tr("Queen Elizabeth II's Funeral")),
|
|
159
|
+
# King Charles III's Coronation.
|
|
160
|
+
2023: (MAY, 8, tr("Coronation of His Majesty King Charles III")),
|
|
161
|
+
2025: (APR, 30, general_election_day_name),
|
|
162
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
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 import _CustomIslamicHolidays
|
|
16
|
+
from holidays.calendars.gregorian import MAR, APR, MAY, JUN, JUL, AUG, SEP
|
|
17
|
+
from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
18
|
+
from holidays.holiday_base import HolidayBase
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class CentralAfricanRepublic(
|
|
22
|
+
HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
23
|
+
):
|
|
24
|
+
"""Central African Republic holidays.
|
|
25
|
+
|
|
26
|
+
References:
|
|
27
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_the_Central_African_Republic>
|
|
28
|
+
* [PUBLIC HOLIDAYS](https://web.archive.org/web/20171215122602/http://www.ais-asecna.org/pdf/gen/gen-2-1/04gen2-1-01.pdf)
|
|
29
|
+
* <https://web.archive.org/web/20250122135347/https://corbeaunews-centrafrique.org/lindependance-et-la-fete-nationale-deux-dates-distinctes-pour-la-republique-centrafricaine/>
|
|
30
|
+
* <https://web.archive.org/web/20250715092147/https://www.rfi.fr/fr/afrique/20160912-rca-fete-tabaski-est-desormais-jour-ferie>
|
|
31
|
+
* <https://web.archive.org/web/20250715093233/https://www.aa.com.tr/fr/culture-et-arts/lofficialisation-des-fêtes-musulmanes-en-rca-nouvelle-donne-pour-la-cohésion-sociale/45806>
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
country = "CF"
|
|
35
|
+
default_language = "fr"
|
|
36
|
+
supported_languages = ("en_US", "fr")
|
|
37
|
+
# %s (estimated).
|
|
38
|
+
estimated_label = tr("%s (estimé)")
|
|
39
|
+
# December 1, 1958: Autonomy within the French Community.
|
|
40
|
+
start_year = 1959
|
|
41
|
+
|
|
42
|
+
def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
|
|
43
|
+
"""
|
|
44
|
+
Args:
|
|
45
|
+
islamic_show_estimated:
|
|
46
|
+
Whether to add "estimated" label to Islamic holidays name
|
|
47
|
+
if holiday date is estimated.
|
|
48
|
+
"""
|
|
49
|
+
ChristianHolidays.__init__(self)
|
|
50
|
+
InternationalHolidays.__init__(self)
|
|
51
|
+
IslamicHolidays.__init__(
|
|
52
|
+
self, cls=CentralAfricanRepublicIslamicHolidays, show_estimated=islamic_show_estimated
|
|
53
|
+
)
|
|
54
|
+
super().__init__(*args, **kwargs)
|
|
55
|
+
|
|
56
|
+
def _populate_public_holidays(self):
|
|
57
|
+
# New Year's Day.
|
|
58
|
+
self._add_new_years_day(tr("Jour de l'an"))
|
|
59
|
+
|
|
60
|
+
if self._year >= 1960:
|
|
61
|
+
# Barthélemy Boganda Day.
|
|
62
|
+
self._add_holiday_mar_29(tr("Journée Barthélemy Boganda"))
|
|
63
|
+
|
|
64
|
+
# Easter Monday.
|
|
65
|
+
self._add_easter_monday(tr("Lundi de Pâques"))
|
|
66
|
+
|
|
67
|
+
# Labor Day.
|
|
68
|
+
self._add_labor_day(tr("Fête du Travail"))
|
|
69
|
+
|
|
70
|
+
# Ascension Day.
|
|
71
|
+
self._add_ascension_thursday(tr("Ascension"))
|
|
72
|
+
|
|
73
|
+
# Whit Monday.
|
|
74
|
+
self._add_whit_monday(tr("Lundi de Pentecôte"))
|
|
75
|
+
|
|
76
|
+
if self._year >= 2007:
|
|
77
|
+
# General Prayer Day.
|
|
78
|
+
self._add_holiday_jun_30(tr("Journée de prière générale"))
|
|
79
|
+
|
|
80
|
+
if self._year >= 1960:
|
|
81
|
+
# Independence Day.
|
|
82
|
+
self._add_holiday_aug_13(tr("Jour de l'indépendance"))
|
|
83
|
+
|
|
84
|
+
# Assumption Day.
|
|
85
|
+
self._add_assumption_of_mary_day(tr("Assomption"))
|
|
86
|
+
|
|
87
|
+
# All Saints' Day.
|
|
88
|
+
self._add_all_saints_day(tr("Toussaint"))
|
|
89
|
+
|
|
90
|
+
# National Day.
|
|
91
|
+
name = tr("Fête nationale")
|
|
92
|
+
if self._year in {1977, 1978}:
|
|
93
|
+
self._add_holiday_dec_4(name)
|
|
94
|
+
else:
|
|
95
|
+
self._add_holiday_dec_1(name)
|
|
96
|
+
|
|
97
|
+
# Christmas Day.
|
|
98
|
+
self._add_christmas_day(tr("Jour de Noël"))
|
|
99
|
+
|
|
100
|
+
if self._year >= 2015:
|
|
101
|
+
# Eid al-Fitr.
|
|
102
|
+
self._add_eid_al_fitr_day(tr("Aïd al-Fitr"))
|
|
103
|
+
|
|
104
|
+
# Eid al-Adha.
|
|
105
|
+
self._add_eid_al_adha_day(tr("Aïd al-Adha"))
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
class CF(CentralAfricanRepublic):
|
|
109
|
+
pass
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class CAF(CentralAfricanRepublic):
|
|
113
|
+
pass
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
class CentralAfricanRepublicIslamicHolidays(_CustomIslamicHolidays):
|
|
117
|
+
EID_AL_ADHA_DATES = {
|
|
118
|
+
2015: (SEP, 24),
|
|
119
|
+
2016: (SEP, 13),
|
|
120
|
+
2017: (SEP, 2),
|
|
121
|
+
2018: (AUG, 21),
|
|
122
|
+
2019: (AUG, 11),
|
|
123
|
+
2020: (JUL, 31),
|
|
124
|
+
2021: (JUL, 20),
|
|
125
|
+
2022: (JUL, 9),
|
|
126
|
+
2023: (JUN, 28),
|
|
127
|
+
2024: (JUN, 16),
|
|
128
|
+
2025: (JUN, 7),
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
EID_AL_FITR_DATES = {
|
|
132
|
+
2015: (JUL, 18),
|
|
133
|
+
2016: (JUL, 7),
|
|
134
|
+
2017: (JUN, 26),
|
|
135
|
+
2018: (JUN, 15),
|
|
136
|
+
2019: (JUN, 4),
|
|
137
|
+
2020: (MAY, 24),
|
|
138
|
+
2021: (MAY, 13),
|
|
139
|
+
2022: (MAY, 2),
|
|
140
|
+
2023: (APR, 21),
|
|
141
|
+
2024: (APR, 10),
|
|
142
|
+
2025: (MAR, 30),
|
|
143
|
+
}
|
|
@@ -0,0 +1,215 @@
|
|
|
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 import _CustomChineseHolidays, _CustomIslamicHolidays
|
|
16
|
+
from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
|
|
17
|
+
from holidays.groups import (
|
|
18
|
+
ChineseCalendarHolidays,
|
|
19
|
+
ChristianHolidays,
|
|
20
|
+
InternationalHolidays,
|
|
21
|
+
IslamicHolidays,
|
|
22
|
+
StaticHolidays,
|
|
23
|
+
)
|
|
24
|
+
from holidays.observed_holiday_base import (
|
|
25
|
+
ObservedHolidayBase,
|
|
26
|
+
MON_TO_NEXT_TUE,
|
|
27
|
+
SAT_SUN_TO_NEXT_MON,
|
|
28
|
+
SAT_SUN_TO_NEXT_MON_TUE,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class ChristmasIsland(
|
|
33
|
+
ObservedHolidayBase,
|
|
34
|
+
ChineseCalendarHolidays,
|
|
35
|
+
ChristianHolidays,
|
|
36
|
+
InternationalHolidays,
|
|
37
|
+
IslamicHolidays,
|
|
38
|
+
StaticHolidays,
|
|
39
|
+
):
|
|
40
|
+
"""Christmas Island holidays.
|
|
41
|
+
|
|
42
|
+
References:
|
|
43
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_Christmas_Island>
|
|
44
|
+
* [2007](https://web.archive.org/web/20250612072036/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2006/01-2006_Public_Holidays_2007_CI.doc)
|
|
45
|
+
* [2008](https://web.archive.org/web/20240224131231/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2007/05-2007_Public_Holidays_CI.pdf)
|
|
46
|
+
* [2008 Hari Raya Puasa](https://web.archive.org/web/20240331104649/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2008/03_2008_Observance_of_Hari_Raya_Puasa_2008.pdf)
|
|
47
|
+
* [2009](https://web.archive.org/web/20231211180406/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2008/02-2008_2009_public_holiday_CI_gazette.pdf)
|
|
48
|
+
* [2010](https://web.archive.org/web/20250612051603/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2009/2009-Gazette_5-2009-CI-Proclamation_of_2010_Special_Public_and_Bank_Holidays.pdf)
|
|
49
|
+
* [2013](https://web.archive.org/web/20240805060802/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2012/2012-Gazette_7-2012-CI-Proclamation_of_2013_Public_Holidays_for_Christmas_Island.pdf)
|
|
50
|
+
* [2014](https://web.archive.org/web/20240718175750/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2013/2013-Gazette_2-2013-Christmas_Island_2014_Public_Holidays.pdf)
|
|
51
|
+
* [2016 Hari Raya Puasa](https://web.archive.org/web/20240222235345/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2016/2016-Gazette_4-2016-CI-Proclamation_Special_Public_and_Bank_Holidays_2016.pdf)
|
|
52
|
+
* [2017](https://web.archive.org/web/20240226014639/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_gazette/files/2016/2016-Gazette_1-2016-CI-Proclamation_Special_Public_and_Bank_Holidays_2017.pdf)
|
|
53
|
+
* [2019](https://web.archive.org/web/20250517064053/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_bulletins/2018/files/A37-2018.pdf)
|
|
54
|
+
* [2020](https://web.archive.org/web/20240830230128/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_bulletins/2019/files/A52-2019.pdf)
|
|
55
|
+
* [2021](https://web.archive.org/web/20240713155232/https://www.infrastructure.gov.au/sites/default/files/migrated/territories/indian_ocean/iot_bulletins/2020/files/a40-ci-public-holidays-2021-proclamation.pdf)
|
|
56
|
+
* [2022](https://web.archive.org/web/20240626092850/https://www.infrastructure.gov.au/sites/default/files/documents/a32-2021-2022-public-holidays-christmas-island.pdf)
|
|
57
|
+
* [2023](https://web.archive.org/web/20250612044842/https://www.infrastructure.gov.au/sites/default/files/documents/A06-2022-notice-proclamation-special-public-bank-holidays-2023-ci.pdf)
|
|
58
|
+
* [2023 Hari Raya Haji](https://web.archive.org/web/20240804112114/https://www.infrastructure.gov.au/sites/default/files/documents/a06-2023_community_bulletin_-_change_of_public_holiday_date_for_hari_raya_haji_2023.pdf)
|
|
59
|
+
* [2024](https://web.archive.org/web/20240519034837/https://www.infrastructure.gov.au/sites/default/files/documents/a11-2023-2024-public-holidays-christmas-island.pdf)
|
|
60
|
+
* [2025](https://web.archive.org/web/20250610185153/https://www.infrastructure.gov.au/sites/default/files/documents/a20-2024-administrator-community-bulletin-ci-public-holidays-2025.pdf)
|
|
61
|
+
"""
|
|
62
|
+
|
|
63
|
+
country = "CX"
|
|
64
|
+
default_language = "en_CX"
|
|
65
|
+
# %s (observed).
|
|
66
|
+
observed_label = tr("%s (observed)")
|
|
67
|
+
# %s (estimated).
|
|
68
|
+
estimated_label = tr("%s (estimated)")
|
|
69
|
+
# %s (observed, estimated).
|
|
70
|
+
observed_estimated_label = tr("%s (observed, estimated)")
|
|
71
|
+
supported_languages = ("en_CX", "en_US")
|
|
72
|
+
start_year = 2007
|
|
73
|
+
|
|
74
|
+
def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
|
|
75
|
+
ChineseCalendarHolidays.__init__(self, cls=ChristmasIslandChineseHolidays)
|
|
76
|
+
ChristianHolidays.__init__(self)
|
|
77
|
+
InternationalHolidays.__init__(self)
|
|
78
|
+
IslamicHolidays.__init__(
|
|
79
|
+
self, cls=ChristmasIslandIslamicHolidays, show_estimated=islamic_show_estimated
|
|
80
|
+
)
|
|
81
|
+
StaticHolidays.__init__(self, ChristmasIslandStaticHolidays)
|
|
82
|
+
kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
|
|
83
|
+
super().__init__(*args, **kwargs)
|
|
84
|
+
|
|
85
|
+
def _populate_public_holidays(self):
|
|
86
|
+
# New Year's Day.
|
|
87
|
+
self._add_observed(self._add_new_years_day(tr("New Year's Day")))
|
|
88
|
+
|
|
89
|
+
# Australia Day.
|
|
90
|
+
self._add_observed(self._add_holiday_jan_26(tr("Australia Day")))
|
|
91
|
+
|
|
92
|
+
# Chinese New Year.
|
|
93
|
+
name = tr("Chinese New Year")
|
|
94
|
+
if self._year != 2020:
|
|
95
|
+
self._add_observed(self._add_chinese_new_years_day(name), rule=SAT_SUN_TO_NEXT_MON_TUE)
|
|
96
|
+
self._add_observed(
|
|
97
|
+
self._add_chinese_new_years_day_two(name), rule=SAT_SUN_TO_NEXT_MON_TUE
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# Labor Day.
|
|
101
|
+
name = tr("Labour Day")
|
|
102
|
+
if self._year in {2009, 2010, 2014, 2021, 2025}:
|
|
103
|
+
self._add_holiday_4th_mon_of_mar(name)
|
|
104
|
+
else:
|
|
105
|
+
self._add_holiday_3rd_mon_of_mar(name)
|
|
106
|
+
|
|
107
|
+
# Good Friday.
|
|
108
|
+
self._add_good_friday(tr("Good Friday"))
|
|
109
|
+
|
|
110
|
+
# ANZAC Day.
|
|
111
|
+
self._add_observed(self._add_anzac_day(tr("ANZAC Day")))
|
|
112
|
+
|
|
113
|
+
# Territory Day.
|
|
114
|
+
self._add_holiday_1st_mon_of_oct(tr("Territory Day"))
|
|
115
|
+
|
|
116
|
+
self._add_observed(
|
|
117
|
+
# Boxing Day.
|
|
118
|
+
self._add_christmas_day_two(tr("Boxing Day")),
|
|
119
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE + MON_TO_NEXT_TUE,
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
# Christmas Day.
|
|
123
|
+
self._add_observed(self._add_christmas_day(tr("Christmas Day")))
|
|
124
|
+
|
|
125
|
+
# Eid al-Fitr.
|
|
126
|
+
for dt in self._add_eid_al_fitr_day(tr("Hari Raya Puasa")):
|
|
127
|
+
self._add_observed(dt)
|
|
128
|
+
|
|
129
|
+
# Eid al-Adha.
|
|
130
|
+
for dt in self._add_eid_al_adha_day(tr("Hari Raya Haji")):
|
|
131
|
+
if self._year not in {2014, 2025}:
|
|
132
|
+
self._add_observed(dt)
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class ChristmasIslandChineseHolidays(_CustomChineseHolidays):
|
|
136
|
+
LUNAR_NEW_YEAR_DATES = {
|
|
137
|
+
2007: (FEB, 19),
|
|
138
|
+
2009: (JAN, 27),
|
|
139
|
+
2010: (FEB, 15),
|
|
140
|
+
2023: (JAN, 23),
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
class ChristmasIslandIslamicHolidays(_CustomIslamicHolidays):
|
|
145
|
+
EID_AL_ADHA_DATES = {
|
|
146
|
+
2007: (DEC, 20),
|
|
147
|
+
2008: (DEC, 8),
|
|
148
|
+
2009: (NOV, 30),
|
|
149
|
+
2010: (NOV, 16),
|
|
150
|
+
2013: (OCT, 15),
|
|
151
|
+
2014: (OCT, 5),
|
|
152
|
+
2016: (SEP, 13),
|
|
153
|
+
2017: (SEP, 1),
|
|
154
|
+
2019: (AUG, 11),
|
|
155
|
+
2020: (JUL, 31),
|
|
156
|
+
2021: (JUL, 20),
|
|
157
|
+
2022: (JUL, 9),
|
|
158
|
+
2023: (JUN, 28),
|
|
159
|
+
2024: (JUN, 17),
|
|
160
|
+
2025: (JUN, 7),
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
EID_AL_FITR_DATES = {
|
|
164
|
+
2007: (OCT, 15),
|
|
165
|
+
2008: (OCT, 1),
|
|
166
|
+
2009: (SEP, 21),
|
|
167
|
+
2010: (SEP, 10),
|
|
168
|
+
2013: (AUG, 8),
|
|
169
|
+
2014: (JUL, 28),
|
|
170
|
+
2016: (JUL, 6),
|
|
171
|
+
2017: (JUN, 24),
|
|
172
|
+
2019: (JUN, 5),
|
|
173
|
+
2020: (MAY, 24),
|
|
174
|
+
2021: (MAY, 13),
|
|
175
|
+
2022: (MAY, 2),
|
|
176
|
+
2023: (APR, 22),
|
|
177
|
+
2024: (APR, 10),
|
|
178
|
+
2025: (MAR, 31),
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
class CX(ChristmasIsland):
|
|
183
|
+
pass
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
class CXR(ChristmasIsland):
|
|
187
|
+
pass
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
class ChristmasIslandStaticHolidays:
|
|
191
|
+
"""Christmas Island special holidays.
|
|
192
|
+
|
|
193
|
+
References:
|
|
194
|
+
* [National Day of Mourning 2022](https://web.archive.org/web/20240712013008/https://www.infrastructure.gov.au/sites/default/files/documents/03-2022-proclamation-ci-day-of-mourning.pdf)
|
|
195
|
+
"""
|
|
196
|
+
|
|
197
|
+
# Chinese New Year.
|
|
198
|
+
chinese_new_year = tr("Chinese New Year")
|
|
199
|
+
|
|
200
|
+
# Eid al-Adha.
|
|
201
|
+
eid_al_adha = tr("Hari Raya Haji")
|
|
202
|
+
|
|
203
|
+
special_public_holidays = {
|
|
204
|
+
# National Day of Mourning for Queen Elizabeth II.
|
|
205
|
+
2022: (SEP, 22, tr("National Day of Mourning for Queen Elizabeth II")),
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
special_public_holidays_observed = {
|
|
209
|
+
2014: (OCT, 7, eid_al_adha),
|
|
210
|
+
2020: (
|
|
211
|
+
(JAN, 28, chinese_new_year),
|
|
212
|
+
(JAN, 29, chinese_new_year),
|
|
213
|
+
),
|
|
214
|
+
2025: (JUN, 6, eid_al_adha),
|
|
215
|
+
}
|
|
@@ -55,6 +55,7 @@ class CocosIslands(
|
|
|
55
55
|
* [2022](https://web.archive.org/web/20250429071240/https://www.infrastructure.gov.au/sites/default/files/documents/a33-2021-2022-public-holidays-cocos-keeling-islands.pdf)
|
|
56
56
|
* [2022 Eid al-Fitr](https://web.archive.org/web/20220810061351/https://www.infrastructure.gov.au/sites/default/files/documents/Gazette-Change-to-CKI-Hari-Raya-Puasa-2022.pdf)
|
|
57
57
|
* [2023](https://web.archive.org/web/20240711221156/https://www.infrastructure.gov.au/sites/default/files/documents/a19-2022-community-bulletin-2023-kings-birthday-cocos-keeling-islands.pdf)
|
|
58
|
+
* [2023 Eid al-Fitr](https://web.archive.org/web/20250627103728/https://www.infrastructure.gov.au/sites/default/files/documents/a02-2023-community-bulletin-change-of-public-holiday-date-for-hari-raya-puasa-2023-cocos-keeling-islands.pdf)
|
|
58
59
|
* [2023 Eid al-Adha](https://web.archive.org/web/20240804112114/https://www.infrastructure.gov.au/sites/default/files/documents/a06-2023_community_bulletin_-_change_of_public_holiday_date_for_hari_raya_haji_2023.pdf)
|
|
59
60
|
* [2024](https://web.archive.org/web/20250207203100/https://www.infrastructure.gov.au/sites/default/files/documents/a12-2023-2024-public-holidays-cocos-k-islands.pdf)
|
|
60
61
|
* [2025](https://web.archive.org/web/20250413083314/https://www.infrastructure.gov.au/sites/default/files/documents/a21-2024-administrator-community-bulletin-cki-public-holidays-2025.pdf)
|
|
@@ -100,8 +101,8 @@ class CocosIslands(
|
|
|
100
101
|
}
|
|
101
102
|
# Act of Self Determination Day.
|
|
102
103
|
name = tr("Act of Self Determination Day")
|
|
103
|
-
if self._year
|
|
104
|
-
self._add_holiday(name,
|
|
104
|
+
if dt := act_of_self_determination_dates.get(self._year):
|
|
105
|
+
self._add_holiday(name, dt)
|
|
105
106
|
else:
|
|
106
107
|
dt = self._add_holiday_apr_6(name)
|
|
107
108
|
if self._year != 2019:
|
|
@@ -114,7 +115,7 @@ class CocosIslands(
|
|
|
114
115
|
self._add_easter_monday(tr("Easter Monday"))
|
|
115
116
|
|
|
116
117
|
# ANZAC Day.
|
|
117
|
-
self._add_observed(self.
|
|
118
|
+
self._add_observed(self._add_anzac_day(tr("ANZAC Day")))
|
|
118
119
|
|
|
119
120
|
queens_kings_birthday_dates = {
|
|
120
121
|
2021: (JUN, 7),
|
|
@@ -129,8 +130,8 @@ class CocosIslands(
|
|
|
129
130
|
# Queen's Birthday.
|
|
130
131
|
else tr("Queen's Birthday")
|
|
131
132
|
)
|
|
132
|
-
if self._year
|
|
133
|
-
self._add_holiday(name,
|
|
133
|
+
if dt := queens_kings_birthday_dates.get(self._year):
|
|
134
|
+
self._add_holiday(name, dt)
|
|
134
135
|
else:
|
|
135
136
|
self._add_holiday_2nd_mon_of_jun(name)
|
|
136
137
|
|
|
@@ -197,7 +198,7 @@ class CocosIslandsIslamicHolidays(_CustomIslamicHolidays):
|
|
|
197
198
|
2020: (MAY, 24),
|
|
198
199
|
2021: (MAY, 13),
|
|
199
200
|
2022: (MAY, 3),
|
|
200
|
-
2023: (APR,
|
|
201
|
+
2023: (APR, 21),
|
|
201
202
|
2024: (APR, 10),
|
|
202
203
|
2025: (MAR, 31),
|
|
203
204
|
}
|