holidays 0.69__py3-none-any.whl → 0.71__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.
Files changed (249) hide show
  1. holidays/__init__.py +1 -1
  2. holidays/calendars/__init__.py +1 -1
  3. holidays/calendars/balinese_saka.py +3 -3
  4. holidays/calendars/buddhist.py +1 -1
  5. holidays/calendars/chinese.py +1 -1
  6. holidays/calendars/custom.py +1 -1
  7. holidays/calendars/gregorian.py +1 -1
  8. holidays/calendars/hebrew.py +1 -1
  9. holidays/calendars/hindu.py +1 -1
  10. holidays/calendars/islamic.py +161 -1
  11. holidays/calendars/julian.py +1 -1
  12. holidays/calendars/julian_revised.py +1 -1
  13. holidays/calendars/persian.py +1 -1
  14. holidays/calendars/sinhala.py +1 -1
  15. holidays/calendars/thai.py +309 -257
  16. holidays/constants.py +2 -1
  17. holidays/countries/__init__.py +10 -1
  18. holidays/countries/afghanistan.py +11 -7
  19. holidays/countries/albania.py +10 -7
  20. holidays/countries/algeria.py +10 -10
  21. holidays/countries/american_samoa.py +6 -4
  22. holidays/countries/andorra.py +5 -4
  23. holidays/countries/angola.py +15 -14
  24. holidays/countries/antigua_and_barbuda.py +145 -0
  25. holidays/countries/argentina.py +787 -169
  26. holidays/countries/armenia.py +5 -6
  27. holidays/countries/aruba.py +11 -9
  28. holidays/countries/australia.py +21 -20
  29. holidays/countries/austria.py +3 -1
  30. holidays/countries/azerbaijan.py +24 -19
  31. holidays/countries/bahamas.py +13 -11
  32. holidays/countries/bahrain.py +8 -7
  33. holidays/countries/bangladesh.py +5 -4
  34. holidays/countries/barbados.py +11 -9
  35. holidays/countries/belarus.py +15 -15
  36. holidays/countries/belgium.py +8 -6
  37. holidays/countries/belize.py +7 -6
  38. holidays/countries/bolivia.py +12 -11
  39. holidays/countries/bosnia_and_herzegovina.py +15 -11
  40. holidays/countries/botswana.py +8 -6
  41. holidays/countries/brazil.py +8 -7
  42. holidays/countries/brunei.py +50 -62
  43. holidays/countries/bulgaria.py +9 -10
  44. holidays/countries/burkina_faso.py +8 -5
  45. holidays/countries/burundi.py +13 -12
  46. holidays/countries/cambodia.py +15 -24
  47. holidays/countries/cameroon.py +10 -7
  48. holidays/countries/canada.py +13 -12
  49. holidays/countries/chad.py +9 -6
  50. holidays/countries/chile.py +29 -28
  51. holidays/countries/china.py +39 -38
  52. holidays/countries/colombia.py +15 -20
  53. holidays/countries/congo.py +6 -7
  54. holidays/countries/costa_rica.py +11 -10
  55. holidays/countries/croatia.py +8 -5
  56. holidays/countries/cuba.py +30 -27
  57. holidays/countries/curacao.py +6 -4
  58. holidays/countries/cyprus.py +4 -5
  59. holidays/countries/czechia.py +7 -6
  60. holidays/countries/denmark.py +5 -6
  61. holidays/countries/djibouti.py +7 -3
  62. holidays/countries/dominica.py +18 -16
  63. holidays/countries/dominican_republic.py +6 -4
  64. holidays/countries/ecuador.py +5 -4
  65. holidays/countries/egypt.py +6 -11
  66. holidays/countries/el_salvador.py +6 -5
  67. holidays/countries/estonia.py +3 -1
  68. holidays/countries/eswatini.py +6 -4
  69. holidays/countries/ethiopia.py +20 -11
  70. holidays/countries/fiji.py +183 -0
  71. holidays/countries/finland.py +11 -10
  72. holidays/countries/france.py +7 -10
  73. holidays/countries/french_southern_territories.py +53 -0
  74. holidays/countries/gabon.py +11 -8
  75. holidays/countries/georgia.py +7 -7
  76. holidays/countries/germany.py +11 -11
  77. holidays/countries/ghana.py +10 -6
  78. holidays/countries/greece.py +4 -5
  79. holidays/countries/greenland.py +5 -6
  80. holidays/countries/guam.py +6 -4
  81. holidays/countries/guatemala.py +7 -9
  82. holidays/countries/guernsey.py +37 -34
  83. holidays/countries/guinea.py +182 -0
  84. holidays/countries/haiti.py +6 -5
  85. holidays/countries/honduras.py +8 -4
  86. holidays/countries/hongkong.py +11 -8
  87. holidays/countries/hungary.py +26 -23
  88. holidays/countries/iceland.py +5 -4
  89. holidays/countries/india.py +14 -10
  90. holidays/countries/indonesia.py +57 -53
  91. holidays/countries/iran.py +12 -9
  92. holidays/countries/ireland.py +5 -4
  93. holidays/countries/isle_of_man.py +2 -2
  94. holidays/countries/israel.py +4 -5
  95. holidays/countries/italy.py +5 -4
  96. holidays/countries/ivory_coast.py +156 -0
  97. holidays/countries/jamaica.py +6 -4
  98. holidays/countries/japan.py +5 -5
  99. holidays/countries/jersey.py +29 -26
  100. holidays/countries/jordan.py +9 -6
  101. holidays/countries/kazakhstan.py +66 -51
  102. holidays/countries/kenya.py +22 -18
  103. holidays/countries/kuwait.py +10 -7
  104. holidays/countries/kyrgyzstan.py +7 -6
  105. holidays/countries/laos.py +21 -29
  106. holidays/countries/latvia.py +7 -5
  107. holidays/countries/lesotho.py +6 -5
  108. holidays/countries/liechtenstein.py +5 -5
  109. holidays/countries/lithuania.py +4 -5
  110. holidays/countries/luxembourg.py +5 -3
  111. holidays/countries/macau.py +32 -26
  112. holidays/countries/madagascar.py +5 -4
  113. holidays/countries/malawi.py +6 -4
  114. holidays/countries/malaysia.py +29 -19
  115. holidays/countries/maldives.py +10 -7
  116. holidays/countries/malta.py +10 -19
  117. holidays/countries/marshall_islands.py +6 -4
  118. holidays/countries/mauritania.py +9 -6
  119. holidays/countries/mexico.py +8 -7
  120. holidays/countries/moldova.py +6 -4
  121. holidays/countries/monaco.py +6 -4
  122. holidays/countries/montenegro.py +10 -7
  123. holidays/countries/morocco.py +9 -8
  124. holidays/countries/mozambique.py +3 -1
  125. holidays/countries/namibia.py +7 -5
  126. holidays/countries/netherlands.py +6 -6
  127. holidays/countries/new_zealand.py +3 -1
  128. holidays/countries/nicaragua.py +6 -5
  129. holidays/countries/nigeria.py +9 -5
  130. holidays/countries/north_macedonia.py +9 -5
  131. holidays/countries/northern_mariana_islands.py +6 -4
  132. holidays/countries/norway.py +15 -15
  133. holidays/countries/oman.py +185 -0
  134. holidays/countries/pakistan.py +48 -17
  135. holidays/countries/palau.py +13 -11
  136. holidays/countries/panama.py +9 -8
  137. holidays/countries/papua_new_guinea.py +25 -21
  138. holidays/countries/paraguay.py +10 -9
  139. holidays/countries/peru.py +4 -5
  140. holidays/countries/philippines.py +25 -21
  141. holidays/countries/poland.py +6 -5
  142. holidays/countries/portugal.py +13 -15
  143. holidays/countries/puerto_rico.py +6 -4
  144. holidays/countries/qatar.py +172 -0
  145. holidays/countries/romania.py +6 -4
  146. holidays/countries/russia.py +6 -4
  147. holidays/countries/saint_kitts_and_nevis.py +24 -22
  148. holidays/countries/saint_lucia.py +8 -7
  149. holidays/countries/samoa.py +7 -6
  150. holidays/countries/san_marino.py +4 -3
  151. holidays/countries/saudi_arabia.py +11 -15
  152. holidays/countries/serbia.py +3 -4
  153. holidays/countries/seychelles.py +22 -26
  154. holidays/countries/sierra_leone.py +149 -0
  155. holidays/countries/singapore.py +29 -39
  156. holidays/countries/slovakia.py +6 -5
  157. holidays/countries/slovenia.py +7 -6
  158. holidays/countries/south_africa.py +8 -6
  159. holidays/countries/south_korea.py +39 -47
  160. holidays/countries/spain.py +25 -24
  161. holidays/countries/sri_lanka.py +46 -42
  162. holidays/countries/suriname.py +227 -0
  163. holidays/countries/sweden.py +20 -19
  164. holidays/countries/switzerland.py +6 -5
  165. holidays/countries/taiwan.py +52 -49
  166. holidays/countries/tanzania.py +28 -27
  167. holidays/countries/thailand.py +134 -142
  168. holidays/countries/timor_leste.py +20 -18
  169. holidays/countries/tonga.py +46 -42
  170. holidays/countries/tunisia.py +5 -3
  171. holidays/countries/turkey.py +11 -9
  172. holidays/countries/tuvalu.py +12 -11
  173. holidays/countries/ukraine.py +54 -54
  174. holidays/countries/united_arab_emirates.py +37 -30
  175. holidays/countries/united_kingdom.py +7 -6
  176. holidays/countries/united_states.py +50 -55
  177. holidays/countries/united_states_minor_outlying_islands.py +6 -4
  178. holidays/countries/united_states_virgin_islands.py +6 -4
  179. holidays/countries/uruguay.py +10 -9
  180. holidays/countries/uzbekistan.py +10 -7
  181. holidays/countries/vanuatu.py +7 -5
  182. holidays/countries/vatican_city.py +16 -15
  183. holidays/countries/venezuela.py +11 -14
  184. holidays/countries/vietnam.py +15 -11
  185. holidays/countries/zambia.py +8 -6
  186. holidays/countries/zimbabwe.py +6 -4
  187. holidays/deprecations/v1_incompatibility.py +1 -1
  188. holidays/financial/__init__.py +1 -1
  189. holidays/financial/brasil_bolsa_balcao.py +14 -13
  190. holidays/financial/european_central_bank.py +7 -6
  191. holidays/financial/ice_futures_europe.py +7 -6
  192. holidays/financial/ny_stock_exchange.py +13 -10
  193. holidays/groups/__init__.py +1 -1
  194. holidays/groups/balinese_saka.py +1 -1
  195. holidays/groups/buddhist.py +1 -1
  196. holidays/groups/chinese.py +1 -1
  197. holidays/groups/christian.py +1 -1
  198. holidays/groups/custom.py +1 -1
  199. holidays/groups/eastern.py +1 -1
  200. holidays/groups/hebrew.py +1 -1
  201. holidays/groups/hindu.py +1 -1
  202. holidays/groups/international.py +1 -1
  203. holidays/groups/islamic.py +22 -1
  204. holidays/groups/persian.py +1 -1
  205. holidays/groups/sinhala.py +1 -1
  206. holidays/groups/thai.py +1 -7
  207. holidays/helpers.py +1 -1
  208. holidays/holiday_base.py +393 -245
  209. holidays/ical.py +228 -0
  210. holidays/locale/ar/LC_MESSAGES/OM.mo +0 -0
  211. holidays/locale/ar_QA/LC_MESSAGES/QA.mo +0 -0
  212. holidays/locale/en_CI/LC_MESSAGES/CI.mo +0 -0
  213. holidays/locale/en_PK/LC_MESSAGES/PK.mo +0 -0
  214. holidays/locale/en_SL/LC_MESSAGES/SL.mo +0 -0
  215. holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
  216. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  217. holidays/locale/en_US/LC_MESSAGES/CI.mo +0 -0
  218. holidays/locale/en_US/LC_MESSAGES/GN.mo +0 -0
  219. holidays/locale/en_US/LC_MESSAGES/OM.mo +0 -0
  220. holidays/locale/en_US/LC_MESSAGES/PK.mo +0 -0
  221. holidays/locale/en_US/LC_MESSAGES/QA.mo +0 -0
  222. holidays/locale/en_US/LC_MESSAGES/SL.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/SR.mo +0 -0
  224. holidays/locale/en_US/LC_MESSAGES/TF.mo +0 -0
  225. holidays/locale/en_US/LC_MESSAGES/TL.mo +0 -0
  226. holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
  227. holidays/locale/fr/LC_MESSAGES/CI.mo +0 -0
  228. holidays/locale/fr/LC_MESSAGES/GN.mo +0 -0
  229. holidays/locale/fr/LC_MESSAGES/TF.mo +0 -0
  230. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  231. holidays/locale/nl/LC_MESSAGES/SR.mo +0 -0
  232. holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
  233. holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
  234. holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
  235. holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
  236. holidays/locale/uk/LC_MESSAGES/TF.mo +0 -0
  237. holidays/locale/ur_PK/LC_MESSAGES/PK.mo +0 -0
  238. holidays/mixins.py +2 -2
  239. holidays/observed_holiday_base.py +10 -3
  240. holidays/registry.py +10 -1
  241. holidays/utils.py +203 -151
  242. holidays/version.py +2 -2
  243. holidays-0.71.dist-info/METADATA +1432 -0
  244. {holidays-0.69.dist-info → holidays-0.71.dist-info}/RECORD +248 -217
  245. {holidays-0.69.dist-info → holidays-0.71.dist-info}/WHEEL +1 -1
  246. holidays-0.69.dist-info/AUTHORS → holidays-0.71.dist-info/licenses/AUTHORS.md +9 -2
  247. {holidays-0.69.dist-info → holidays-0.71.dist-info/licenses}/LICENSE +1 -1
  248. holidays-0.69.dist-info/METADATA +0 -1085
  249. {holidays-0.69.dist-info → holidays-0.71.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,149 @@
1
+ # holidays
2
+ # --------
3
+ # A fast, efficient Python library for generating country, province and state
4
+ # specific sets of holidays on the fly. It aims to make determining whether a
5
+ # specific date is a holiday as fast and flexible as possible.
6
+ #
7
+ # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
8
+ # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
+ # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
+ # Website: https://github.com/vacanza/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from gettext import gettext as tr
14
+
15
+ from holidays.calendars.gregorian import APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV
16
+ from holidays.calendars.islamic import _CustomIslamicHolidays
17
+ from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
18
+ from holidays.observed_holiday_base import ObservedHolidayBase, SAT_SUN_TO_NEXT_WORKDAY
19
+
20
+
21
+ class SierraLeone(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
22
+ """Sierra Leone holidays.
23
+
24
+ References:
25
+ * <https://www.officeholidays.com/countries/sierra-leone>
26
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Sierra_Leone>
27
+ * <https://www.timeanddate.com/holidays/sierra-leone/>
28
+ * <https://salpost.gov.sl/opening-time-national-holidays>
29
+ """
30
+
31
+ country = "SL"
32
+ default_language = "en_SL"
33
+ # %s (estimated).
34
+ estimated_label = tr("%s (estimated)")
35
+ # %s (observed).
36
+ observed_label = tr("%s (observed)")
37
+ # %s (observed, estimated).
38
+ observed_estimated_label = tr("%s (observed, estimated)")
39
+ supported_languages = ("en_SL", "en_US")
40
+ # Sierra Leone gained independence on April 27, 1961.
41
+ start_year = 1962
42
+
43
+ def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
44
+ """
45
+ Args:
46
+ islamic_show_estimated:
47
+ Whether to add "estimated" label to Islamic holidays name
48
+ if holiday date is estimated.
49
+ """
50
+ ChristianHolidays.__init__(self)
51
+ InternationalHolidays.__init__(self)
52
+ IslamicHolidays.__init__(
53
+ self, cls=SierraLeoneIslamicHolidays, show_estimated=islamic_show_estimated
54
+ )
55
+ kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY)
56
+ super().__init__(*args, **kwargs)
57
+
58
+ def _populate_public_holidays(self):
59
+ dts_observed = set()
60
+
61
+ # New Year's Day.
62
+ dts_observed.add(self._add_new_years_day(tr("New Year's Day")))
63
+
64
+ if self._year >= 2002:
65
+ # Armed Forces Day.
66
+ dts_observed.add(self._add_holiday_feb_18(tr("Armed Forces Day")))
67
+
68
+ if self._year >= 2018:
69
+ # International Women's Day.
70
+ dts_observed.add(self._add_womens_day(tr("International Women's Day")))
71
+
72
+ # Good Friday.
73
+ self._add_good_friday(tr("Good Friday"))
74
+
75
+ # Easter Monday.
76
+ self._add_easter_monday(tr("Easter Monday"))
77
+
78
+ # Independence Day.
79
+ dts_observed.add(self._add_holiday_apr_27(tr("Independence Day")))
80
+
81
+ # International Worker's Day.
82
+ dts_observed.add(self._add_labor_day(tr("International Worker's Day")))
83
+
84
+ # Christmas Day.
85
+ dts_observed.add(self._add_christmas_day(tr("Christmas Day")))
86
+
87
+ # Boxing Day.
88
+ dts_observed.add(self._add_christmas_day_two(tr("Boxing Day")))
89
+
90
+ # Prophet's Birthday.
91
+ dts_observed.update(self._add_mawlid_day(tr("Prophet's Birthday")))
92
+
93
+ # Eid al-Fitr.
94
+ dts_observed.update(self._add_eid_al_fitr_day(tr("Eid al-Fitr")))
95
+
96
+ # Eid al-Adha.
97
+ dts_observed.update(self._add_eid_al_adha_day(tr("Eid al-Adha")))
98
+
99
+ if self.observed:
100
+ self._populate_observed(dts_observed)
101
+
102
+
103
+ class SL(SierraLeone):
104
+ pass
105
+
106
+
107
+ class SLE(SierraLeone):
108
+ pass
109
+
110
+
111
+ class SierraLeoneIslamicHolidays(_CustomIslamicHolidays):
112
+ """Sierra Leone Islamic holidays exact dates.
113
+
114
+ References:
115
+ * <https://www.timeanddate.com/holidays/sierra-leone/>
116
+ """
117
+
118
+ # Prophet's Birthday
119
+ MAWLID_DATES = {
120
+ 2018: (NOV, 21),
121
+ 2019: (NOV, 10),
122
+ 2020: (OCT, 29),
123
+ 2021: (OCT, 18),
124
+ 2022: (OCT, 8),
125
+ 2023: (SEP, 27),
126
+ 2024: (SEP, 15),
127
+ }
128
+
129
+ # Eid al-Fitr
130
+ EID_AL_FITR_DATES = {
131
+ 2018: (JUN, 15),
132
+ 2019: (JUN, 5),
133
+ 2020: (MAY, 24),
134
+ 2021: (MAY, 13),
135
+ 2022: (MAY, 2),
136
+ 2023: (APR, 21),
137
+ 2024: (APR, 10),
138
+ }
139
+
140
+ # Eid al-Adha
141
+ EID_AL_ADHA_DATES = {
142
+ 2018: (AUG, 22),
143
+ 2019: (AUG, 12),
144
+ 2020: (JUL, 31),
145
+ 2021: (JUL, 20),
146
+ 2022: (JUL, 9),
147
+ 2023: (JUN, 28),
148
+ 2024: (JUN, 16),
149
+ }
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS file)
7
+ # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -41,6 +41,25 @@ class Singapore(
41
41
  IslamicHolidays,
