holidays 0.71__py3-none-any.whl → 0.72__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 (243) hide show
  1. holidays/__init__.py +1 -2
  2. holidays/calendars/__init__.py +1 -1
  3. holidays/calendars/balinese_saka.py +1 -1
  4. holidays/calendars/buddhist.py +5 -3
  5. holidays/calendars/chinese.py +101 -13
  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 +47 -3
  10. holidays/calendars/islamic.py +1 -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 +1 -1
  16. holidays/constants.py +1 -1
  17. holidays/countries/__init__.py +3 -1
  18. holidays/countries/afghanistan.py +1 -1
  19. holidays/countries/albania.py +2 -2
  20. holidays/countries/algeria.py +1 -1
  21. holidays/countries/american_samoa.py +2 -1
  22. holidays/countries/andorra.py +10 -1
  23. holidays/countries/angola.py +1 -1
  24. holidays/countries/antigua_and_barbuda.py +1 -1
  25. holidays/countries/argentina.py +5 -5
  26. holidays/countries/armenia.py +1 -1
  27. holidays/countries/aruba.py +1 -1
  28. holidays/countries/australia.py +16 -5
  29. holidays/countries/austria.py +3 -3
  30. holidays/countries/azerbaijan.py +1 -1
  31. holidays/countries/bahamas.py +1 -1
  32. holidays/countries/bahrain.py +1 -1
  33. holidays/countries/bangladesh.py +1 -1
  34. holidays/countries/barbados.py +1 -1
  35. holidays/countries/belarus.py +1 -1
  36. holidays/countries/belgium.py +1 -1
  37. holidays/countries/belize.py +1 -1
  38. holidays/countries/bolivia.py +23 -12
  39. holidays/countries/bosnia_and_herzegovina.py +5 -5
  40. holidays/countries/botswana.py +1 -1
  41. holidays/countries/brazil.py +3 -4
  42. holidays/countries/brunei.py +1 -1
  43. holidays/countries/bulgaria.py +1 -1
  44. holidays/countries/burkina_faso.py +1 -1
  45. holidays/countries/burundi.py +1 -1
  46. holidays/countries/cambodia.py +22 -22
  47. holidays/countries/cameroon.py +1 -1
  48. holidays/countries/canada.py +91 -57
  49. holidays/countries/chad.py +1 -1
  50. holidays/countries/chile.py +36 -18
  51. holidays/countries/china.py +1 -1
  52. holidays/countries/colombia.py +1 -1
  53. holidays/countries/congo.py +1 -1
  54. holidays/countries/costa_rica.py +1 -1
  55. holidays/countries/croatia.py +1 -1
  56. holidays/countries/cuba.py +1 -1
  57. holidays/countries/curacao.py +1 -1
  58. holidays/countries/cyprus.py +1 -1
  59. holidays/countries/czechia.py +1 -1
  60. holidays/countries/denmark.py +1 -1
  61. holidays/countries/djibouti.py +1 -1
  62. holidays/countries/dominica.py +1 -1
  63. holidays/countries/dominican_republic.py +1 -1
  64. holidays/countries/ecuador.py +1 -1
  65. holidays/countries/egypt.py +1 -1
  66. holidays/countries/el_salvador.py +18 -18
  67. holidays/countries/estonia.py +1 -1
  68. holidays/countries/eswatini.py +1 -1
  69. holidays/countries/ethiopia.py +43 -24
  70. holidays/countries/fiji.py +1 -1
  71. holidays/countries/finland.py +1 -1
  72. holidays/countries/france.py +3 -4
  73. holidays/countries/french_southern_territories.py +1 -1
  74. holidays/countries/gabon.py +1 -1
  75. holidays/countries/georgia.py +1 -1
  76. holidays/countries/germany.py +20 -21
  77. holidays/countries/ghana.py +1 -1
  78. holidays/countries/greece.py +1 -1
  79. holidays/countries/greenland.py +1 -1
  80. holidays/countries/guam.py +2 -1
  81. holidays/countries/guatemala.py +1 -1
  82. holidays/countries/guernsey.py +1 -1
  83. holidays/countries/guinea.py +1 -1
  84. holidays/countries/haiti.py +1 -1
  85. holidays/countries/honduras.py +1 -1
  86. holidays/countries/hongkong.py +2 -2
  87. holidays/countries/hungary.py +1 -1
  88. holidays/countries/iceland.py +1 -1
  89. holidays/countries/india.py +17 -11
  90. holidays/countries/indonesia.py +1 -1
  91. holidays/countries/iran.py +1 -1
  92. holidays/countries/ireland.py +1 -1
  93. holidays/countries/isle_of_man.py +1 -1
  94. holidays/countries/israel.py +1 -1
  95. holidays/countries/italy.py +1 -1
  96. holidays/countries/ivory_coast.py +5 -5
  97. holidays/countries/jamaica.py +1 -1
  98. holidays/countries/japan.py +1 -1
  99. holidays/countries/jersey.py +1 -1
  100. holidays/countries/jordan.py +1 -1
  101. holidays/countries/kazakhstan.py +1 -1
  102. holidays/countries/kenya.py +1 -1
  103. holidays/countries/kuwait.py +1 -1
  104. holidays/countries/kyrgyzstan.py +1 -1
  105. holidays/countries/laos.py +1 -1
  106. holidays/countries/latvia.py +1 -1
  107. holidays/countries/lesotho.py +1 -1
  108. holidays/countries/liechtenstein.py +1 -1
  109. holidays/countries/lithuania.py +1 -1
  110. holidays/countries/luxembourg.py +1 -1
  111. holidays/countries/macau.py +5 -5
  112. holidays/countries/madagascar.py +1 -1
  113. holidays/countries/malawi.py +1 -1
  114. holidays/countries/malaysia.py +21 -21
  115. holidays/countries/maldives.py +1 -1
  116. holidays/countries/malta.py +1 -1
  117. holidays/countries/marshall_islands.py +1 -1
  118. holidays/countries/mauritania.py +1 -1
  119. holidays/countries/mexico.py +1 -1
  120. holidays/countries/moldova.py +1 -1
  121. holidays/countries/monaco.py +1 -1
  122. holidays/countries/montenegro.py +1 -1
  123. holidays/countries/morocco.py +1 -1
  124. holidays/countries/mozambique.py +1 -1
  125. holidays/countries/namibia.py +1 -1
  126. holidays/countries/netherlands.py +1 -1
  127. holidays/countries/new_zealand.py +19 -19
  128. holidays/countries/nicaragua.py +19 -19
  129. holidays/countries/nigeria.py +1 -1
  130. holidays/countries/north_macedonia.py +1 -1
  131. holidays/countries/northern_mariana_islands.py +2 -1
  132. holidays/countries/norway.py +1 -1
  133. holidays/countries/oman.py +1 -1
  134. holidays/countries/pakistan.py +1 -1
  135. holidays/countries/palau.py +1 -1
  136. holidays/countries/panama.py +1 -1
  137. holidays/countries/papua_new_guinea.py +1 -1
  138. holidays/countries/paraguay.py +1 -1
  139. holidays/countries/peru.py +1 -1
  140. holidays/countries/philippines.py +1 -1
  141. holidays/countries/poland.py +1 -1
  142. holidays/countries/portugal.py +23 -25
  143. holidays/countries/puerto_rico.py +2 -1
  144. holidays/countries/qatar.py +1 -1
  145. holidays/countries/romania.py +1 -1
  146. holidays/countries/russia.py +1 -1
  147. holidays/countries/saint_kitts_and_nevis.py +1 -1
  148. holidays/countries/saint_lucia.py +1 -1
  149. holidays/countries/samoa.py +1 -1
  150. holidays/countries/san_marino.py +1 -1
  151. holidays/countries/sao_tome_and_principe.py +112 -0
  152. holidays/countries/saudi_arabia.py +1 -1
  153. holidays/countries/serbia.py +1 -1
  154. holidays/countries/seychelles.py +1 -1
  155. holidays/countries/sierra_leone.py +1 -1
  156. holidays/countries/singapore.py +5 -2
  157. holidays/countries/slovakia.py +1 -1
  158. holidays/countries/slovenia.py +1 -1
  159. holidays/countries/south_africa.py +1 -1
  160. holidays/countries/south_korea.py +3 -31
  161. holidays/countries/spain.py +43 -20
  162. holidays/countries/sri_lanka.py +1 -1
  163. holidays/countries/suriname.py +1 -1
  164. holidays/countries/sweden.py +1 -1
  165. holidays/countries/switzerland.py +61 -28
  166. holidays/countries/taiwan.py +1 -1
  167. holidays/countries/tanzania.py +1 -1
  168. holidays/countries/thailand.py +3 -3
  169. holidays/countries/timor_leste.py +1 -1
  170. holidays/countries/tonga.py +1 -1
  171. holidays/countries/trinidad_and_tobago.py +197 -0
  172. holidays/countries/tunisia.py +1 -1
  173. holidays/countries/turkey.py +1 -1
  174. holidays/countries/tuvalu.py +6 -6
  175. holidays/countries/ukraine.py +1 -1
  176. holidays/countries/united_arab_emirates.py +1 -1
  177. holidays/countries/united_kingdom.py +1 -1
  178. holidays/countries/united_states.py +62 -4
  179. holidays/countries/united_states_minor_outlying_islands.py +2 -1
  180. holidays/countries/united_states_virgin_islands.py +2 -1
  181. holidays/countries/uruguay.py +1 -1
  182. holidays/countries/uzbekistan.py +1 -1
  183. holidays/countries/vanuatu.py +1 -1
  184. holidays/countries/vatican_city.py +1 -1
  185. holidays/countries/venezuela.py +1 -1
  186. holidays/countries/vietnam.py +3 -2
  187. holidays/countries/zambia.py +1 -1
  188. holidays/countries/zimbabwe.py +1 -1
  189. holidays/deprecations/v1_incompatibility.py +1 -1
  190. holidays/financial/__init__.py +1 -1
  191. holidays/financial/brasil_bolsa_balcao.py +1 -1
  192. holidays/financial/european_central_bank.py +1 -1
  193. holidays/financial/ice_futures_europe.py +1 -1
  194. holidays/financial/ny_stock_exchange.py +1 -1
  195. holidays/groups/__init__.py +1 -1
  196. holidays/groups/balinese_saka.py +1 -1
  197. holidays/groups/buddhist.py +1 -1
  198. holidays/groups/chinese.py +6 -4
  199. holidays/groups/christian.py +1 -1
  200. holidays/groups/custom.py +1 -1
  201. holidays/groups/eastern.py +1 -1
  202. holidays/groups/hebrew.py +1 -1
  203. holidays/groups/hindu.py +45 -3
  204. holidays/groups/international.py +1 -1
  205. holidays/groups/islamic.py +1 -1
  206. holidays/groups/persian.py +1 -1
  207. holidays/groups/sinhala.py +1 -1
  208. holidays/groups/thai.py +6 -6
  209. holidays/helpers.py +1 -1
  210. holidays/holiday_base.py +1 -1
  211. holidays/ical.py +2 -2
  212. holidays/locale/am/LC_MESSAGES/ET.mo +0 -0
  213. holidays/locale/ar/LC_MESSAGES/CA.mo +0 -0
  214. holidays/locale/ar/LC_MESSAGES/ET.mo +0 -0
  215. holidays/locale/en_CA/LC_MESSAGES/CA.mo +0 -0
  216. holidays/locale/en_CI/LC_MESSAGES/CI.mo +0 -0
  217. holidays/locale/en_ET/LC_MESSAGES/ET.mo +0 -0
  218. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  219. holidays/locale/en_TT/LC_MESSAGES/TT.mo +0 -0
  220. holidays/locale/en_US/LC_MESSAGES/CA.mo +0 -0
  221. holidays/locale/en_US/LC_MESSAGES/CI.mo +0 -0
  222. holidays/locale/en_US/LC_MESSAGES/ET.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/IN.mo +0 -0
  224. holidays/locale/en_US/LC_MESSAGES/KH.mo +0 -0
  225. holidays/locale/en_US/LC_MESSAGES/ST.mo +0 -0
  226. holidays/locale/en_US/LC_MESSAGES/TT.mo +0 -0
  227. holidays/locale/fr/LC_MESSAGES/CA.mo +0 -0
  228. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  229. holidays/locale/km/LC_MESSAGES/KH.mo +0 -0
  230. holidays/locale/pt_ST/LC_MESSAGES/ST.mo +0 -0
  231. holidays/locale/th/LC_MESSAGES/CA.mo +0 -0
  232. holidays/locale/th/LC_MESSAGES/KH.mo +0 -0
  233. holidays/mixins.py +1 -1
  234. holidays/observed_holiday_base.py +1 -1
  235. holidays/registry.py +3 -1
  236. holidays/utils.py +1 -1
  237. holidays/version.py +2 -2
  238. {holidays-0.71.dist-info → holidays-0.72.dist-info}/METADATA +36 -16
  239. {holidays-0.71.dist-info → holidays-0.72.dist-info}/RECORD +243 -236
  240. {holidays-0.71.dist-info → holidays-0.72.dist-info}/WHEEL +1 -1
  241. holidays-0.71.dist-info/licenses/AUTHORS.md → holidays-0.72.dist-info/licenses/CONTRIBUTORS +1 -2
  242. {holidays-0.71.dist-info → holidays-0.72.dist-info}/licenses/LICENSE +1 -1
  243. {holidays-0.71.dist-info → holidays-0.72.dist-info}/top_level.txt +0 -0
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -38,29 +38,27 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
38
38
  default_language = "pt_PT"
