holidays 0.68__py3-none-any.whl → 0.70__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 (254) hide show
  1. holidays/__init__.py +1 -1
  2. holidays/calendars/__init__.py +2 -1
  3. holidays/calendars/balinese_saka.py +112 -0
  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 +866 -2
  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 +3 -1
  17. holidays/countries/__init__.py +7 -1
  18. holidays/countries/afghanistan.py +17 -7
  19. holidays/countries/albania.py +16 -7
  20. holidays/countries/algeria.py +14 -10
  21. holidays/countries/american_samoa.py +12 -6
  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 +30 -19
  31. holidays/countries/bahamas.py +13 -11
  32. holidays/countries/bahrain.py +14 -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 +21 -11
  40. holidays/countries/botswana.py +8 -6
  41. holidays/countries/brazil.py +8 -7
  42. holidays/countries/brunei.py +56 -62
  43. holidays/countries/bulgaria.py +9 -10
  44. holidays/countries/burkina_faso.py +14 -5
  45. holidays/countries/burundi.py +17 -12
  46. holidays/countries/cambodia.py +15 -24
  47. holidays/countries/cameroon.py +16 -7
  48. holidays/countries/canada.py +13 -12
  49. holidays/countries/chad.py +15 -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 +11 -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 +10 -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 +26 -11
  70. holidays/countries/fiji.py +183 -0
  71. holidays/countries/finland.py +11 -10
  72. holidays/countries/france.py +6 -9
  73. holidays/countries/gabon.py +17 -8
  74. holidays/countries/georgia.py +7 -7
  75. holidays/countries/germany.py +11 -11
  76. holidays/countries/ghana.py +14 -6
  77. holidays/countries/greece.py +4 -5
  78. holidays/countries/greenland.py +5 -6
  79. holidays/countries/guam.py +12 -6
  80. holidays/countries/guatemala.py +7 -9
  81. holidays/countries/guernsey.py +37 -34
  82. holidays/countries/guinea.py +182 -0
  83. holidays/countries/haiti.py +6 -5
  84. holidays/countries/honduras.py +8 -4
  85. holidays/countries/hongkong.py +49 -60
  86. holidays/countries/hungary.py +26 -23
  87. holidays/countries/iceland.py +5 -4
  88. holidays/countries/india.py +494 -174
  89. holidays/countries/indonesia.py +68 -108
  90. holidays/countries/iran.py +18 -9
  91. holidays/countries/ireland.py +5 -4
  92. holidays/countries/isle_of_man.py +2 -2
  93. holidays/countries/israel.py +4 -5
  94. holidays/countries/italy.py +5 -4
  95. holidays/countries/ivory_coast.py +156 -0
  96. holidays/countries/jamaica.py +6 -4
  97. holidays/countries/japan.py +5 -5
  98. holidays/countries/jersey.py +29 -26
  99. holidays/countries/jordan.py +13 -6
  100. holidays/countries/kazakhstan.py +72 -51
  101. holidays/countries/kenya.py +28 -18
  102. holidays/countries/kuwait.py +14 -7
  103. holidays/countries/kyrgyzstan.py +11 -6
  104. holidays/countries/laos.py +21 -29
  105. holidays/countries/latvia.py +7 -5
  106. holidays/countries/lesotho.py +6 -5
  107. holidays/countries/liechtenstein.py +5 -5
  108. holidays/countries/lithuania.py +4 -5
  109. holidays/countries/luxembourg.py +5 -3
  110. holidays/countries/macau.py +480 -0
  111. holidays/countries/madagascar.py +5 -4
  112. holidays/countries/malawi.py +6 -4
  113. holidays/countries/malaysia.py +30 -18
  114. holidays/countries/maldives.py +14 -7
  115. holidays/countries/malta.py +10 -19
  116. holidays/countries/marshall_islands.py +6 -4
  117. holidays/countries/mauritania.py +13 -6
  118. holidays/countries/mexico.py +8 -7
  119. holidays/countries/moldova.py +6 -4
  120. holidays/countries/monaco.py +6 -4
  121. holidays/countries/montenegro.py +16 -7
  122. holidays/countries/morocco.py +13 -8
  123. holidays/countries/mozambique.py +3 -1
  124. holidays/countries/namibia.py +7 -5
  125. holidays/countries/netherlands.py +6 -6
  126. holidays/countries/new_zealand.py +3 -1
  127. holidays/countries/nicaragua.py +6 -5
  128. holidays/countries/nigeria.py +13 -5
  129. holidays/countries/north_macedonia.py +13 -5
  130. holidays/countries/northern_mariana_islands.py +12 -6
  131. holidays/countries/norway.py +15 -15
  132. holidays/countries/pakistan.py +48 -18
  133. holidays/countries/palau.py +13 -11
  134. holidays/countries/panama.py +9 -8
  135. holidays/countries/papua_new_guinea.py +25 -21
  136. holidays/countries/paraguay.py +10 -9
  137. holidays/countries/peru.py +4 -5
  138. holidays/countries/philippines.py +32 -18
  139. holidays/countries/poland.py +7 -6
  140. holidays/countries/portugal.py +13 -15
  141. holidays/countries/puerto_rico.py +12 -6
  142. holidays/countries/qatar.py +172 -0
  143. holidays/countries/romania.py +6 -4
  144. holidays/countries/russia.py +6 -4
  145. holidays/countries/saint_kitts_and_nevis.py +24 -22
  146. holidays/countries/saint_lucia.py +8 -7
  147. holidays/countries/samoa.py +7 -6
  148. holidays/countries/san_marino.py +4 -3
  149. holidays/countries/saudi_arabia.py +15 -15
  150. holidays/countries/serbia.py +3 -4
  151. holidays/countries/seychelles.py +22 -26
  152. holidays/countries/singapore.py +33 -38
  153. holidays/countries/slovakia.py +6 -5
  154. holidays/countries/slovenia.py +7 -6
  155. holidays/countries/south_africa.py +8 -6
  156. holidays/countries/south_korea.py +25 -32
  157. holidays/countries/spain.py +31 -24
  158. holidays/countries/sri_lanka.py +52 -42
  159. holidays/countries/sweden.py +20 -19
  160. holidays/countries/switzerland.py +6 -5
  161. holidays/countries/taiwan.py +230 -31
  162. holidays/countries/tanzania.py +34 -27
  163. holidays/countries/thailand.py +134 -142
  164. holidays/countries/timor_leste.py +38 -17
  165. holidays/countries/tonga.py +46 -42
  166. holidays/countries/tunisia.py +9 -3
  167. holidays/countries/turkey.py +17 -9
  168. holidays/countries/tuvalu.py +12 -11
  169. holidays/countries/ukraine.py +54 -54
  170. holidays/countries/united_arab_emirates.py +43 -30
  171. holidays/countries/united_kingdom.py +7 -6
  172. holidays/countries/united_states.py +130 -86
  173. holidays/countries/united_states_minor_outlying_islands.py +12 -6
  174. holidays/countries/united_states_virgin_islands.py +12 -6
  175. holidays/countries/uruguay.py +10 -9
  176. holidays/countries/uzbekistan.py +16 -7
  177. holidays/countries/vanuatu.py +7 -5
  178. holidays/countries/vatican_city.py +16 -15
  179. holidays/countries/venezuela.py +11 -14
  180. holidays/countries/vietnam.py +15 -11
  181. holidays/countries/zambia.py +8 -6
  182. holidays/countries/zimbabwe.py +6 -4
  183. holidays/deprecations/v1_incompatibility.py +1 -1
  184. holidays/financial/__init__.py +1 -1
  185. holidays/financial/brasil_bolsa_balcao.py +14 -13
  186. holidays/financial/european_central_bank.py +7 -6
  187. holidays/financial/ice_futures_europe.py +7 -6
  188. holidays/financial/ny_stock_exchange.py +13 -10
  189. holidays/groups/__init__.py +2 -1
  190. holidays/groups/balinese_saka.py +45 -0
  191. holidays/groups/buddhist.py +1 -1
  192. holidays/groups/chinese.py +69 -4
  193. holidays/groups/christian.py +1 -1
  194. holidays/groups/custom.py +1 -1
  195. holidays/groups/eastern.py +1 -1
  196. holidays/groups/hebrew.py +1 -1
  197. holidays/groups/hindu.py +256 -1
  198. holidays/groups/international.py +1 -1
  199. holidays/groups/islamic.py +17 -3
  200. holidays/groups/persian.py +1 -1
  201. holidays/groups/sinhala.py +1 -1
  202. holidays/groups/thai.py +1 -7
  203. holidays/helpers.py +1 -1
  204. holidays/holiday_base.py +410 -273
  205. holidays/ical.py +228 -0
  206. holidays/locale/ar_QA/LC_MESSAGES/QA.mo +0 -0
  207. holidays/locale/de/LC_MESSAGES/PL.mo +0 -0
  208. holidays/locale/en_CI/LC_MESSAGES/CI.mo +0 -0
  209. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  210. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  211. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  212. holidays/locale/en_PK/LC_MESSAGES/PK.mo +0 -0
  213. holidays/locale/en_TL/LC_MESSAGES/TL.mo +0 -0
  214. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  215. holidays/locale/en_US/LC_MESSAGES/CI.mo +0 -0
  216. holidays/locale/en_US/LC_MESSAGES/GN.mo +0 -0
  217. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  218. holidays/locale/en_US/LC_MESSAGES/IN.mo +0 -0
  219. holidays/locale/en_US/LC_MESSAGES/MO.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/TL.mo +0 -0
  223. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  224. holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
  225. holidays/locale/fr/LC_MESSAGES/CI.mo +0 -0
  226. holidays/locale/fr/LC_MESSAGES/GN.mo +0 -0
  227. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  228. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  229. holidays/locale/pt_TL/LC_MESSAGES/TL.mo +0 -0
  230. holidays/locale/tet/LC_MESSAGES/TL.mo +0 -0
  231. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  232. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  233. holidays/locale/th/LC_MESSAGES/TL.mo +0 -0
  234. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  235. holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
  236. holidays/locale/ur_PK/LC_MESSAGES/PK.mo +0 -0
  237. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  238. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  239. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  240. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  241. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  242. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  243. holidays/mixins.py +2 -2
  244. holidays/observed_holiday_base.py +5 -2
  245. holidays/registry.py +7 -1
  246. holidays/utils.py +151 -151
  247. holidays/version.py +2 -2
  248. holidays-0.70.dist-info/METADATA +1404 -0
  249. {holidays-0.68.dist-info → holidays-0.70.dist-info}/RECORD +253 -222
  250. {holidays-0.68.dist-info → holidays-0.70.dist-info}/WHEEL +1 -1
  251. holidays-0.68.dist-info/AUTHORS → holidays-0.70.dist-info/licenses/AUTHORS.md +7 -2
  252. {holidays-0.68.dist-info → holidays-0.70.dist-info/licenses}/LICENSE +1 -1
  253. holidays-0.68.dist-info/METADATA +0 -1080
  254. {holidays-0.68.dist-info → holidays-0.70.dist-info}/top_level.txt +0 -0