42
42
  StaticHolidays,
43
43
  ):
44
+ """Singapore holidays.
45
+
46
+ References:
47
+ * [Wikipedia](https://en.wikipedia.org/wiki/Public_holidays_in_Singapore)
48
+ * [Holidays Act](https://sso.agc.gov.sg/Act/HA1998) (Act 24 of
49
+ 1968—Holidays (Amendment) Act 1968)
50
+ * [Ministry of Manpower](https://www.mom.gov.sg/employment-practices/public-holidays)
51
+
52
+ Limitations:
53
+ * Prior to 1969: holidays are estimated.
54
+ * Prior to 2000: holidays may not be accurate.
55
+ * 2024 and later: the following four moving date holidays (whose exact
56
+ date is announced yearly) are estimated, and so denoted:
57
+ * Hari Raya Puasa
58
+ * Hari Raya Haji
59
+ * Vesak Day
60
+ * Deepavali
61
+ """
62
+
44
63
  country = "SG"
45
64
  default_language = "en_SG"
46
65
  # %s (observed).
@@ -49,40 +68,10 @@ class Singapore(
49
68
 
50
69
  def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
51
70
  """
52
- :param islamic_show_estimated:
53
- Whether to add "estimated" label to Islamic holidays name if holiday date is estimated.
54
-
55
- A subclass of :py:class:`HolidayBase` representing public holidays in
56
- Singapore.
57
-
58
- Limitations:
59
-
60
- - Prior to 1969: holidays are estimated.
61
- - Prior to 2000: holidays may not be accurate.
62
- - 2024 and later: the following four moving date holidays (whose exact
63
- date is announced yearly) are estimated, and so denoted:
64
-
65
- - Hari Raya Puasa
66
- - Hari Raya Haji
67
- - Vesak Day
68
- - Deepavali
69
-
70
- Sources:
71
-
72
- - `Holidays Act <https://sso.agc.gov.sg/Act/HA1998>`__ (Act 24 of
73
- 1968—Holidays (Amendment) Act 1968)
74
- - `Ministry of Manpower
75
- <https://www.mom.gov.sg/employment-practices/public-holidays>`__
76
-
77
- References:
78
-
79
- - `Wikipedia
80
- <https://en.wikipedia.org/wiki/Public_holidays_in_Singapore>`__
81
-
82
- Country created and maintained by: `Mike Borsetti
83
- <https://github.com/mborsetti>`__
84
-
85
- See parameters and usage in :py:class:`HolidayBase`.
71
+ Args:
72
+ islamic_show_estimated:
73
+ Whether to add "estimated" label to Islamic holidays name
74
+ if holiday date is estimated.
86
75
  """
87
76
  BuddhistCalendarHolidays.__init__(self, cls=SingaporeBuddhistHolidays, show_estimated=True)
88
77
  ChineseCalendarHolidays.__init__(self, cls=SingaporeChineseHolidays, show_estimated=True)
@@ -314,10 +303,11 @@ class SingaporeIslamicHolidays(_CustomIslamicHolidays):
314
303
 
315
304
 
316
305
  class SingaporeStaticHolidays:
317
- """
318
- References
319
- - https://www.mom.gov.sg/newsroom/press-releases/2015/sg50-public-holiday-on-7-august-2015
320
- - https://www.straitstimes.com/singapore/politics/singapore-presidential-election-2023-polling-day-on-sept-1-nomination-day-on-aug-22
306
+ """Singapore special holidays.
307
+
308
+ References:
309
+ * <https://www.mom.gov.sg/newsroom/press-releases/2015/sg50-public-holiday-on-7-august-2015>
310
+ * <https://www.straitstimes.com/singapore/politics/singapore-presidential-election-2023-polling-day-on-sept-1-nomination-day-on-aug-22>
321
311
  """
322
312
 
323
313
  # Polling Day.
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS file)
7
+ # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -19,11 +19,12 @@ from holidays.holiday_base import HolidayBase
19
19
 
20
20
 
21
21
  class Slovakia(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
22
- """
22
+ """Slovakia holidays.
23
+
23
24
  References:
24
- - https://en.wikipedia.org/wiki/Public_holidays_in_Slovakia
25
- - https://sk.wikipedia.org/wiki/Zoznam_sviatkov_na_Slovensku
26
- - https://www.slov-lex.sk/pravne-predpisy/SK/ZZ/1993/241/
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Slovakia>
26
+ * <https://sk.wikipedia.org/wiki/Zoznam_sviatkov_na_Slovensku>
27
+ * <https://www.slov-lex.sk/pravne-predpisy/SK/ZZ/1993/241/>
27
28
  """
28
29
 
29
30
  country = "SK"
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS file)
7
+ # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -19,12 +19,13 @@ from holidays.holiday_base import HolidayBase
19
19
 
