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,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
@@ -42,17 +42,14 @@ NATIONAL_DAY_RULE = ObservedRule({MON: +1, TUE: -1, WED: -1, THU: +1, FRI: -1, S
42
42
 
43
43
 
44
44
  class Vietnam(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays, StaticHolidays):
45
- """
45
+ """Vietnam holidays.
46
+
46
47
  References:
47
- - `Labor Code 1994 (Art. 73) (en) <https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=2835>`_
48
- - `Labor Code 2012 (Art. 115) (en) <https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11013>`_
49
- - `Labor Code 2012 (Art. 115) (vi) <https://vbpl.vn/TW/Pages/vbpq-toanvan.aspx?ItemID=27615>`_
50
- - `Labor Code 2019 (Art. 112) (en) <https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11135>`_
51
- - `Labor Code 2019 (Art. 112) (vi) <https://vbpl.vn/TW/Pages/vbpq-van-ban-goc.aspx?ItemID=139264>`_
52
-
53
- Substituted holidays:
54
- - `2018-2019 <https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-6519-VPCP-KGVX-2018-national-holidays-for-public-sector-employees/387625/tieng-anh.aspx>`_
55
- - `2024 <https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-2450-VPCP-KGVX-2024-swap-of-working-days-during-the-Reunification-Day/606458/tieng-anh.aspx>`_
48
+ * [Labor Code 1994 (Art. 73) (en)](https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=2835)
49
+ * [Labor Code 2012 (Art. 115) (en)](https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11013)
50
+ * [Labor Code 2012 (Art. 115) (vi)](https://vbpl.vn/TW/Pages/vbpq-toanvan.aspx?ItemID=27615)
51
+ * [Labor Code 2019 (Art. 112) (en)](https://vbpl.vn/TW/Pages/vbpqen-toanvan.aspx?ItemID=11135)
52
+ * [Labor Code 2019 (Art. 112) (vi)](https://vbpl.vn/TW/Pages/vbpq-van-ban-goc.aspx?ItemID=139264)
56
53
  """
57
54
 
58
55
  country = "VN"
@@ -151,6 +148,13 @@ class VNM(Vietnam):
151
148
 
152
149
 
153
150
  class VietnamStaticHolidays:
151
+ """Vietnam special holidays.
152
+
153
+ References:
154
+ * [2018-2019](https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-6519-VPCP-KGVX-2018-national-holidays-for-public-sector-employees/387625/tieng-anh.aspx)
155
+ * [2024](https://thuvienphapluat.vn/cong-van/EN/Lao-dong-Tien-luong/Official-Dispatch-2450-VPCP-KGVX-2024-swap-of-working-days-during-the-Reunification-Day/606458/tieng-anh.aspx)
156
+ """
157
+
154
158
  # Date format (see strftime() Format Codes).
155
159
  substituted_date_format = tr("%d/%m/%Y")
156
160
  # Day off (substituted from %s).
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS file)
7
+ # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -16,11 +16,13 @@ from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON
16
16
 
17
17
 
18
18
  class Zambia(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
19
- """
20
- https://www.officeholidays.com/countries/zambia/
21
- https://www.timeanddate.com/holidays/zambia/
22
- https://en.wikipedia.org/wiki/Public_holidays_in_Zambia
23
- https://www.parliament.gov.zm/sites/default/files/documents/acts/Public%20Holidays%20Act.pdf
19
+ """Zambia holidays.
20
+
21
+ References:
22
+ * <https://www.officeholidays.com/countries/zambia/>
23
+ * <https://www.timeanddate.com/holidays/zambia/>
24
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Zambia>
25
+ * <https://www.parliament.gov.zm/sites/default/files/documents/acts/Public%20Holidays%20Act.pdf>
24
26
  """
25
27
 
26
28
  country = "ZM"
@@ -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.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON,
15
15
 
16
16
 
17
17
  class Zimbabwe(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
18
- """
19
- https://en.wikipedia.org/wiki/Public_holidays_in_Zimbabwe
20
- https://en.wikipedia.org/wiki/Robert_Gabriel_Mugabe_National_Youth_Day
18
+ """Zimbabwe holidays.
19
+
20
+ References:
21
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Zimbabwe>
22
+ * <https://en.wikipedia.org/wiki/Robert_Gabriel_Mugabe_National_Youth_Day>
21
23
  """
22
24
 
23
25
  country = "ZW"
@@ -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
@@ -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
@@ -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,19 +17,20 @@ from holidays.holiday_base import HolidayBase
17
17
 
18
18
 
19
19
  class BrasilBolsaBalcao(HolidayBase, ChristianHolidays, InternationalHolidays):
20
- """
21
- Official regulations:
22
- - `Decreto n. 155-B, de 14.01.1890 <https://www2.camara.leg.br/legin/fed/decret/1824-1899/decreto-155-b-14-janeiro-1890-517534-publicacaooriginal-1-pe.html>`_
23
- - `Decreto n. 19.488, de 15.12.1930 <https://www2.camara.leg.br/legin/fed/decret/1930-1939/decreto-19488-15-dezembro-1930-508040-republicacao-85201-pe.html>`_
24
- - `Lei n. 14.759, de 21.12.2023 <https://www2.camara.leg.br/legin/fed/lei/2023/lei-14759-21-dezembro-2023-795091-publicacaooriginal-170522-pl.html>`_
25
- - `Resolução n. 2.516, de 29.06.1998 <https://www.bcb.gov.br/pre/normativos/res/1998/pdf/res_2516_v2_P.pdf>`_
26
- - `Lei n. 662, de 6.04.1949 <https://www2.camara.leg.br/legin/fed/lei/1940-1949/lei-662-6-abril-1949-347136-publicacaooriginal-1-pl.html>`_
27
- - `Lei n. 6.802, de 30.06.1980 <https://www.planalto.gov.br/ccivil_03/leis/l6802.htm>`_
28
- - `Decreto n. 19.488, de 15.12.1930 <https://www2.camara.leg.br/legin/fed/decret/1930-1939/decreto-19488-15-dezembro-1930-508040-republicacao-85201-pe.html>`_
29
- - `Decreto n. 22.647, de 17.04.1933 <https://www2.camara.leg.br/legin/fed/decret/1930-1939/decreto-22647-17-abril-1933-558774-publicacaooriginal-80337-pe.html>`_
20
+ """Brasil, Bolsa, Balcão holidays.
21
+
22
+ References:
23
+ * [Decreto n. 155-B, de 14.01.1890](https://www2.camara.leg.br/legin/fed/decret/1824-1899/decreto-155-b-14-janeiro-1890-517534-publicacaooriginal-1-pe.html)
24
+ * [Decreto n. 19.488, de 15.12.1930](https://www2.camara.leg.br/legin/fed/decret/1930-1939/decreto-19488-15-dezembro-1930-508040-republicacao-85201-pe.html)
25
+ * [Decreto n. 22.647, de 17.04.1933](https://www2.camara.leg.br/legin/fed/decret/1930-1939/decreto-22647-17-abril-1933-558774-publicacaooriginal-80337-pe.html)
26
+ * [Lei n. 662, de 6.04.1949](https://www2.camara.leg.br/legin/fed/lei/1940-1949/lei-662-6-abril-1949-347136-publicacaooriginal-1-pl.html)
27
+ * [Lei n. 6.802, de 30.06.1980](https://www.planalto.gov.br/ccivil_03/leis/l6802.htm)
28
+ * [Resolução n. 2.516, de 29.06.1998](https://www.bcb.gov.br/pre/normativos/res/1998/pdf/res_2516_v2_P.pdf)
29
+ * [Lei n. 14.759, de 21.12.2023](https://www2.camara.leg.br/legin/fed/lei/2023/lei-14759-21-dezembro-2023-795091-publicacaooriginal-170522-pl.html)
30
+
30
31
  Historical data:
31
- - `Feriados ANBIMA 2001-2099 <https://www.anbima.com.br/feriados>`_
32
- - `Calendario de negociação B3 <https://www.b3.com.br/pt_br/solucoes/plataformas/puma-trading-system/para-participantes-e-traders/calendario-de-negociacao/feriados>`_
32
+ * [Feriados ANBIMA 2001-2099](https://www.anbima.com.br/feriados)
33
+ * [Calendario de negociação B3](https://www.b3.com.br/pt_br/solucoes/plataformas/puma-trading-system/para-participantes-e-traders/calendario-de-negociacao/feriados)
33
34
  """
34
35
 
35
36
  market = "BVMF"
@@ -4,7 +4,7 @@
4
4
  # specific sets of holidays on the fly. It aims to make determining whether a
5
5
  # specific date is a holiday as fast and flexible as possible.
6
6
  #
7
- # Authors: Vacanza Team and individual contributors (see AUTHORS file)
7
+ # Authors: Vacanza Team and individual contributors (see AUTHORS.md file)
8
8
  # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
9
  # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
10
  # Website: https://github.com/vacanza/holidays
@@ -16,12 +16,13 @@ from holidays.holiday_base import HolidayBase
16
16
 
17
17
 
18
18
  class EuropeanCentralBank(HolidayBase, ChristianHolidays, InternationalHolidays):
19
- """
19
+ """European Central Bank holidays.
20
+
20
21
  References:
21
- - https://en.wikipedia.org/wiki/TARGET2
22
- - https://www.ecb.europa.eu/ecb/contacts/working-hours/html/index.en.html
23
- - https://www.ecb.europa.eu/press/pr/date/1999/html/pr990715_1.en.html
24
- - https://www.ecb.europa.eu/press/pr/date/2000/html/pr001214_4.en.html
22
+ * <https://en.wikipedia.org/wiki/TARGET2>
23
+ * <https://www.ecb.europa.eu/ecb/contacts/working-hours/html/index.en.html>
24
+ * <https://www.ecb.europa.eu/press/pr/date/1999/html/pr990715_1.en.html>
25
+ * <https://www.ecb.europa.eu/press/pr/date/2000/html/pr001214_4.en.html>
25
26
  """
26
27
 
27
28
  market = "XECB"
@@ -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.observed_holiday_base import ObservedHolidayBase, SAT_TO_NONE, SUN
15
15
 
16
16
 
17
17
  class ICEFuturesEurope(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
18
- """
18
+ """ICE Futures Europe holidays.
19
+
19
20
  References:
20
- - https://www.ice.com/publicdocs/futures/Trading_Schedule_Migrated_Liffe_Contracts.pdf
21
- - https://www.ice.com/publicdocs/Trading_Schedule.pdf
22
- - https://web.archive.org/web/20230927015846/https://www.ice.com/publicdocs/Trading_Schedule.pdf
23
- - https://web.archive.org/web/20211022183728/https://www.ice.com/publicdocs/Trading_Schedule.pdf
21
+ * <https://www.ice.com/publicdocs/futures/Trading_Schedule_Migrated_Liffe_Contracts.pdf>
22
+ * <https://www.ice.com/publicdocs/Trading_Schedule.pdf>
23
+ * <https://web.archive.org/web/20230927015846/https://www.ice.com/publicdocs/Trading_Schedule.pdf>
24
+ * <https://web.archive.org/web/20211022183728/https://www.ice.com/publicdocs/Trading_Schedule.pdf>
24
25
  """
25
26
 
26
27
  market = "IFEU"
@@ -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
@@ -34,13 +34,15 @@ from holidays.observed_holiday_base import ObservedHolidayBase, SAT_TO_PREV_FRI,
34
34
  class NewYorkStockExchange(
35
35
  ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays
36
36
  ):
37
- """
38
- Official regulations:
39
- - https://www.nyse.com/publicdocs/nyse/regulation/nyse/NYSE_Rules.pdf
40
- - https://www.nyse.com/markets/hours-calendars
37
+ """New York Stock Exchange holidays.
38
+
39
+ References:
40
+ * <https://www.nyse.com/publicdocs/nyse/regulation/nyse/NYSE_Rules.pdf>
41
+ * <https://www.nyse.com/markets/hours-calendars>
42
+
41
43
  Historical data:
42
- - s3.amazonaws.com/armstrongeconomics-wp/2013/07/NYSE-Closings.pdf
43
- - https://web.archive.org/web/20211101162021/https://www.nyse.com/markets/hours-calendars
44
+ * <https://s3.amazonaws.com/armstrongeconomics-wp/2013/07/NYSE-Closings.pdf>
45
+ * <https://web.archive.org/web/20211101162021/https://www.nyse.com/markets/hours-calendars>
44
46
  """
45
47
 
46
48
  market = "XNYS"
@@ -147,10 +149,11 @@ class NYSE(NewYorkStockExchange):
147
149
 
148
150
 
149
151
  class NewYorkStockExchangeStaticHolidays:
150
- """
152
+ """New York Stock Exchange special holidays.
153
+
151
154
  References:
152
- - https://guides.loc.gov/presidents-portraits/chronological
153
- - https://www.presidency.ucsb.edu/documents/proclamation-3561-national-day-mourning-for-president-kennedy
155
+ * <https://guides.loc.gov/presidents-portraits/chronological>
156
+ * <https://www.presidency.ucsb.edu/documents/proclamation-3561-national-day-mourning-for-president-kennedy>
154
157
  """
155
158
 
156
159
  # Blizzard of 1888.
@@ -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
@@ -12,6 +12,7 @@
12
12
 
13
13
  # flake8: noqa: F401
14
14
 
15
+ from holidays.groups.balinese_saka import BalineseSakaCalendarHolidays
15
16
  from holidays.groups.buddhist import BuddhistCalendarHolidays
16
17
  from holidays.groups.chinese import ChineseCalendarHolidays
17
18
  from holidays.groups.christian import ChristianHolidays
@@ -0,0 +1,45 @@
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 datetime import date
14
+ from typing import Optional
15
+
16
+ from holidays.calendars import _BalineseSakaLunar
17
+
18
+
19
+ class BalineseSakaCalendarHolidays:
20
+ """
21
+ Balinese Saka lunar calendar holidays.
22
+ """
23
+
24
+ def __init__(self) -> None:
25
+ self._balinese_saka_calendar = _BalineseSakaLunar()
26
+
27
+ def _add_balinese_saka_calendar_holiday(self, name: str, dt: Optional[date]) -> Optional[date]:
28
+ """
29
+ Add Balinese Saka calendar holiday.
30
+ """
31
+ if dt is None:
32
+ return None
33
+ return self._add_holiday(name, dt)
34
+
35
+ def _add_nyepi(self, name) -> Optional[date]:
36
+ """
37
+ Add Nyepi (Day following the 9th of Dark Moon (Tilem)).
38
+
39
+ Nyepi is a Balinese "Day of Silence" that is commemorated every
40
+ Isakawarsa (Saka new year) according to the Balinese calendar.
41
+ https://en.wikipedia.org/wiki/Nyepi
42
+ """
43
+ return self._add_balinese_saka_calendar_holiday(
44
+ name, self._balinese_saka_calendar.nyepi_date(self._year)
45
+ )
@@ -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
@@ -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
@@ -14,7 +14,7 @@ from datetime import date
14
14
  from typing import Optional
15
15
 
16
16
  from holidays.calendars import _ChineseLunisolar
17
- from holidays.calendars.gregorian import APR
17
+ from holidays.calendars.gregorian import APR, DEC
18
18
  from holidays.groups.eastern import EasternCalendarHolidays
19
19
 
20
20
 
@@ -35,7 +35,10 @@ class ChineseCalendarHolidays(EasternCalendarHolidays):
35
35
  return self._chinese_calendar.lunar_new_year_date(self._year)[0]
36
36
 
37
37
  @property
38
- def _qingming_date(self):
38
+ def _qingming_festival(self):
39
+ """
40
+ Return Qingming Festival (15th day after the Spring Equinox) date.
41
+ """
39
42
  day = 5
40
43
  if (self._year % 4 < 1) or (self._year % 4 < 2 and self._year >= 2009):
41
44
  day = 4
@@ -48,6 +51,47 @@ class ChineseCalendarHolidays(EasternCalendarHolidays):
48
51
  """
49
52
  return self._chinese_calendar.mid_autumn_date(self._year)[0]
50
53
 
54
+ @property
55
+ def _chinese_birthday_of_buddha(self):
56
+ """
57
+ Return Add Birthday of the Buddha by Chinese lunar calendar (8th day of the
58
+ 4th lunar month).
59
+ """
60
+ return self._chinese_calendar.buddha_birthday_date(self._year)[0]
61
+
62
+ @property
63
+ def _dragon_boat_festival(self):
64
+ """
65
+ Return Dragon Boat Festival (5th day of 5th lunar month) date.
66
+ """
67
+ return self._chinese_calendar.dragon_boat_date(self._year)[0]
68
+
69
+ @property
70
+ def _double_ninth_festival(self):
71
+ """
72
+ Return Double Ninth Festival (9th day of 9th lunar month) date.
73
+ """
74
+ return self._chinese_calendar.double_ninth_date(self._year)[0]
75
+
76
+ @property
77
+ def _dongzhi_festival(self):
78
+ """
79
+ Return Dongzhi Festival (Chinese Winter Solstice) date.
80
+
81
+ This approximation is reliable for 1952-2099 years.
82
+ """
83
+ #
84
+ if (
85
+ (self._year % 4 == 0 and self._year >= 1988)
86
+ or (self._year % 4 == 1 and self._year >= 2021)
87
+ or (self._year % 4 == 2 and self._year >= 2058)
88
+ or (self._year % 4 == 3 and self._year >= 2091)
89
+ ):
90
+ day = 21
91
+ else:
92
+ day = 22
93
+ return date(self._year, DEC, day)
94
+
51
95
  def _add_chinese_calendar_holiday(
52
96
  self, name: str, dt_estimated: tuple[Optional[date], bool], days_delta: int = 0
53
97
  ) -> Optional[date]:
@@ -128,6 +172,27 @@ class ChineseCalendarHolidays(EasternCalendarHolidays):
128
172
  name, self._chinese_calendar.lunar_new_year_date(self._year), days_delta=+3
129
173
  )
130
174
 
175
+ def _add_chinese_new_years_day_five(self, name) -> Optional[date]:
176
+ """
177
+ Add Chinese New Year's Day Five.
178
+
179
+ https://en.wikipedia.org/wiki/Chinese_New_Year
180
+ """
181
+ return self._add_chinese_calendar_holiday(
182
+ name, self._chinese_calendar.lunar_new_year_date(self._year), days_delta=+4
183
+ )
184
+
185
+ def _add_dongzhi_festival(self, name) -> Optional[date]:
186
+ """
187
+ Add Dongzhi Festival (Chinese Winter Solstice).
188
+
189
+ The Dongzhi Festival or Winter Solstice Festival is a traditional
190
+ Chinese festival celebrated during the Dongzhi solar term
191
+ (winter solstice), which falls between December 21 and 23.
192
+ https://en.wikipedia.org/wiki/Dongzhi_Festival
193
+ """
194
+ return self._add_holiday(name, self._dongzhi_festival)
195
+
131
196
  def _add_qingming_festival(self, name) -> date:
132
197
  """
133
198
  Add Qingming Festival (15th day after the Spring Equinox).
@@ -136,7 +201,7 @@ class ChineseCalendarHolidays(EasternCalendarHolidays):
136
201
  Tomb-Sweeping Day in English, is a traditional Chinese festival.
137
202
  https://en.wikipedia.org/wiki/Qingming_Festival
138
203
  """
139
- return self._add_holiday(name, self._qingming_date)
204
+ return self._add_holiday(name, self._qingming_festival)
140
205
 
141
206
  def _add_double_ninth_festival(self, name) -> Optional[date]:
142
207
  """
@@ -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
holidays/groups/custom.py CHANGED
@@ -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
@@ -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
holidays/groups/hebrew.py CHANGED
@@ -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