@@ -4,29 +4,35 @@
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
11
11
  # License: MIT (see LICENSE file)
12
12
 
13
- from holidays.constants import PUBLIC, UNOFFICIAL
13
+ from holidays.constants import GOVERNMENT, PUBLIC, UNOFFICIAL
14
14
  from holidays.countries.united_states import US
15
15
 
16
16
 
17
17
  class HolidaysGU(US):
18
- # Alias of a US subdivision that is also officially assigned its own
19
- # country code in ISO 3166-1. See
20
- # https://en.wikipedia.org/wiki/ISO_3166-2:US#Subdivisions_included_in_ISO_3166-1
18
+ """Guam holidays.
19
+
20
+ Alias of a US subdivision that is also officially assigned its own country code in ISO 3166-1.
21
+ See <https://en.wikipedia.org/wiki/ISO_3166-2:US#Subdivisions_included_in_ISO_3166-1>
22
+ """
21
23
 
22
24
  country = "GU"
23
- supported_categories = (PUBLIC, UNOFFICIAL)
25
+ supported_categories = (GOVERNMENT, PUBLIC, UNOFFICIAL)
24
26
  subdivisions = () # Override US subdivisions.
25
27
 
26
28
  def _populate_public_holidays(self) -> None:
27
29
  self.subdiv = "GU"