20
20
 
21
21
  class Slovenia(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
22
- """
22
+ """Slovenia holidays.
23
+
23
24
  References:
24
- - https://en.wikipedia.org/wiki/Public_holidays_in_Slovenia
25
- - https://sl.wikipedia.org/wiki/Dr%C5%BEavni_prazniki_v_Sloveniji
26
- - https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/1991-01-1091/zakon-o-praznikih-in-dela-prostih-dnevih-v-republiki-sloveniji
27
- - https://www.gov.si/teme/drzavni-prazniki-in-dela-prosti-dnevi/
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Slovenia>
26
+ * <https://sl.wikipedia.org/wiki/Dr%C5%BEavni_prazniki_v_Sloveniji>
27
+ * <https://www.uradni-list.si/glasilo-uradni-list-rs/vsebina/1991-01-1091/zakon-o-praznikih-in-dela-prostih-dnevih-v-republiki-sloveniji>
28
+ * <https://www.gov.si/teme/drzavni-prazniki-in-dela-prosti-dnevi/>
28
29
  """
29
30
 
30
31
  country = "SI"
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS file)
7
+ # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -16,11 +16,13 @@ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
16
16
 
17
17
 
18
18
  class SouthAfrica(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
19
- """
20
- https://www.gov.za/about-sa/public-holidays
21
- https://en.wikipedia.org/wiki/Public_holidays_in_South_Africa
22
- https://www.gov.za/speeches/president-cyril-ramaphosa-progress-economic-recovery-30-oct-2023-0000
23
- https://www.gov.za/documents/notices/public-holidays-act-declaration-29-may-2024-public-holiday-23-feb-2024
19
+ """South Africa holidays.
20
+
21
+ References:
22
+ * <https://www.gov.za/about-sa/public-holidays>
23
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_South_Africa>
24
+ * <https://www.gov.za/speeches/president-cyril-ramaphosa-progress-economic-recovery-30-oct-2023-0000>
25
+ * <https://www.gov.za/documents/notices/public-holidays-act-declaration-29-may-2024-public-holiday-23-feb-2024>
24
26
  """
25
27
 
26
28
  country = "ZA"
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS file)
7
+ # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -51,39 +51,31 @@ class SouthKorea(
51
51
  InternationalHolidays,
