holidays 0.79__py3-none-any.whl → 0.81__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 +39 -1
- holidays/calendars/hindu.py +1 -0
- holidays/constants.py +0 -1
- holidays/countries/__init__.py +13 -0
- holidays/countries/argentina.py +4 -0
- holidays/countries/australia.py +191 -295
- holidays/countries/bosnia_and_herzegovina.py +5 -1
- holidays/countries/burkina_faso.py +5 -0
- holidays/countries/burundi.py +95 -40
- holidays/countries/cameroon.py +5 -0
- holidays/countries/canada.py +7 -0
- holidays/countries/chad.py +5 -0
- holidays/countries/china.py +4 -0
- holidays/countries/christmas_island.py +6 -0
- holidays/countries/comoros.py +121 -0
- holidays/countries/eritrea.py +104 -0
- holidays/countries/gabon.py +2 -0
- holidays/countries/georgia.py +9 -7
- holidays/countries/guinea_bissau.py +0 -4
- holidays/countries/hongkong.py +5 -1
- holidays/countries/kyrgyzstan.py +2 -0
- holidays/countries/macau.py +74 -63
- holidays/countries/maldives.py +2 -0
- holidays/countries/mauritania.py +2 -0
- holidays/countries/mongolia.py +2 -0
- holidays/countries/nigeria.py +198 -27
- holidays/countries/philippines.py +11 -2
- holidays/countries/rwanda.py +162 -0
- holidays/countries/saint_helena_ascension_and_tristan_da_cunha.py +197 -0
- holidays/countries/sierra_leone.py +1 -1
- holidays/countries/singapore.py +4 -0
- holidays/countries/somalia.py +79 -0
- holidays/countries/south_korea.py +4 -0
- holidays/countries/south_sudan.py +133 -0
- holidays/countries/spain.py +26 -0
- holidays/countries/sudan.py +115 -0
- holidays/countries/taiwan.py +5 -1
- holidays/countries/tajikistan.py +116 -0
- holidays/countries/tanzania.py +291 -147
- holidays/countries/turkmenistan.py +6 -0
- holidays/countries/uganda.py +101 -0
- holidays/countries/vietnam.py +4 -0
- holidays/financial/__init__.py +5 -0
- holidays/financial/national_stock_exchange_of_india.py +169 -0
- holidays/groups/chinese.py +3 -15
- holidays/groups/eastern.py +1 -3
- holidays/groups/islamic.py +10 -0
- holidays/locale/ar_SD/LC_MESSAGES/SD.mo +0 -0
- holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/en_GB/LC_MESSAGES/SH.mo +0 -0
- holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_IN/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/en_NG/LC_MESSAGES/NG.mo +0 -0
- holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BI.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/GW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KR.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/NG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/RW.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TJ.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/VN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/RW.mo +0 -0
- holidays/locale/fr_BI/LC_MESSAGES/BI.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
- holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
- holidays/locale/pt_GW/LC_MESSAGES/GW.mo +0 -0
- holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/ru/LC_MESSAGES/TJ.mo +0 -0
- holidays/locale/rw/LC_MESSAGES/RW.mo +0 -0
- holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
- holidays/locale/tg/LC_MESSAGES/TJ.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
- holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
- holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
- holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
- holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/GE.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/observed_holiday_base.py +1 -1
- holidays/registry.py +39 -14
- holidays/version.py +1 -1
- {holidays-0.79.dist-info → holidays-0.81.dist-info}/METADATA +76 -7
- {holidays-0.79.dist-info → holidays-0.81.dist-info}/RECORD +124 -97
- {holidays-0.79.dist-info → holidays-0.81.dist-info}/WHEEL +0 -0
- {holidays-0.79.dist-info → holidays-0.81.dist-info}/licenses/CONTRIBUTORS +0 -0
- {holidays-0.79.dist-info → holidays-0.81.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.79.dist-info → holidays-0.81.dist-info}/top_level.txt +0 -0
|
@@ -55,8 +55,12 @@ class BosniaAndHerzegovina(
|
|
|
55
55
|
|
|
56
56
|
country = "BA"
|
|
57
57
|
default_language = "bs"
|
|
58
|
+
# %s (estimated).
|
|
59
|
+
estimated_label = tr("%s (procijenjeno)")
|
|
60
|
+
# %s (observed, estimated).
|
|
61
|
+
observed_estimated_label = tr("%s (slobodan dan, procijenjeno)")
|
|
58
62
|
# %s (observed).
|
|
59
|
-
observed_label = tr("%s (
|
|
63
|
+
observed_label = tr("%s (slobodan dan)")
|
|
60
64
|
subdivisions = (
|
|
61
65
|
"BIH", # Federacija Bosne i Hercegovine.
|
|
62
66
|
"BRC", # Brčko distrikt.
|
|
@@ -24,6 +24,11 @@ class BurkinaFaso(ObservedHolidayBase, ChristianHolidays, InternationalHolidays,
|
|
|
24
24
|
"""
|
|
25
25
|
|
|
26
26
|
country = "BF"
|
|
27
|
+
# %s (estimated).
|
|
28
|
+
estimated_label = "%s (estimated)"
|
|
29
|
+
# %s (observed, estimated).
|
|
30
|
+
observed_estimated_label = "%s (observed, estimated)"
|
|
31
|
+
# %s (observed).
|
|
27
32
|
observed_label = "%s (observed)"
|
|
28
33
|
# On 5 August 1960, Burkina Faso (Republic of Upper Volta at that time)
|
|
29
34
|
# gained independence from France.
|
holidays/countries/burundi.py
CHANGED
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
15
|
+
from holidays.calendars import _CustomIslamicHolidays
|
|
16
|
+
from holidays.calendars.gregorian import JUN, JUL, SEP, OCT
|
|
13
17
|
from holidays.groups import ChristianHolidays, IslamicHolidays, InternationalHolidays
|
|
14
18
|
from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
|
|
15
19
|
|
|
@@ -18,16 +22,25 @@ class Burundi(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Isl
|
|
|
18
22
|
"""Burundi holidays.
|
|
19
23
|
|
|
20
24
|
References:
|
|
21
|
-
*
|
|
25
|
+
* [Décret n° 100/150 du 7 Juin 2021](https://web.archive.org/web/20240514031141/https://www.presidence.gov.bi/wp-content/uploads/2021/06/Liste-et-regime-des-jours-feries.pdf)
|
|
26
|
+
* [Republic of Burundi's Ministry of Foreign Affairs Public Holidays List](https://web.archive.org/web/20250820080112/https://www.mae.gov.bi/en/official-holidays/)
|
|
27
|
+
* <https://web.archive.org/web/20250820095115/https://www.timeanddate.com/holidays/burundi/2025>
|
|
22
28
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
29
|
+
When it appears inappropriate for a public holiday listed in Article 1 to be observed because
|
|
30
|
+
it coincides with a Sunday, it shall be postponed to the following working day, which shall
|
|
31
|
+
accordingly be considered a public holiday and observed as such.
|
|
26
32
|
"""
|
|
27
33
|
|
|
28
34
|
country = "BI"
|
|
29
|
-
|
|
35
|
+
# %s (estimated).
|
|
36
|
+
estimated_label = tr("%s (estimé)")
|
|
37
|
+
default_language = "fr_BI"
|
|
38
|
+
# %s (observed, estimated).
|
|
39
|
+
observed_estimated_label = tr("%s (observé, estimé)")
|
|
40
|
+
# %s (observed).
|
|
41
|
+
observed_label = tr("%s (observé)")
|
|
30
42
|
start_year = 1962
|
|
43
|
+
supported_languages = ("en_US", "fr_BI")
|
|
31
44
|
|
|
32
45
|
def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
|
|
33
46
|
"""
|
|
@@ -38,58 +51,82 @@ class Burundi(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Isl
|
|
|
38
51
|
"""
|
|
39
52
|
ChristianHolidays.__init__(self)
|
|
40
53
|
InternationalHolidays.__init__(self)
|
|
41
|
-
IslamicHolidays.__init__(
|
|
54
|
+
IslamicHolidays.__init__(
|
|
55
|
+
self, cls=BurundiIslamicHolidays, show_estimated=islamic_show_estimated
|
|
56
|
+
)
|
|
42
57
|
kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
|
|
43
58
|
super().__init__(*args, **kwargs)
|
|
44
59
|
|
|
45
60
|
def _populate_public_holidays(self):
|
|
46
|
-
|
|
47
|
-
|
|
61
|
+
dts_observed = set()
|
|
62
|
+
|
|
63
|
+
# New Year's Day.
|
|
64
|
+
dts_observed.add(self._add_new_years_day(tr("Jour de l'an")))
|
|
48
65
|
|
|
49
|
-
# Unity Day
|
|
50
66
|
if self._year >= 1992:
|
|
51
|
-
|
|
67
|
+
# Unity Day.
|
|
68
|
+
dts_observed.add(self._add_holiday_feb_5(tr("Fête de l'Unité")))
|
|
52
69
|
|
|
53
|
-
# President Ntaryamira Day
|
|
54
70
|
if self._year >= 1995:
|
|
55
|
-
|
|
71
|
+
dts_observed.add(
|
|
72
|
+
self._add_holiday_apr_6(
|
|
73
|
+
# Commemoration of the Assassination of President Cyprien Ntaryamira.
|
|
74
|
+
tr("Commémoration de l'Assassinat du Président Cyprien Ntaryamira")
|
|
75
|
+
)
|
|
76
|
+
)
|
|
56
77
|
|
|
57
|
-
#
|
|
58
|
-
|
|
78
|
+
# International Labor Day.
|
|
79
|
+
dts_observed.add(self._add_labor_day(tr("Fête Internationale du Travail")))
|
|
59
80
|
|
|
60
|
-
# Ascension Day
|
|
61
|
-
self._add_ascension_thursday("Ascension
|
|
81
|
+
# Ascension Day.
|
|
82
|
+
self._add_ascension_thursday(tr("Jour de l'Ascension"))
|
|
62
83
|
|
|
63
|
-
# President Nkurunziza Day
|
|
64
84
|
if self._year >= 2022:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
#
|
|
85
|
+
dts_observed.add(
|
|
86
|
+
self._add_holiday_jun_8(
|
|
87
|
+
# National Day of Patriotism and Commemoration of the Death of
|
|
88
|
+
# President Pierre Nkurunziza.
|
|
89
|
+
tr(
|
|
90
|
+
"Journée Nationale du Patriotisme et Commémoration de la Mort "
|
|
91
|
+
"du Président Pierre Nkurunziza"
|
|
92
|
+
)
|
|
93
|
+
)
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
# Independence Day.
|
|
97
|
+
dts_observed.add(self._add_holiday_jul_1(tr("Anniversaire de l'Indépendance")))
|
|
98
|
+
|
|
99
|
+
# Assumption Day.
|
|
100
|
+
dts_observed.add(self._add_assumption_of_mary_day(tr("Assomption")))
|
|
101
|
+
|
|
102
|
+
dts_observed.add(
|
|
103
|
+
self._add_holiday_oct_13(
|
|
104
|
+
# Commemoration of the Assassination of National Hero, Prince Louis Rwagasore.
|
|
105
|
+
tr("Commémoration de l'Assassinat du Héros National, le Prince Louis Rwagasore")
|
|
106
|
+
)
|
|
107
|
+
)
|
|
77
108
|
if self._year >= 1994:
|
|
78
|
-
|
|
109
|
+
dts_observed.add(
|
|
110
|
+
self._add_holiday_oct_21(
|
|
111
|
+
# Commemoration of the Assassination of President Melchior Ndadaye.
|
|
112
|
+
tr("Commémoration de l'Assassinat du Président Melchior Ndadaye")
|
|
113
|
+
)
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
# All Saints' Day.
|
|
117
|
+
dts_observed.add(self._add_all_saints_day(tr("Toussaint")))
|
|
79
118
|
|
|
80
|
-
#
|
|
81
|
-
|
|
119
|
+
# Christmas Day.
|
|
120
|
+
dts_observed.add(self._add_christmas_day(tr("Noël")))
|
|
82
121
|
|
|
83
|
-
#
|
|
84
|
-
|
|
122
|
+
# Eid al-Fitr.
|
|
123
|
+
dts_observed.update(self._add_eid_al_fitr_day(tr("Aid-El-Fithr")))
|
|
85
124
|
|
|
86
|
-
# Eid
|
|
87
|
-
|
|
88
|
-
self._add_observed(dt)
|
|
125
|
+
# Eid al-Adha.
|
|
126
|
+
dts_observed.update(self._add_eid_al_adha_day(tr("Aid-El-Adha")))
|
|
89
127
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
self._add_observed(dt)
|
|
128
|
+
if self.observed:
|
|
129
|
+
self._populate_observed(dts_observed)
|
|
93
130
|
|
|
94
131
|
|
|
95
132
|
class BI(Burundi):
|
|
@@ -98,3 +135,21 @@ class BI(Burundi):
|
|
|
98
135
|
|
|
99
136
|
class BDI(Burundi):
|
|
100
137
|
pass
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
class BurundiIslamicHolidays(_CustomIslamicHolidays):
|
|
141
|
+
EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2014, 2025)
|
|
142
|
+
EID_AL_ADHA_DATES = {
|
|
143
|
+
2014: (OCT, 5),
|
|
144
|
+
2015: (SEP, 24),
|
|
145
|
+
2016: (SEP, 13),
|
|
146
|
+
2017: (SEP, 2),
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
EID_AL_FITR_DATES_CONFIRMED_YEARS = (2014, 2025)
|
|
150
|
+
EID_AL_FITR_DATES = {
|
|
151
|
+
2014: (JUL, 29),
|
|
152
|
+
2015: (JUL, 18),
|
|
153
|
+
2016: (JUL, 7),
|
|
154
|
+
2017: (JUN, 26),
|
|
155
|
+
}
|
holidays/countries/cameroon.py
CHANGED
|
@@ -33,6 +33,11 @@ class Cameroon(
|
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
35
|
country = "CM"
|
|
36
|
+
# %s (estimated).
|
|
37
|
+
estimated_label = "%s (estimated)"
|
|
38
|
+
# %s (observed, estimated).
|
|
39
|
+
observed_estimated_label = "%s (observed, estimated)"
|
|
40
|
+
# %s (observed).
|
|
36
41
|
observed_label = "%s (observed)"
|
|
37
42
|
# On 1 January 1960, French Cameroun gained independence from France.
|
|
38
43
|
start_year = 1960
|
holidays/countries/canada.py
CHANGED
|
@@ -46,6 +46,7 @@ class Canada(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
|
|
|
46
46
|
* <https://web.archive.org/web/20250428154427/https://recherche-collection-search.bac-lac.gc.ca/eng/home/record?idnumber=9326&app=diawlmking&ecopy=80003QJW>
|
|
47
47
|
* <https://web.archive.org/web/20240915001506/https://www.britannica.com/topic/Victoria-Day>
|
|
48
48
|
* [NT National Aboriginal Day](https://web.archive.org/web/20160623071755/http://www.daair.gov.nt.ca/_live/pages/wpPages/National_Aboriginal_Day.aspx)
|
|
49
|
+
* [MB National Day for Truth and Reconciliation](https://web.archive.org/web/20240714223654/https://web2.gov.mb.ca/bills/43-1/b004e.php)
|
|
49
50
|
"""
|
|
50
51
|
|
|
51
52
|
country = "CA"
|
|
@@ -277,6 +278,12 @@ class Canada(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
|
|
|
277
278
|
|
|
278
279
|
self._add_victoria_day()
|
|
279
280
|
|
|
281
|
+
if self._year >= 2024:
|
|
282
|
+
self._add_observed(
|
|
283
|
+
# National Day for Truth and Reconciliation.
|
|
284
|
+
self._add_holiday_sep_30(tr("National Day for Truth and Reconciliation"))
|
|
285
|
+
)
|
|
286
|
+
|
|
280
287
|
self._add_thanksgiving_day()
|
|
281
288
|
|
|
282
289
|
def _populate_subdiv_mb_optional_holidays(self):
|
holidays/countries/chad.py
CHANGED
|
@@ -32,6 +32,11 @@ class Chad(
|
|
|
32
32
|
"""
|
|
33
33
|
|
|
34
34
|
country = "TD"
|
|
35
|
+
# %s (estimated).
|
|
36
|
+
estimated_label = "%s (estimated)"
|
|
37
|
+
# %s (observed, estimated).
|
|
38
|
+
observed_estimated_label = "%s (observed, estimated)"
|
|
39
|
+
# %s (observed).
|
|
35
40
|
observed_label = "%s (observed)"
|
|
36
41
|
# On 11 August 1960, Chad gained independence from France.
|
|
37
42
|
start_year = 1961
|
holidays/countries/china.py
CHANGED
|
@@ -65,6 +65,10 @@ class China(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays,
|
|
|
65
65
|
"""
|
|
66
66
|
|
|
67
67
|
country = "CN"
|
|
68
|
+
# %s (estimated).
|
|
69
|
+
estimated_label = tr("%s(推定)")
|
|
70
|
+
# %s (observed, estimated).
|
|
71
|
+
observed_estimated_label = tr("%s(观察日,推定)")
|
|
68
72
|
# %s (observed).
|
|
69
73
|
observed_label = tr("%s(观察日)")
|
|
70
74
|
supported_categories = (PUBLIC, HALF_DAY)
|
|
@@ -72,6 +72,12 @@ class ChristmasIsland(
|
|
|
72
72
|
start_year = 2007
|
|
73
73
|
|
|
74
74
|
def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
|
|
75
|
+
"""
|
|
76
|
+
Args:
|
|
77
|
+
islamic_show_estimated:
|
|
78
|
+
Whether to add "estimated" label to Islamic holidays name
|
|
79
|
+
if holiday date is estimated.
|
|
80
|
+
"""
|
|
75
81
|
ChineseCalendarHolidays.__init__(self, cls=ChristmasIslandChineseHolidays)
|
|
76
82
|
ChristianHolidays.__init__(self)
|
|
77
83
|
InternationalHolidays.__init__(self)
|
|
@@ -0,0 +1,121 @@
|
|
|
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.calendars import _CustomIslamicHolidays
|
|
14
|
+
from holidays.calendars.gregorian import JAN, APR, OCT
|
|
15
|
+
from holidays.groups import (
|
|
16
|
+
ChristianHolidays,
|
|
17
|
+
IslamicHolidays,
|
|
18
|
+
InternationalHolidays,
|
|
19
|
+
StaticHolidays,
|
|
20
|
+
)
|
|
21
|
+
from holidays.holiday_base import HolidayBase
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Comoros(
|
|
25
|
+
HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays, StaticHolidays
|
|
26
|
+
):
|
|
27
|
+
"""Comoros holidays.
|
|
28
|
+
|
|
29
|
+
References:
|
|
30
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_the_Comoros>
|
|
31
|
+
* [Prophet's Birthday 2021](https://web.archive.org/web/20250712053206/https://scontent-del1-2.xx.fbcdn.net/v/t39.30808-6/471586197_1113861707132176_3696210890184034016_n.jpg?_nc_cat=100&ccb=1-7&_nc_sid=833d8c&_nc_ohc=3hfvuVNGVbMQ7kNvwHvrgbW&_nc_oc=AdnuDzvtcvdBJMoN-qSW7Pnx2fnzj2TFgwMSRklpM_Na-5AaB9y8D0U5BINcxL-vVL0&_nc_zt=23&_nc_ht=scontent-del1-2.xx&_nc_gid=HWC_59SRsyDfwGxku5bqXw&oh=00_AfSk0LCPS7PARPjdX5-vfM_lr7WxZnrkA9jRyrdUFhoyMQ&oe=68736290)
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
country = "KM"
|
|
35
|
+
# %s (estimated).
|
|
36
|
+
estimated_label = "%s (estimated)"
|
|
37
|
+
# Independence from France on July 6, 1975.
|
|
38
|
+
start_year = 1976
|
|
39
|
+
|
|
40
|
+
def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
|
|
41
|
+
"""
|
|
42
|
+
Args:
|
|
43
|
+
islamic_show_estimated:
|
|
44
|
+
Whether to add "estimated" label to Islamic holidays name
|
|
45
|
+
if holiday date is estimated.
|
|
46
|
+
"""
|
|
47
|
+
ChristianHolidays.__init__(self)
|
|
48
|
+
InternationalHolidays.__init__(self)
|
|
49
|
+
IslamicHolidays.__init__(
|
|
50
|
+
self, cls=ComorosIslamicHolidays, show_estimated=islamic_show_estimated
|
|
51
|
+
)
|
|
52
|
+
StaticHolidays.__init__(self, ComorosStaticHolidays)
|
|
53
|
+
super().__init__(*args, **kwargs)
|
|
54
|
+
|
|
55
|
+
def _populate_public_holidays(self):
|
|
56
|
+
# New Year's Day.
|
|
57
|
+
self._add_new_years_day("New Year's Day")
|
|
58
|
+
|
|
59
|
+
# Cheikh al Maarouf Day.
|
|
60
|
+
self._add_holiday_mar_18("Cheikh al Maarouf Day")
|
|
61
|
+
|
|
62
|
+
# Labor Day.
|
|
63
|
+
self._add_labor_day("Labour Day")
|
|
64
|
+
|
|
65
|
+
# National Day.
|
|
66
|
+
self._add_holiday_jul_6("National Day")
|
|
67
|
+
|
|
68
|
+
if self._year >= 2006:
|
|
69
|
+
# Maore Day.
|
|
70
|
+
self._add_holiday_nov_12("Maore Day")
|
|
71
|
+
|
|
72
|
+
# Christmas Day.
|
|
73
|
+
self._add_christmas_day("Christmas Day")
|
|
74
|
+
|
|
75
|
+
# Islamic New Year.
|
|
76
|
+
self._add_islamic_new_year_day("Islamic New Year")
|
|
77
|
+
|
|
78
|
+
# Prophet's Birthday.
|
|
79
|
+
self._add_mawlid_day("Prophet's Birthday")
|
|
80
|
+
|
|
81
|
+
# Isra' and Mi'raj.
|
|
82
|
+
self._add_isra_and_miraj_day("Isra' and Mi'raj")
|
|
83
|
+
|
|
84
|
+
# Eid al-Fitr.
|
|
85
|
+
name = "Eid al-Fitr"
|
|
86
|
+
self._add_eid_al_fitr_day(name)
|
|
87
|
+
self._add_eid_al_fitr_day_two(name)
|
|
88
|
+
self._add_eid_al_fitr_day_three(name)
|
|
89
|
+
|
|
90
|
+
# Eid al-Adha.
|
|
91
|
+
name = "Eid al-Adha"
|
|
92
|
+
self._add_eid_al_adha_day(name)
|
|
93
|
+
self._add_eid_al_adha_day_two(name)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class KM(Comoros):
|
|
97
|
+
pass
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class COM(Comoros):
|
|
101
|
+
pass
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class ComorosIslamicHolidays(_CustomIslamicHolidays):
|
|
105
|
+
MAWLID_DATES = {
|
|
106
|
+
2021: (OCT, 19),
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
class ComorosStaticHolidays:
|
|
111
|
+
"""Comoros special holidays.
|
|
112
|
+
|
|
113
|
+
References:
|
|
114
|
+
* [Décret N°24-056PR](https://web.archive.org/web/20250717033820/https://munganyo.km/decrees/225)
|
|
115
|
+
* [Décret N°25-008PR](https://web.archive.org/web/20250715223159/https://munganyo.km/decrees/374)
|
|
116
|
+
"""
|
|
117
|
+
|
|
118
|
+
special_public_holidays = {
|
|
119
|
+
2024: (APR, 13, "National Holiday"),
|
|
120
|
+
2025: (JAN, 30, "Election Partial Day Holiday"),
|
|
121
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
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.calendars.ethiopian import ETHIOPIAN_CALENDAR
|
|
14
|
+
from holidays.constants import GOVERNMENT, PUBLIC
|
|
15
|
+
from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
|
|
16
|
+
from holidays.holiday_base import HolidayBase
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class Eritrea(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
|
|
20
|
+
"""Eritrea holidays.
|
|
21
|
+
|
|
22
|
+
References:
|
|
23
|
+
* <https://en.wikipedia.org/wiki/Public_holidays_in_Eritrea>
|
|
24
|
+
* <https://web.archive.org/web/20230313234629/https://explore-eritrea.com/working-hours-and-holidays/>
|
|
25
|
+
* <https://web.archive.org/web/20110903130335/http://www.eritrea.be/old/eritrea-religions.htm>
|
|
26
|
+
* <https://web.archive.org/web/20250820085307/https://www.mintageworld.com/media/detail/11411-fenkil-day-in-eritrea/>
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
country = "ER"
|
|
30
|
+
# %s (estimated).
|
|
31
|
+
estimated_label = "%s (estimated)"
|
|
32
|
+
# On 28 May 1993, Eritrea was admitted into the United Nations as the 182nd member state.
|
|
33
|
+
start_year = 1994
|
|
34
|
+
supported_categories = (GOVERNMENT, PUBLIC)
|
|
35
|
+
|
|
36
|
+
def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
|
|
37
|
+
"""
|
|
38
|
+
Args:
|
|
39
|
+
islamic_show_estimated:
|
|
40
|
+
Whether to add "estimated" label to Islamic holidays name
|
|
41
|
+
if holiday date is estimated.
|
|
42
|
+
"""
|
|
43
|
+
ChristianHolidays.__init__(self, ETHIOPIAN_CALENDAR)
|
|
44
|
+
InternationalHolidays.__init__(self)
|
|
45
|
+
IslamicHolidays.__init__(self, show_estimated=islamic_show_estimated)
|
|
46
|
+
super().__init__(*args, **kwargs)
|
|
47
|
+
|
|
48
|
+
def _populate_public_holidays(self):
|
|
49
|
+
# New Year's Day.
|
|
50
|
+
self._add_new_years_day("New Year's Day")
|
|
51
|
+
|
|
52
|
+
# Orthodox Christmas.
|
|
53
|
+
self._add_christmas_day("Orthodox Christmas")
|
|
54
|
+
|
|
55
|
+
# Epiphany.
|
|
56
|
+
self._add_epiphany_day("Epiphany")
|
|
57
|
+
|
|
58
|
+
# Women's Day.
|
|
59
|
+
self._add_womens_day("Women's Day")
|
|
60
|
+
|
|
61
|
+
# Good Friday.
|
|
62
|
+
self._add_good_friday("Good Friday")
|
|
63
|
+
|
|
64
|
+
# Orthodox Easter.
|
|
65
|
+
self._add_easter_sunday("Orthodox Easter")
|
|
66
|
+
|
|
67
|
+
# International Workers' Day.
|
|
68
|
+
self._add_labor_day("International Workers' Day")
|
|
69
|
+
|
|
70
|
+
# Independence Day.
|
|
71
|
+
self._add_holiday_may_24("Independence Day")
|
|
72
|
+
|
|
73
|
+
# Martyrs' Day.
|
|
74
|
+
self._add_holiday_jun_20("Martyrs' Day")
|
|
75
|
+
|
|
76
|
+
# Revolution Day.
|
|
77
|
+
self._add_holiday_sep_1("Revolution Day")
|
|
78
|
+
|
|
79
|
+
# Ethiopian New Year.
|
|
80
|
+
self._add_ethiopian_new_year("Ethiopian New Year")
|
|
81
|
+
|
|
82
|
+
# Finding of the True Cross.
|
|
83
|
+
self._add_finding_of_true_cross("Finding of the True Cross")
|
|
84
|
+
|
|
85
|
+
# Prophet's Birthday.
|
|
86
|
+
self._add_mawlid_day("Prophet's Birthday")
|
|
87
|
+
|
|
88
|
+
# Eid al-Fitr.
|
|
89
|
+
self._add_eid_al_fitr_day("Eid al-Fitr")
|
|
90
|
+
|
|
91
|
+
# Eid al-Adha.
|
|
92
|
+
self._add_eid_al_adha_day("Eid al-Adha")
|
|
93
|
+
|
|
94
|
+
def _populate_government_holidays(self):
|
|
95
|
+
# Fenkil Day.
|
|
96
|
+
self._add_holiday_feb_10("Fenkil Day")
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
class ER(Eritrea):
|
|
100
|
+
pass
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class ERI(Eritrea):
|
|
104
|
+
pass
|
holidays/countries/gabon.py
CHANGED
holidays/countries/georgia.py
CHANGED
|
@@ -12,9 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
from gettext import gettext as tr
|
|
14
14
|
|
|
15
|
-
from holidays.calendars.gregorian import MAY
|
|
15
|
+
from holidays.calendars.gregorian import MAY, AUG
|
|
16
16
|
from holidays.calendars.julian import JULIAN_CALENDAR
|
|
17
|
-
from holidays.constants import GOVERNMENT, PUBLIC
|
|
18
17
|
from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
|
|
19
18
|
from holidays.holiday_base import HolidayBase
|
|
20
19
|
|
|
@@ -29,7 +28,6 @@ class Georgia(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
|
|
|
29
28
|
"""
|
|
30
29
|
|
|
31
30
|
country = "GE"
|
|
32
|
-
supported_categories = (GOVERNMENT, PUBLIC)
|
|
33
31
|
default_language = "ka"
|
|
34
32
|
supported_languages = ("en_US", "ka", "uk")
|
|
35
33
|
start_year = 1991
|
|
@@ -109,10 +107,14 @@ class GeorgiaStaticHolidays:
|
|
|
109
107
|
"""Georgia special holidays.
|
|
110
108
|
|
|
111
109
|
References:
|
|
112
|
-
*
|
|
110
|
+
* [Decree 167 of 15/05/2024](https://web.archive.org/web/20240620045954/https://www.matsne.gov.ge/ka/document/view/6173967?publication=0)
|
|
111
|
+
* [Decree 381 of 25/08/2025](https://archive.org/details/matsne-6612161-0)
|
|
113
112
|
"""
|
|
114
113
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
# Public Holiday.
|
|
115
|
+
public_holiday = tr("უქმე დღე")
|
|
116
|
+
|
|
117
|
+
special_public_holidays = {
|
|
118
|
+
2024: (MAY, 17, public_holiday),
|
|
119
|
+
2025: (AUG, 29, public_holiday),
|
|
118
120
|
}
|
|
@@ -28,10 +28,6 @@ class GuineaBissau(HolidayBase, ChristianHolidays, InternationalHolidays, Islami
|
|
|
28
28
|
default_language = "pt_GW"
|
|
29
29
|
# %s (estimated).
|
|
30
30
|
estimated_label = tr("%s (prevista)")
|
|
31
|
-
# %s (observed).
|
|
32
|
-
observed_label = tr("%s (ponte)")
|
|
33
|
-
# %s (estimated, observed).
|
|
34
|
-
observed_estimated_label = tr("%s (prevista, ponte)")
|
|
35
31
|
supported_languages = ("en_US", "pt_GW")
|
|
36
32
|
start_year = 2023
|
|
37
33
|
|
holidays/countries/hongkong.py
CHANGED
|
@@ -69,8 +69,12 @@ class HongKong(
|
|
|
69
69
|
country = "HK"
|
|
70
70
|
default_language = "zh_HK"
|
|
71
71
|
default_preferred_discretionary_holidays = (CHRISTMAS,)
|
|
72
|
+
# %s (estimated).
|
|
73
|
+
estimated_label = tr("%s(推定)")
|
|
74
|
+
# %s (observed, estimated).
|
|
75
|
+
observed_estimated_label = tr("%s(補假,推定)")
|
|
72
76
|
# %s (observed).
|
|
73
|
-
observed_label = tr("%s
|
|
77
|
+
observed_label = tr("%s(補假)")
|
|
74
78
|
supported_categories = (OPTIONAL, PUBLIC)
|
|
75
79
|
supported_languages = ("en_HK", "en_US", "th", "zh_CN", "zh_HK")
|
|
76
80
|
weekend = {SUN}
|
holidays/countries/kyrgyzstan.py
CHANGED