39
39
  supported_categories = (OPTIONAL, PUBLIC)
40
40
  start_year = 1801
41
-
42
- # https://en.wikipedia.org/wiki/ISO_3166-2:PT
43
41
  subdivisions = (
44
- "01",
45
- "02",
46
- "03",
47
- "04",
48
- "05",
49
- "06",
50
- "07",
51
- "08",
52
- "09",
53
- "10",
54
- "11",
55
- "12",
56
- "13",
57
- "14",
58
- "15",
59
- "16",
60
- "17",
61
- "18",
62
- "20",
63
- "30",
42
+ "01", # Aveiro.
43
+ "02", # Beja.
44
+ "03", # Braga.
45
+ "04", # Bragança.
46
+ "05", # Castelo Branco.
47
+ "06", # Coimbra.
48
+ "07", # Évora.
49
+ "08", # Faro.
50
+ "09", # Guarda.
51
+ "10", # Leiria.
52
+ "11", # Lisboa.
53
+ "12", # Portalegre.
54
+ "13", # Porto.
55
+ "14", # Santarém.
56
+ "15", # Setúbal.
57
+ "16", # Viana do Castelo.
58
+ "17", # Vila Real.
59
+ "18", # Viseu.
60
+ "20", # Região Autónoma dos Açores.
61
+ "30", # Região Autónoma da Madeira.
64
62
  )