52
52
  StaticHolidays,
53
53
  ):
54
- """
54
+ """South Korea holidays.
55
+
55
56
  References:
56
- - https://en.wikipedia.org/wiki/Public_holidays_in_South_Korea
57
- - https://www.law.go.kr/법령/관공서의%20공휴일에%20관한%20규정
58
- - https://elaw.klri.re.kr/eng_service/lawView.do?lang=ENG&hseq=34678
59
- - https://elaw.klri.re.kr/eng_service/%20lawView.do?hseq=38405&lang=ENG
60
- - https://namu.wiki/w/대통령%20선거일
61
- - https://namu.wiki/w/공휴일/대한민국
62
- - https://namu.wiki/w/공휴일/대한민국/역사
63
- - https://namu.wiki/w/대체%20휴일%20제도
64
- - `TH localization 1 <https://overseas.mofa.go.kr/th-th/wpge/m_3133/contents.do>`_
65
- - `TH localization 2 <https://thailand.korean-culture.org/th/138/korea/38>`_
57
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_South_Korea>
58
+ * <https://www.law.go.kr/법령/관공서의%20공휴일에%20관한%20규정>
59
+ * <https://elaw.klri.re.kr/eng_service/lawView.do?lang=ENG&hseq=34678>
60
+ * <https://elaw.klri.re.kr/eng_service/%20lawView.do?hseq=38405&lang=ENG>
61
+ * <https://namu.wiki/w/대통령%20선거일>
62
+ * <https://namu.wiki/w/공휴일/대한민국>
63
+ * <https://namu.wiki/w/공휴일/대한민국/역사>
64
+ * <https://namu.wiki/w/대체%20휴일%20제도>
65
+ * [TH localization 1](https://overseas.mofa.go.kr/th-th/wpge/m_3133/contents.do)
66
+ * [TH localization 2](https://thailand.korean-culture.org/th/138/korea/38)
66
67
 
67
68
  Checked With:
68
- - https://publicholidays.co.kr/ko/2020-dates/
69
- - https://publicholidays.co.kr/ko/2022-dates/
69
+ * <https://publicholidays.co.kr/ko/2020-dates/>
70
+ * <https://publicholidays.co.kr/ko/2022-dates/>
70
71
 
71
72
  According to (3), the alt holidays in Korea are as follows:
72
- - The alt holiday means next first non holiday after the holiday.
73
- - Independence Movement Day, Liberation Day, National Foundation Day,
74
- Hangul Day, Children's Day, Birthday of the Buddha, Christmas Day have
75
- alt holiday if they fell on Saturday or Sunday.
76
- - Korean New Year's Day, Korean Mid Autumn Day have alt holiday if they
77
- fell on Sunday.
78
-
79
- The alt holidays in Korea are as follows:
80
- - The alt holiday means next first non holiday after the holiday.
81
- - Independence Movement Day, Liberation Day, National Foundation Day,
73
+ * The alt holiday means next first non holiday after the holiday.
74
+ * Independence Movement Day, Liberation Day, National Foundation Day,
82
75
  Hangul Day, Children's Day, Birthday of the Buddha, Christmas Day have
83
76
  alt holiday if they fell on Saturday or Sunday.
84
- - Lunar New Year's Day, Korean Mid Autumn Day have alt holiday if they
77
+ * Korean New Year's Day, Korean Mid Autumn Day have alt holiday if they
85
78
  fell on Sunday.
86
-
87
79
  """
88
80
 
89
81
  country = "KR"
@@ -221,7 +213,7 @@ class SouthKorea(
221
213
  # Christmas Day.
222
214
  append_observed(self._add_christmas_day(tr("기독탄신일")), 2023)
223
215
 
224
- # Election Days since Sep 2006; excluding the 2017 Special Presidential Election Day.
216
+ # Election Days since Sep 2006; excluding the 2017, 2025 Special Presidential Election Day.
225
217
 
226
218
  # Based on Article 34 of the Public Official Election Act.
227
219
  # (1) The election day for each election to be held at the expiration of the term shall
@@ -246,23 +238,18 @@ class SouthKorea(
246
238
  elif self._year >= 2007 and (self._year - 2008) % 4 == 0:
247
239
  self._add_holiday_2nd_wed_of_apr(name)
248
240
 
249
- if self._year >= 2007 and (self._year - 2007) % 5 == 0:
241
+ if self._year >= 2007:
250
242
  # Presidential Election Day.
251
243
  name = tr("대통령 선거일")
252
-
253
- if self._year <= 2012:
254
- self._add_holiday_3rd_wed_of_dec(name)
255
- elif self._year >= 2022:
256
- if (
257
- self._is_tuesday(mar_1)
258
- or self._is_wednesday(mar_1)
259
- or self._is_thursday(mar_1)
260
- ):
244
+ if self._year <= 2024 and (self._year - 2007) % 5 == 0:
245
+ if self._year <= 2012:
246
+ self._add_holiday_3rd_wed_of_dec(name)
247
+ elif self._year >= 2022:
261
248
  # Moved as per Paragraph 2 of Article 34 due to conflict with
262
249
  # Independence Movement Day (MAR, 1).
263
250
  self._add_holiday_2nd_wed_of_mar(name)
264
- else:
265
- self._add_holiday_1st_wed_of_mar(name)
251
+ elif self._year >= 2030 and (self._year - 2030) % 5 == 0:
252
+ self._add_holiday_1st_wed_of_apr(name)
266
253
 
267
254
  if self._year >= 2007 and (self._year - 2010) % 4 == 0:
268
255
  # Local Election Day.
@@ -331,15 +318,16 @@ class SouthKoreaLunisolarHolidays(_CustomChineseHolidays):
331
318
 
332
319
 
333
320
  class SouthKoreaStaticHolidays:
334
- """
321
+ """South Korea special holidays.
322
+
335
323
  References:
336
- - https://namu.wiki/w/임시공휴일 *
337
- - https://namu.wiki/w/공휴일/대한민국 **
338
- - https://namu.wiki/w/대체%20휴일%20제도
324
+ * <https://namu.wiki/w/임시공휴일> *
325
+ * <https://namu.wiki/w/공휴일/대한민국> **
326
+ * <https://namu.wiki/w/대체%20휴일%20제도>
339
327
 
340
- (1) Election Dates featured here are the ones prior to the proper recodification to
328
+ 1. Election Dates featured here are the ones prior to the proper recodification to
341
329
  Article 34 of the Public Official Election Act(September 2006)
342
- (2) Sabang Day (사방의 날) was technically in the Public Holidays Act itself, but since it was
330
+ 2. Sabang Day (사방의 날) was technically in the Public Holidays Act itself, but since it was
343
331
  only celebrated in 1960, this is being put here.
344
332
  """
345
333
 
@@ -617,8 +605,12 @@ class SouthKoreaStaticHolidays:
617
605
  2023: (OCT, 2, temporary_public_holiday),
618
606
  # 76th Anniversary of the Armed Forces of Korea.
619
607
  2024: (OCT, 1, armed_forces_day),
620
- # Added to create a 6-day long holiday period.
621
- 2025: (JAN, 27, temporary_public_holiday),
608
+ 2025: (
609
+ # Added to create a 6-day long holiday period.
610
+ (JAN, 27, temporary_public_holiday),
611
+ # Special Presidential Election (21st) due to Yoon Seok-yeol's impeachment.
612
+ (JUN, 3, presidential_election_day),
613
+ ),
622
614
  }
623
615
  # Pre-2014 Alternate Holidays
624
616
  # https://namu.wiki/w/대체%20휴일%20제도#s-4.2.1
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS file)
7
+ # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -26,29 +26,28 @@ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
26
26
  class Spain(
27
27
  ObservedHolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays, StaticHolidays
28
28
  ):
