holidays 0.65__py3-none-any.whl → 0.67__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/persian.py +6 -0
- holidays/calendars/sinhala.py +414 -0
- holidays/countries/__init__.py +3 -0
- holidays/countries/australia.py +6 -6
- holidays/countries/cambodia.py +1 -1
- holidays/countries/chile.py +1 -1
- holidays/countries/cuba.py +1 -1
- holidays/countries/czechia.py +39 -30
- holidays/countries/denmark.py +1 -1
- holidays/countries/finland.py +19 -19
- holidays/countries/germany.py +11 -22
- holidays/countries/greenland.py +22 -19
- holidays/countries/guatemala.py +1 -1
- holidays/countries/haiti.py +3 -3
- holidays/countries/hongkong.py +124 -174
- holidays/countries/iceland.py +16 -8
- holidays/countries/iran.py +522 -43
- holidays/countries/isle_of_man.py +15 -11
- holidays/countries/israel.py +1 -1
- holidays/countries/kazakhstan.py +1 -1
- holidays/countries/laos.py +2 -2
- holidays/countries/netherlands.py +1 -1
- holidays/countries/nicaragua.py +1 -1
- holidays/countries/panama.py +69 -31
- holidays/countries/peru.py +1 -1
- holidays/countries/saint_lucia.py +88 -0
- holidays/countries/seychelles.py +4 -4
- holidays/countries/singapore.py +1 -1
- holidays/countries/slovakia.py +14 -7
- holidays/countries/slovenia.py +63 -19
- holidays/countries/spain.py +9 -9
- holidays/countries/sri_lanka.py +515 -0
- holidays/countries/sweden.py +6 -9
- holidays/countries/switzerland.py +1 -1
- holidays/countries/thailand.py +1 -1
- holidays/countries/tuvalu.py +174 -0
- holidays/countries/ukraine.py +1 -1
- holidays/countries/united_arab_emirates.py +95 -11
- holidays/countries/united_kingdom.py +72 -56
- holidays/countries/united_states.py +141 -10
- holidays/countries/uruguay.py +1 -1
- holidays/countries/vatican_city.py +134 -53
- holidays/financial/brasil_bolsa_balcao.py +1 -1
- holidays/groups/__init__.py +1 -0
- holidays/groups/christian.py +10 -0
- holidays/groups/persian.py +12 -0
- holidays/groups/sinhala.py +192 -0
- holidays/holiday_base.py +62 -13
- holidays/locale/ar/LC_MESSAGES/AE.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/cs/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/da/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/IM.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_LC/LC_MESSAGES/LC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AR.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/CO.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GT.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HT.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/KH.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/LC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NI.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/RU.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/UY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VA.mo +0 -0
- holidays/locale/es/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/{fa → fa_IR}/LC_MESSAGES/IR.mo +0 -0
- holidays/locale/fi/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/fy/LC_MESSAGES/NL.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/VA.mo +0 -0
- holidays/locale/kl/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/no/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/si_LK/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/sk/LC_MESSAGES/CZ.mo +0 -0
- holidays/locale/sl/LC_MESSAGES/SI.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/ta_LK/LC_MESSAGES/LK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/AE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/GB.mo +0 -0
- holidays/locale/th/LC_MESSAGES/HK.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/UA.mo +0 -0
- holidays/locale/th/LC_MESSAGES/VA.mo +0 -0
- holidays/locale/tvl/LC_MESSAGES/TV.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CL.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/CZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DK.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/GE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/IS.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MC.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MG.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/MZ.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/RO.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SI.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/UA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/UZ.mo +0 -0
- holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
- holidays/registry.py +3 -0
- holidays/version.py +1 -1
- {holidays-0.65.dist-info → holidays-0.67.dist-info}/AUTHORS +1 -0
- {holidays-0.65.dist-info → holidays-0.67.dist-info}/METADATA +46 -25
- holidays-0.67.dist-info/RECORD +560 -0
- holidays/locale/am/LC_MESSAGES/ET.po +0 -92
- holidays/locale/ar/LC_MESSAGES/AE.po +0 -76
- holidays/locale/ar/LC_MESSAGES/BH.po +0 -76
- holidays/locale/ar/LC_MESSAGES/CA.po +0 -161
- holidays/locale/ar/LC_MESSAGES/DJ.po +0 -85
- holidays/locale/ar/LC_MESSAGES/DZ.po +0 -80
- holidays/locale/ar/LC_MESSAGES/EG.po +0 -104
- holidays/locale/ar/LC_MESSAGES/ET.po +0 -93
- holidays/locale/ar/LC_MESSAGES/JO.po +0 -79
- holidays/locale/ar/LC_MESSAGES/KW.po +0 -75
- holidays/locale/ar/LC_MESSAGES/MA.po +0 -88
- holidays/locale/ar/LC_MESSAGES/SA.po +0 -67
- holidays/locale/ar/LC_MESSAGES/TN.po +0 -92
- holidays/locale/ar/LC_MESSAGES/UA.po +0 -113
- holidays/locale/az/LC_MESSAGES/AZ.po +0 -136
- holidays/locale/be/LC_MESSAGES/BY.po +0 -109
- holidays/locale/bg/LC_MESSAGES/BG.po +0 -87
- holidays/locale/bs/LC_MESSAGES/BA.po +0 -113
- holidays/locale/cnr/LC_MESSAGES/ME.po +0 -102
- holidays/locale/cs/LC_MESSAGES/CZ.po +0 -88
- holidays/locale/da/LC_MESSAGES/DK.po +0 -87
- holidays/locale/da/LC_MESSAGES/GL.po +0 -91
- holidays/locale/de/LC_MESSAGES/AT.po +0 -115
- holidays/locale/de/LC_MESSAGES/BE.po +0 -88
- holidays/locale/de/LC_MESSAGES/CH.po +0 -123
- holidays/locale/de/LC_MESSAGES/DE.po +0 -121
- holidays/locale/de/LC_MESSAGES/LI.po +0 -115
- holidays/locale/de/LC_MESSAGES/LU.po +0 -72
- holidays/locale/el/LC_MESSAGES/CY.po +0 -99
- holidays/locale/el/LC_MESSAGES/GR.po +0 -89
- holidays/locale/en_AU/LC_MESSAGES/AU.po +0 -177
- holidays/locale/en_CA/LC_MESSAGES/CA.po +0 -161
- holidays/locale/en_CY/LC_MESSAGES/CY.po +0 -100
- holidays/locale/en_PH/LC_MESSAGES/PH.po +0 -128
- holidays/locale/en_SC/LC_MESSAGES/SC.po +0 -117
- holidays/locale/en_SG/LC_MESSAGES/SG.po +0 -98
- holidays/locale/en_US/LC_MESSAGES/AE.po +0 -77
- holidays/locale/en_US/LC_MESSAGES/AF.po +0 -92
- holidays/locale/en_US/LC_MESSAGES/AL.po +0 -106
- holidays/locale/en_US/LC_MESSAGES/AM.po +0 -88
- holidays/locale/en_US/LC_MESSAGES/AO.po +0 -117
- holidays/locale/en_US/LC_MESSAGES/AR.po +0 -139
- holidays/locale/en_US/LC_MESSAGES/AT.po +0 -116
- holidays/locale/en_US/LC_MESSAGES/AU.po +0 -177
- holidays/locale/en_US/LC_MESSAGES/AW.po +0 -84
- holidays/locale/en_US/LC_MESSAGES/AZ.po +0 -136
- holidays/locale/en_US/LC_MESSAGES/BA.po +0 -113
- holidays/locale/en_US/LC_MESSAGES/BE.po +0 -88
- holidays/locale/en_US/LC_MESSAGES/BG.po +0 -87
- holidays/locale/en_US/LC_MESSAGES/BH.po +0 -77
- holidays/locale/en_US/LC_MESSAGES/BN.po +0 -109
- holidays/locale/en_US/LC_MESSAGES/BO.po +0 -117
- holidays/locale/en_US/LC_MESSAGES/BR.po +0 -263
- holidays/locale/en_US/LC_MESSAGES/BVMF.po +0 -79
- holidays/locale/en_US/LC_MESSAGES/BY.po +0 -114
- holidays/locale/en_US/LC_MESSAGES/CA.po +0 -161
- holidays/locale/en_US/LC_MESSAGES/CG.po +0 -67
- holidays/locale/en_US/LC_MESSAGES/CH.po +0 -124
- holidays/locale/en_US/LC_MESSAGES/CL.po +0 -136
- holidays/locale/en_US/LC_MESSAGES/CN.po +0 -102
- holidays/locale/en_US/LC_MESSAGES/CO.po +0 -105
- holidays/locale/en_US/LC_MESSAGES/CR.po +0 -85
- holidays/locale/en_US/LC_MESSAGES/CU.po +0 -69
- holidays/locale/en_US/LC_MESSAGES/CW.po +0 -84
- holidays/locale/en_US/LC_MESSAGES/CY.po +0 -100
- holidays/locale/en_US/LC_MESSAGES/CZ.po +0 -88
- holidays/locale/en_US/LC_MESSAGES/DE.po +0 -126
- holidays/locale/en_US/LC_MESSAGES/DJ.po +0 -84
- holidays/locale/en_US/LC_MESSAGES/DK.po +0 -88
- holidays/locale/en_US/LC_MESSAGES/DO.po +0 -76
- holidays/locale/en_US/LC_MESSAGES/DZ.po +0 -81
- holidays/locale/en_US/LC_MESSAGES/EC.po +0 -73
- holidays/locale/en_US/LC_MESSAGES/EE.po +0 -76
- holidays/locale/en_US/LC_MESSAGES/EG.po +0 -105
- holidays/locale/en_US/LC_MESSAGES/ES.po +0 -225
- holidays/locale/en_US/LC_MESSAGES/ET.po +0 -93
- holidays/locale/en_US/LC_MESSAGES/FI.po +0 -164
- holidays/locale/en_US/LC_MESSAGES/FR.po +0 -116
- holidays/locale/en_US/LC_MESSAGES/GE.po +0 -96
- holidays/locale/en_US/LC_MESSAGES/GL.po +0 -92
- holidays/locale/en_US/LC_MESSAGES/GR.po +0 -89
- holidays/locale/en_US/LC_MESSAGES/GT.po +0 -72
- holidays/locale/en_US/LC_MESSAGES/HN.po +0 -76
- holidays/locale/en_US/LC_MESSAGES/HR.po +0 -94
- holidays/locale/en_US/LC_MESSAGES/HT.po +0 -127
- holidays/locale/en_US/LC_MESSAGES/HU.po +0 -101
- holidays/locale/en_US/LC_MESSAGES/ID.po +0 -195
- holidays/locale/en_US/LC_MESSAGES/IL.po +0 -105
- holidays/locale/en_US/LC_MESSAGES/IR.po +0 -125
- holidays/locale/en_US/LC_MESSAGES/IS.po +0 -92
- holidays/locale/en_US/LC_MESSAGES/JO.po +0 -80
- holidays/locale/en_US/LC_MESSAGES/JP.po +0 -128
- holidays/locale/en_US/LC_MESSAGES/KH.po +0 -132
- holidays/locale/en_US/LC_MESSAGES/KR.po +0 -219
- holidays/locale/en_US/LC_MESSAGES/KW.po +0 -76
- holidays/locale/en_US/LC_MESSAGES/KZ.po +0 -103
- holidays/locale/en_US/LC_MESSAGES/LA.po +0 -160
- holidays/locale/en_US/LC_MESSAGES/LI.po +0 -116
- holidays/locale/en_US/LC_MESSAGES/LT.po +0 -94
- holidays/locale/en_US/LC_MESSAGES/LU.po +0 -72
- holidays/locale/en_US/LC_MESSAGES/LV.po +0 -106
- holidays/locale/en_US/LC_MESSAGES/MA.po +0 -89
- holidays/locale/en_US/LC_MESSAGES/MC.po +0 -85
- holidays/locale/en_US/LC_MESSAGES/MD.po +0 -84
- holidays/locale/en_US/LC_MESSAGES/ME.po +0 -102
- holidays/locale/en_US/LC_MESSAGES/MG.po +0 -92
- holidays/locale/en_US/LC_MESSAGES/MT.po +0 -83
- holidays/locale/en_US/LC_MESSAGES/MX.po +0 -60
- holidays/locale/en_US/LC_MESSAGES/MY.po +0 -250
- holidays/locale/en_US/LC_MESSAGES/MZ.po +0 -69
- holidays/locale/en_US/LC_MESSAGES/NI.po +0 -76
- holidays/locale/en_US/LC_MESSAGES/NL.po +0 -76
- holidays/locale/en_US/LC_MESSAGES/NO.po +0 -80
- holidays/locale/en_US/LC_MESSAGES/PE.po +0 -88
- holidays/locale/en_US/LC_MESSAGES/PH.po +0 -128
- holidays/locale/en_US/LC_MESSAGES/PL.po +0 -115
- holidays/locale/en_US/LC_MESSAGES/PT.po +0 -184
- holidays/locale/en_US/LC_MESSAGES/PY.po +0 -88
- holidays/locale/en_US/LC_MESSAGES/RO.po +0 -76
- holidays/locale/en_US/LC_MESSAGES/RS.po +0 -69
- holidays/locale/en_US/LC_MESSAGES/RU.po +0 -93
- holidays/locale/en_US/LC_MESSAGES/SA.po +0 -67
- holidays/locale/en_US/LC_MESSAGES/SC.po +0 -117
- holidays/locale/en_US/LC_MESSAGES/SE.po +0 -104
- holidays/locale/en_US/LC_MESSAGES/SG.po +0 -98
- holidays/locale/en_US/LC_MESSAGES/SI.po +0 -76
- holidays/locale/en_US/LC_MESSAGES/SK.po +0 -97
- holidays/locale/en_US/LC_MESSAGES/SV.po +0 -75
- holidays/locale/en_US/LC_MESSAGES/TH.po +0 -354
- holidays/locale/en_US/LC_MESSAGES/TL.po +0 -169
- holidays/locale/en_US/LC_MESSAGES/TN.po +0 -93
- holidays/locale/en_US/LC_MESSAGES/TO.po +0 -91
- holidays/locale/en_US/LC_MESSAGES/TR.po +0 -89
- holidays/locale/en_US/LC_MESSAGES/TW.po +0 -78
- holidays/locale/en_US/LC_MESSAGES/TZ.po +0 -119
- holidays/locale/en_US/LC_MESSAGES/UA.po +0 -113
- holidays/locale/en_US/LC_MESSAGES/UY.po +0 -120
- holidays/locale/en_US/LC_MESSAGES/UZ.po +0 -96
- holidays/locale/en_US/LC_MESSAGES/VE.po +0 -92
- holidays/locale/en_US/LC_MESSAGES/VN.po +0 -93
- holidays/locale/es/LC_MESSAGES/AR.po +0 -135
- holidays/locale/es/LC_MESSAGES/BO.po +0 -117
- holidays/locale/es/LC_MESSAGES/CL.po +0 -136
- holidays/locale/es/LC_MESSAGES/CO.po +0 -105
- holidays/locale/es/LC_MESSAGES/CR.po +0 -85
- holidays/locale/es/LC_MESSAGES/CU.po +0 -69
- holidays/locale/es/LC_MESSAGES/DO.po +0 -76
- holidays/locale/es/LC_MESSAGES/EC.po +0 -73
- holidays/locale/es/LC_MESSAGES/ES.po +0 -225
- holidays/locale/es/LC_MESSAGES/GT.po +0 -72
- holidays/locale/es/LC_MESSAGES/HN.po +0 -76
- holidays/locale/es/LC_MESSAGES/HT.po +0 -127
- holidays/locale/es/LC_MESSAGES/MX.po +0 -60
- holidays/locale/es/LC_MESSAGES/NI.po +0 -76
- holidays/locale/es/LC_MESSAGES/PE.po +0 -88
- holidays/locale/es/LC_MESSAGES/PY.po +0 -88
- holidays/locale/es/LC_MESSAGES/SV.po +0 -75
- holidays/locale/es/LC_MESSAGES/UY.po +0 -120
- holidays/locale/es/LC_MESSAGES/VE.po +0 -92
- holidays/locale/et/LC_MESSAGES/EE.po +0 -76
- holidays/locale/fa/LC_MESSAGES/IR.po +0 -125
- holidays/locale/fa_AF/LC_MESSAGES/AF.po +0 -92
- holidays/locale/fi/LC_MESSAGES/FI.po +0 -164
- holidays/locale/fil/LC_MESSAGES/PH.po +0 -129
- holidays/locale/fr/LC_MESSAGES/BE.po +0 -88
- holidays/locale/fr/LC_MESSAGES/CA.po +0 -161
- holidays/locale/fr/LC_MESSAGES/CG.po +0 -67
- holidays/locale/fr/LC_MESSAGES/CH.po +0 -123
- holidays/locale/fr/LC_MESSAGES/DJ.po +0 -84
- holidays/locale/fr/LC_MESSAGES/DZ.po +0 -81
- holidays/locale/fr/LC_MESSAGES/FR.po +0 -116
- holidays/locale/fr/LC_MESSAGES/LU.po +0 -72
- holidays/locale/fr/LC_MESSAGES/MA.po +0 -89
- holidays/locale/fr/LC_MESSAGES/MC.po +0 -85
- holidays/locale/fr_HT/LC_MESSAGES/HT.po +0 -127
- holidays/locale/he/LC_MESSAGES/IL.po +0 -104
- holidays/locale/hr/LC_MESSAGES/HR.po +0 -94
- holidays/locale/ht/LC_MESSAGES/HT.po +0 -127
- holidays/locale/hu/LC_MESSAGES/HU.po +0 -101
- holidays/locale/hy/LC_MESSAGES/AM.po +0 -87
- holidays/locale/id/LC_MESSAGES/ID.po +0 -195
- holidays/locale/is/LC_MESSAGES/IS.po +0 -92
- holidays/locale/it/LC_MESSAGES/CH.po +0 -123
- holidays/locale/ja/LC_MESSAGES/JP.po +0 -128
- holidays/locale/ka/LC_MESSAGES/GE.po +0 -96
- holidays/locale/kk/LC_MESSAGES/KZ.po +0 -103
- holidays/locale/kl/LC_MESSAGES/GL.po +0 -91
- holidays/locale/km/LC_MESSAGES/KH.po +0 -132
- holidays/locale/ko/LC_MESSAGES/KR.po +0 -219
- holidays/locale/lb/LC_MESSAGES/LU.po +0 -72
- holidays/locale/lo/LC_MESSAGES/LA.po +0 -160
- holidays/locale/lt/LC_MESSAGES/LT.po +0 -94
- holidays/locale/lv/LC_MESSAGES/LV.po +0 -104
- holidays/locale/mg/LC_MESSAGES/MG.po +0 -92
- holidays/locale/ms/LC_MESSAGES/BN.po +0 -107
- holidays/locale/ms_MY/LC_MESSAGES/MY.po +0 -250
- holidays/locale/mt/LC_MESSAGES/MT.po +0 -83
- holidays/locale/nl/LC_MESSAGES/AW.po +0 -84
- holidays/locale/nl/LC_MESSAGES/BE.po +0 -88
- holidays/locale/nl/LC_MESSAGES/CW.po +0 -84
- holidays/locale/nl/LC_MESSAGES/NL.po +0 -76
- holidays/locale/no/LC_MESSAGES/NO.po +0 -80
- holidays/locale/pap_AW/LC_MESSAGES/AW.po +0 -84
- holidays/locale/pap_CW/LC_MESSAGES/CW.po +0 -84
- holidays/locale/pl/LC_MESSAGES/PL.po +0 -115
- holidays/locale/ps_AF/LC_MESSAGES/AF.po +0 -92
- holidays/locale/pt_AO/LC_MESSAGES/AO.po +0 -117
- holidays/locale/pt_BR/LC_MESSAGES/BR.po +0 -263
- holidays/locale/pt_BR/LC_MESSAGES/BVMF.po +0 -79
- holidays/locale/pt_MZ/LC_MESSAGES/MZ.po +0 -69
- holidays/locale/pt_PT/LC_MESSAGES/PT.po +0 -184
- holidays/locale/pt_TL/LC_MESSAGES/TL.po +0 -167
- holidays/locale/ro/LC_MESSAGES/MD.po +0 -82
- holidays/locale/ro/LC_MESSAGES/RO.po +0 -76
- holidays/locale/ru/LC_MESSAGES/BY.po +0 -111
- holidays/locale/ru/LC_MESSAGES/RU.po +0 -91
- holidays/locale/sk/LC_MESSAGES/CZ.po +0 -88
- holidays/locale/sk/LC_MESSAGES/SK.po +0 -96
- holidays/locale/sl/LC_MESSAGES/SI.po +0 -76
- holidays/locale/sq/LC_MESSAGES/AL.po +0 -106
- holidays/locale/sr/LC_MESSAGES/BA.po +0 -113
- holidays/locale/sr/LC_MESSAGES/RS.po +0 -68
- holidays/locale/sv/LC_MESSAGES/SE.po +0 -104
- holidays/locale/sv_FI/LC_MESSAGES/FI.po +0 -164
- holidays/locale/sw/LC_MESSAGES/TZ.po +0 -119
- holidays/locale/tet/LC_MESSAGES/TL.po +0 -167
- holidays/locale/th/LC_MESSAGES/AU.po +0 -177
- holidays/locale/th/LC_MESSAGES/BN.po +0 -109
- holidays/locale/th/LC_MESSAGES/BY.po +0 -109
- holidays/locale/th/LC_MESSAGES/CA.po +0 -161
- holidays/locale/th/LC_MESSAGES/CN.po +0 -101
- holidays/locale/th/LC_MESSAGES/DE.po +0 -126
- holidays/locale/th/LC_MESSAGES/ID.po +0 -195
- holidays/locale/th/LC_MESSAGES/JP.po +0 -128
- holidays/locale/th/LC_MESSAGES/KH.po +0 -138
- holidays/locale/th/LC_MESSAGES/KR.po +0 -219
- holidays/locale/th/LC_MESSAGES/LA.po +0 -160
- holidays/locale/th/LC_MESSAGES/MY.po +0 -250
- holidays/locale/th/LC_MESSAGES/NO.po +0 -80
- holidays/locale/th/LC_MESSAGES/PH.po +0 -128
- holidays/locale/th/LC_MESSAGES/RU.po +0 -90
- holidays/locale/th/LC_MESSAGES/SE.po +0 -104
- holidays/locale/th/LC_MESSAGES/SG.po +0 -98
- holidays/locale/th/LC_MESSAGES/TH.po +0 -352
- holidays/locale/th/LC_MESSAGES/TW.po +0 -78
- holidays/locale/th/LC_MESSAGES/UA.po +0 -114
- holidays/locale/th/LC_MESSAGES/VN.po +0 -93
- holidays/locale/to/LC_MESSAGES/TO.po +0 -91
- holidays/locale/tr/LC_MESSAGES/TR.po +0 -90
- holidays/locale/uk/LC_MESSAGES/AL.po +0 -106
- holidays/locale/uk/LC_MESSAGES/AO.po +0 -117
- holidays/locale/uk/LC_MESSAGES/AR.po +0 -138
- holidays/locale/uk/LC_MESSAGES/AT.po +0 -116
- holidays/locale/uk/LC_MESSAGES/AW.po +0 -84
- holidays/locale/uk/LC_MESSAGES/AZ.po +0 -136
- holidays/locale/uk/LC_MESSAGES/BA.po +0 -114
- holidays/locale/uk/LC_MESSAGES/BE.po +0 -88
- holidays/locale/uk/LC_MESSAGES/BG.po +0 -89
- holidays/locale/uk/LC_MESSAGES/BO.po +0 -117
- holidays/locale/uk/LC_MESSAGES/BR.po +0 -263
- holidays/locale/uk/LC_MESSAGES/BVMF.po +0 -79
- holidays/locale/uk/LC_MESSAGES/CH.po +0 -123
- holidays/locale/uk/LC_MESSAGES/CL.po +0 -136
- holidays/locale/uk/LC_MESSAGES/CO.po +0 -105
- holidays/locale/uk/LC_MESSAGES/CR.po +0 -85
- holidays/locale/uk/LC_MESSAGES/CU.po +0 -69
- holidays/locale/uk/LC_MESSAGES/CW.po +0 -84
- holidays/locale/uk/LC_MESSAGES/CY.po +0 -100
- holidays/locale/uk/LC_MESSAGES/CZ.po +0 -88
- holidays/locale/uk/LC_MESSAGES/DE.po +0 -126
- holidays/locale/uk/LC_MESSAGES/DK.po +0 -88
- holidays/locale/uk/LC_MESSAGES/DO.po +0 -76
- holidays/locale/uk/LC_MESSAGES/EC.po +0 -73
- holidays/locale/uk/LC_MESSAGES/EE.po +0 -76
- holidays/locale/uk/LC_MESSAGES/ES.po +0 -225
- holidays/locale/uk/LC_MESSAGES/FI.po +0 -164
- holidays/locale/uk/LC_MESSAGES/FR.po +0 -116
- holidays/locale/uk/LC_MESSAGES/GE.po +0 -96
- holidays/locale/uk/LC_MESSAGES/GR.po +0 -89
- holidays/locale/uk/LC_MESSAGES/HN.po +0 -76
- holidays/locale/uk/LC_MESSAGES/HR.po +0 -94
- holidays/locale/uk/LC_MESSAGES/HU.po +0 -101
- holidays/locale/uk/LC_MESSAGES/ID.po +0 -195
- holidays/locale/uk/LC_MESSAGES/IL.po +0 -104
- holidays/locale/uk/LC_MESSAGES/IS.po +0 -92
- holidays/locale/uk/LC_MESSAGES/KZ.po +0 -103
- holidays/locale/uk/LC_MESSAGES/LI.po +0 -116
- holidays/locale/uk/LC_MESSAGES/LT.po +0 -94
- holidays/locale/uk/LC_MESSAGES/LU.po +0 -72
- holidays/locale/uk/LC_MESSAGES/LV.po +0 -105
- holidays/locale/uk/LC_MESSAGES/MC.po +0 -85
- holidays/locale/uk/LC_MESSAGES/MD.po +0 -84
- holidays/locale/uk/LC_MESSAGES/ME.po +0 -102
- holidays/locale/uk/LC_MESSAGES/MG.po +0 -92
- holidays/locale/uk/LC_MESSAGES/MX.po +0 -60
- holidays/locale/uk/LC_MESSAGES/MZ.po +0 -69
- holidays/locale/uk/LC_MESSAGES/NI.po +0 -76
- holidays/locale/uk/LC_MESSAGES/NL.po +0 -76
- holidays/locale/uk/LC_MESSAGES/NO.po +0 -80
- holidays/locale/uk/LC_MESSAGES/PE.po +0 -88
- holidays/locale/uk/LC_MESSAGES/PL.po +0 -115
- holidays/locale/uk/LC_MESSAGES/PT.po +0 -184
- holidays/locale/uk/LC_MESSAGES/PY.po +0 -88
- holidays/locale/uk/LC_MESSAGES/RO.po +0 -76
- holidays/locale/uk/LC_MESSAGES/SE.po +0 -104
- holidays/locale/uk/LC_MESSAGES/SI.po +0 -76
- holidays/locale/uk/LC_MESSAGES/SK.po +0 -96
- holidays/locale/uk/LC_MESSAGES/SV.po +0 -75
- holidays/locale/uk/LC_MESSAGES/TR.po +0 -89
- holidays/locale/uk/LC_MESSAGES/UA.po +0 -112
- holidays/locale/uk/LC_MESSAGES/UY.po +0 -120
- holidays/locale/uk/LC_MESSAGES/UZ.po +0 -96
- holidays/locale/uk/LC_MESSAGES/VE.po +0 -92
- holidays/locale/uz/LC_MESSAGES/UZ.po +0 -96
- holidays/locale/vi/LC_MESSAGES/VN.po +0 -93
- holidays/locale/zh_CN/LC_MESSAGES/CN.po +0 -100
- holidays/locale/zh_CN/LC_MESSAGES/TW.po +0 -78
- holidays/locale/zh_TW/LC_MESSAGES/CN.po +0 -100
- holidays/locale/zh_TW/LC_MESSAGES/TW.po +0 -78
- holidays-0.65.dist-info/RECORD +0 -841
- {holidays-0.65.dist-info → holidays-0.67.dist-info}/LICENSE +0 -0
- {holidays-0.65.dist-info → holidays-0.67.dist-info}/WHEEL +0 -0
- {holidays-0.65.dist-info → holidays-0.67.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,174 @@
|
|
|
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 AUTHORS 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.groups import ChristianHolidays, InternationalHolidays
|
|
16
|
+
from holidays.observed_holiday_base import (
|
|
17
|
+
ObservedHolidayBase,
|
|
18
|
+
SAT_SUN_TO_NEXT_MON,
|
|
19
|
+
SAT_SUN_TO_NEXT_MON_TUE,
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Tuvalu(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
24
|
+
"""
|
|
25
|
+
References:
|
|
26
|
+
- `Public holidays in Tuvalu <https://en.wikipedia.org/wiki/Public_holidays_in_Tuvalu>`_
|
|
27
|
+
- `Today's and Upcoming Holidays in Tuvalu <https://www.timeanddate.com/holidays/tuvalu/>`_
|
|
28
|
+
- `Public Holidays (Amendment) Act 1990 <https://www.paclii.org/cgi-bin/sinodisp/tv/legis/num_act/pha1990243/pha1990243.html>`_
|
|
29
|
+
- `Public Holidays Act 1 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/PRINCIPAL/1937/1937-0005/1937-0005_1.pdf>`_
|
|
30
|
+
- `Public Holidays (Amendment) Act 2018 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/AMENDING/Public%20Holidays%20(Amendment)%20Act/Public%20Holidays%20(Amendment)%20Act%202018/Public%20Holidays%20(Amendment)%20Act%202018.pdf>`_
|
|
31
|
+
- `Public Holidays (Amendment) Act 2020 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/AMENDING/2020/2020-0013/2020-0013.pdf>`_
|
|
32
|
+
- `Public Holidays Act 2 <https://tuvalu-legislation.tv/cms/images/LEGISLATION/PRINCIPAL/1937/1937-0005/1937-0005_2.pdf>`_
|
|
33
|
+
- `Codes for the representation of names of countries and their subdivisions <https://www.iso.org/obp/ui/#iso:code:3166:TV>`_
|
|
34
|
+
- `TUVALU-NEWS.TV <https://web.archive.org/web/20140915180104/http://www.tuvalu-news.tv/archives/2007/01/island_special_public_holidays.html>`_
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
country = "TV"
|
|
38
|
+
default_language = "tvl"
|
|
39
|
+
# %s (observed).
|
|
40
|
+
observed_label = tr("%s (fakamatakuga)")
|
|
41
|
+
supported_languages = ("en_GB", "en_US", "tvl")
|
|
42
|
+
subdivisions = (
|
|
43
|
+
"FUN", # Funafuti.
|
|
44
|
+
"NIT", # Niutao.
|
|
45
|
+
"NKF", # Nukufetau.
|
|
46
|
+
"NKL", # Nukulaelae.
|
|
47
|
+
"NMA", # Nanumea.
|
|
48
|
+
"NMG", # Nanumaga.
|
|
49
|
+
"NUI", # Nui.
|
|
50
|
+
"VAI", # Vaitupu.
|
|
51
|
+
)
|
|
52
|
+
subdivisions_aliases = {
|
|
53
|
+
# Town/Island Councils.
|
|
54
|
+
"Funafuti": "FUN",
|
|
55
|
+
"Niutao": "NIT",
|
|
56
|
+
"Nukufetau": "NKF",
|
|
57
|
+
"Nukulaelae": "NKL",
|
|
58
|
+
"Nanumea": "NMA",
|
|
59
|
+
"Nanumaga": "NMG",
|
|
60
|
+
"Nanumanga": "NMG", # Ex-ISO code alias
|
|
61
|
+
"Nui": "NUI",
|
|
62
|
+
"Vaitupu": "VAI",
|
|
63
|
+
}
|
|
64
|
+
# Tuvalu became fully independent of the United Kingdom on October 1, 1978
|
|
65
|
+
# Tuvalu's PUBLIC HOLIDAYS (AMENDMENT) ACT 1990 (Act 2 of 1990)
|
|
66
|
+
# It was first proclaimed on FEB 7th, 1990
|
|
67
|
+
start_year = 1990
|
|
68
|
+
|
|
69
|
+
def __init__(self, *args, **kwargs):
|
|
70
|
+
ChristianHolidays.__init__(self)
|
|
71
|
+
InternationalHolidays.__init__(self)
|
|
72
|
+
kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
|
|
73
|
+
super().__init__(*args, **kwargs)
|
|
74
|
+
|
|
75
|
+
def _populate_public_holidays(self):
|
|
76
|
+
# New Year's Day.
|
|
77
|
+
self._add_observed(self._add_new_years_day(tr("Tausaga Fou")))
|
|
78
|
+
|
|
79
|
+
if self._year <= 2020:
|
|
80
|
+
# Commonwealth Day.
|
|
81
|
+
self._add_holiday_2nd_mon_of_mar(tr("Aso Atefenua"))
|
|
82
|
+
|
|
83
|
+
# Good Friday.
|
|
84
|
+
self._add_good_friday(tr("Aso toe tu"))
|
|
85
|
+
|
|
86
|
+
# Easter Monday.
|
|
87
|
+
self._add_easter_monday(tr("Toe Tu aso gafua"))
|
|
88
|
+
|
|
89
|
+
# Gospel Day.
|
|
90
|
+
self._add_holiday_1_day_past_2nd_sun_of_may(tr("Te Aso o te Tala Lei"))
|
|
91
|
+
|
|
92
|
+
self._add_holiday_2nd_sat_of_jun(
|
|
93
|
+
# King's Birthday.
|
|
94
|
+
tr("Asofanau Tupu")
|
|
95
|
+
if self._year >= 2023
|
|
96
|
+
# Queen's Birthday.
|
|
97
|
+
else tr("Asofanau Fafine")
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# National Children's Day.
|
|
101
|
+
name = tr("Aso Tamaliki")
|
|
102
|
+
if self._year >= 2019:
|
|
103
|
+
# National Youth Day.
|
|
104
|
+
self._add_holiday_1st_mon_of_aug(tr("Aso tupulaga"))
|
|
105
|
+
|
|
106
|
+
# National Children's Day.
|
|
107
|
+
self._add_holiday_1_day_past_2nd_sun_of_oct(name)
|
|
108
|
+
else:
|
|
109
|
+
# National Children's Day.
|
|
110
|
+
self._add_holiday_1st_mon_of_aug(name)
|
|
111
|
+
|
|
112
|
+
# Tuvalu Day.
|
|
113
|
+
name = tr("Tutokotasi")
|
|
114
|
+
self._add_observed(self._add_holiday_oct_1(name), rule=SAT_SUN_TO_NEXT_MON_TUE)
|
|
115
|
+
self._add_observed(self._add_holiday_oct_2(name), rule=SAT_SUN_TO_NEXT_MON_TUE)
|
|
116
|
+
|
|
117
|
+
# https://en.wikipedia.org/wiki/King%27s_Official_Birthday#Tuvalu
|
|
118
|
+
if self._year <= 2022:
|
|
119
|
+
# Heir to the Throne's Birthday.
|
|
120
|
+
self._add_holiday_2nd_mon_of_nov(tr("Aso fanau o te sui ote Tupu"))
|
|
121
|
+
|
|
122
|
+
# Christmas Day.
|
|
123
|
+
self._add_observed(self._add_christmas_day(tr("Kilisimasi")), rule=SAT_SUN_TO_NEXT_MON_TUE)
|
|
124
|
+
self._add_observed(
|
|
125
|
+
# Boxing Day.
|
|
126
|
+
self._add_christmas_day_two(tr("Aso Faipele")),
|
|
127
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE,
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
def _populate_subdiv_fun_public_holidays(self):
|
|
131
|
+
# The Day of the Bombing.
|
|
132
|
+
self._add_holiday_apr_23(tr("Te Aso o te Paula"))
|
|
133
|
+
|
|
134
|
+
# Cyclone Day.
|
|
135
|
+
self._add_holiday_oct_21(tr("Aso o te matagi"))
|
|
136
|
+
|
|
137
|
+
def _populate_subdiv_nit_public_holidays(self):
|
|
138
|
+
# Niutao Day.
|
|
139
|
+
self._add_holiday_sep_17(tr("Te Aso o te Setema"))
|
|
140
|
+
|
|
141
|
+
def _populate_subdiv_nkf_public_holidays(self):
|
|
142
|
+
# Nukufetau Day.
|
|
143
|
+
self._add_holiday_feb_11(tr("Te Aso O Tutasi"))
|
|
144
|
+
|
|
145
|
+
def _populate_subdiv_nkl_public_holidays(self):
|
|
146
|
+
# Gospel Day.
|
|
147
|
+
self._add_holiday_may_10(tr("Te Aso o te Tala Lei"))
|
|
148
|
+
|
|
149
|
+
def _populate_subdiv_nma_public_holidays(self):
|
|
150
|
+
# Golden Jubilee.
|
|
151
|
+
self._add_holiday_jan_8(tr("Te Po o Tefolaha"))
|
|
152
|
+
|
|
153
|
+
# Big Day.
|
|
154
|
+
self._add_holiday_feb_3(tr("Po Lahi"))
|
|
155
|
+
|
|
156
|
+
def _populate_subdiv_nmg_public_holidays(self):
|
|
157
|
+
# Nanumaga Day.
|
|
158
|
+
self._add_holiday_apr_15(tr("Aho o te Fakavae"))
|
|
159
|
+
|
|
160
|
+
def _populate_subdiv_nui_public_holidays(self):
|
|
161
|
+
# Day of the Flood.
|
|
162
|
+
self._add_holiday_feb_16(tr("Bogin te Ieka"))
|
|
163
|
+
|
|
164
|
+
def _populate_subdiv_vai_public_holidays(self):
|
|
165
|
+
# Happy Day.
|
|
166
|
+
self._add_holiday_nov_25(tr("Te Aso Fiafia"))
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
class TV(Tuvalu):
|
|
170
|
+
pass
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
class TUV(Tuvalu):
|
|
174
|
+
pass
|
holidays/countries/ukraine.py
CHANGED
|
@@ -98,7 +98,7 @@ class Ukraine(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Sta
|
|
|
98
98
|
else tr("День перемоги над нацизмом у Другій світовій війні (День перемоги)")
|
|
99
99
|
if self._year >= 2016
|
|
100
100
|
# Victory Day.
|
|
101
|
-
else tr("День
|
|
101
|
+
else tr("День Перемоги")
|
|
102
102
|
)
|
|
103
103
|
dts_observed.add(
|
|
104
104
|
self._add_world_war_two_victory_day(name, is_western=(self._year >= 2024))
|
|
@@ -13,32 +13,59 @@
|
|
|
13
13
|
from gettext import gettext as tr
|
|
14
14
|
|
|
15
15
|
from holidays.calendars import _CustomIslamicHolidays
|
|
16
|
-
from holidays.calendars.gregorian import
|
|
17
|
-
|
|
16
|
+
from holidays.calendars.gregorian import (
|
|
17
|
+
FEB,
|
|
18
|
+
MAR,
|
|
19
|
+
APR,
|
|
20
|
+
MAY,
|
|
21
|
+
JUN,
|
|
22
|
+
JUL,
|
|
23
|
+
AUG,
|
|
24
|
+
SEP,
|
|
25
|
+
OCT,
|
|
26
|
+
NOV,
|
|
27
|
+
DEC,
|
|
28
|
+
FRI,
|
|
29
|
+
SAT,
|
|
30
|
+
SUN,
|
|
31
|
+
)
|
|
32
|
+
from holidays.constants import GOVERNMENT, OPTIONAL, PUBLIC
|
|
33
|
+
from holidays.groups import InternationalHolidays, IslamicHolidays, StaticHolidays
|
|
18
34
|
from holidays.holiday_base import HolidayBase
|
|
19
35
|
|
|
20
36
|
|
|
21
|
-
class UnitedArabEmirates(HolidayBase, InternationalHolidays, IslamicHolidays):
|
|
37
|
+
class UnitedArabEmirates(HolidayBase, InternationalHolidays, IslamicHolidays, StaticHolidays):
|
|
22
38
|
"""
|
|
23
39
|
Holidays are regulated by the Article 74 of Federal Law No. 08 for the year 1980:
|
|
24
40
|
https://www.ilo.org/dyn/natlex/docs/ELECTRONIC/11956/69376/F417089305/ARE11956.pdf
|
|
25
41
|
However the law is not applied literally, and was amended often in the past few years.
|
|
26
42
|
Sources:
|
|
27
43
|
2017: https://www.khaleejtimes.com/nation/uae-official-public-holidays-list-2017
|
|
28
|
-
2018: https://www.
|
|
44
|
+
2018: https://www.khaleejtimes.com/nation/Here-are-the-holidays-remaining-in-2018-in-UAE
|
|
29
45
|
2019: https://www.thenational.ae/uae/government/uae-public-holidays-for-2019-and-2020-announced-by-cabinet-1.833425
|
|
30
46
|
2020: https://u.ae/en/information-and-services/public-holidays-and-religious-affairs/public-holidays
|
|
47
|
+
2021: https://www.wam.ae/en/details/1395302957696
|
|
48
|
+
2022: https://www.khaleejtimes.com/ramadan/eid-al-fitr-holiday-announced-in-uae-3
|
|
49
|
+
2023:
|
|
50
|
+
- https://www.timeoutdubai.com/news/uae-public-holidays-in-2023
|
|
51
|
+
- https://www.khaleejtimes.com/uae/islamic-new-year-2023-uae-announces-official-holiday-for-public-sector
|
|
52
|
+
2024: https://www.timeoutdubai.com/news/uae-public-holidays-in-2024
|
|
53
|
+
2025: https://www.timeoutdubai.com/news/uae-public-holidays-2025
|
|
31
54
|
"""
|
|
32
55
|
|
|
33
56
|
country = "AE"
|
|
34
57
|
default_language = "ar"
|
|
35
58
|
# %s (estimated).
|
|
36
59
|
estimated_label = tr("(تقدير) %s")
|
|
37
|
-
|
|
60
|
+
supported_categories = (GOVERNMENT, OPTIONAL, PUBLIC)
|
|
61
|
+
supported_languages = ("ar", "en_US", "th")
|
|
62
|
+
# Founded on DEC 2, 1971.
|
|
63
|
+
start_year = 1972
|
|
38
64
|
|
|
39
65
|
def __init__(self, *args, **kwargs):
|
|
40
66
|
InternationalHolidays.__init__(self)
|
|
41
67
|
IslamicHolidays.__init__(self, cls=UnitedArabEmiratesIslamicHolidays)
|
|
68
|
+
StaticHolidays.__init__(self, UnitedArabEmiratesStaticHolidays)
|
|
42
69
|
super().__init__(*args, **kwargs)
|
|
43
70
|
|
|
44
71
|
def _populate_public_holidays(self):
|
|
@@ -49,7 +76,7 @@ class UnitedArabEmirates(HolidayBase, InternationalHolidays, IslamicHolidays):
|
|
|
49
76
|
# New Year's Day.
|
|
50
77
|
self._add_new_years_day(tr("رأس السنة الميلادية"))
|
|
51
78
|
|
|
52
|
-
if 2015 <= self._year <=
|
|
79
|
+
if 2015 <= self._year <= 2023:
|
|
53
80
|
# Commemoration Day.
|
|
54
81
|
name = tr("يوم الشهيد")
|
|
55
82
|
if self._year >= 2019:
|
|
@@ -69,7 +96,8 @@ class UnitedArabEmirates(HolidayBase, InternationalHolidays, IslamicHolidays):
|
|
|
69
96
|
eid_al_fitr_holiday = tr("عطلة عيد الفطر")
|
|
70
97
|
self._add_eid_al_fitr_day_two(eid_al_fitr_holiday)
|
|
71
98
|
self._add_eid_al_fitr_day_three(eid_al_fitr_holiday)
|
|
72
|
-
if self._year
|
|
99
|
+
if 2019 <= self._year <= 2024:
|
|
100
|
+
# Ramadan 30 not confirmed yet for 2025 onwards.
|
|
73
101
|
self._add_eid_al_fitr_eve(eid_al_fitr_holiday)
|
|
74
102
|
|
|
75
103
|
# Arafat Day.
|
|
@@ -105,23 +133,26 @@ class ARE(UnitedArabEmirates):
|
|
|
105
133
|
class UnitedArabEmiratesIslamicHolidays(_CustomIslamicHolidays):
|
|
106
134
|
EID_AL_ADHA_DATES = {
|
|
107
135
|
2017: (SEP, 1),
|
|
108
|
-
2018: (AUG,
|
|
136
|
+
2018: (AUG, 22),
|
|
109
137
|
2019: (AUG, 11),
|
|
110
138
|
2020: (JUL, 31),
|
|
111
139
|
2021: (JUL, 20),
|
|
112
140
|
2022: (JUL, 9),
|
|
113
141
|
2023: (JUN, 28),
|
|
142
|
+
2024: (JUN, 16),
|
|
143
|
+
2025: (JUN, 4),
|
|
114
144
|
}
|
|
115
145
|
|
|
116
146
|
EID_AL_FITR_DATES = {
|
|
117
147
|
2017: (JUN, 25),
|
|
118
|
-
2018: (JUN,
|
|
148
|
+
2018: (JUN, 15),
|
|
119
149
|
2019: (JUN, 4),
|
|
120
150
|
2020: (MAY, 24),
|
|
121
151
|
2021: (MAY, 13),
|
|
122
152
|
2022: (MAY, 2),
|
|
123
153
|
2023: (APR, 21),
|
|
124
154
|
2024: (APR, 10),
|
|
155
|
+
2025: (MAR, 30),
|
|
125
156
|
}
|
|
126
157
|
|
|
127
158
|
HIJRI_NEW_YEAR_DATES = {
|
|
@@ -132,19 +163,72 @@ class UnitedArabEmiratesIslamicHolidays(_CustomIslamicHolidays):
|
|
|
132
163
|
2021: (AUG, 12),
|
|
133
164
|
2022: (JUL, 30),
|
|
134
165
|
2023: (JUL, 21),
|
|
166
|
+
2024: (JUL, 7),
|
|
167
|
+
2025: (JUN, 26),
|
|
135
168
|
}
|
|
136
169
|
|
|
137
170
|
ISRA_AND_MIRAJ_DATES = {
|
|
138
171
|
2017: (APR, 23),
|
|
139
|
-
2018: (APR,
|
|
172
|
+
2018: (APR, 14),
|
|
140
173
|
}
|
|
141
174
|
|
|
142
175
|
MAWLID_DATES = {
|
|
143
176
|
2017: (NOV, 30),
|
|
144
|
-
2018: (NOV,
|
|
177
|
+
2018: (NOV, 18),
|
|
145
178
|
2019: (NOV, 9),
|
|
146
179
|
2020: (OCT, 29),
|
|
147
180
|
2021: (OCT, 21),
|
|
148
181
|
2022: (OCT, 8),
|
|
149
182
|
2023: (SEP, 29),
|
|
183
|
+
2024: (SEP, 15),
|
|
184
|
+
2025: (SEP, 5),
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
class UnitedArabEmiratesStaticHolidays:
|
|
189
|
+
"""
|
|
190
|
+
Special Eid al-Fitr entries for Ramadan 29 from 2020 onwards.
|
|
191
|
+
2019: https://www.mohre.gov.ae/en/media-centre/news/30/1/2019/عطلة-رسمية-يوم-زيارة-البابا-للمشاركين-في-فعالياته-من-القطاع-الخاص.aspx?DisableResponsive=1
|
|
192
|
+
2020: https://gulfbusiness.com/revealed-uae-private-sector-holidays-for-eid-al-fitr-2020/
|
|
193
|
+
2021: https://www.timeoutdubai.com/news/466278-eid-al-fitr-holiday-2021-dubai
|
|
194
|
+
2022:
|
|
195
|
+
- https://gulfnews.com/uae/eid-al-fitr-2022-holidays-for-private-and-public-sectors-in-uae-explained-1.1650951429432
|
|
196
|
+
- https://www.arabianbusiness.com/gcc/uae/uae-suspends-work-for-three-days-marks-40-days-of-mourning-over-sheikh-khalifas-death
|
|
197
|
+
2023: https://hrme.economictimes.indiatimes.com/news/industry/uae-cabinet-announces-national-day-holiday-for-federal-government-from-2-to-4-december/105455071
|
|
198
|
+
2024: https://www.timeoutdubai.com/news/eid-al-fitr-2024-expected-dates-ramadan
|
|
199
|
+
2025: https://www.timeoutdubai.com/news/uae-public-holidays-2025
|
|
200
|
+
|
|
201
|
+
Cross-Checked With:
|
|
202
|
+
https://www.timeanddate.com/holidays/united-arab-emirates/2021?hol=134217729
|
|
203
|
+
"""
|
|
204
|
+
|
|
205
|
+
# Eid al-Fitr Holiday.
|
|
206
|
+
eid_al_fitr_holiday = tr("عطلة عيد الفطر")
|
|
207
|
+
# Death of Sheikh Khalifa bin Zayed Al Nahyan.
|
|
208
|
+
sheikh_khalifa_bin_zayed_death = tr("وفاة الشيخ خليفة بن زايد آل نهيان")
|
|
209
|
+
|
|
210
|
+
special_government_holidays = {
|
|
211
|
+
2022: (
|
|
212
|
+
(MAY, 5, eid_al_fitr_holiday),
|
|
213
|
+
(MAY, 6, eid_al_fitr_holiday),
|
|
214
|
+
(MAY, 7, eid_al_fitr_holiday),
|
|
215
|
+
(MAY, 8, eid_al_fitr_holiday),
|
|
216
|
+
),
|
|
217
|
+
# National Day.
|
|
218
|
+
2023: (DEC, 4, tr("اليوم الوطني")),
|
|
219
|
+
}
|
|
220
|
+
special_optional_holidays = {
|
|
221
|
+
# Pope Francis' Visit Day.
|
|
222
|
+
2019: (FEB, 5, tr("يوم زيارة البابا فرنسيس")),
|
|
223
|
+
}
|
|
224
|
+
special_public_holidays = {
|
|
225
|
+
2020: (MAY, 22, eid_al_fitr_holiday),
|
|
226
|
+
2021: (MAY, 11, eid_al_fitr_holiday),
|
|
227
|
+
2022: (
|
|
228
|
+
(APR, 30, eid_al_fitr_holiday),
|
|
229
|
+
(MAY, 14, sheikh_khalifa_bin_zayed_death),
|
|
230
|
+
(MAY, 15, sheikh_khalifa_bin_zayed_death),
|
|
231
|
+
(MAY, 16, sheikh_khalifa_bin_zayed_death),
|
|
232
|
+
),
|
|
233
|
+
2024: (APR, 8, eid_al_fitr_holiday),
|
|
150
234
|
}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from gettext import gettext as tr
|
|
13
14
|
from typing import Union
|
|
14
15
|
|
|
15
16
|
from holidays.calendars.gregorian import APR, MAY, JUN, JUL, SEP, DEC
|
|
@@ -37,7 +38,9 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
|
|
|
37
38
|
"""
|
|
38
39
|
|
|
39
40
|
country = "GB"
|
|
40
|
-
|
|
41
|
+
default_language = "en_GB"
|
|
42
|
+
# %s (observed).
|
|
43
|
+
observed_label = tr("%s (observed)")
|
|
41
44
|
subdivisions: Union[tuple[()], tuple[str, ...]] = (
|
|
42
45
|
"ENG", # England
|
|
43
46
|
"NIR", # Northern Ireland
|
|
@@ -50,6 +53,7 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
|
|
|
50
53
|
"Scotland": "SCT",
|
|
51
54
|
"Wales": "WLS",
|
|
52
55
|
}
|
|
56
|
+
supported_languages = ("en_GB", "en_US", "th")
|
|
53
57
|
_deprecated_subdivisions = ("UK",)
|
|
54
58
|
# Bank Holidays Act 1871
|
|
55
59
|
start_year = 1872
|
|
@@ -64,25 +68,25 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
|
|
|
64
68
|
super().__init__(*args, **kwargs)
|
|
65
69
|
|
|
66
70
|
def _populate_public_holidays(self) -> None:
|
|
67
|
-
# Good Friday
|
|
68
|
-
self._add_good_friday("Good Friday")
|
|
71
|
+
# Good Friday.
|
|
72
|
+
self._add_good_friday(tr("Good Friday"))
|
|
69
73
|
|
|
70
|
-
# May Day bank holiday (first Monday in May)
|
|
71
74
|
if self._year >= 1978:
|
|
72
|
-
|
|
75
|
+
# May Day.
|
|
76
|
+
name = tr("May Day")
|
|
73
77
|
if self._year in {1995, 2020}:
|
|
74
78
|
self._add_holiday_may_8(name)
|
|
75
79
|
else:
|
|
76
80
|
self._add_holiday_1st_mon_of_may(name)
|
|
77
81
|
|
|
78
|
-
# Spring bank holiday (last Monday in May)
|
|
79
82
|
if self._year >= 1971:
|
|
80
83
|
spring_bank_dates = {
|
|
81
84
|
2002: (JUN, 4),
|
|
82
85
|
2012: (JUN, 4),
|
|
83
86
|
2022: (JUN, 2),
|
|
84
87
|
}
|
|
85
|
-
|
|
88
|
+
# Spring Bank Holiday.
|
|
89
|
+
name = tr("Spring Bank Holiday")
|
|
86
90
|
if self._year in spring_bank_dates:
|
|
87
91
|
self._add_holiday(name, spring_bank_dates[self._year])
|
|
88
92
|
else:
|
|
@@ -90,94 +94,97 @@ class UnitedKingdom(ObservedHolidayBase, ChristianHolidays, InternationalHoliday
|
|
|
90
94
|
|
|
91
95
|
def _populate_subdiv_holidays(self):
|
|
92
96
|
if self.subdiv != "SCT":
|
|
93
|
-
# New Year's Day
|
|
94
97
|
if self._year >= 1975:
|
|
95
|
-
|
|
98
|
+
# New Year's Day.
|
|
99
|
+
self._add_observed(self._add_new_years_day(tr("New Year's Day")))
|
|
96
100
|
|
|
97
|
-
# Christmas Day
|
|
98
101
|
self._add_observed(
|
|
99
|
-
|
|
102
|
+
# Christmas Day.
|
|
103
|
+
self._add_christmas_day(tr("Christmas Day")),
|
|
104
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE,
|
|
100
105
|
)
|
|
101
106
|
|
|
102
|
-
# Boxing Day
|
|
103
107
|
self._add_observed(
|
|
104
|
-
|
|
108
|
+
# Boxing Day.
|
|
109
|
+
self._add_christmas_day_two(tr("Boxing Day")),
|
|
110
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE,
|
|
105
111
|
)
|
|
106
112
|
|
|
107
113
|
super()._populate_subdiv_holidays()
|
|
108
114
|
|
|
109
115
|
def _populate_subdiv_eng_public_holidays(self):
|
|
110
|
-
# Easter Monday
|
|
111
|
-
self._add_easter_monday("Easter Monday")
|
|
116
|
+
# Easter Monday.
|
|
117
|
+
self._add_easter_monday(tr("Easter Monday"))
|
|
112
118
|
|
|
113
|
-
# Whit Monday.
|
|
114
119
|
if self._year <= 1970:
|
|
115
|
-
|
|
120
|
+
# Whit Monday.
|
|
121
|
+
self._add_whit_monday(tr("Whit Monday"))
|
|
116
122
|
|
|
117
|
-
# Late Summer bank holiday (last Monday in August)
|
|
118
123
|
if self._year >= 1971:
|
|
119
|
-
|
|
124
|
+
# Late Summer Bank Holiday.
|
|
125
|
+
self._add_holiday_last_mon_of_aug(tr("Late Summer Bank Holiday"))
|
|
120
126
|
|
|
121
127
|
def _populate_subdiv_nir_public_holidays(self):
|
|
122
128
|
if self._year >= 1903:
|
|
123
|
-
# Saint Patrick's Day
|
|
124
|
-
self._add_observed(self._add_holiday_mar_17("Saint Patrick's Day"))
|
|
129
|
+
# Saint Patrick's Day.
|
|
130
|
+
self._add_observed(self._add_holiday_mar_17(tr("Saint Patrick's Day")))
|
|
125
131
|
|
|
126
|
-
# Easter Monday
|
|
127
|
-
self._add_easter_monday("Easter Monday")
|
|
132
|
+
# Easter Monday.
|
|
133
|
+
self._add_easter_monday(tr("Easter Monday"))
|
|
128
134
|
|
|
129
|
-
# Whit Monday.
|
|
130
135
|
if self._year <= 1970:
|
|
131
|
-
|
|
136
|
+
# Whit Monday.
|
|
137
|
+
self._add_whit_monday(tr("Whit Monday"))
|
|
132
138
|
|
|
133
|
-
# Battle of the Boyne
|
|
134
|
-
self._add_observed(self._add_holiday_jul_12("Battle of the Boyne"))
|
|
139
|
+
# Battle of the Boyne.
|
|
140
|
+
self._add_observed(self._add_holiday_jul_12(tr("Battle of the Boyne")))
|
|
135
141
|
|
|
136
|
-
# Late Summer bank holiday (last Monday in August)
|
|
137
142
|
if self._year >= 1971:
|
|
138
|
-
|
|
143
|
+
# Late Summer Bank Holiday.
|
|
144
|
+
self._add_holiday_last_mon_of_aug(tr("Late Summer Bank Holiday"))
|
|
139
145
|
|
|
140
146
|
def _populate_subdiv_sct_public_holidays(self):
|
|
141
|
-
# New Year's Day
|
|
142
|
-
jan_1 = self._add_new_years_day("New Year's Day")
|
|
147
|
+
# New Year's Day.
|
|
148
|
+
jan_1 = self._add_new_years_day(tr("New Year's Day"))
|
|
143
149
|
|
|
144
|
-
# New Year Holiday
|
|
145
150
|
self._add_observed(
|
|
146
|
-
|
|
151
|
+
# New Year Holiday.
|
|
152
|
+
self._add_new_years_day_two(tr("New Year Holiday")),
|
|
147
153
|
rule=SAT_SUN_TO_NEXT_MON_TUE + MON_TO_NEXT_TUE,
|
|
148
154
|
)
|
|
149
155
|
self._add_observed(jan_1)
|
|
150
156
|
|
|
151
|
-
# Summer
|
|
152
|
-
self._add_holiday_1st_mon_of_aug("Summer Bank Holiday")
|
|
157
|
+
# Summer Bank Holiday.
|
|
158
|
+
self._add_holiday_1st_mon_of_aug(tr("Summer Bank Holiday"))
|
|
153
159
|
|
|
154
160
|
if self._year >= 2006:
|
|
155
|
-
# Saint Andrew's Day
|
|
156
|
-
self._add_observed(self._add_holiday_nov_30("Saint Andrew's Day"))
|
|
161
|
+
# Saint Andrew's Day.
|
|
162
|
+
self._add_observed(self._add_holiday_nov_30(tr("Saint Andrew's Day")))
|
|
157
163
|
|
|
158
|
-
# Christmas Day
|
|
159
164
|
self._add_observed(
|
|
160
|
-
|
|
165
|
+
# Christmas Day.
|
|
166
|
+
self._add_christmas_day(tr("Christmas Day")),
|
|
161
167
|
rule=SAT_SUN_TO_NEXT_MON_TUE if self._year >= 1974 else SAT_SUN_TO_NEXT_MON,
|
|
162
168
|
)
|
|
163
169
|
|
|
164
170
|
if self._year >= 1974:
|
|
165
|
-
# Boxing Day
|
|
166
171
|
self._add_observed(
|
|
167
|
-
|
|
172
|
+
# Boxing Day.
|
|
173
|
+
self._add_christmas_day_two(tr("Boxing Day")),
|
|
174
|
+
rule=SAT_SUN_TO_NEXT_MON_TUE,
|
|
168
175
|
)
|
|
169
176
|
|
|
170
177
|
def _populate_subdiv_wls_public_holidays(self):
|
|
171
|
-
# Easter Monday
|
|
172
|
-
self._add_easter_monday("Easter Monday")
|
|
178
|
+
# Easter Monday.
|
|
179
|
+
self._add_easter_monday(tr("Easter Monday"))
|
|
173
180
|
|
|
174
|
-
# Whit Monday.
|
|
175
181
|
if self._year <= 1970:
|
|
176
|
-
|
|
182
|
+
# Whit Monday.
|
|
183
|
+
self._add_whit_monday(tr("Whit Monday"))
|
|
177
184
|
|
|
178
|
-
# Late Summer bank holiday (last Monday in August)
|
|
179
185
|
if self._year >= 1971:
|
|
180
|
-
|
|
186
|
+
# Late Summer Bank Holiday.
|
|
187
|
+
self._add_holiday_last_mon_of_aug(tr("Late Summer Bank Holiday"))
|
|
181
188
|
|
|
182
189
|
|
|
183
190
|
class UK(UnitedKingdom):
|
|
@@ -194,15 +201,24 @@ class GBR(UnitedKingdom):
|
|
|
194
201
|
|
|
195
202
|
class UnitedKingdomStaticHolidays:
|
|
196
203
|
special_public_holidays = {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
204
|
+
# Silver Jubilee of Elizabeth II.
|
|
205
|
+
1977: (JUN, 7, tr("Silver Jubilee of Elizabeth II")),
|
|
206
|
+
# Wedding of Charles and Diana.
|
|
207
|
+
1981: (JUL, 29, tr("Wedding of Charles and Diana")),
|
|
208
|
+
# Millennium Celebrations.
|
|
209
|
+
1999: (DEC, 31, tr("Millennium Celebrations")),
|
|
210
|
+
# Golden Jubilee of Elizabeth II.
|
|
211
|
+
2002: (JUN, 3, tr("Golden Jubilee of Elizabeth II")),
|
|
212
|
+
# Wedding of William and Catherine.
|
|
213
|
+
2011: (APR, 29, tr("Wedding of William and Catherine")),
|
|
214
|
+
# Diamond Jubilee of Elizabeth II.
|
|
215
|
+
2012: (JUN, 5, tr("Diamond Jubilee of Elizabeth II")),
|
|
203
216
|
2022: (
|
|
204
|
-
|
|
205
|
-
(
|
|
217
|
+
# Platinum Jubilee of Elizabeth II.
|
|
218
|
+
(JUN, 3, tr("Platinum Jubilee of Elizabeth II")),
|
|
219
|
+
# State Funeral of Queen Elizabeth II.
|
|
220
|
+
(SEP, 19, tr("State Funeral of Queen Elizabeth II")),
|
|
206
221
|
),
|
|
207
|
-
|
|
222
|
+
# Coronation of Charles III.
|
|
223
|
+
2023: (MAY, 8, tr("Coronation of Charles III")),
|
|
208
224
|
}
|