65
63
  subdivisions_aliases = {
66
64
  "Aveiro": "01",
@@ -84,8 +82,8 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
84
82
  "Região Autónoma dos Açores": "20",
85
83
  "Região Autónoma da Madeira": "30",
86
84
  }
87
- _deprecated_subdivisions = ("Ext",)
88
85
  supported_languages = ("en_US", "pt_PT", "uk")
86
+ _deprecated_subdivisions = ("Ext",)
89
87
 
90
88
  def __init__(self, *args, **kwargs) -> None:
91
89
  ChristianHolidays.__init__(self)
@@ -105,7 +103,7 @@ class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
105
103
  # Easter Sunday.
106
104
  self._add_easter_sunday(tr("Páscoa"))
107
105
 
108
- # Revoked holidays in 20132015.
106
+ # Revoked holidays in 2013-2015.
109
107
  if self._year <= 2012 or self._year >= 2016:
110
108
  # Corpus Christi.
111
109
  self._add_corpus_christi_day(tr("Corpo de Deus"))
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -24,6 +24,7 @@ class HolidaysPR(US):
24
24
  country = "PR"
25
25
  supported_categories = (GOVERNMENT, PUBLIC, UNOFFICIAL)
26
26
  subdivisions = () # Override US subdivisions.
27
+ subdivisions_aliases = {} # Override US subdivisions aliases.
27
28
 