28
30
  super()._populate_public_holidays()
29
31
 
32
+ def _populate_government_holidays(self) -> None:
33
+ self.subdiv = "GU"
34
+ super()._populate_government_holidays()
35
+
30
36
  def _populate_unofficial_holidays(self) -> None:
31
37
  self.subdiv = "GU"
32
38
  super()._populate_unofficial_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 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,17 +19,15 @@ from holidays.observed_holiday_base import ObservedHolidayBase, ALL_TO_NEAREST_M
19
19
 
20
20
 
21
21
  class Guatemala(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
22
- """
22
+ """Guatemala holidays.
23
+
23
24
  References:
24
- - http://www.bvnsa.com.gt/bvnsa/calendario_dias_festivos.php
25
- - https://www.minfin.gob.gt/images/downloads/leyes_acuerdos/decretocong19_101018.pdf
25
+ * <http://www.bvnsa.com.gt/bvnsa/calendario_dias_festivos.php>
26
+ * <https://www.minfin.gob.gt/images/downloads/leyes_acuerdos/decretocong19_101018.pdf>
26
27
 
27
28
  Moving holidays:
28
- law 19-2018 start 18 oct 2018
29
- https://www.minfin.gob.gt/images/downloads/leyes_acuerdos/decretocong19_101018.pdf
30
-
31
- EXPEDIENTE 5536-2018 (CC) start 17 abr 2020
32
- https://leyes.infile.com/index.php?id=181&id_publicacion=81051
29
+ * [Decree 19-2018 start 18 oct 2018](https://www.minfin.gob.gt/images/downloads/leyes_acuerdos/decretocong19_101018.pdf)
30
+ * [Case 5536-2018 (CC) start 17 abr 2020](https://leyes.infile.com/index.php?id=182&id_publicacion=81055)
33
31
  """
34
32
 
35
33
  country = "GT"
@@ -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
@@ -23,13 +23,15 @@ from holidays.observed_holiday_base import (
23
23
 
24
24
 
25
25
  class Guernsey(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
26
- """
26
+ """Guernsey holidays.
27
+
27
28
  References:
28
- - https://en.wikipedia.org/wiki/Public_holidays_in_Guernsey
29
- - https://guernseylegalresources.gg/ordinances/guernsey-bailiwick/p/public-holidays/
30
- - https://www.thegazette.co.uk/all-notices
29
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Guernsey>
30
+ * <https://guernseylegalresources.gg/ordinances/guernsey-bailiwick/p/public-holidays/>
31
+ * <https://www.thegazette.co.uk/all-notices>
32
+
31
33
  Checked with:
32
- - https://www.gov.gg/holidaydates
34
+ * <https://www.gov.gg/holidaydates>
33
35
 
34
36
  His/Her Majesty's Birthday pre-1946 is cross-checked with The London Gazette's Record,
35
37
  Specifically as "Home Station" entry under King's Birthday declaration lists.
@@ -230,35 +232,36 @@ class GGY(Guernsey):
230
232
 
231
233
 
232
234
  class GuernseyStaticHolidays:
233
- """
235
+ """Guernsey special holidays.
236
+
234
237
  References:
235
- - https://www.gov.gg/holidaydates
236
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52182
237
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52183
238
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52184
239
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52185
240
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52188
241
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52189
242
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52631
243
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55175
244
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55176
245
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55177
246
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55179
247
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55180
248
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55183
249
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55185
250
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55505
251
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=57425
252
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60605
253
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60606
254
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60607
255
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60608
256
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60613
257
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60614
258
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=79939
259
- - https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=83147
260
- - https://www.bbc.com/news/world-europe-guernsey-62864318
261
- - https://www.bbc.co.uk/news/articles/c1441ddn87po
238
+ * <https://www.gov.gg/holidaydates>
239
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52182>
240
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52183>
241
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52184>
242
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52185>
243
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52188>
244
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52189>
245
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=52631>
246
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55175>
247
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55176>
248
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55177>
249
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55179>
250
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55180>
251
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55183>
252
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55185>
253
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=55505>
254
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=57425>
255
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60605>
256
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60606>
257
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60607>
258
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60608>
259
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60613>
260
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=60614>
261
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=79939>
262
+ * <https://guernseylegalresources.gg/CHttpHandler.ashx?documentid=83147>
263
+ * <https://www.bbc.com/news/world-europe-guernsey-62864318>
264
+ * <https://www.bbc.co.uk/news/articles/c1441ddn87po>
262
265
 
263
266
  All "jour de relâche" entries are translated as special day off instead.
264
267
 
@@ -0,0 +1,182 @@
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 import _CustomIslamicHolidays
16
+ from holidays.calendars.gregorian import MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
17
+ from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
18
+ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
19
+
20
+
21
+ class Guinea(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
22
+ """Guinea holidays.
23
+
24
+ References:
25
+ * [Decree No. 2022-0526](https://igt.gov.gn/wp-content/uploads/2024/10/D-2022-0526-PRG-CNRD_221103_131021.pdf)
26
+ * <https://www.timeanddate.com/holidays/guinea/>
27
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Guinea>
28
+ * <https://anydayguide.com/calendar/1878>
29
+ * <https://www.timeanddate.com/holidays/guinea/second-republic-day>
30
+ * <https://www.timeanddate.com/holidays/guinea/all-saints-day>
31
+
32
+ According to Decree No. 2022-0526 of 2 November 2022:
33
+ * Eid al-Adha became a two-day holiday (Article 1).
34
+ * If New Year's Day, Independence Day or Eid al-Fitr fall on a non-working day,
35
+ the next working day is also a holiday (Article 2).
36
+ """
37
+
38
+ country = "GN"
39
+ default_language = "fr"
40
+ # %s (estimated).
41
+ estimated_label = tr("%s (estimé)")
42
+ # Day after the %s.
43
+ observed_label = tr("Lendemain de la %s")
44
+ # Day after the %s (estimated).
45
+ observed_estimated_label = tr("Lendemain de la %s (estimé)")
46
+ supported_languages = ("en_US", "fr")
47
+
48
+ # Guinea gained independence from France on October 2, 1958.
49
+ start_year = 1959
50
+
51
+ def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
52
+ """
53
+ Args:
54
+ islamic_show_estimated:
55
+ Whether to add "estimated" label to Islamic holidays name
56
+ if holiday date is estimated.
57
+ """
58
+ ChristianHolidays.__init__(self)
59
+ InternationalHolidays.__init__(self)
60
+ IslamicHolidays.__init__(
61
+ self, cls=GuineaIslamicHolidays, show_estimated=islamic_show_estimated
62
+ )
63
+ kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
64
+ super().__init__(*args, **kwargs)
65
+
66
+ def _populate_public_holidays(self):
67
+ # New Year's Day.
68
+ dt = self._add_new_years_day(tr("Fête du Nouvel an"))
69
+ if self._year >= 2023:
70
+ self._add_observed(dt)
71
+
72
+ if 1985 <= self._year <= 2021:
73
+ # Second Republic Day.
74
+ self._add_holiday_apr_3(tr("Jour de la Deuxième République"))
75
+
76
+ # Easter Monday.
77
+ self._add_easter_monday(tr("Lundi de Pâques"))
78
+
79
+ # Labor Day.
80
+ self._add_labor_day(tr("Fête du Travail"))
81
+
82
+ # Africa Day.
83
+ self._add_africa_day(tr("Anniversaire de l'Union Africaine"))
84
+
85
+ # Assumption Day.
86
+ self._add_assumption_of_mary_day(tr("Assomption"))
87
+
88
+ # Independence Day.
89
+ dt = self._add_holiday_oct_2(tr("Fête anniversaire de l'indépendance de la Guinée"))
90
+ if self._year >= 2023:
91
+ self._add_observed(dt)
92
+
93
+ if self._year <= 2021:
94
+ # All Saints' Day.
95
+ self._add_all_saints_day(tr("Toussaint"))
96
+
97
+ # Christmas Day.
98
+ self._add_christmas_day(tr("Fête de Noël"))
99
+
100
+ # Day after Prophet's Birthday.
101
+ self._add_mawlid_day(tr("Lendemain de la nuit du Maoloud"))
102
+
103
+ # Day after Night of Power.
104
+ self._add_laylat_al_qadr_day(tr("Lendemain de la nuit Lailatoul Qadr"))
105
+
106
+ # Eid al-Fitr.
107
+ for dt in self._add_eid_al_fitr_day(tr("Jour de l'Aïd el-Fitr")):
108
+ if self._year >= 2023:
109
+ self._add_observed(dt)
110
+
111
+ # Eid al-Adha.
112
+ self._add_eid_al_adha_day(tr("Jour de la Tabaski"))
113
+
114
+ if self._year >= 2023:
115
+ # Day after Eid al-Adha.
116
+ self._add_eid_al_adha_day_two(tr("Lendemain de la Tabaski"))
117
+
118
+
119
+ class GN(Guinea):
120
+ pass
121
+
122
+
123
+ class GIN(Guinea):
124
+ pass
125
+
126
+
127
+ class GuineaIslamicHolidays(_CustomIslamicHolidays):
128
+ EID_AL_ADHA_DATES = {
129
+ 2015: (SEP, 24),
130
+ 2016: (SEP, 13),
131
+ 2017: (SEP, 2),
132
+ 2018: (AUG, 22),
133
+ 2019: (AUG, 11),
134
+ 2020: (JUL, 31),
135
+ 2021: (JUL, 20),
136
+ 2022: (JUL, 10),
137
+ 2023: (JUN, 28),
138
+ 2024: (JUN, 16),
139
+ 2025: (JUN, 7),
140
+ }
141
+
142
+ EID_AL_FITR_DATES = {
143
+ 2015: (JUL, 18),
144
+ 2016: (JUL, 7),
145
+ 2017: (JUN, 26),
146
+ 2018: (JUN, 15),
147
+ 2019: (JUN, 4),
148
+ 2020: (MAY, 24),
149
+ 2021: (MAY, 13),
150
+ 2022: (MAY, 2),
151
+ 2023: (APR, 21),
152
+ 2024: (APR, 10),
153
+ 2025: (MAR, 31),
154
+ }
155
+
156
+ MAWLID_DATES = {
157
+ 2015: (DEC, 24),
158
+ 2016: (DEC, 12),
159
+ 2017: (DEC, 1),
160
+ 2018: (NOV, 20),
161
+ 2019: (NOV, 10),
162
+ 2020: (OCT, 29),
163
+ 2021: (OCT, 18),
164
+ 2022: (OCT, 8),
165
+ 2023: (SEP, 27),
166
+ 2024: (SEP, 15),
167
+ 2025: (SEP, 5),
168
+ }
169
+
170
+ LAYLAT_AL_QADR_DATES = {
171
+ 2015: (JUL, 14),
172
+ 2016: (JUL, 3),
173
+ 2017: (JUN, 22),
174
+ 2018: (JUN, 12),
175
+ 2019: (JUN, 1),
176
+ 2020: (MAY, 20),
177
+ 2021: (MAY, 9),
178
+ 2022: (APR, 29),
179
+ 2023: (APR, 18),
180
+ 2024: (APR, 6),
181
+ 2025: (MAR, 27),
182
+ }
@@ -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
@@ -18,11 +18,12 @@ from holidays.holiday_base import HolidayBase
18
18
 
19
19
 
20
20
  class Haiti(HolidayBase, ChristianHolidays, InternationalHolidays):
21
- """
21
+ """Haiti holidays.
22
+
22
23
  References:
23
- - https://www.wipo.int/wipolex/en/legislation/details/7837
24
- - https://haitiwonderland.com/haiti/histoire/jours-feries-en-haiti/27
25
- - https://www.haiti-reference.info/pages/plan/generalites/calendrier-dhaiti/
24
+ * <https://www.wipo.int/wipolex/en/legislation/details/7837>
25
+ * <https://haitiwonderland.com/haiti/histoire/jours-feries-en-haiti/27>
26
+ * <https://www.haiti-reference.info/pages/plan/generalites/calendrier-dhaiti/>
26
27
  """
27
28
 
28
29
  country = "HT"
@@ -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
@@ -17,8 +17,12 @@ from holidays.holiday_base import HolidayBase
17
17
 
18
18
 
19
19
  class Honduras(HolidayBase, ChristianHolidays, InternationalHolidays):
20
- # Artículo 339 del Código del Trabajo:
21
- # https://www.ilo.org/dyn/natlex/docs/WEBTEXT/29076/64849/S59HND01.htm
20
+ """Honduras holidays.
21
+
22
+ References:
23
+ * [Art. 339 of Labor Code](https://www.ilo.org/dyn/natlex/docs/WEBTEXT/29076/64849/S59HND01.htm)
24
+ * [Decree 78-2015](https://www.tsc.gob.hn/web/leyes/Decreto_78-2015_Traslado_de_Feriados_Octubre.pdf)
25
+ """
22
26
 
23
27
  country = "HN"
24
28
  default_language = "es"
@@ -51,7 +55,7 @@ class Honduras(HolidayBase, ChristianHolidays, InternationalHolidays):
51
55
  # Independence Day.
52
56
  self._add_holiday_sep_15(tr("Día de la Independencia"))
53
57
 
54
- # https://www.tsc.gob.hn/web/leyes/Decreto_78-2015_Traslado_de_Feriados_Octubre.pdf
58
+ # Decree 78-2015.
55
59
  if self._year <= 2014:
56
60
  # Morazan's Day.
57
61
  self._add_holiday_oct_3(tr("Día de Morazán"))