holidays 0.86__py3-none-any.whl → 0.88__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/chinese.py +44 -6
- holidays/calendars/hindu.py +85 -1
- holidays/constants.py +1 -0
- holidays/countries/american_samoa.py +2 -0
- holidays/countries/bangladesh.py +13 -9
- holidays/countries/belarus.py +4 -2
- holidays/countries/brazil.py +27 -1
- holidays/countries/chile.py +2 -3
- holidays/countries/germany.py +75 -74
- holidays/countries/guam.py +2 -0
- holidays/countries/india.py +5 -3
- holidays/countries/macau.py +39 -45
- holidays/countries/malaysia.py +171 -71
- holidays/countries/new_zealand.py +4 -3
- holidays/countries/northern_mariana_islands.py +2 -0
- holidays/countries/puerto_rico.py +4 -2
- holidays/countries/sweden.py +35 -11
- holidays/countries/taiwan.py +6 -5
- holidays/countries/turks_and_caicos_islands.py +13 -3
- holidays/countries/united_states.py +434 -133
- holidays/countries/united_states_minor_outlying_islands.py +2 -0
- holidays/countries/united_states_virgin_islands.py +2 -0
- holidays/countries/uzbekistan.py +12 -1
- holidays/countries/venezuela.py +113 -23
- holidays/financial/__init__.py +1 -0
- holidays/financial/bombay_stock_exchange.py +33 -0
- holidays/financial/national_stock_exchange_of_india.py +1 -1
- holidays/financial/ny_stock_exchange.py +591 -89
- holidays/groups/chinese.py +11 -18
- holidays/groups/hindu.py +24 -0
- holidays/holiday_base.py +2 -1
- holidays/locale/bn/LC_MESSAGES/BD.mo +0 -0
- holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_IN/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/en_TC/LC_MESSAGES/TC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/US.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
- holidays/registry.py +1 -0
- holidays/utils.py +62 -1
- holidays/version.py +3 -1
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/METADATA +30 -16
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/RECORD +69 -60
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/licenses/CONTRIBUTORS +6 -0
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/WHEEL +0 -0
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/top_level.txt +0 -0
holidays/countries/malaysia.py
CHANGED
|
@@ -74,9 +74,27 @@ class Malaysia(
|
|
|
74
74
|
* [Holidays Act 1951](https://web.archive.org/web/20241202103403/https://www.kabinet.gov.my/bkpp/pdf/akta_warta/1951_12_31_act369.pdf)
|
|
75
75
|
* [Holidays Ordinance (Sabah Cap. 56)](https://web.archive.org/web/20201028045259/https://sagc.sabah.gov.my/sites/default/files/law/HolidaysOrdinance.pdf)
|
|
76
76
|
* [Public Holidays Ordinance (Sarawak Cap. 8)](https://web.archive.org/web/20221208142318/https://www.kabinet.gov.my/bkpp/pdf/akta_warta/sarawak_public_holidays_ord_chapter8.pdf)
|
|
77
|
-
*
|
|
77
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_Malaysia>
|
|
78
78
|
* <https://web.archive.org/web/20250123115300/https://www.nst.com.my/news/nation/2020/03/571660/agongs-birthday-moved-june-6-june-8>
|
|
79
79
|
* <https://web.archive.org/web/20240228225038/https://www.nst.com.my/news/nation/2024/02/1014012/melaka-cm-suggests-declaring-feb-20-federal-public-holiday-mark>
|
|
80
|
+
* <https://web.archive.org/web/20251216120554/https://www.kabinet.gov.my/storage/2025/08/HKA-2026.pdf>
|
|
81
|
+
|
|
82
|
+
Subdivisions Holidays References:
|
|
83
|
+
* Sabah:
|
|
84
|
+
* [2001](https://web.archive.org/web/20230605164302/https://www.sabah.gov.my/gazette/docs/000207.pdf)
|
|
85
|
+
* [2002](https://web.archive.org/web/20230605173234/https://www.sabah.gov.my/gazette/docs/000968.pdf)
|
|
86
|
+
* [2003](https://web.archive.org/web/20230418041718/https://www.sabah.gov.my/gazette/docs/001736.pdf)
|
|
87
|
+
* [2004](https://web.archive.org/web/20230414022317/https://www.sabah.gov.my/gazette/docs/001546.pdf)
|
|
88
|
+
* [2005](https://web.archive.org/web/20230420233014/https://www.sabah.gov.my/gazette/docs/001714.pdf)
|
|
89
|
+
* [2006](https://web.archive.org/web/20230414141628/https://www.sabah.gov.my/gazette/docs/001803.pdf)
|
|
90
|
+
* [2007](https://web.archive.org/web/20230414125605/https://www.sabah.gov.my/gazette/docs/001866.pdf)
|
|
91
|
+
* [2008](https://web.archive.org/web/20230605175854/https://www.sabah.gov.my/gazette/docs/001942.pdf)
|
|
92
|
+
* [2009](https://web.archive.org/web/20230605180330/https://www.sabah.gov.my/gazette/docs/001998.pdf)
|
|
93
|
+
* [Christmas Eve since 2019](https://web.archive.org/web/20221207071317/https://www.sabah.gov.my/gazette/docs/002712.pdf)
|
|
94
|
+
* [Birthday of the Governor of Sabah update 2010](https://web.archive.org/web/20230414125515/https://www.sabah.gov.my/gazette/docs/002114.pdf)
|
|
95
|
+
* [2025](https://web.archive.org/web/20251216152001/https://www.sabah.gov.my/gazette/docs/003106.pdf)
|
|
96
|
+
* [2025 changes](https://web.archive.org/web/20250330061412/https://www.sabah.gov.my/gazette/docs/003144.pdf)
|
|
97
|
+
* [2026](https://web.archive.org/web/20251010011859/https://www.sabah.gov.my/gazette/docs/003152.pdf)
|
|
80
98
|
|
|
81
99
|
Section 3 of Holidays Act 1951:
|
|
82
100
|
> If any day specified in the Schedule falls on Sunday then the day following shall be
|
|
@@ -505,12 +523,21 @@ class Malaysia(
|
|
|
505
523
|
self._add_holiday_may_30(name)
|
|
506
524
|
self._add_holiday_may_31(name)
|
|
507
525
|
|
|
508
|
-
|
|
509
|
-
|
|
526
|
+
if self._year >= 2001:
|
|
527
|
+
# Birthday of the Governor of Sabah.
|
|
528
|
+
name = tr("Hari Jadi Yang di-Pertua Negeri Sabah")
|
|
529
|
+
if self._year >= 2025:
|
|
530
|
+
self._add_holiday_mar_30(name)
|
|
531
|
+
elif self._year >= 2010:
|
|
532
|
+
self._add_holiday_1st_sat_of_oct(name)
|
|
533
|
+
elif self._year == 2005:
|
|
534
|
+
self._add_holiday_feb_11(name)
|
|
535
|
+
else:
|
|
536
|
+
self._add_holiday_sep_16(name)
|
|
510
537
|
|
|
511
538
|
if self._year >= 2019:
|
|
512
539
|
# Christmas Eve.
|
|
513
|
-
self._add_christmas_eve(tr("
|
|
540
|
+
self._add_christmas_eve(tr("Krismas (Eve)"))
|
|
514
541
|
|
|
515
542
|
def _populate_subdiv_13_public_holidays(self):
|
|
516
543
|
# New Year's Day.
|
|
@@ -616,11 +643,12 @@ class MalaysiaBuddhistHolidays(_CustomBuddhistHolidays):
|
|
|
616
643
|
2023: (MAY, 4),
|
|
617
644
|
2024: (MAY, 22),
|
|
618
645
|
2025: (MAY, 12),
|
|
646
|
+
2026: (MAY, 31),
|
|
619
647
|
}
|
|
620
648
|
|
|
621
649
|
|
|
622
650
|
class MalaysiaChineseHolidays(_CustomChineseHolidays):
|
|
623
|
-
LUNAR_NEW_YEAR_DATES_CONFIRMED_YEARS = (2001,
|
|
651
|
+
LUNAR_NEW_YEAR_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
624
652
|
|
|
625
653
|
|
|
626
654
|
class MalaysiaHinduHolidays(_CustomHinduHolidays):
|
|
@@ -650,6 +678,7 @@ class MalaysiaHinduHolidays(_CustomHinduHolidays):
|
|
|
650
678
|
2023: (NOV, 12),
|
|
651
679
|
2024: (OCT, 31),
|
|
652
680
|
2025: (OCT, 20),
|
|
681
|
+
2026: (NOV, 8),
|
|
653
682
|
}
|
|
654
683
|
|
|
655
684
|
THAIPUSAM_DATES = {
|
|
@@ -667,7 +696,7 @@ class MalaysiaHinduHolidays(_CustomHinduHolidays):
|
|
|
667
696
|
|
|
668
697
|
|
|
669
698
|
class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
670
|
-
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2001,
|
|
699
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
671
700
|
EID_AL_ADHA_DATES = {
|
|
672
701
|
2001: (MAR, 6),
|
|
673
702
|
2002: (FEB, 23),
|
|
@@ -687,7 +716,7 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
687
716
|
2025: (JUN, 7),
|
|
688
717
|
}
|
|
689
718
|
|
|
690
|
-
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2001,
|
|
719
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
691
720
|
EID_AL_FITR_DATES = {
|
|
692
721
|
2001: (DEC, 17),
|
|
693
722
|
2002: (DEC, 6),
|
|
@@ -697,9 +726,10 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
697
726
|
2019: (JUN, 5),
|
|
698
727
|
2023: (APR, 22),
|
|
699
728
|
2025: (MAR, 31),
|
|
729
|
+
2026: (MAR, 21),
|
|
700
730
|
}
|
|
701
731
|
|
|
702
|
-
HARI_HOL_JOHOR_DATES_CONFIRMED_YEARS = (2011,
|
|
732
|
+
HARI_HOL_JOHOR_DATES_CONFIRMED_YEARS = (2011, 2026)
|
|
703
733
|
HARI_HOL_JOHOR_DATES = {
|
|
704
734
|
2011: (JAN, 12),
|
|
705
735
|
2012: (DEC, 20),
|
|
@@ -712,9 +742,10 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
712
742
|
2022: (SEP, 3),
|
|
713
743
|
2023: (AUG, 23),
|
|
714
744
|
2024: (AUG, 11),
|
|
745
|
+
2026: (JUL, 21),
|
|
715
746
|
}
|
|
716
747
|
|
|
717
|
-
HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARS = (2001,
|
|
748
|
+
HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
718
749
|
HIJRI_NEW_YEAR_DATES = {
|
|
719
750
|
2003: (MAR, 5),
|
|
720
751
|
2004: (FEB, 22),
|
|
@@ -725,9 +756,10 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
725
756
|
2019: (SEP, 1),
|
|
726
757
|
2021: (AUG, 10),
|
|
727
758
|
2025: (JUN, 27),
|
|
759
|
+
2026: (JUN, 17),
|
|
728
760
|
}
|
|
729
761
|
|
|
730
|
-
ISRA_AND_MIRAJ_DATES_CONFIRMED_YEARS = (2001,
|
|
762
|
+
ISRA_AND_MIRAJ_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
731
763
|
ISRA_AND_MIRAJ_DATES = {
|
|
732
764
|
2001: (OCT, 15),
|
|
733
765
|
2006: (AUG, 22),
|
|
@@ -737,9 +769,10 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
737
769
|
2016: (MAY, 5),
|
|
738
770
|
2018: (APR, 14),
|
|
739
771
|
2022: (MAR, 1),
|
|
772
|
+
2026: (JAN, 17),
|
|
740
773
|
}
|
|
741
774
|
|
|
742
|
-
MAWLID_DATES_CONFIRMED_YEARS = (2001,
|
|
775
|
+
MAWLID_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
743
776
|
MAWLID_DATES = {
|
|
744
777
|
2003: (MAY, 14),
|
|
745
778
|
2004: (MAY, 2),
|
|
@@ -757,7 +790,7 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
757
790
|
2025: (SEP, 5),
|
|
758
791
|
}
|
|
759
792
|
|
|
760
|
-
NUZUL_AL_QURAN_DATES_CONFIRMED_YEARS = (2001,
|
|
793
|
+
NUZUL_AL_QURAN_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
761
794
|
NUZUL_AL_QURAN_DATES = {
|
|
762
795
|
2001: (DEC, 3),
|
|
763
796
|
2003: (NOV, 12),
|
|
@@ -769,9 +802,10 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
769
802
|
2022: (APR, 19),
|
|
770
803
|
2024: (MAR, 28),
|
|
771
804
|
2025: (MAR, 18),
|
|
805
|
+
2026: (MAR, 7),
|
|
772
806
|
}
|
|
773
807
|
|
|
774
|
-
RAMADAN_BEGINNING_DATES_CONFIRMED_YEARS = (2001,
|
|
808
|
+
RAMADAN_BEGINNING_DATES_CONFIRMED_YEARS = (2001, 2026)
|
|
775
809
|
RAMADAN_BEGINNING_DATES = {
|
|
776
810
|
2001: (NOV, 17),
|
|
777
811
|
2003: (OCT, 27),
|
|
@@ -784,15 +818,16 @@ class MalaysiaIslamicHolidays(_CustomIslamicHolidays):
|
|
|
784
818
|
2022: (APR, 3),
|
|
785
819
|
2024: (MAR, 12),
|
|
786
820
|
2025: (MAR, 2),
|
|
821
|
+
2026: (FEB, 19),
|
|
787
822
|
}
|
|
788
823
|
|
|
789
824
|
|
|
790
825
|
class MalaysiaStaticHolidays:
|
|
791
826
|
# General election additional holiday.
|
|
792
|
-
|
|
827
|
+
general_election_additional_holiday = tr("Cuti Peristiwa (pilihan raya umum)")
|
|
793
828
|
|
|
794
829
|
# Additional holiday.
|
|
795
|
-
|
|
830
|
+
additional_holiday = tr("Cuti Peristiwa")
|
|
796
831
|
|
|
797
832
|
# Eid al-Adha.
|
|
798
833
|
eid_al_adha = tr("Hari Raya Qurban")
|
|
@@ -803,117 +838,182 @@ class MalaysiaStaticHolidays:
|
|
|
803
838
|
# Malaysia Cup Holiday.
|
|
804
839
|
malaysia_cup_holiday = tr("Cuti Piala Malaysia")
|
|
805
840
|
|
|
806
|
-
# Day of Installation of the 15th Yang di-Pertuan Agong.
|
|
807
|
-
yang_di_pertuan_agong_15_installation = tr("Hari Pertabalan Yang di-Pertuan Agong ke-15")
|
|
808
|
-
|
|
809
|
-
# Day of Installation of the 16th Yang di-Pertuan Agong.
|
|
810
|
-
yang_di_pertuan_agong_16_installation = tr("Hari Pertabalan Yang di-Pertuan Agong ke-16")
|
|
811
|
-
|
|
812
|
-
# Eid al-Fitr (additional holiday).
|
|
813
|
-
eid_al_fitr_additional_holiday = tr("Hari Raya Puasa (pergantian hari)")
|
|
814
|
-
|
|
815
|
-
# Arafat Day.
|
|
816
|
-
arafat_day = tr("Hari Arafah")
|
|
817
|
-
|
|
818
|
-
# Additional holiday in commemoration of the 2017 SEA Games.
|
|
819
|
-
additional_holiday_2017_sea_games = tr("Cuti tambahan sempena memperingati SAT 2017")
|
|
820
|
-
|
|
821
841
|
special_public_holidays = {
|
|
822
|
-
1999: (NOV, 29,
|
|
842
|
+
1999: (NOV, 29, general_election_additional_holiday),
|
|
823
843
|
2017: (
|
|
824
|
-
|
|
825
|
-
(
|
|
844
|
+
# Day of Installation of the 15th Yang di-Pertuan Agong.
|
|
845
|
+
(APR, 24, tr("Hari Pertabalan Yang di-Pertuan Agong ke-15")),
|
|
846
|
+
# Additional holiday in commemoration of the 2017 SEA Games.
|
|
847
|
+
(SEP, 4, tr("Cuti tambahan sempena memperingati SAT 2017")),
|
|
826
848
|
),
|
|
827
|
-
2018: (MAY, 9,
|
|
828
|
-
|
|
849
|
+
2018: (MAY, 9, general_election_additional_holiday),
|
|
850
|
+
# Day of Installation of the 16th Yang di-Pertuan Agong.
|
|
851
|
+
2019: (JUL, 30, tr("Hari Pertabalan Yang di-Pertuan Agong ke-16")),
|
|
829
852
|
2022: (
|
|
830
|
-
(NOV, 18,
|
|
831
|
-
(NOV, 19,
|
|
832
|
-
(NOV, 28,
|
|
853
|
+
(NOV, 18, general_election_additional_holiday),
|
|
854
|
+
(NOV, 19, general_election_additional_holiday),
|
|
855
|
+
(NOV, 28, additional_holiday),
|
|
833
856
|
),
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
special_14_public_holidays = {
|
|
838
|
-
2021: (DEC, 3, malaysia_cup_holiday),
|
|
839
|
-
}
|
|
840
|
-
|
|
841
|
-
special_15_public_holidays = {
|
|
842
|
-
2021: (DEC, 3, malaysia_cup_holiday),
|
|
857
|
+
# Eid al-Fitr (additional holiday).
|
|
858
|
+
2023: (APR, 21, tr("Hari Raya Puasa (pergantian hari)")),
|
|
859
|
+
2025: (SEP, 15, additional_holiday),
|
|
843
860
|
}
|
|
844
861
|
|
|
845
|
-
|
|
846
|
-
2021: (DEC, 3, malaysia_cup_holiday),
|
|
847
|
-
}
|
|
848
|
-
|
|
849
|
-
special_13_public_holidays = {
|
|
862
|
+
special_01_public_holidays = {
|
|
850
863
|
2018: (
|
|
851
|
-
(MAY,
|
|
852
|
-
(MAY,
|
|
864
|
+
(MAY, 10, additional_holiday),
|
|
865
|
+
(MAY, 13, additional_holiday),
|
|
853
866
|
),
|
|
854
867
|
}
|
|
855
|
-
|
|
856
868
|
special_01_public_holidays_observed = {
|
|
857
869
|
2022: (MAY, 4, labor_day),
|
|
858
870
|
}
|
|
859
871
|
|
|
872
|
+
special_02_public_holidays = {
|
|
873
|
+
2018: (
|
|
874
|
+
(MAY, 10, additional_holiday),
|
|
875
|
+
(MAY, 13, additional_holiday),
|
|
876
|
+
),
|
|
877
|
+
}
|
|
860
878
|
special_02_public_holidays_observed = {
|
|
861
879
|
2022: (MAY, 4, labor_day),
|
|
862
880
|
}
|
|
863
881
|
|
|
882
|
+
special_03_public_holidays = {
|
|
883
|
+
2018: (
|
|
884
|
+
(MAY, 10, additional_holiday),
|
|
885
|
+
(MAY, 13, additional_holiday),
|
|
886
|
+
),
|
|
887
|
+
}
|
|
864
888
|
special_03_public_holidays_observed = {
|
|
865
889
|
2022: (MAY, 4, labor_day),
|
|
866
890
|
}
|
|
867
891
|
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
2007: (JAN, 2, eid_al_adha),
|
|
892
|
+
special_04_public_holidays = {
|
|
893
|
+
2018: (
|
|
894
|
+
(MAY, 10, additional_holiday),
|
|
895
|
+
(MAY, 11, additional_holiday),
|
|
896
|
+
),
|
|
874
897
|
}
|
|
875
|
-
|
|
876
898
|
special_04_public_holidays_observed = {
|
|
877
899
|
2007: (JAN, 2, eid_al_adha),
|
|
878
900
|
}
|
|
879
901
|
|
|
902
|
+
special_05_public_holidays = {
|
|
903
|
+
2018: (
|
|
904
|
+
(MAY, 10, additional_holiday),
|
|
905
|
+
(MAY, 11, additional_holiday),
|
|
906
|
+
),
|
|
907
|
+
}
|
|
880
908
|
special_05_public_holidays_observed = {
|
|
881
909
|
2007: (JAN, 2, eid_al_adha),
|
|
882
910
|
}
|
|
883
911
|
|
|
912
|
+
special_06_public_holidays = {
|
|
913
|
+
2018: (
|
|
914
|
+
(MAY, 10, additional_holiday),
|
|
915
|
+
(MAY, 11, additional_holiday),
|
|
916
|
+
),
|
|
917
|
+
}
|
|
884
918
|
special_06_public_holidays_observed = {
|
|
885
919
|
2007: (JAN, 2, eid_al_adha),
|
|
886
920
|
}
|
|
887
921
|
|
|
888
|
-
|
|
922
|
+
special_07_public_holidays = {
|
|
923
|
+
2018: (
|
|
924
|
+
(MAY, 10, additional_holiday),
|
|
925
|
+
(MAY, 11, additional_holiday),
|
|
926
|
+
),
|
|
927
|
+
}
|
|
928
|
+
special_07_public_holidays_observed = {
|
|
889
929
|
2007: (JAN, 2, eid_al_adha),
|
|
890
930
|
}
|
|
891
931
|
|
|
892
|
-
|
|
932
|
+
special_08_public_holidays = {
|
|
933
|
+
2018: (
|
|
934
|
+
(MAY, 10, additional_holiday),
|
|
935
|
+
(MAY, 11, additional_holiday),
|
|
936
|
+
),
|
|
937
|
+
}
|
|
938
|
+
special_08_public_holidays_observed = {
|
|
893
939
|
2007: (JAN, 2, eid_al_adha),
|
|
894
940
|
}
|
|
895
941
|
|
|
896
|
-
|
|
942
|
+
special_09_public_holidays = {
|
|
943
|
+
2018: (
|
|
944
|
+
(MAY, 10, additional_holiday),
|
|
945
|
+
(MAY, 11, additional_holiday),
|
|
946
|
+
),
|
|
947
|
+
}
|
|
948
|
+
special_09_public_holidays_observed = {
|
|
897
949
|
2007: (JAN, 2, eid_al_adha),
|
|
898
950
|
}
|
|
899
951
|
|
|
900
|
-
|
|
952
|
+
special_10_public_holidays = {
|
|
953
|
+
2018: (
|
|
954
|
+
(MAY, 10, additional_holiday),
|
|
955
|
+
(MAY, 11, additional_holiday),
|
|
956
|
+
),
|
|
957
|
+
}
|
|
958
|
+
special_10_public_holidays_observed = {
|
|
901
959
|
2007: (JAN, 2, eid_al_adha),
|
|
902
960
|
}
|
|
903
961
|
|
|
962
|
+
special_11_public_holidays = {
|
|
963
|
+
2018: (
|
|
964
|
+
(MAY, 10, additional_holiday),
|
|
965
|
+
(MAY, 13, additional_holiday),
|
|
966
|
+
),
|
|
967
|
+
}
|
|
968
|
+
special_11_public_holidays_observed = {
|
|
969
|
+
# Arafat Day.
|
|
970
|
+
2007: (JAN, 2, tr("Hari Arafah")),
|
|
971
|
+
2022: (MAY, 4, labor_day),
|
|
972
|
+
}
|
|
973
|
+
|
|
904
974
|
special_12_public_holidays_observed = {
|
|
905
975
|
2007: (JAN, 2, eid_al_adha),
|
|
906
976
|
}
|
|
907
977
|
|
|
908
|
-
|
|
978
|
+
special_13_public_holidays = {
|
|
979
|
+
2018: (
|
|
980
|
+
(MAY, 17, additional_holiday),
|
|
981
|
+
(MAY, 18, additional_holiday),
|
|
982
|
+
),
|
|
983
|
+
}
|
|
984
|
+
special_13_public_holidays_observed = {
|
|
909
985
|
2007: (JAN, 2, eid_al_adha),
|
|
910
986
|
}
|
|
911
987
|
|
|
912
|
-
|
|
988
|
+
special_14_public_holidays = {
|
|
989
|
+
2018: (
|
|
990
|
+
(MAY, 10, additional_holiday),
|
|
991
|
+
(MAY, 11, additional_holiday),
|
|
992
|
+
),
|
|
993
|
+
2021: (DEC, 3, malaysia_cup_holiday),
|
|
994
|
+
}
|
|
995
|
+
special_14_public_holidays_observed = {
|
|
913
996
|
2007: (JAN, 2, eid_al_adha),
|
|
914
997
|
}
|
|
915
998
|
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
999
|
+
special_15_public_holidays = {
|
|
1000
|
+
2018: (
|
|
1001
|
+
(MAY, 10, additional_holiday),
|
|
1002
|
+
(MAY, 11, additional_holiday),
|
|
1003
|
+
),
|
|
1004
|
+
2021: (DEC, 3, malaysia_cup_holiday),
|
|
1005
|
+
}
|
|
1006
|
+
special_15_public_holidays_observed = {
|
|
1007
|
+
2007: (JAN, 2, eid_al_adha),
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
special_16_public_holidays = {
|
|
1011
|
+
2018: (
|
|
1012
|
+
(MAY, 10, additional_holiday),
|
|
1013
|
+
(MAY, 11, additional_holiday),
|
|
1014
|
+
),
|
|
1015
|
+
2021: (DEC, 3, malaysia_cup_holiday),
|
|
1016
|
+
}
|
|
1017
|
+
special_16_public_holidays_observed = {
|
|
1018
|
+
2007: (JAN, 2, eid_al_adha),
|
|
919
1019
|
}
|
|
@@ -243,8 +243,8 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
243
243
|
|
|
244
244
|
if self.subdiv == "New Plymouth":
|
|
245
245
|
self._populate_subdiv_tki_public_holidays()
|
|
246
|
-
elif self.subdiv == "
|
|
247
|
-
self.
|
|
246
|
+
elif self.subdiv == "STC":
|
|
247
|
+
self._populate_subdiv_south_canterbury_public_holidays()
|
|
248
248
|
elif self.subdiv in {"WTL", "Westland"}:
|
|
249
249
|
self._populate_subdiv_wtc_public_holidays()
|
|
250
250
|
|
|
@@ -304,7 +304,8 @@ class NewZealand(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
304
304
|
# Otago Anniversary Day.
|
|
305
305
|
self._add_holiday("Otago Anniversary Day", dt)
|
|
306
306
|
|
|
307
|
-
def
|
|
307
|
+
def _populate_subdiv_south_canterbury_public_holidays(self):
|
|
308
|
+
# South Canterbury Anniversary Day.
|
|
308
309
|
self._add_holiday_4th_mon_of_sep("South Canterbury Anniversary Day")
|
|
309
310
|
|
|
310
311
|
def _populate_subdiv_stl_public_holidays(self):
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from holidays.constants import PUBLIC, UNOFFICIAL
|
|
13
14
|
from holidays.countries.united_states import UnitedStates
|
|
14
15
|
from holidays.mixins.child_entity import ChildEntity
|
|
15
16
|
|
|
@@ -25,6 +26,7 @@ class NorthernMarianaIslands(ChildEntity, UnitedStates):
|
|
|
25
26
|
parent_entity = UnitedStates
|
|
26
27
|
# UNSC Resolution 21 on April 2nd, 1947.
|
|
27
28
|
start_year = 1948
|
|
29
|
+
supported_categories = (PUBLIC, UNOFFICIAL)
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
class HolidaysMP(NorthernMarianaIslands):
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from holidays.constants import HALF_DAY, PUBLIC, UNOFFICIAL
|
|
13
14
|
from holidays.countries.united_states import UnitedStates
|
|
14
15
|
from holidays.mixins.child_entity import ChildEntity
|
|
15
16
|
|
|
@@ -23,8 +24,9 @@ class PuertoRico(ChildEntity, UnitedStates):
|
|
|
23
24
|
|
|
24
25
|
country = "PR"
|
|
25
26
|
parent_entity = UnitedStates
|
|
26
|
-
#
|
|
27
|
-
start_year =
|
|
27
|
+
# Art. 387 of the 1902 Political Code of Puerto Rico.
|
|
28
|
+
start_year = 1903
|
|
29
|
+
supported_categories = (HALF_DAY, PUBLIC, UNOFFICIAL)
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
class HolidaysPR(PuertoRico):
|
holidays/countries/sweden.py
CHANGED
|
@@ -20,7 +20,7 @@ from holidays.calendars.gregorian import (
|
|
|
20
20
|
_get_nth_weekday_from,
|
|
21
21
|
_timedelta,
|
|
22
22
|
)
|
|
23
|
-
from holidays.constants import BANK, OPTIONAL, PUBLIC
|
|
23
|
+
from holidays.constants import BANK, DE_FACTO, OPTIONAL, PUBLIC
|
|
24
24
|
from holidays.groups import ChristianHolidays, InternationalHolidays
|
|
25
25
|
from holidays.holiday_base import HolidayBase
|
|
26
26
|
|
|
@@ -37,9 +37,31 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
37
37
|
* <https://sv.wikipedia.org/wiki/Sveriges_nationaldag>
|
|
38
38
|
* <https://sv.wikipedia.org/wiki/Midsommarafton>
|
|
39
39
|
* [Bank Holidays 2025](https://web.archive.org/web/20250811112642/https://www.riksbank.se/sv/press-och-publicerat/kalender/helgdagar-2025/)
|
|
40
|
+
* [Swedish Annual Leave Law (SFS 1977:480)](https://www.riksdagen.se/sv/dokument-och-lagar/dokument/svensk-forfattningssamling/semesterlag-1977480_sfs-1977-480/)
|
|
40
41
|
|
|
41
42
|
In Sweden, ALL sundays are considered a holiday.
|
|
42
43
|
Initialize this class with `include_sundays=False` to not include sundays as a holiday.
|
|
44
|
+
|
|
45
|
+
Supported holiday categories:
|
|
46
|
+
|
|
47
|
+
- PUBLIC: Official public holidays with general time off
|
|
48
|
+
- DE_FACTO: Holidays treated equivalently to public holidays by law
|
|
49
|
+
- BANK: Banking institution holidays
|
|
50
|
+
- OPTIONAL: Optional or cultural observances
|
|
51
|
+
|
|
52
|
+
The DE_FACTO category includes:
|
|
53
|
+
- Midsommarafton (Midsummer Eve)
|
|
54
|
+
- Julafton (Christmas Eve)
|
|
55
|
+
- Nyårsafton (New Year's Eve)
|
|
56
|
+
|
|
57
|
+
According to Swedish Annual Leave Law (SFS 1977:480, Section 7): "Med söndag
|
|
58
|
+
jämställs allmän helgdag samt midsommarafton, julafton och nyårsafton"
|
|
59
|
+
(Sundays are equivalent to public holidays as well as Midsummer's Eve,
|
|
60
|
+
Christmas Eve, and New Year's Eve).
|
|
61
|
+
|
|
62
|
+
These holidays are not official public holidays but must be treated as
|
|
63
|
+
non-working days. For accurate `is_working_day()` calculations, use:
|
|
64
|
+
`Sweden(categories=(PUBLIC, DE_FACTO))`
|
|
43
65
|
"""
|
|
44
66
|
|
|
45
67
|
# %s (from 2pm).
|
|
@@ -48,7 +70,7 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
48
70
|
default_language = "sv"
|
|
49
71
|
# Act 1952:48.
|
|
50
72
|
start_year = 1953
|
|
51
|
-
supported_categories = (BANK, OPTIONAL, PUBLIC)
|
|
73
|
+
supported_categories = (BANK, DE_FACTO, OPTIONAL, PUBLIC)
|
|
52
74
|
supported_languages = ("en_US", "sv", "th", "uk")
|
|
53
75
|
|
|
54
76
|
def __init__(self, *args, include_sundays: bool = True, **kwargs):
|
|
@@ -126,6 +148,16 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
126
148
|
# Sunday.
|
|
127
149
|
self._add_holiday(tr("Söndag"), dt)
|
|
128
150
|
|
|
151
|
+
def _populate_de_facto_holidays(self):
|
|
152
|
+
# Midsummer Eve.
|
|
153
|
+
self._add_holiday_1st_fri_from_jun_19(tr("Midsommarafton"))
|
|
154
|
+
|
|
155
|
+
# Christmas Eve.
|
|
156
|
+
self._add_christmas_eve(tr("Julafton"))
|
|
157
|
+
|
|
158
|
+
# New Year's Eve.
|
|
159
|
+
self._add_new_years_eve(tr("Nyårsafton"))
|
|
160
|
+
|
|
129
161
|
def _populate_common(self):
|
|
130
162
|
"""Populate holidays that are both optional and bank holidays."""
|
|
131
163
|
|
|
@@ -138,22 +170,14 @@ class Sweden(HolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
138
170
|
# Walpurgis Night.
|
|
139
171
|
self._add_holiday_apr_30(self.tr(self.begin_time_label) % self.tr("Valborgsmässoafton"))
|
|
140
172
|
|
|
141
|
-
# Midsummer Eve.
|
|
142
|
-
self._add_holiday_1st_fri_from_jun_19(tr("Midsommarafton"))
|
|
143
|
-
|
|
144
173
|
self._add_holiday_1st_fri_from_oct_30(
|
|
145
174
|
# All Saints' Eve.
|
|
146
175
|
self.tr(self.begin_time_label) % self.tr("Allahelgonsafton")
|
|
147
176
|
)
|
|
148
177
|
|
|
149
|
-
# Christmas Eve.
|
|
150
|
-
self._add_christmas_eve(tr("Julafton"))
|
|
151
|
-
|
|
152
|
-
# New Year's Eve.
|
|
153
|
-
self._add_new_years_eve(tr("Nyårsafton"))
|
|
154
|
-
|
|
155
178
|
def _populate_bank_holidays(self):
|
|
156
179
|
self._populate_common()
|
|
180
|
+
self._populate_de_facto_holidays()
|
|
157
181
|
|
|
158
182
|
self._add_holiday_38_days_past_easter(
|
|
159
183
|
# Day before Ascension Day.
|
holidays/countries/taiwan.py
CHANGED
|
@@ -168,7 +168,7 @@ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays
|
|
|
168
168
|
|
|
169
169
|
if self._year >= 2026:
|
|
170
170
|
# Labor Day.
|
|
171
|
-
self._add_labor_day(tr("勞動節"))
|
|
171
|
+
dts_observed.add(self._add_labor_day(tr("勞動節")))
|
|
172
172
|
|
|
173
173
|
# Dragon Boat Festival.
|
|
174
174
|
dts_observed.add(self._add_dragon_boat_festival(tr("端午節")))
|
|
@@ -178,17 +178,17 @@ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays
|
|
|
178
178
|
|
|
179
179
|
if self._year >= 2025:
|
|
180
180
|
# Confucius' Birthday.
|
|
181
|
-
self._add_holiday_sep_28(tr("孔子誕辰紀念日"))
|
|
181
|
+
dts_observed.add(self._add_holiday_sep_28(tr("孔子誕辰紀念日")))
|
|
182
182
|
|
|
183
183
|
# National Day.
|
|
184
184
|
dts_observed.add(self._add_holiday_oct_10(tr("國慶日")))
|
|
185
185
|
|
|
186
186
|
if self._year >= 2025:
|
|
187
187
|
# Taiwan Restoration and Guningtou Victory Memorial Day.
|
|
188
|
-
self._add_holiday_oct_25(tr("臺灣光復暨金門古寧頭大捷紀念日"))
|
|
188
|
+
dts_observed.add(self._add_holiday_oct_25(tr("臺灣光復暨金門古寧頭大捷紀念日")))
|
|
189
189
|
|
|
190
190
|
# Constitution Day.
|
|
191
|
-
self._add_holiday_dec_25(tr("行憲紀念日"))
|
|
191
|
+
dts_observed.add(self._add_holiday_dec_25(tr("行憲紀念日")))
|
|
192
192
|
|
|
193
193
|
if self.observed:
|
|
194
194
|
self._populate_observed(dts_observed)
|
|
@@ -338,7 +338,8 @@ class TaiwanStaticHolidays:
|
|
|
338
338
|
* [2022](https://web.archive.org/web/20220809133226/https://www.dgpa.gov.tw/en/information?uid=353&pid=10659)
|
|
339
339
|
* [2023](https://web.archive.org/web/20220809133225/https://www.dgpa.gov.tw/en/information?uid=353&pid=11016)
|
|
340
340
|
* [2024](https://web.archive.org/web/20250414165829/https://www.dgpa.gov.tw/en/information?uid=353&pid=11402)
|
|
341
|
-
* [2025](https://web.archive.org/web/
|
|
341
|
+
* [2025](https://web.archive.org/web/20251220073230/https://www.dgpa.gov.tw/en/information?uid=353&pid=12579)
|
|
342
|
+
* [2026](https://web.archive.org/web/20251220074207/https://www.dgpa.gov.tw/en/information?uid=353&pid=12580)
|
|
342
343
|
"""
|
|
343
344
|
|
|
344
345
|
# Date format (see strftime() Format Codes).
|
|
@@ -39,6 +39,7 @@ class TurksAndCaicosIslands(ObservedHolidayBase, ChristianHolidays, Internationa
|
|
|
39
39
|
* [2025](https://web.archive.org/web/20250608202433/https://www.facebook.com/photo/?fbid=1019082573584944&set=a.353200576839817)
|
|
40
40
|
* [Destination TCI](https://web.archive.org/web/20250429024708/https://destinationtci.tc/turks-and-caicos-islands-public-holidays/)
|
|
41
41
|
* [Time and Date](https://web.archive.org/web/20250429024853/https://www.timeanddate.com/holidays/turks-and-caicos-islands/)
|
|
42
|
+
* [Constitution Day](https://web.archive.org/web/20251230163946/https://www.visittci.com/news/turks-and-caicos-public-holiday-changes-2026)
|
|
42
43
|
"""
|
|
43
44
|
|
|
44
45
|
country = "TC"
|
|
@@ -99,6 +100,18 @@ class TurksAndCaicosIslands(ObservedHolidayBase, ChristianHolidays, Internationa
|
|
|
99
100
|
# Emancipation Day.
|
|
100
101
|
self._add_observed(self._add_holiday_aug_1(tr("Emancipation Day")))
|
|
101
102
|
|
|
103
|
+
if self._year >= 2014:
|
|
104
|
+
# National Day of Thanksgiving.
|
|
105
|
+
name = tr("National Day of Thanksgiving")
|
|
106
|
+
if self._year >= 2026:
|
|
107
|
+
self._add_holiday_1_day_prior_last_mon_of_aug(name)
|
|
108
|
+
else:
|
|
109
|
+
self._add_holiday_4th_fri_of_nov(name)
|
|
110
|
+
|
|
111
|
+
if self._year >= 2026:
|
|
112
|
+
# Constitution Day.
|
|
113
|
+
self._add_holiday_last_mon_of_aug(tr("Constitution Day"))
|
|
114
|
+
|
|
102
115
|
# National Youth Day.
|
|
103
116
|
self._add_holiday_last_fri_of_sep(tr("National Youth Day"))
|
|
104
117
|
|
|
@@ -110,9 +123,6 @@ class TurksAndCaicosIslands(ObservedHolidayBase, ChristianHolidays, Internationa
|
|
|
110
123
|
else tr("Columbus Day")
|
|
111
124
|
)
|
|
112
125
|
|
|
113
|
-
# National Day of Thanksgiving.
|
|
114
|
-
self._add_holiday_4th_fri_of_nov(tr("National Day of Thanksgiving"))
|
|
115
|
-
|
|
116
126
|
self._add_observed(
|
|
117
127
|
# Christmas Day.
|
|
118
128
|
self._add_christmas_day(tr("Christmas Day")),
|