28
29
  def _populate_public_holidays(self) -> None:
29
30
  self.subdiv = "PR"
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -0,0 +1,112 @@
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 gettext import gettext as tr
14
+
15
+ from holidays.groups import ChristianHolidays, InternationalHolidays
16
+ from holidays.observed_holiday_base import ObservedHolidayBase, SAT_TO_PREV_FRI, SUN_TO_NEXT_MON
17
+
18
+
19
+ class SaoTomeAndPrincipe(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
20
+ """Sao Tome and Principe holidays.
21
+
22
+ References:
23
+ * <https://web.archive.org/web/20190319201800/http://www.mnec.gov.st/index.php/o-pais?showall=1>
24
+ * <https://visitsaotomeprincipe.st/pt/informacoes-uteis/feriados>
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_São_Tomé_and_Príncipe>
26
+ * <https://www.timeanddate.com/holidays/sao-tome-and-principe/>
27
+ """
28
+
29
+ country = "ST"
30
+ default_language = "pt_ST"
31
+ # %s (observed).
32
+ observed_label = tr("%s (observado)")
33
+ start_year = 2014
34
+ subdivisions = (
35
+ "01", # Água Grande.
36
+ "02", # Cantagalo.
37
+ "03", # Caué.
38
+ "04", # Lembá.
39
+ "05", # Lobata.
40
+ "06", # Mé-Zóchi.
41
+ "P", # Príncipe.
42
+ )
43
+ subdivisions_aliases = {
44
+ # Districts.
45
+ "Água Grande": "01",
46
+ "Cantagalo": "02",
47
+ "Caué": "03",
48
+ "Lembá": "04",
49
+ "Lobata": "05",
50
+ "Mé-Zóchi": "06",
51
+ # Autonomous Region.
52
+ "Príncipe": "P",
53
+ }
54
+ supported_languages = ("en_US", "pt_ST")
55
+
56
+ def __init__(self, *args, **kwargs):
57
+ ChristianHolidays.__init__(self)
58
+ InternationalHolidays.__init__(self)
59
+ kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON + SAT_TO_PREV_FRI)
60
+ # Holidays are observed on the next Monday if on Sunday, or previous Friday if on Saturday.
61
+ # Based on common government practices since at least 2020.
62
+ kwargs.setdefault("observed_since", 2020)
63
+ super().__init__(*args, **kwargs)
64
+
65
+ def _populate_public_holidays(self):
66
+ # New Year's Day.
67
+ name = tr("Ano Novo")
68
+ self._add_observed(self._add_new_years_day(name))
69
+ self._add_observed(self._next_year_new_years_day, name=name, rule=SAT_TO_PREV_FRI)
70
+
71
+ # Day of King Amador.
72
+ self._add_observed(self._add_holiday_jan_4(tr("Dia do Rei Amador")))
73
+
74
+ # Martyrs' Day.
75
+ self._add_observed(self._add_holiday_feb_3(tr("Dia dos Mártires")))
76
+
77
+ # Worker's Day.
78
+ self._add_observed(self._add_labor_day(tr("Dia do Trabalhador")))
79
+
80
+ # Independence Day.
81
+ self._add_observed(self._add_holiday_jul_12(tr("Dia da Independência")))
82
+
83
+ # Armed Forces Day.
84
+ self._add_observed(self._add_holiday_sep_6(tr("Dia das Forças Armadas")))
85
+
86
+ # Agricultural Reform Day.
87
+ self._add_observed(self._add_holiday_sep_30(tr("Dia da Reforma Agrária")))
88
+
89
+ if self._year >= 2019:
90
+ # São Tomé Day.
91
+ self._add_observed(self._add_holiday_dec_21(tr("Dia de São Tomé")))
92
+
93
+ # Christmas Day.
94
+ self._add_observed(self._add_christmas_day(tr("Natal")))
95
+
96
+ def _populate_subdiv_p_public_holidays(self):
97
+ # Discovery of Príncipe Island.
98
+ self._add_observed(self._add_holiday_jan_17(tr("Descobrimento da Ilha do Príncipe")))
99
+
100
+ # Autonomy Day.
101
+ self._add_observed(self._add_holiday_apr_29(tr("Dia da Autonomia do Príncipe")))
102
+
103
+ # São Lourenço Day.
104
+ self._add_observed(self._add_holiday_aug_15(tr("Dia de São Lourenço")))
105
+
106
+
107
+ class ST(SaoTomeAndPrincipe):
108
+ pass
109
+
110
+
111
+ class STP(SaoTomeAndPrincipe):
112
+ pass
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -307,7 +307,9 @@ class SingaporeStaticHolidays:
307
307
 
