holidays 0.75__py3-none-any.whl → 0.76__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- holidays/calendars/__init__.py +1 -0
- holidays/calendars/mongolian.py +342 -0
- holidays/countries/__init__.py +22 -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/bahrain.py +1 -1
- holidays/countries/bonaire_sint_eustatius_and_saba.py +134 -0
- holidays/countries/cocos_islands.py +3 -2
- holidays/countries/curacao.py +64 -38
- holidays/countries/egypt.py +1 -1
- holidays/countries/falkland_islands.py +141 -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/guadeloupe.py +44 -0
- holidays/countries/guam.py +8 -20
- 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/jordan.py +1 -1
- holidays/countries/kuwait.py +1 -1
- holidays/countries/libya.py +227 -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/morocco.py +1 -1
- holidays/countries/netherlands.py +7 -11
- holidays/countries/new_caledonia.py +43 -0
- holidays/countries/northern_mariana_islands.py +8 -20
- holidays/countries/oman.py +1 -1
- 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/san_marino.py +49 -26
- holidays/countries/saudi_arabia.py +3 -3
- holidays/countries/sint_maarten.py +118 -0
- holidays/countries/svalbard_and_jan_mayen.py +3 -9
- holidays/countries/taiwan.py +31 -9
- holidays/countries/tunisia.py +1 -1
- holidays/countries/turks_and_caicos_islands.py +1 -1
- holidays/countries/united_arab_emirates.py +1 -1
- holidays/countries/united_states.py +579 -400
- 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/eastern.py +1 -1
- holidays/groups/mongolian.py +103 -0
- holidays/holiday_base.py +10 -5
- 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/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/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/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/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_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/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_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_MU/LC_MESSAGES/MU.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_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/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/CW.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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/CG.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CH.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/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/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/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_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/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/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 +1 -0
- holidays/registry.py +17 -0
- holidays/version.py +1 -1
- {holidays-0.75.dist-info → holidays-0.76.dist-info}/METADATA +134 -15
- holidays-0.76.dist-info/RECORD +785 -0
- {holidays-0.75.dist-info → holidays-0.76.dist-info}/licenses/CONTRIBUTORS +1 -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.76.dist-info}/WHEEL +0 -0
- {holidays-0.75.dist-info → holidays-0.76.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.75.dist-info → holidays-0.76.dist-info}/top_level.txt +0 -0
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
-
from holidays.
|
|
14
|
-
from holidays.
|
|
13
|
+
from holidays.countries.united_states import UnitedStates
|
|
14
|
+
from holidays.mixins.child_entity import ChildEntity
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
class HolidaysUM(
|
|
17
|
+
class HolidaysUM(ChildEntity, UnitedStates):
|
|
18
18
|
"""United States Minor Outlying Islands holidays.
|
|
19
19
|
|
|
20
20
|
Alias of a US subdivision that is also officially assigned its own country code in ISO 3166-1.
|
|
@@ -22,21 +22,13 @@ class HolidaysUM(US):
|
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
24
|
country = "UM"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
parent_entity = UnitedStates
|
|
26
|
+
# The first islands were claimed via Guano Islands Act on August 18th, 1856.
|
|
27
|
+
start_year = 1857
|
|
28
28
|
|
|
29
|
-
def _populate_public_holidays(self) -> None:
|
|
30
|
-
self.subdiv = "UM"
|
|
31
|
-
super()._populate_public_holidays()
|
|
32
29
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
super()._populate_government_holidays()
|
|
36
|
-
|
|
37
|
-
def _populate_unofficial_holidays(self) -> None:
|
|
38
|
-
self.subdiv = "UM"
|
|
39
|
-
super()._populate_unofficial_holidays()
|
|
30
|
+
class UnitedStatesMinorOutlyingIslands(HolidaysUM):
|
|
31
|
+
pass
|
|
40
32
|
|
|
41
33
|
|
|
42
34
|
class UM(HolidaysUM):
|
|
@@ -45,7 +37,3 @@ class UM(HolidaysUM):
|
|
|
45
37
|
|
|
46
38
|
class UMI(HolidaysUM):
|
|
47
39
|
pass
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
class UnitedStatesMinorOutlyingIslands(HolidaysUM):
|
|
51
|
-
pass
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
-
from holidays.
|
|
14
|
-
from holidays.
|
|
13
|
+
from holidays.countries.united_states import UnitedStates
|
|
14
|
+
from holidays.mixins.child_entity import ChildEntity
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
class HolidaysVI(
|
|
17
|
+
class HolidaysVI(ChildEntity, UnitedStates):
|
|
18
18
|
"""United States Virgin Islands (the) holidays.
|
|
19
19
|
|
|
20
20
|
Alias of a US subdivision that is also officially assigned its own country code in ISO 3166-1.
|
|
@@ -22,21 +22,13 @@ class HolidaysVI(US):
|
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
24
|
country = "VI"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
parent_entity = UnitedStates
|
|
26
|
+
# Became a U.S. Territory since March 31st, 1917.
|
|
27
|
+
start_year = 1918
|
|
28
28
|
|
|
29
|
-
def _populate_public_holidays(self) -> None:
|
|
30
|
-
self.subdiv = "VI"
|
|
31
|
-
super()._populate_public_holidays()
|
|
32
29
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
super()._populate_government_holidays()
|
|
36
|
-
|
|
37
|
-
def _populate_unofficial_holidays(self) -> None:
|
|
38
|
-
self.subdiv = "VI"
|
|
39
|
-
super()._populate_unofficial_holidays()
|
|
30
|
+
class UnitedStatesVirginIslands(HolidaysVI):
|
|
31
|
+
pass
|
|
40
32
|
|
|
41
33
|
|
|
42
34
|
class VI(HolidaysVI):
|
|
@@ -45,7 +37,3 @@ class VI(HolidaysVI):
|
|
|
45
37
|
|
|
46
38
|
class VIR(HolidaysVI):
|
|
47
39
|
pass
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
class UnitedStatesVirginIslands(HolidaysVI):
|
|
51
|
-
pass
|
holidays/countries/uzbekistan.py
CHANGED
|
@@ -55,7 +55,7 @@ class Uzbekistan(ObservedHolidayBase, InternationalHolidays, IslamicHolidays, St
|
|
|
55
55
|
super().__init__(*args, **kwargs)
|
|
56
56
|
|
|
57
57
|
def _is_observed(self, dt: date) -> bool:
|
|
58
|
-
# Commencement of the new Labor Code
|
|
58
|
+
# Commencement of the new Labor Code.
|
|
59
59
|
return dt >= date(2023, APR, 30)
|
|
60
60
|
|
|
61
61
|
def _populate_public_holidays(self):
|
|
@@ -132,6 +132,8 @@ class UzbekistanIslamicHolidays(_CustomIslamicHolidays):
|
|
|
132
132
|
2021: (JUL, 20),
|
|
133
133
|
2022: (JUL, 9),
|
|
134
134
|
2023: (JUN, 28),
|
|
135
|
+
2024: (JUN, 16),
|
|
136
|
+
2025: (JUN, 6),
|
|
135
137
|
}
|
|
136
138
|
|
|
137
139
|
EID_AL_FITR_DATES = {
|
|
@@ -154,10 +156,24 @@ class UzbekistanIslamicHolidays(_CustomIslamicHolidays):
|
|
|
154
156
|
2022: (MAY, 2),
|
|
155
157
|
2023: (APR, 21),
|
|
156
158
|
2024: (APR, 10),
|
|
159
|
+
2025: (MAR, 30),
|
|
157
160
|
}
|
|
158
161
|
|
|
159
162
|
|
|
160
163
|
class UzbekistanStaticHolidays:
|
|
164
|
+
"""Uzbekistan special holidays.
|
|
165
|
+
|
|
166
|
+
References:
|
|
167
|
+
* [2018](https://web.archive.org/web/20250610012705/https://lex.uz/ru/docs/3479237)
|
|
168
|
+
* [2019](https://web.archive.org/web/20250521124231/https://lex.uz/docs/-4054698)
|
|
169
|
+
* [2020](https://web.archive.org/web/20250522053834/https://lex.uz/docs/-4595638)
|
|
170
|
+
* [2021](https://web.archive.org/web/20250522053822/https://lex.uz/docs/-5137156)
|
|
171
|
+
* [2022](https://web.archive.org/web/20250522053831/https://lex.uz/docs/-5784917)
|
|
172
|
+
* [2023](https://web.archive.org/web/20250522053822/https://lex.uz/docs/-6324664)
|
|
173
|
+
* [2024](https://web.archive.org/web/20250522053835/https://lex.uz/docs/-6704048)
|
|
174
|
+
* [2025](https://web.archive.org/web/20250422135040/https://lex.uz/docs/-7275687)
|
|
175
|
+
"""
|
|
176
|
+
|
|
161
177
|
# Date format (see strftime() Format Codes)
|
|
162
178
|
substituted_date_format = tr("%d/%m %Y")
|
|
163
179
|
# Day off (substituted from %s).
|
|
@@ -171,7 +187,7 @@ class UzbekistanStaticHolidays:
|
|
|
171
187
|
(JAN, 3, JAN, 6),
|
|
172
188
|
(MAR, 19, MAR, 17),
|
|
173
189
|
(MAR, 22, MAR, 24),
|
|
174
|
-
(MAR,
|
|
190
|
+
(MAR, 20, additional_day_off),
|
|
175
191
|
(AUG, 23, AUG, 25),
|
|
176
192
|
(AUG, 24, AUG, 26),
|
|
177
193
|
(AUG, 31, additional_day_off),
|
|
@@ -232,4 +248,5 @@ class UzbekistanStaticHolidays:
|
|
|
232
248
|
(DEC, 30, DEC, 14),
|
|
233
249
|
(DEC, 31, additional_day_off),
|
|
234
250
|
),
|
|
251
|
+
2025: (JAN, 2, JAN, 4),
|
|
235
252
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# holidays
|
|
2
|
+
# --------
|
|
3
|
+
# A fast, efficient Python library for generating country, province and state
|
|
4
|
+
# specific sets of holidays on the fly. It aims to make determining whether a
|
|
5
|
+
# specific date is a holiday as fast and flexible as possible.
|
|
6
|
+
#
|
|
7
|
+
# Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
|
|
8
|
+
# dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
|
|
9
|
+
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
|
|
10
|
+
# Website: https://github.com/vacanza/holidays
|
|
11
|
+
# License: MIT (see LICENSE file)
|
|
12
|
+
|
|
13
|
+
from holidays.countries.france import France
|
|
14
|
+
from holidays.mixins.child_entity import ChildEntity
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class HolidaysWF(ChildEntity, France):
|
|
18
|
+
"""Wallis and Futuna holidays.
|
|
19
|
+
|
|
20
|
+
Alias of a French subdivision that is also officially assigned
|
|
21
|
+
its own country code in ISO 3166-1.
|
|
22
|
+
|
|
23
|
+
References:
|
|
24
|
+
* <https://en.wikipedia.org/wiki/Wallis_and_Futuna>
|
|
25
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_France>
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
country = "WF"
|
|
29
|
+
parent_entity = France
|
|
30
|
+
# Separation from French Caledonia on July 29th, 1961.
|
|
31
|
+
start_year = 1962
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class WallisAndFutuna(HolidaysWF):
|
|
35
|
+
pass
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class WF(HolidaysWF):
|
|
39
|
+
pass
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class WLF(HolidaysWF):
|
|
43
|
+
pass
|
holidays/countries/yemen.py
CHANGED
|
@@ -51,11 +51,11 @@ class Yemen(ObservedHolidayBase, InternationalHolidays, IslamicHolidays):
|
|
|
51
51
|
country = "YE"
|
|
52
52
|
default_language = "ar"
|
|
53
53
|
# %s (estimated).
|
|
54
|
-
estimated_label = tr("%s (
|
|
54
|
+
estimated_label = tr("%s (المقدرة)")
|
|
55
55
|
# %s (observed).
|
|
56
56
|
observed_label = tr("%s (ملاحظة)")
|
|
57
57
|
# %s (observed, estimated).
|
|
58
|
-
observed_estimated_label = tr("%s (
|
|
58
|
+
observed_estimated_label = tr("%s (المقدرة، ملاحظة)")
|
|
59
59
|
# The Republic of Yemen was declared on 22 May 1990.
|
|
60
60
|
start_year = 1991
|
|
61
61
|
supported_categories = (PUBLIC, SCHOOL, WORKDAY)
|
holidays/groups/__init__.py
CHANGED
|
@@ -22,6 +22,7 @@ from holidays.groups.hebrew import HebrewCalendarHolidays
|
|
|
22
22
|
from holidays.groups.hindu import HinduCalendarHolidays
|
|
23
23
|
from holidays.groups.international import InternationalHolidays
|
|
24
24
|
from holidays.groups.islamic import IslamicHolidays
|
|
25
|
+
from holidays.groups.mongolian import MongolianCalendarHolidays
|
|
25
26
|
from holidays.groups.persian import PersianCalendarHolidays
|
|
26
27
|
from holidays.groups.sinhala import SinhalaCalendarHolidays
|
|
27
28
|
from holidays.groups.thai import ThaiCalendarHolidays
|
holidays/groups/chinese.py
CHANGED
|
@@ -121,6 +121,17 @@ class ChineseCalendarHolidays(EasternCalendarHolidays):
|
|
|
121
121
|
name, self._chinese_calendar.buddha_birthday_date(self._year)
|
|
122
122
|
)
|
|
123
123
|
|
|
124
|
+
def _add_chinese_day_before_new_years_eve(self, name) -> Optional[date]:
|
|
125
|
+
"""
|
|
126
|
+
Add day before Chinese New Year's Eve (second to last day of 12th lunar month).
|
|
127
|
+
|
|
128
|
+
Chinese New Year's Eve is the day before the Chinese New Year.
|
|
129
|
+
https://en.wikipedia.org/wiki/Chinese_New_Year's_Eve
|
|
130
|
+
"""
|
|
131
|
+
return self._add_chinese_calendar_holiday(
|
|
132
|
+
name, self._chinese_calendar.lunar_new_year_date(self._year), days_delta=-2
|
|
133
|
+
)
|
|
134
|
+
|
|
124
135
|
def _add_chinese_new_years_eve(self, name) -> Optional[date]:
|
|
125
136
|
"""
|
|
126
137
|
Add Chinese New Year's Eve (last day of 12th lunar month).
|
holidays/groups/eastern.py
CHANGED
|
@@ -29,7 +29,7 @@ class EasternCalendarHolidays:
|
|
|
29
29
|
days_delta: int = 0,
|
|
30
30
|
) -> Optional[date]:
|
|
31
31
|
"""
|
|
32
|
-
Add Eastern (Buddhist, Chinese, Hindu, Islamic) calendar holiday.
|
|
32
|
+
Add Eastern (Buddhist, Chinese, Hindu, Islamic, Mongolian) calendar holiday.
|
|
33
33
|
|
|
34
34
|
Adds customizable estimation label to holiday name if holiday date is an estimation.
|
|
35
35
|
"""
|
|
@@ -0,0 +1,103 @@
|
|
|
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 datetime import date
|
|
14
|
+
from typing import Optional
|
|
15
|
+
|
|
16
|
+
from holidays.calendars import _MongolianLunisolar
|
|
17
|
+
from holidays.groups.eastern import EasternCalendarHolidays
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class MongolianCalendarHolidays(EasternCalendarHolidays):
|
|
21
|
+
"""
|
|
22
|
+
Mongolian lunisolar calendar holidays.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
def __init__(self, cls=None, show_estimated=False) -> None:
|
|
26
|
+
self._mongolian_calendar = cls() if cls else _MongolianLunisolar()
|
|
27
|
+
self._mongolian_calendar_show_estimated = show_estimated
|
|
28
|
+
|
|
29
|
+
def _add_mongolian_calendar_holiday(
|
|
30
|
+
self, name: str, dt_estimated: tuple[Optional[date], bool], days_delta: int = 0
|
|
31
|
+
) -> Optional[date]:
|
|
32
|
+
"""
|
|
33
|
+
Add Mongolian calendar holiday.
|
|
34
|
+
|
|
35
|
+
Adds customizable estimation label to holiday name if holiday date
|
|
36
|
+
is an estimation.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
return self._add_eastern_calendar_holiday(
|
|
40
|
+
name, dt_estimated, self._mongolian_calendar_show_estimated, days_delta
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
def _add_buddha_day(self, name) -> Optional[date]:
|
|
44
|
+
"""
|
|
45
|
+
Add Buddha Day.
|
|
46
|
+
|
|
47
|
+
Buddha Day is celebrated on the 15th day of the early summer month
|
|
48
|
+
in the Mongolian lunisolar calendar.
|
|
49
|
+
This holiday honors the birth, enlightenment, and death of Buddha.
|
|
50
|
+
https://en.wikipedia.org/wiki/Vesak (general Buddhist context)
|
|
51
|
+
"""
|
|
52
|
+
return self._add_mongolian_calendar_holiday(
|
|
53
|
+
name, self._mongolian_calendar.buddha_day_date(self._year)
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
def _add_genghis_khan_day(self, name) -> Optional[date]:
|
|
57
|
+
"""
|
|
58
|
+
Add Genghis Khan's Birthday.
|
|
59
|
+
|
|
60
|
+
Genghis Khan's Birthday is observed on the 1st day of the early winter month
|
|
61
|
+
according to the Mongolian lunisolar calendar.
|
|
62
|
+
It commemorates the birth of the founder of the Mongol Empire.
|
|
63
|
+
https://en.wikipedia.org/wiki/Genghis_Khan
|
|
64
|
+
"""
|
|
65
|
+
return self._add_mongolian_calendar_holiday(
|
|
66
|
+
name, self._mongolian_calendar.genghis_khan_day_date(self._year)
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
def _add_tsagaan_sar(self, name) -> Optional[date]:
|
|
70
|
+
"""
|
|
71
|
+
Add Tsagaan Sar (Mongolian Lunar New Year).
|
|
72
|
+
|
|
73
|
+
Tsagaan Sar, or White Moon Festival, marks the beginning of the Mongolian Lunar New Year.
|
|
74
|
+
It usually falls on the first day of the first month of the Mongolian lunisolar calendar.
|
|
75
|
+
https://en.wikipedia.org/wiki/Tsagaan_Sar
|
|
76
|
+
"""
|
|
77
|
+
return self._add_mongolian_calendar_holiday(
|
|
78
|
+
name, self._mongolian_calendar.tsagaan_sar_date(self._year)
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
def _add_tsagaan_sar_day_2(self, name) -> Optional[date]:
|
|
82
|
+
"""
|
|
83
|
+
Add Tsagaan Sar Day 2 (Mongolian Lunar New Year).
|
|
84
|
+
|
|
85
|
+
Tsagaan Sar, or White Moon Festival, marks the beginning of the Mongolian Lunar New Year.
|
|
86
|
+
It usually falls on the first day of the first month of the Mongolian lunisolar calendar.
|
|
87
|
+
https://en.wikipedia.org/wiki/Tsagaan_Sar
|
|
88
|
+
"""
|
|
89
|
+
return self._add_mongolian_calendar_holiday(
|
|
90
|
+
name, self._mongolian_calendar.tsagaan_sar_date(self._year), days_delta=+1
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
def _add_tsagaan_sar_day_3(self, name) -> Optional[date]:
|
|
94
|
+
"""
|
|
95
|
+
Add Tsagaan Sar Day 3 (Mongolian Lunar New Year).
|
|
96
|
+
|
|
97
|
+
Tsagaan Sar, or White Moon Festival, marks the beginning of the Mongolian Lunar New Year.
|
|
98
|
+
It usually falls on the first day of the first month of the Mongolian lunisolar calendar.
|
|
99
|
+
https://en.wikipedia.org/wiki/Tsagaan_Sar
|
|
100
|
+
"""
|
|
101
|
+
return self._add_mongolian_calendar_holiday(
|
|
102
|
+
name, self._mongolian_calendar.tsagaan_sar_date(self._year), days_delta=+2
|
|
103
|
+
)
|
holidays/holiday_base.py
CHANGED
|
@@ -348,11 +348,16 @@ class HolidayBase(dict[date, str]):
|
|
|
348
348
|
if isinstance(subdiv, int):
|
|
349
349
|
subdiv = str(subdiv)
|
|
350
350
|
|
|
351
|
-
|
|
351
|
+
subdivision_aliases = tuple(self.subdivisions_aliases)
|
|
352
|
+
supported_subdivisions = set(
|
|
353
|
+
self.subdivisions
|
|
354
|
+
+ subdivision_aliases
|
|
355
|
+
+ self._deprecated_subdivisions
|
|
356
|
+
+ (self.parent_entity.subdivisions if self.parent_entity else ())
|
|
357
|
+
)
|
|
358
|
+
|
|
352
359
|
# Unsupported subdivisions.
|
|
353
|
-
if not isinstance(self, HolidaySum) and subdiv not in
|
|
354
|
-
self.subdivisions + subdivisions_aliases + self._deprecated_subdivisions
|
|
355
|
-
):
|
|
360
|
+
if not isinstance(self, HolidaySum) and subdiv not in supported_subdivisions:
|
|
356
361
|
raise NotImplementedError(
|
|
357
362
|
f"Entity `{self._entity_code}` does not have subdivision {subdiv}"
|
|
358
363
|
)
|
|
@@ -371,7 +376,7 @@ class HolidayBase(dict[date, str]):
|
|
|
371
376
|
"Dec, 1 2023. The list of supported subdivisions: "
|
|
372
377
|
f"{', '.join(sorted(self.subdivisions))}; "
|
|
373
378
|
"the list of supported subdivisions aliases: "
|
|
374
|
-
f"{', '.join(
|
|
379
|
+
f"{', '.join(sorted(subdivision_aliases))}.",
|
|
375
380
|
DeprecationWarning,
|
|
376
381
|
)
|
|
377
382
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|