29
- """
30
- Holidays checked with official sources for 2010-2023 only.
29
+ """Spain holidays.
31
30
 
32
31
  References:
33
- - https://administracion.gob.es/pag_Home/atencionCiudadana/calendarios.html
34
-
35
- Labor Holidays:
36
- 2010: https://www.boe.es/buscar/doc.php?id=BOE-A-2009-18477
37
- 2011: https://www.boe.es/buscar/doc.php?id=BOE-A-2010-15722
38
- 2012: https://www.boe.es/buscar/doc.php?id=BOE-A-2011-16116
39
- 2013: https://www.boe.es/buscar/doc.php?id=BOE-A-2012-13644
40
- 2014: https://www.boe.es/buscar/doc.php?id=BOE-A-2013-12147
41
- 2015: https://www.boe.es/buscar/doc.php?id=BOE-A-2014-10823
42
- 2016: https://www.boe.es/buscar/doc.php?id=BOE-A-2015-11348
43
- 2017: https://www.boe.es/buscar/doc.php?id=BOE-A-2016-9244
44
- 2018: https://www.boe.es/buscar/doc.php?id=BOE-A-2017-11639
45
- 2019: https://www.boe.es/buscar/doc.php?id=BOE-A-2018-14369
46
- 2020: https://www.boe.es/buscar/doc.php?id=BOE-A-2019-14552
47
- 2021: https://www.boe.es/buscar/doc.php?id=BOE-A-2020-13343
48
- 2022: https://www.boe.es/buscar/doc.php?id=BOE-A-2021-17113
49
- 2023: https://www.boe.es/buscar/doc.php?id=BOE-A-2022-16755
50
- 2024: https://www.boe.es/buscar/doc.php?id=BOE-A-2023-22014
51
- 2025: https://www.boe.es/buscar/doc.php?id=BOE-A-2024-21316
32
+ * <https://administracion.gob.es/pag_Home/atencionCiudadana/calendarios.html>
33
+ * [2010](https://www.boe.es/buscar/doc.php?id=BOE-A-2009-18477)
34
+ * [2011](https://www.boe.es/buscar/doc.php?id=BOE-A-2010-15722)
35
+ * [2012](https://www.boe.es/buscar/doc.php?id=BOE-A-2011-16116)
36
+ * [2013](https://www.boe.es/buscar/doc.php?id=BOE-A-2012-13644)
37
+ * [2014](https://www.boe.es/buscar/doc.php?id=BOE-A-2013-12147)
38
+ * [2015](https://www.boe.es/buscar/doc.php?id=BOE-A-2014-10823)
39
+ * [2016](https://www.boe.es/buscar/doc.php?id=BOE-A-2015-11348)
40
+ * [2017](https://www.boe.es/buscar/doc.php?id=BOE-A-2016-9244)
41
+ * [2018](https://www.boe.es/buscar/doc.php?id=BOE-A-2017-11639)
42
+ * [2019](https://www.boe.es/buscar/doc.php?id=BOE-A-2018-14369)
43
+ * [2020](https://www.boe.es/buscar/doc.php?id=BOE-A-2019-14552)
44
+ * [2021](https://www.boe.es/buscar/doc.php?id=BOE-A-2020-13343)
45
+ * [2022](https://www.boe.es/buscar/doc.php?id=BOE-A-2021-17113)
46
+ * [2023](https://www.boe.es/buscar/doc.php?id=BOE-A-2022-16755)
47
+ * [2024](https://www.boe.es/buscar/doc.php?id=BOE-A-2023-22014)
48
+ * [2025](https://www.boe.es/buscar/doc.php?id=BOE-A-2024-21316)
49
+
50
+ Holidays checked with official sources for 2010-2025 only.
52
51
  """
53
52
 
54
53
  country = "ES"
@@ -80,8 +79,10 @@ class Spain(
80
79
 
81
80
  def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
82
81
  """
83
- :param islamic_show_estimated:
84
- Whether to add "estimated" label to Islamic holidays name if holiday date is estimated.
82
+ Args:
83
+ islamic_show_estimated:
84
+ Whether to add "estimated" label to Islamic holidays name
85
+ if holiday date is estimated.
85
86
  """
86
87
  ChristianHolidays.__init__(self)
87
88
  InternationalHolidays.__init__(self)