308
308
  References:
309
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>
310
+ * <https://www.mom.gov.sg/newsroom/press-releases/2020/0624-public-holiday-on-polling-day---10-july-2020>
311
+ * <https://www.mom.gov.sg/newsroom/press-releases/2023/0822-public-holiday-on-polling-day---1-sep-2023>
312
+ * <https://www.mom.gov.sg/newsroom/press-releases/2025/0415-public-holiday-on-polling-day_3-may-2025>
311
313
  """
312
314
 
313
315
  # Polling Day.
@@ -324,6 +326,7 @@ class SingaporeStaticHolidays:
324
326
  ),
325
327
  2020: (JUL, 10, polling_day_name),
326
328
  2023: (SEP, 1, polling_day_name),
329
+ 2025: (MAY, 3, polling_day_name),
327
330
  }
328
331
 
329
332
  special_public_holidays_observed = {
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -14,7 +14,7 @@ import warnings
14
14
  from datetime import date
15
15
  from gettext import gettext as tr
16
16
 
17
- from holidays.calendars import _CustomChineseHolidays
17
+ from holidays.calendars.chinese import KOREAN_CALENDAR
18
18
  from holidays.calendars.gregorian import (
19
19
  JAN,
20
20
  FEB,
@@ -87,7 +87,7 @@ class SouthKorea(
87
87
  start_year = 1948
88
88
 
89
89
  def __init__(self, *args, **kwargs):
90
- ChineseCalendarHolidays.__init__(self, cls=SouthKoreaLunisolarHolidays)
90
+ ChineseCalendarHolidays.__init__(self, calendar=KOREAN_CALENDAR)
91
91
  ChristianHolidays.__init__(self)
92
92
  InternationalHolidays.__init__(self)
93
93
  StaticHolidays.__init__(self, cls=SouthKoreaStaticHolidays)
@@ -289,34 +289,6 @@ class KOR(SouthKorea):
289
289
  pass
290
290
 
291
291
 
292
- class SouthKoreaLunisolarHolidays(_CustomChineseHolidays):
293
- BUDDHA_BIRTHDAY_DATES = {
294
- 1931: (MAY, 25),
295
- 1968: (MAY, 5),
296
- 2001: (MAY, 1),
297
- 2012: (MAY, 28),
298
- 2023: (MAY, 27),
299
- 2025: (MAY, 5),
300
- }
301
-
302
- LUNAR_NEW_YEAR_DATES = {
303
- 1916: (FEB, 4),
304
- 1944: (JAN, 26),
305
- 1954: (FEB, 4),
306
- 1958: (FEB, 19),
307
- 1966: (JAN, 22),
308
- 1988: (FEB, 18),
309
- 1997: (FEB, 8),
310
- 2027: (FEB, 7),
311
- 2028: (JAN, 27),
312
- }
313
-
314
- MID_AUTUMN_DATES = {
315
- 1942: (SEP, 25),
316
- 2040: (SEP, 21),
317
- }
318
-
319
-
320
292
  class SouthKoreaStaticHolidays:
321
293
  """South Korea special holidays.
