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
@@ -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 Poland(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
21
- """
21
+ """Poland holidays.
22
+
22
23
  References:
23
- - https://en.wikipedia.org/wiki/Public_holidays_in_Poland
24
- - https://pl.wikipedia.org/wiki/Dni_wolne_od_pracy_w_Polsce
25
- - https://isap.sejm.gov.pl/isap.nsf/DocDetails.xsp?id=WDU20240001965
24
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Poland>
25
+ * <https://pl.wikipedia.org/wiki/Dni_wolne_od_pracy_w_Polsce>
26
+ * <https://isap.sejm.gov.pl/isap.nsf/DocDetails.xsp?id=WDU20240001965>
26
27
  """
27
28
 
28
29
  country = "PL"
@@ -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,22 +18,20 @@ from holidays.holiday_base import HolidayBase
18
18
 
19
19
 
20
20
  class Portugal(HolidayBase, ChristianHolidays, InternationalHolidays):
21
- """
22
- A subclass of :py:class:`HolidayBase` representing public holidays
23
- in Portugal.
21
+ """Portugal holidays.
24
22
 
25
23
  References:
26
- - https://en.wikipedia.org/wiki/Public_holidays_in_Portugal
27
- - `Labour Day <https://www.e-konomista.pt/dia-do-trabalhador/>`_
28
- - Portugal Day - Decreto 17.171
29
- - Restoration of Independence Day - Gazeta de Lisboa, 8 de Dezembro
30
- de 1823 (n.º 290), pp. 1789 e 1790
31
- - Azores
32
- - https://files.dre.pt/1s/1980/08/19200/23052305.pdf
33
- - Madeira
34
- - https://files.dre.pt/1s/1979/11/25900/28782878.pdf
35
- - https://files.dre.pt/1s/1989/02/02800/04360436.pdf
36
- - https://files.dre.pt/1s/2002/11/258a00/71837183.pdf
24
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Portugal>
25
+ * [Labour Day](https://www.e-konomista.pt/dia-do-trabalhador/)
26
+ * Portugal Day - Decreto 17.171
27
+ * Restoration of Independence Day - Gazeta de Lisboa, 8 de Dezembro
28
+ de 1823 (n.º 290), pp. 1789 e 1790
29
+ * Azores:
30
+ * <https://files.dre.pt/1s/1980/08/19200/23052305.pdf>
31
+ * Madeira:
32
+ * <https://files.dre.pt/1s/1979/11/25900/28782878.pdf>
33
+ * <https://files.dre.pt/1s/1989/02/02800/04360436.pdf>
34
+ * <https://files.dre.pt/1s/2002/11/258a00/71837183.pdf>
37
35
  """
38
36
 
39
37
  country = "PT"
@@ -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
@@ -15,9 +15,11 @@ from holidays.countries.united_states import US
15
15
 
16
16
 
17
17
  class HolidaysPR(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
+ """Puerto Rico 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 = "PR"
23
25
  supported_categories = (GOVERNMENT, PUBLIC, UNOFFICIAL)
@@ -0,0 +1,172 @@
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 (
17
+ JAN,
18
+ MAR,
19
+ APR,
20
+ MAY,
21
+ JUN,
22
+ JUL,
23
+ AUG,
24
+ SEP,
25
+ OCT,
26
+ NOV,
27
+ DEC,
28
+ THU,
29
+ FRI,
30
+ SAT,
31
+ )
32
+ from holidays.constants import BANK, PUBLIC
33
+ from holidays.groups import InternationalHolidays, IslamicHolidays, StaticHolidays
34
+ from holidays.holiday_base import HolidayBase
35
+
36
+
37
+ class Qatar(HolidayBase, InternationalHolidays, IslamicHolidays, StaticHolidays):
38
+ """Qatar holidays.
39
+
40
+ References:
41
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Qatar>
42
+ * [National Sports Day](https://hukoomi.gov.qa/en/national-sport-day)
43
+ * [Qatar National Day](https://www.qatar.qa/en/qatar/history-of-qatar-qatar-national-day-committee/)
44
+ * [Weekend](https://www.arabnews.com/node/234601)
45
+ """
46
+
47
+ country = "QA"
48
+ default_language = "ar_QA"
49
+ # %s (estimated).
50
+ estimated_label = tr("%s (المقدرة)")
51
+ start_year = 1971
52
+ supported_categories = (BANK, PUBLIC)
53
+ supported_languages = ("ar_QA", "en_US")
54
+
55
+ def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
56
+ """
57
+ Args:
58
+ islamic_show_estimated:
59
+ Whether to add "estimated" label to Islamic holidays name
60
+ if holiday date is estimated.
61
+ """
62
+ InternationalHolidays.__init__(self)
63
+ IslamicHolidays.__init__(
64
+ self, cls=QatarIslamicHolidays, show_estimated=islamic_show_estimated
65
+ )
66
+ StaticHolidays.__init__(self, QatarStaticHolidays)
67
+ super().__init__(*args, **kwargs)
68
+
69
+ def _populate_public_holidays(self):
70
+ # Qatar switches from THU-FRI to FRI-SAT on Aug 1, 2003.
71
+ self.weekend = {THU, FRI} if self._year <= 2003 else {FRI, SAT}
72
+
73
+ if self._year >= 2012:
74
+ # National Sports Day.
75
+ self._add_holiday_2nd_tue_of_feb(tr("اليوم الوطني للرياضة"))
76
+
77
+ if self._year >= 2007:
78
+ # Qatar National Day.
79
+ self._add_holiday_dec_18(tr("اليوم الوطني لقطر"))
80
+
81
+ # Eid al-Fitr.
82
+ name = tr("عيد الفطر")
83
+ self._add_eid_al_fitr_day(name)
84
+ self._add_eid_al_fitr_day_two(name)
85
+ self._add_eid_al_fitr_day_three(name)
86
+
87
+ # Eid al-Adha.
88
+ name = tr("عيد الأضحى")
89
+ self._add_eid_al_adha_day(name)
90
+ self._add_eid_al_adha_day_two(name)
91
+ self._add_eid_al_adha_day_three(name)
92
+
93
+ def _populate_bank_holidays(self):
94
+ # New Year's Day.
95
+ self._add_new_years_day(tr("رأس السنة الميلادية"))
96
+
97
+ if self._year >= 2010:
98
+ # March Bank Holiday.
99
+ self._add_holiday_1st_sun_of_mar(tr("عطلة البنك"))
100
+
101
+
102
+ class QA(Qatar):
103
+ pass
104
+
105
+
106
+ class QAT(Qatar):
107
+ pass
108
+
109
+
110
+ class QatarIslamicHolidays(_CustomIslamicHolidays):
111
+ # https://www.timeanddate.com/holidays/qatar/eid-al-adha
112
+ EID_AL_ADHA_DATES = {
113
+ 2005: (JAN, 21),
114
+ 2006: ((JAN, 10), (DEC, 31)),
115
+ 2007: (DEC, 20),
116
+ 2008: (DEC, 9),
117
+ 2009: (NOV, 28),
118
+ 2010: (NOV, 15),
119
+ 2011: (NOV, 6),
120
+ 2012: (OCT, 26),
121
+ 2013: (OCT, 15),
122
+ 2014: (OCT, 4),
123
+ 2015: (SEP, 23),
124
+ 2016: (SEP, 10),
125
+ 2017: (AUG, 31),
126
+ 2018: (AUG, 22),
127
+ 2019: (AUG, 11),
128
+ 2020: (JUL, 31),
129
+ 2021: (JUL, 20),
130
+ 2022: (JUL, 9),
131
+ 2023: (JUN, 28),
132
+ 2024: (JUN, 16),
133
+ }
134
+
135
+ # https://www.timeanddate.com/holidays/qatar/eid-al-fitr
136
+ EID_AL_FITR_DATES = {
137
+ 2005: (NOV, 4),
138
+ 2006: (OCT, 24),
139
+ 2007: (OCT, 13),
140
+ 2008: (OCT, 2),
141
+ 2009: (SEP, 21),
142
+ 2010: (SEP, 10),
143
+ 2011: (AUG, 31),
144
+ 2012: (AUG, 19),
145
+ 2013: (AUG, 8),
146
+ 2014: (JUL, 28),
147
+ 2015: (JUL, 18),
148
+ 2016: (JUL, 6),
149
+ 2017: (JUN, 25),
150
+ 2018: (JUN, 15),
151
+ 2019: (JUN, 4),
152
+ 2020: (MAY, 24),
153
+ 2021: (MAY, 13),
154
+ 2022: (MAY, 2),
155
+ 2023: (APR, 21),
156
+ 2024: (APR, 10),
157
+ 2025: (MAR, 30),
158
+ }
159
+
160
+
161
+ class QatarStaticHolidays:
162
+ """Qatar special holidays.
163
+
164
+ References:
165
+ * [New Year's Holiday](https://www.expatica.com/qa/lifestyle/holidays/qatar-public-holidays-74585/)
166
+ """
167
+
168
+ # New Year's Holiday.
169
+ name = tr("عطلة رأس السنة")
170
+ special_public_holidays = {
171
+ 2025: (JAN, 2, name),
172
+ }
@@ -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,9 +18,11 @@ from holidays.holiday_base import HolidayBase
18
18
 
19
19
 
20
20
  class Romania(HolidayBase, ChristianHolidays, InternationalHolidays):
21
- """
22
- https://en.wikipedia.org/wiki/Public_holidays_in_Romania
23
- http://www.dreptonline.ro/legislatie/codul_muncii.php
21
+ """Romania holidays.
22
+
23
+ References:
24
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Romania>
25
+ * <http://www.dreptonline.ro/legislatie/codul_muncii.php>
24
26
  """
25
27
 
26
28
  country = "RO"
@@ -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,9 +19,11 @@ from holidays.observed_holiday_base import ObservedHolidayBase
19
19
 
20
20
 
21
21
  class Russia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
22
- """
23
- https://en.wikipedia.org/wiki/Public_holidays_in_Russia
24
- https://ru.wikipedia.org/wiki/Праздники_России
22
+ """Russia holidays.
23
+
24
+ References:
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Russia>
26
+ * <https://ru.wikipedia.org/wiki/Праздники_России>
25
27
  """
26
28
 
27
29
  country = "RU"
@@ -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,15 +19,16 @@ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON,
19
19
  class SaintKittsAndNevis(
20
20
  ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays
21
21
  ):
22
- """
22
+ """Saint Kitts and Nevis holidays.
23
+
23
24
  References:
24
- - https://lawcommission.gov.kn/wp-content/documents/Revised-Acts-of-St-Kitts-and-Nevis/Revised-Acts-of-St-Kitts-and-Nevis-2009/Ch-23_23-Public-Holidays-Act.pdf
25
- - https://web.archive.org/web/20220124000224/https://aglcskn.info/wp-content/documents/Act02and09TOC/Ch-23_23-Public-Holidays-Act.pdf
26
- - https://en.wikipedia.org/wiki/Public_holidays_in_Saint_Kitts_and_Nevis
25
+ * <https://lawcommission.gov.kn/wp-content/documents/Revised-Acts-of-St-Kitts-and-Nevis/Revised-Acts-of-St-Kitts-and-Nevis-2009/Ch-23_23-Public-Holidays-Act.pdf>
26
+ * <https://web.archive.org/web/20220124000224/https://aglcskn.info/wp-content/documents/Act02and09TOC/Ch-23_23-Public-Holidays-Act.pdf>
27
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Saint_Kitts_and_Nevis>
27
28
 
28
29
  Cross-Checked With:
29
- - https://sknhcottawa.gov.kn/in-skn-national-public-holidays/
30
- - https://www.timeanddate.com/holidays/saint-kitts-and-nevis/
30
+ * <https://sknhcottawa.gov.kn/in-skn-national-public-holidays/>
31
+ * <https://www.timeanddate.com/holidays/saint-kitts-and-nevis/>
31
32
 
32
33
  If Sovereign's Birthday, New Year's Day, Independence Day, or National Heroes Day
33
34
  fall on a Sunday the next following Monday shall be a public holiday.
@@ -121,21 +122,22 @@ class KNA(SaintKittsAndNevis):
121
122
 
122
123
 
123
124
  class SaintKittsAndNevisStaticHolidays:
124
- """
125
- References
126
- - https://www.sknis.gov.kn/2023/07/17/state-funeral-accorded-to-sir-tapley-national-day-of-mourning-and-half-holiday-declared-for-july-20/
127
- - https://www.sknis.gov.kn/2022/12/30/public-holiday-notice-request-from-the-department-of-labour/
128
- - https://www.sknis.gov.kn/2022/08/06/prime-minister-drew-declares-monday-august-08-2022-as-a-public-holiday-in-st-kitts-and-nevis/
129
- - https://www.sknis.gov.kn/2022/04/20/nia-announces-half-holiday/
130
- - https://www.sknis.gov.kn/2021/07/26/governor-general-proclaims-tuesday-3rd-august-2021-as-a-public-holiday/
131
- - https://nia.gov.kn/culturama-47-rescheduled-to-independence-holiday-weekend-in-september/
132
- - https://www.sknis.gov.kn/2019/12/27/public-holidays-during-carnival-2019-2020/
133
- - https://www.sknis.gov.kn/2018/12/29/proclamations-from-his-excellency-the-governor-general-re-carnival-public-holidays/
134
- - https://www.sknis.gov.kn/2017/12/19/public-holiday-declared-for-nevis-today-after-the-ccms-solid-win-in-the-local-elections/
135
- - https://www.sknis.gov.kn/2017/04/13/employers-must-comply-with-law-for-work-performed-on-national-holidays-says-labour-department/
136
- - https://www.facebook.com/share/p/ZkpwKmyAzN4fEFP2/
137
- - https://www.facebook.com/share/p/Jc1uGgzGpj6zUzqB/
138
- - https://www.facebook.com/share/p/6GSgvcCWS3aenQh6/
125
+ """Saint Kitts and Nevis special holidays.
126
+
127
+ References:
128
+ * <https://www.sknis.gov.kn/2023/07/17/state-funeral-accorded-to-sir-tapley-national-day-of-mourning-and-half-holiday-declared-for-july-20/>
129
+ * <https://www.sknis.gov.kn/2022/12/30/public-holiday-notice-request-from-the-department-of-labour/>
130
+ * <https://www.sknis.gov.kn/2022/08/06/prime-minister-drew-declares-monday-august-08-2022-as-a-public-holiday-in-st-kitts-and-nevis/>
131
+ * <https://www.sknis.gov.kn/2022/04/20/nia-announces-half-holiday/>
132
+ * <https://www.sknis.gov.kn/2021/07/26/governor-general-proclaims-tuesday-3rd-august-2021-as-a-public-holiday/>
133
+ * <https://nia.gov.kn/culturama-47-rescheduled-to-independence-holiday-weekend-in-september/>
134
+ * <https://www.sknis.gov.kn/2019/12/27/public-holidays-during-carnival-2019-2020/>
135
+ * <https://www.sknis.gov.kn/2018/12/29/proclamations-from-his-excellency-the-governor-general-re-carnival-public-holidays/>
136
+ * <https://www.sknis.gov.kn/2017/12/19/public-holiday-declared-for-nevis-today-after-the-ccms-solid-win-in-the-local-elections/>
137
+ * <https://www.sknis.gov.kn/2017/04/13/employers-must-comply-with-law-for-work-performed-on-national-holidays-says-labour-department/>
138
+ * <https://www.facebook.com/share/p/ZkpwKmyAzN4fEFP2/>
139
+ * <https://www.facebook.com/share/p/Jc1uGgzGpj6zUzqB/>
140
+ * <https://www.facebook.com/share/p/6GSgvcCWS3aenQh6/>
139
141
  """
140
142
 
141
143
  # Federal Election Victory 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
@@ -17,13 +17,14 @@ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON,
17
17
 
18
18
 
19
19
  class SaintLucia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
20
- """
20
+ """Saint Lucia holidays.
21
+
21
22
  References:
22
- - https://en.wikipedia.org/wiki/Public_holidays_in_Saint_Lucia
23
- - https://www.timeanddate.com/holidays/saint-lucia/
24
- - https://archive.stlucia.gov.lc/saint_lucia/public_holidays.htm
25
- - https://archive.stlucia.gov.lc/stluciasilver/national_holidays.htm
26
- - https://web.archive.org/web/20160314100648/http://www.stluciachamber.org/uploadedImages/contentImg/file/List%20of%20Holidays%20for%202015%20(1).pdf
23
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Saint_Lucia>
24
+ * <https://www.timeanddate.com/holidays/saint-lucia/>
25
+ * <https://archive.stlucia.gov.lc/saint_lucia/public_holidays.htm>
26
+ * <https://archive.stlucia.gov.lc/stluciasilver/national_holidays.htm>
27
+ * <https://web.archive.org/web/20160314100648/http://www.stluciachamber.org/uploadedImages/contentImg/file/List%20of%20Holidays%20for%202015%20(1).pdf>
27
28
  """
28
29
 
29
30
  country = "LC"
@@ -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
@@ -15,12 +15,13 @@ from holidays.holiday_base import HolidayBase
15
15
 
16
16
 
17
17
  class Samoa(HolidayBase, ChristianHolidays, InternationalHolidays):
18
- """
18
+ """Samoa holidays.
19
+
19
20
  References:
20
- - https://en.wikipedia.org/wiki/Public_holidays_in_Samoa
21
- - https://www.timeanddate.com/holidays/samoa/
22
- - https://www.mcil.gov.ws/?attachment_id=6336
23
- - https://www.paclii.org/ws/legis/consol_act_2020/pha2008163/
21
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Samoa>
22
+ * <https://www.timeanddate.com/holidays/samoa/>
23
+ * <https://www.mcil.gov.ws/?attachment_id=6336>
24
+ * <https://www.paclii.org/ws/legis/consol_act_2020/pha2008163/>
24
25
  """
25
26
 
26
27
  country = "WS"
@@ -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
@@ -15,9 +15,10 @@ from holidays.holiday_base import HolidayBase
15
15
 
16
16
 
17
17
  class SanMarino(HolidayBase, ChristianHolidays, InternationalHolidays):
18
- """
18
+ """San Marino holidays.
19
+
19
20
  References:
20
- - https://en.wikipedia.org/wiki/Public_holidays_in_San_Marino
21
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_San_Marino>
21
22
  """
22
23
 
23
24
  country = "SM"
@@ -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
@@ -27,18 +27,12 @@ from holidays.observed_holiday_base import (
27
27
 
28
28
 
29
29
  class SaudiArabia(ObservedHolidayBase, IslamicHolidays, StaticHolidays):
30
- """
31
- There are only 4 official national holidays in Saudi:
32
- - https://laboreducation.hrsd.gov.sa/en/gallery/274
33
- - https://laboreducation.hrsd.gov.sa/en/labor-education/322
34
- - https://english.alarabiya.net/News/gulf/2022/01/27/Saudi-Arabia-to-commemorate-Founding-Day-on-Feb-22-annually-Royal-order
35
-
36
- The national day and the founding day holidays are based on the
37
- Georgian calendar while the other two holidays are based on the
38
- Islamic Calendar, and they are estimates as they announced each
39
- year and based on moon sightings; they are:
40
- - Eid al-Fitr
41
- - Eid al-Adha
30
+ """Saudi Arabia holidays.
31
+
32
+ References:
33
+ * <https://laboreducation.hrsd.gov.sa/en/gallery/274>
34
+ * <https://laboreducation.hrsd.gov.sa/en/labor-education/322>
35
+ * <https://english.alarabiya.net/News/gulf/2022/01/27/Saudi-Arabia-to-commemorate-Founding-Day-on-Feb-22-annually-Royal-order>
42
36
  """
43
37
 
44
38
  country = "SA"
@@ -53,8 +47,10 @@ class SaudiArabia(ObservedHolidayBase, IslamicHolidays, StaticHolidays):
53
47
 
54
48
  def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
55
49
  """
56
- :param islamic_show_estimated:
57
- Whether to add "estimated" label to Islamic holidays name if holiday date is estimated.
50
+ Args:
51
+ islamic_show_estimated:
52
+ Whether to add "estimated" label to Islamic holidays name
53
+ if holiday date is estimated.
58
54
  """
59
55
  IslamicHolidays.__init__(self, show_estimated=islamic_show_estimated)
60
56
  StaticHolidays.__init__(self, SaudiArabiaStaticHolidays)
@@ -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,10 @@ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON,
18
18
 
19
19
 
20
20
  class Serbia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
21
- """
22
- Serbia holidays.
21
+ """Serbia holidays.
23
22
 
24
23
  References:
25
- - https://en.wikipedia.org/wiki/Public_holidays_in_Serbia
24
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Serbia>
26
25
  """
27
26
 
28
27
  country = "RS"
@@ -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,19 +18,14 @@ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
18
18
 
19
19
 
20
20
  class Seychelles(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
21
- """
22
- https://www.psb.gov.sc/public-holidays
23
- https://www.cbs.sc/PublicHolidays.html
24
-
25
- [Act 19 of 1976, 1994 Amendment]
26
- Oldest Seychelles Holidays Law available online in full.
27
- https://seylii.org/akn/sc/act/1976/19/eng@2012-06-30
28
- [Act 11 of 2014]
29
- Holidays names changed.
30
- https://seylii.org/akn/sc/act/2014/11/eng@2014-08-04
31
- [Act 3 of 2017]
32
- Added Easter Monday, repealing Liberation Day.
33
- https://seylii.org/akn/sc/act/2017/3/eng@2017-04-12
21
+ """Seychelles holidays.
22
+
23
+ References:
24
+ * <https://www.psb.gov.sc/public-holidays>
25
+ * <https://www.cbs.sc/PublicHolidays.html>
26
+ * [Act 19 of 1976, 1994 Amendment (Oldest Seychelles Holidays Law available online in full)](https://seylii.org/akn/sc/act/1976/19/eng@2012-06-30)
27
+ * [Act 11 of 2014 (Holidays names changed)](https://seylii.org/akn/sc/act/2014/11/eng@2014-08-04)
28
+ * [Act 3 of 2017 (Added Easter Monday, repealing Liberation Day)](https://seylii.org/akn/sc/act/2017/3/eng@2017-04-12)
34
29
 
35
30
  Where any public holiday, except Sunday, falls on a Sunday the next following day,
36
31
  not being itself a public holiday, shall be a public holiday.
@@ -122,18 +117,19 @@ class SYC(Seychelles):
122
117
 
123
118
 
124
119
  class SeychellesStaticHolidays:
125
- """
126
- Sources:
127
- - https://seylii.org/akn/sc/act/si/2015/58/eng@2015-12-01
128
- - https://seylii.org/akn/sc/act/si/2015/59/eng@2015-12-11
129
- - https://seylii.org/akn/sc/act/si/2016/58/eng@2016-09-06
130
- - https://seylii.org/akn/sc/act/si/2019/10/eng@2019-03-05
131
- - https://seylii.org/akn/sc/act/si/2019/61/eng@2019-10-18
132
- - https://seylii.org/akn/sc/act/si/2020/134/eng@2020-09-17
133
- - https://seylii.org/akn/sc/act/si/2020/154/eng@2020-10-26
134
- - https://www.statehouse.gov.sc/news/1765/public-holiday-october-1
135
- - https://www.egov.sc/PressRoom/DisplayPressRelease.aspx?PRLID=196
136
- - https://www.nation.sc/archive/216478/saturday-may-12-2007-public-holiday
120
+ """Seychelles special holidays.
121
+
122
+ References:
123
+ * <https://seylii.org/akn/sc/act/si/2015/58/eng@2015-12-01>
124
+ * <https://seylii.org/akn/sc/act/si/2015/59/eng@2015-12-11>
125
+ * <https://seylii.org/akn/sc/act/si/2016/58/eng@2016-09-06>
126
+ * <https://seylii.org/akn/sc/act/si/2019/10/eng@2019-03-05>
127
+ * <https://seylii.org/akn/sc/act/si/2019/61/eng@2019-10-18>
128
+ * <https://seylii.org/akn/sc/act/si/2020/134/eng@2020-09-17>
129
+ * <https://seylii.org/akn/sc/act/si/2020/154/eng@2020-10-26>
130
+ * <https://www.statehouse.gov.sc/news/1765/public-holiday-october-1>
131
+ * <https://www.egov.sc/PressRoom/DisplayPressRelease.aspx?PRLID=196>
132
+ * <https://www.nation.sc/archive/216478/saturday-may-12-2007-public-holiday>
137
133
 
138
134
  All Election Dates usually proceed from the Outer Islands first, then the Inner Islands, and
139
135
  the main capital, Mahé, on the last day. The current implementation only uses the last day,