322
294
 
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -55,26 +55,49 @@ class Spain(
55
55
  # Monday following %s.
56
56
  observed_label = tr("Lunes siguiente a %s")
57
57
  subdivisions = (
58
- "AN", # Andalucía
59
- "AR", # Aragón
60
- "AS", # Asturias
61
- "CB", # Cantabria
62
- "CE", # Ceuta
63
- "CL", # Castilla y León
64
- "CM", # Castilla-La Mancha
65
- "CN", # Canarias
66
- "CT", # Cataluña
67
- "EX", # Extremadura
68
- "GA", # Galicia
69
- "IB", # Islas Baleares
70
- "MC", # Murcia
71
- "MD", # Madrid
72
- "ML", # Melilla
73
- "NC", # Navarra
74
- "PV", # País Vasco
75
- "RI", # La Rioja
76
- "VC", # Valenciana
58
+ "AN", # Andalucía.
59
+ "AR", # Aragón.
60
+ "AS", # Asturias.
61
+ "CB", # Cantabria.
62
+ "CE", # Ceuta.
63
+ "CL", # Castilla y León.
64
+ "CM", # Castilla-La Mancha.
65
+ "CN", # Canarias.
66
+ "CT", # Cataluña (Catalunya).
67
+ "EX", # Extremadura.
68
+ "GA", # Galicia.
69
+ "IB", # Islas Baleares (Illes Balears).
70
+ "MC", # Murcia.
71
+ "MD", # Madrid.
72
+ "ML", # Melilla.
73
+ "NC", # Navarra.
74
+ "PV", # País Vasco.
75
+ "RI", # La Rioja.
76
+ "VC", # Valenciana.
77
77
  )
78
+ subdivisions_aliases = {
79
+ "Andalucía": "AN",
80
+ "Aragón": "AR",
81
+ "Asturias": "AS",
82
+ "Cantabria": "CB",
83
+ "Ceuta": "CE",
84
+ "Castilla y León": "CL",
85
+ "Castilla-La Mancha": "CM",
86
+ "Canarias": "CN",
87
+ "Cataluña": "CT",
88
+ "Catalunya": "CT",
89
+ "Extremadura": "EX",
90
+ "Galicia": "GA",
91
+ "Islas Baleares": "IB",
92
+ "Illes Balears": "IB",
93
+ "Murcia": "MC",
94
+ "Madrid": "MD",
95
+ "Melilla": "ML",
96
+ "Navarra": "NC",
97
+ "País Vasco": "PV",
98
+ "La Rioja": "RI",
99
+ "Valenciana": "VC",
100
+ }
78
101
  supported_languages = ("en_US", "es", "uk")
79
102
 
80
103
  def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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
@@ -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.md file)
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS 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