holidays 0.72__py3-none-any.whl → 0.74__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 (93) hide show
  1. holidays/calendars/hindu.py +147 -3
  2. holidays/constants.py +8 -1
  3. holidays/countries/__init__.py +10 -0
  4. holidays/countries/aland_islands.py +63 -0
  5. holidays/countries/andorra.py +130 -46
  6. holidays/countries/angola.py +2 -2
  7. holidays/countries/argentina.py +12 -2
  8. holidays/countries/azerbaijan.py +1 -1
  9. holidays/countries/belgium.py +1 -1
  10. holidays/countries/benin.py +199 -0
  11. holidays/countries/bermuda.py +141 -0
  12. holidays/countries/british_virgin_islands.py +205 -0
  13. holidays/countries/chile.py +1 -1
  14. holidays/countries/cocos_islands.py +259 -0
  15. holidays/countries/curacao.py +1 -1
  16. holidays/countries/dominican_republic.py +1 -1
  17. holidays/countries/ecuador.py +1 -1
  18. holidays/countries/equatorial_guinea.py +150 -0
  19. holidays/countries/ethiopia.py +1 -1
  20. holidays/countries/finland.py +200 -36
  21. holidays/countries/grenada.py +143 -0
  22. holidays/countries/italy.py +1 -1
  23. holidays/countries/ivory_coast.py +1 -1
  24. holidays/countries/kazakhstan.py +23 -23
  25. holidays/countries/malaysia.py +0 -8
  26. holidays/countries/mexico.py +1 -1
  27. holidays/countries/morocco.py +1 -1
  28. holidays/countries/nepal.py +441 -0
  29. holidays/countries/north_macedonia.py +267 -15
  30. holidays/countries/norway.py +1 -1
  31. holidays/countries/panama.py +1 -1
  32. holidays/countries/paraguay.py +1 -1
  33. holidays/countries/philippines.py +2 -0
  34. holidays/countries/slovenia.py +1 -1
  35. holidays/countries/sweden.py +1 -1
  36. holidays/countries/thailand.py +2 -2
  37. holidays/countries/togo.py +182 -0
  38. holidays/countries/trinidad_and_tobago.py +1 -1
  39. holidays/countries/tuvalu.py +1 -1
  40. holidays/countries/ukraine.py +44 -44
  41. holidays/countries/united_states.py +1 -1
  42. holidays/countries/vatican_city.py +29 -31
  43. holidays/countries/venezuela.py +1 -1
  44. holidays/countries/yemen.py +207 -0
  45. holidays/groups/chinese.py +3 -3
  46. holidays/groups/christian.py +7 -7
  47. holidays/groups/hindu.py +121 -1
  48. holidays/groups/international.py +9 -9
  49. holidays/groups/islamic.py +3 -3
  50. holidays/locale/ar/LC_MESSAGES/YE.mo +0 -0
  51. holidays/locale/ca/LC_MESSAGES/AD.mo +0 -0
  52. holidays/locale/coa_CC/LC_MESSAGES/CC.mo +0 -0
  53. holidays/locale/en_CC/LC_MESSAGES/CC.mo +0 -0
  54. holidays/locale/en_GD/LC_MESSAGES/GD.mo +0 -0
  55. holidays/locale/en_US/LC_MESSAGES/AD.mo +0 -0
  56. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  57. holidays/locale/en_US/LC_MESSAGES/AX.mo +0 -0
  58. holidays/locale/en_US/LC_MESSAGES/BJ.mo +0 -0
  59. holidays/locale/en_US/LC_MESSAGES/CC.mo +0 -0
  60. holidays/locale/en_US/LC_MESSAGES/FI.mo +0 -0
  61. holidays/locale/en_US/LC_MESSAGES/GD.mo +0 -0
  62. holidays/locale/en_US/LC_MESSAGES/GQ.mo +0 -0
  63. holidays/locale/en_US/LC_MESSAGES/MK.mo +0 -0
  64. holidays/locale/en_US/LC_MESSAGES/TG.mo +0 -0
  65. holidays/locale/en_US/LC_MESSAGES/TH.mo +0 -0
  66. holidays/locale/en_US/LC_MESSAGES/VG.mo +0 -0
  67. holidays/locale/en_US/LC_MESSAGES/YE.mo +0 -0
  68. holidays/locale/en_VG/LC_MESSAGES/VG.mo +0 -0
  69. holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
  70. holidays/locale/es/LC_MESSAGES/GQ.mo +0 -0
  71. holidays/locale/fi/LC_MESSAGES/AX.mo +0 -0
  72. holidays/locale/fi/LC_MESSAGES/FI.mo +0 -0
  73. holidays/locale/fr/LC_MESSAGES/TG.mo +0 -0
  74. holidays/locale/fr_BJ/LC_MESSAGES/BJ.mo +0 -0
  75. holidays/locale/mk/LC_MESSAGES/MK.mo +0 -0
  76. holidays/locale/sv_FI/LC_MESSAGES/AX.mo +0 -0
  77. holidays/locale/sv_FI/LC_MESSAGES/FI.mo +0 -0
  78. holidays/locale/th/LC_MESSAGES/AX.mo +0 -0
  79. holidays/locale/th/LC_MESSAGES/FI.mo +0 -0
  80. holidays/locale/uk/LC_MESSAGES/AD.mo +0 -0
  81. holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
  82. holidays/locale/uk/LC_MESSAGES/AX.mo +0 -0
  83. holidays/locale/uk/LC_MESSAGES/FI.mo +0 -0
  84. holidays/locale/uk/LC_MESSAGES/MK.mo +0 -0
  85. holidays/locale/uk/LC_MESSAGES/TH.mo +0 -0
  86. holidays/registry.py +10 -0
  87. holidays/version.py +1 -1
  88. {holidays-0.72.dist-info → holidays-0.74.dist-info}/METADATA +80 -10
  89. {holidays-0.72.dist-info → holidays-0.74.dist-info}/RECORD +93 -55
  90. {holidays-0.72.dist-info → holidays-0.74.dist-info}/WHEEL +1 -1
  91. {holidays-0.72.dist-info → holidays-0.74.dist-info}/licenses/CONTRIBUTORS +2 -0
  92. {holidays-0.72.dist-info → holidays-0.74.dist-info}/licenses/LICENSE +0 -0
  93. {holidays-0.72.dist-info → holidays-0.74.dist-info}/top_level.txt +0 -0
@@ -41,7 +41,7 @@ class Argentina(
41
41
  """Argentina holidays.
42
42
 
43
43
  References:
44
- * [Spanish Wikipedia](https://es.wikipedia.org/wiki/Anexo:D%C3%ADas_feriados_en_Argentina)
44
+ * [Spanish Wikipedia](https://es.wikipedia.org/wiki/Anexo:Días_festivos_en_Argentina)
45
45
  * [Decree-Law 2446](https://www.argentina.gob.ar/normativa/nacional/decreto_ley-2446-1956-161122/texto)
46
46
  * [Law 21329](https://www.argentina.gob.ar/normativa/nacional/ley-21329-65453/texto)
47
47
  * [Law 22655](https://www.argentina.gob.ar/normativa/nacional/ley-22655-140416/texto)
@@ -814,7 +814,7 @@ class ArgentinaStaticHolidays:
814
814
 
815
815
  Special Holidays References:
816
816
  * [Decree 615/2010](https://www.argentina.gob.ar/normativa/nacional/decreto-615-2010-166825/texto)
817
- * [Joint Resolution 1159/2010](https://www.argentina.gob.ar/normativa/nacional/resoluci%C3%B3n-1159-2010-173748/texto)
817
+ * [Joint Resolution 1159/2010](https://www.argentina.gob.ar/normativa/nacional/resolución-1159-2010-173748/texto)
818
818
  * [Law 26721](https://www.argentina.gob.ar/normativa/nacional/ley-26721-191835/texto)
819
819
  * [Law 26763](https://www.argentina.gob.ar/normativa/nacional/ley-26763-201915/texto)
820
820
  * [Law 26837](https://www.argentina.gob.ar/normativa/nacional/ley-26837-207405/texto)
@@ -828,6 +828,9 @@ class ArgentinaStaticHolidays:
828
828
  * [Release P51020 (2021)](https://bcra.gob.ar/Pdfs/comytexord/P51020.pdf)
829
829
  * [Release P51155 (2024)](https://bcra.gob.ar/Pdfs/comytexord/P51155.pdf)
830
830
 
831
+ Special Subdivision-level Holidays References:
832
+ * [2018 G20 Leader Summit Special Holidays for Buenos Aires](https://web.archive.org/web/20220305033755/https://www.perfil.com/noticias/sociedad/30-de-noviembre-feriado-ciudad-de-buenos-aires-cumbre-g20.phtml)
833
+
831
834
  Special Bridge Holidays are given upto 3 days a year as long as it's declared
832
835
  50 days before calendar year's end.
833
836
  There's no Bridge Holidays declared in 2017.
@@ -869,6 +872,9 @@ class ArgentinaStaticHolidays:
869
872
  # National Census Day 2010.
870
873
  national_census_2010 = tr("Censo Nacional 2010")
871
874
 
875
+ # G20 Leaders' Summit.
876
+ g20_leaders_summit_holiday = tr("Cumbre de Líderes del Grupo de los 20 (G20)")
877
+
872
878
  # National Census Day 2022.
873
879
  national_census_2022 = tr("Censo Nacional 2022")
874
880
 
@@ -985,3 +991,7 @@ class ArgentinaStaticHolidays:
985
991
  (DEC, 31, bank_holiday),
986
992
  ),
987
993
  }
994
+
995
+ special_b_public_holidays = {
996
+ 2018: (NOV, 30, g20_leaders_summit_holiday),
997
+ }
@@ -29,7 +29,7 @@ class Azerbaijan(ObservedHolidayBase, InternationalHolidays, IslamicHolidays, St
29
29
 
30
30
  References:
31
31
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Azerbaijan>
32
- * <https://az.wikipedia.org/wiki/Az%C9%99rbaycan%C4%B1n_d%C3%B6vl%C9%99t_bayramlar%C4%B1_v%C9%99_x%C3%BCsusi_g%C3%BCnl%C9%99ri>
32
+ * <https://az.wikipedia.org/wiki/Azərbaycanın_dövlət_bayramları_və_xüsusi_günləri>
33
33
  * <https://www.sosial.gov.az/en/prod-calendar>
34
34
  """
35
35
 
@@ -23,7 +23,7 @@ class Belgium(HolidayBase, ChristianHolidays, InternationalHolidays):
23
23
  References:
24
24
  * <https://en.wikipedia.org/wiki/Public_holidays_in_Belgium>
25
25
  * <https://www.belgium.be/nl/over_belgie/land/belgie_in_een_notendop/feestdagen>
26
- * <https://nl.wikipedia.org/wiki/Feestdagen_in_Belgi%C3%AB>
26
+ * <https://nl.wikipedia.org/wiki/Feestdagen_in_België>
27
27
  * <https://www.nbb.be/en/about-national-bank/national-bank-belgium/public-holidays>
28
28
  """
29
29
 
@@ -0,0 +1,199 @@
1
+ # holidays
2
+ # --------
3
+ # A fast, efficient Python library for generating country, province and state
4
+ # specific sets of holidays on the fly. It aims to make determining whether a
5
+ # specific date is a holiday as fast and flexible as possible.
6
+ #
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
+ # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
+ # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
+ # Website: https://github.com/vacanza/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from gettext import gettext as tr
14
+
15
+ from holidays.constants import PUBLIC, WORKDAY
16
+ from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
17
+ from holidays.holiday_base import HolidayBase
18
+
19
+
20
+ class Benin(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
21
+ """Benin holidays.
22
+
23
+ References:
24
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Benin>
25
+ * [Order 71-14](https://web.archive.org/web/20240727075244/https://sgg.gouv.bj/doc/ordonnance-1971-14/)
26
+ * [Order 76-35](https://web.archive.org/web/20240726042853/https://sgg.gouv.bj/doc/ordonnance-1976-35/)
27
+ * [Order 79-33](https://web.archive.org/web/20240725115717/https://sgg.gouv.bj/doc/ordonnance-1979-33/)
28
+ * [Law 90-019](https://web.archive.org/web/20250527021602/https://sgg.gouv.bj/doc/loi-90-019/)
29
+ * [Law 97-031](https://web.archive.org/web/20250527022039/https://sgg.gouv.bj/doc/loi-97-031/)
30
+ * [Law 2024-32](https://web.archive.org/web/20250321041430/https://sgg.gouv.bj/doc/loi-2024-32/)
31
+
32
+ Official dates:
33
+ * [2015](https://web.archive.org/web/20211130121041/https://beninconsulate.co.ke/index.php/news-events/7-public-holidays-2015)
34
+ * [2017](https://web.archive.org/web/20211130124252/https://beninconsulate.co.ke/index.php/news-events/8-public-holidays-2017)
35
+ * [2019](https://web.archive.org/web/20231003144018/https://beninconsulate.co.ke/index.php/news-events)
36
+ * [2024](https://web.archive.org/web/20241211032923/https://beninconsulate.co.ke/index.php/news-events)
37
+ * [2025](https://web.archive.org/web/20250317141957/https://beninconsulate.co.ke/index.php/news-events?start=1)
38
+
39
+ Certain holidays dates:
40
+ * 2022:
41
+ * [All Saints' Day](https://web.archive.org/web/20241010101230/https://travail.gouv.bj/page/communiques/la-journee-du-mardi-1er-novembre-2022-declaree-feriee-chomee-et-payee)
42
+ * [Christmas Day](https://web.archive.org/web/20240814200022/https://travail.gouv.bj/page/communiques/la-journee-du-dimanche-25-decembre-2022-declaree-feriee-chomee-et-payee-a-loccasion-de-la-celebration-de-la-fete-de-noel-lire-le-communique-du-ministre-du-travail-et-de-la-fonction-publique)
43
+ * 2023:
44
+ * [New Year's Day](https://web.archive.org/web/20240724084416/https://travail.gouv.bj/page/communiques/la-journee-du-dimanche-1er-janvier-2023-declaree-feriee-chomee-et-payee-a-loccasion-de-la-celebration-de-la-fete-du-nouvel-an)
45
+ * [Vodoun Festival](https://web.archive.org/web/20240724084406/https://travail.gouv.bj/page/communiques/la-journee-du-mardi-10-janvier-2023-est-declaree-feriee-chomee-et-payee-a-loccasion-de-la-celebration-de-la-fete-annuelle-des-religions-traditionnelles-2301071350-956)
46
+ * [Eid al-Fitr](https://web.archive.org/web/20240723004550/https://travail.gouv.bj/page/communiques/celebration-le-vendredi-21-avril-2023-de-la-fete-du-ramadan)
47
+ * [Easter Monday](https://web.archive.org/web/20241010103541/https://travail.gouv.bj/page/communiques/la-journee-du-lundi-10-avril-2023-est-declaree-feriee-chomee-et-payee-en-raison-de-la-fete-de-paques)
48
+ * [Whit Monday](https://web.archive.org/web/20240911163554/https://travail.gouv.bj/page/communiques/la-fete-de-pentecote)
49
+ * [Labor Day](https://web.archive.org/web/20240814205702/https://travail.gouv.bj/page/communiques/la-journee-du-lundi-1er-mai-2023-declaree-feriee-chomee-et-payee-sur-toute-letendue-du-territoire-national-a-loccasion-de-la-celebration-de-la-fete-du-travail)
50
+ * [Assumption Day](https://web.archive.org/web/20241214182235/https://travail.gouv.bj/page/communiques/la-journee-du-mardi-15-aout-2023-declaree-feriee-chomee-et-payee-en-raison-de-la-fete-de-lassomption)
51
+ * [Independence Day](https://web.archive.org/web/20240723004533/https://travail.gouv.bj/page/communiques/la-journee-du-mardi-1er-aout-2023-declaree-feriee-chomee-et-payee-a-l-occasion-de-la-fete-nationale)
52
+ * [Eid al-Adha](https://web.archive.org/web/20250422035008/https://travail.gouv.bj/page/communiques/communique-du-ministere-du-travail-et-de-la-fonction-publique-2306262022-744)
53
+ * 2024:
54
+ * [Vodoun Festival](https://web.archive.org/web/20240723004435/https://travail.gouv.bj/page/communiques/la-journee-du-mercredi-10-janvier-2024-est-feriee-chomee-et-payee-sur-toute-letendue-du-territoire-national)
55
+ * [Eid al-Fitr](https://web.archive.org/web/20241010114534/https://travail.gouv.bj/page/communiques/la-journee-du-mercredi-10-avril-2024-jour-du-ramadan-est-declaree-feriee-chomee-et-payee-sur-toute-letendue-du-territoire-national)
56
+ * [Easter Monday](https://web.archive.org/web/20241106004344/https://travail.gouv.bj/page/communiques/la-journee-du-lundi-1er-avril-2024-lundi-de-paques-est-chomee)
57
+ * [Assumption Day](https://web.archive.org/web/20250215044724/https://travail.gouv.bj/page/communiques/la-journee-du-dimanche-15-aout-jour-de-lassomption-est-feriee-chomee-et-payee-sur-toute-letendue-du-territoire-national)
58
+ * [Eid al-Adha](https://web.archive.org/web/20241214200230/https://travail.gouv.bj/page/communiques/jour-de-la-tabaski)
59
+ * [Labor Day](https://web.archive.org/web/20250418224409/https://www.travail.gouv.bj/page/communiques/la-journee-du-mercredi-1er-mai-2024-journee-de-la-fete-du-travail-est-feriee-chomee-et-payee-sur-toute-letendue-du-territoire-national)
60
+ * [Ascension Day](https://web.archive.org/web/20241214204011/https://travail.gouv.bj/page/communiques/le-jeudi-09-mai-2024-jour-de-lascension-est-feriee-chomee-et-payee-sur-toute-letendue-du-territoire-national)
61
+ * [Whit Monday](https://web.archive.org/web/20241010113401/https://travail.gouv.bj/page/communiques/le-lundi-20-mai-2024-lundi-de-pentecote-est-ferie-chome-et-paye-sur-toute-letendue-du-territoire-national)
62
+ * [Prophet's Birthday](https://web.archive.org/web/20250215034616/https://travail.gouv.bj/page/communiques/la-journee-du-dimanche-15-septembre-2024-jour-de-maoloud-est-feriee-chomee-et-payee-sur-toute-letendue-du-territoire-national)
63
+ * [Christmas Day](https://web.archive.org/web/20250122081816/https://travail.gouv.bj/page/communiques/la-journee-du-mercredi-25-decembre-2024-est-feriee-chomee-et-payee-sur-toute-letendue-du-territoire-national)
64
+ * 2025:
65
+ * [New Year's Day](https://web.archive.org/web/20250422023225/https://travail.gouv.bj/page/communiques/la-journee-du-mercredi-1er-janvier-2025-fete-du-nouvel-an-est-feriee-chomee-et-payee-sur-toute-letendue-du-territoire-national)
66
+ * [Vodoun Festival](https://web.archive.org/web/20250422034718/https://travail.gouv.bj/page/communiques/les-journees-du-jeudi-9-janvier-2024-et-vendredi-10-janvier-2024-sont-feriees-chomees-et-payees-sur-toute-letendue-du-territoire-national)
67
+ """
68
+
69
+ country = "BJ"
70
+ default_language = "fr_BJ"
71
+ # %s (estimated).
72
+ estimated_label = tr("%s (estimé)")
73
+ # Order 76-35 of June 30, 1976.
74
+ start_year = 1977
75
+ supported_categories = (PUBLIC, WORKDAY)
76
+ supported_languages = ("en_US", "fr_BJ")
77
+
78
+ def __init__(self, islamic_show_estimated: bool = True, *args, **kwargs):
79
+ """
80
+ Args:
81
+ islamic_show_estimated:
82
+ Whether to add "estimated" label to Islamic holidays name
83
+ if holiday date is estimated.
84
+ """
85
+ ChristianHolidays.__init__(self)
86
+ InternationalHolidays.__init__(self)
87
+ IslamicHolidays.__init__(self, show_estimated=islamic_show_estimated)
88
+ super().__init__(*args, **kwargs)
89
+
90
+ def _populate_public_holidays(self):
91
+ # New Year's Day.
92
+ self._add_new_years_day(tr("Fête du Nouvel An"))
93
+
94
+ # Established in 1998 by Law 97-031.
95
+ # Changed in 2025 by Law 2024-32.
96
+ if self._year >= 1998:
97
+ # Vodoun Festival.
98
+ name = tr("Fête annuelle des religions traditionnelles")
99
+ if self._year >= 2025:
100
+ self._add_holiday_1_day_prior_2nd_fri_of_jan(name)
101
+ self._add_holiday_2nd_fri_of_jan(name)
102
+ else:
103
+ self._add_holiday_jan_10(name)
104
+
105
+ # Established in 1980 by Order 79-33.
106
+ # Abolished in 1991 by Law 90-019.
107
+ if 1980 <= self._year <= 1990:
108
+ # Martyrs' Day.
109
+ self._add_holiday_jan_16(tr("Journée des Martyrs"))
110
+
111
+ # Youth Day.
112
+ self._add_holiday_apr_1(tr("Journée de la Jeunesse Béninoise"))
113
+
114
+ # Changed in 1991 by Law 90-019.
115
+ if self._year >= 1991:
116
+ # Easter Monday.
117
+ self._add_easter_monday(tr("Lundi de Pâques"))
118
+ else:
119
+ # Easter Sunday.
120
+ self._add_easter_sunday(tr("Jour de Pâques"))
121
+
122
+ # Labor Day.
123
+ self._add_labor_day(tr("Fête du Travail"))
124
+
125
+ # Established in 1991 by Law 90-019.
126
+ if self._year >= 1991:
127
+ # Ascension Day.
128
+ self._add_ascension_thursday(tr("Jour de l'Ascension"))
129
+
130
+ if self._year >= 1991:
131
+ # Whit Monday.
132
+ self._add_whit_monday(tr("Lundi de Pentecôte"))
133
+ else:
134
+ # Whit Sunday.
135
+ self._add_whit_sunday(tr("Jour de Pentecôte"))
136
+
137
+ # Established in 1990 by Law 90-019.
138
+ if self._year >= 1990:
139
+ # Assumption Day.
140
+ self._add_assumption_of_mary_day(tr("Jour de l'Assomption"))
141
+
142
+ # Established in 1977 by Order 71-14.
143
+ # Abolished in 1990 by Law 90-019.
144
+ if self._year <= 1989:
145
+ # Armed Forces Day.
146
+ self._add_holiday_oct_26(tr("Fête des Forces Armées Populaires du Bénin"))
147
+
148
+ # Established in 1990 by Law 90-019.
149
+ if self._year >= 1990:
150
+ # All Saints' Day.
151
+ self._add_all_saints_day(tr("La Toussaint"))
152
+
153
+ # National Day.
154
+ name = tr("Fête Nationale")
155
+ if self._year >= 1991:
156
+ self._add_holiday_aug_1(name)
157
+ else:
158
+ self._add_holiday_nov_30(name)
159
+
160
+ # Christmas Day.
161
+ self._add_christmas_day(tr("Jour de Noël"))
162
+
163
+ # Established in 1977 by Order 71-14.
164
+ # Abolished in 1990 by Law 90-019.
165
+ if self._year <= 1989:
166
+ # Production Day.
167
+ self._add_holiday_dec_31(tr("Fête de la Production"))
168
+
169
+ # Islamic holidays.
170
+
171
+ # Established in 1990 by Law 90-019.
172
+ if self._year >= 1990:
173
+ # Prophet's Birthday.
174
+ self._add_mawlid_day(tr("Journée Maouloud"))
175
+
176
+ # Eid al-Fitr.
177
+ self._add_eid_al_fitr_day(tr("Jour du Ramadan"))
178
+
179
+ # Eid al-Adha.
180
+ self._add_eid_al_adha_day(tr("Jour de la Tabaski"))
181
+
182
+ def _populate_workday_holidays(self):
183
+ if self._year >= 1990:
184
+ # Remembrance Day.
185
+ self._add_holiday_jan_16(tr("Journée de Souvenir"))
186
+
187
+ # People's Sovereignty Day.
188
+ self._add_holiday_feb_28(tr("Journée de la Souveraineté de Peuple"))
189
+
190
+ # Women's Day.
191
+ self._add_holiday_mar_8(tr("Journée de la Femme"))
192
+
193
+
194
+ class BJ(Benin):
195
+ pass
196
+
197
+
198
+ class BEN(Benin):
199
+ pass
@@ -0,0 +1,141 @@
1
+ # holidays
2
+ # --------
3
+ # A fast, efficient Python library for generating country, province and state
4
+ # specific sets of holidays on the fly. It aims to make determining whether a
5
+ # specific date is a holiday as fast and flexible as possible.
6
+ #
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
+ # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
+ # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
+ # Website: https://github.com/vacanza/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from holidays.calendars.gregorian import MAY, JUN, OCT, NOV
14
+ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
15
+ from holidays.observed_holiday_base import (
16
+ ObservedHolidayBase,
17
+ SAT_SUN_TO_NEXT_MON,
18
+ SAT_SUN_TO_NEXT_MON_TUE,
19
+ )
20
+
21
+
22
+ class Bermuda(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays):
23
+ """Bermuda holidays.
24
+
25
+ References:
26
+ * [Public Holidays Act 1947](https://web.archive.org/web/20250527163956/https://www.bermudalaws.bm/Laws/Consolidated%20Law/1947/Public%20Holidays%20Act%201947)
27
+ * [Public Holidays Amendment Act 1999](https://web.archive.org/web/20250527163749/https://www.bermudalaws.bm/Laws/Annual%20Law/Acts/1999/Public%20Holidays%20Amendment%20Act%201999)
28
+ * [Public Holidays Amendment Act 2008](https://web.archive.org/web/20250527163810/https://www.bermudalaws.bm/Laws/Annual%20Law/Acts/2008/Public%20Holidays%20Amendment%20Act%202008)
29
+ * [Public Holidays Amendment (No. 2) Act 2009](https://web.archive.org/web/20250527163816/https://www.bermudalaws.bm/Laws/Annual%20Law/Acts/2009/Public%20Holidays%20Amendment%20%28No.%202%29%20Act%202009)
30
+ * [Public Holidays Amendment Act 2017](https://web.archive.org/web/20250527163819/https://www.bermudalaws.bm/Laws/Annual%20Law/Acts/2017/Public%20Holidays%20Amendment%20Act%202017)
31
+ * [Public Holidays Amendment Act 2020](https://web.archive.org/web/20250527163836/https://www.bermudalaws.bm/Laws/Annual%20Law/Acts/2020/Public%20Holidays%20Amendment%20Act%202020)
32
+ * [Government of Bermuda](https://web.archive.org/web/20250530055854/https://www.gov.bm/public-holidays)
33
+ * [Proclamation BR 149 / 2018](https://web.archive.org/web/20250530114331/https://www.bermudalaws.bm/Laws/Annual%20Law/Statutory%20Instruments/2018/Proclamation%20-%20Bermuda%20Day%20Public%20Holiday)
34
+ """
35
+
36
+ country = "BM"
37
+ observed_label = "%s (observed)"
38
+ start_year = 1948
39
+
40
+ def __init__(self, *args, **kwargs):
41
+ ChristianHolidays.__init__(self)
42
+ InternationalHolidays.__init__(self)
43
+ StaticHolidays.__init__(self, BermudaStaticHolidays)
44
+ kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
45
+ super().__init__(*args, **kwargs)
46
+
47
+ def _populate_public_holidays(self):
48
+ # New Year's Day.
49
+ self._add_observed(self._add_new_years_day("New Year's Day"))
50
+
51
+ # Good Friday.
52
+ self._add_good_friday("Good Friday")
53
+
54
+ # Bermuda Day.
55
+ name = "Bermuda Day"
56
+ if self._year <= 2017:
57
+ self._add_observed(self._add_holiday_may_24(name))
58
+ elif self._year == 2019:
59
+ self._add_holiday_may_24(name)
60
+ elif self._year <= 2020:
61
+ self._add_holiday_last_fri_of_may(name)
62
+ else:
63
+ self._add_holiday_3_days_prior_last_mon_of_may(name)
64
+
65
+ # Queen's Birthday.
66
+ name = "Queen's Birthday"
67
+ if self._year <= 1999:
68
+ self._add_holiday_3rd_mon_of_jun(name)
69
+ elif self._year <= 2008:
70
+ self._add_holiday_2_days_past_2nd_sat_of_jun(name)
71
+
72
+ # National Heroes Day.
73
+ name = "National Heroes Day"
74
+ if self._year == 2008:
75
+ self._add_holiday_2nd_mon_of_oct(name)
76
+ elif self._year >= 2009:
77
+ self._add_holiday_3rd_mon_of_jun(name)
78
+
79
+ self._add_holiday_4_days_prior_1st_mon_of_aug(
80
+ # Cup Match Day.
81
+ "Cup Match Day"
82
+ if self._year <= 1999
83
+ # Emancipation Day.
84
+ else "Emancipation Day"
85
+ )
86
+
87
+ self._add_holiday_3_days_prior_1st_mon_of_aug(
88
+ # Somers Day.
89
+ "Somers Day"
90
+ if self._year <= 2019
91
+ # Mary Prince Day.
92
+ else "Mary Prince Day"
93
+ )
94
+
95
+ # Labor Day.
96
+ self._add_holiday_1st_mon_of_sep("Labour Day")
97
+
98
+ # Remembrance Day.
99
+ self._add_observed(self._add_remembrance_day("Remembrance Day"))
100
+
101
+ # Christmas Day.
102
+ self._add_observed(self._add_christmas_day("Christmas Day"), rule=SAT_SUN_TO_NEXT_MON_TUE)
103
+
104
+ # Boxing Day.
105
+ self._add_observed(self._add_christmas_day_two("Boxing Day"), rule=SAT_SUN_TO_NEXT_MON_TUE)
106
+
107
+
108
+ class BM(Bermuda):
109
+ pass
110
+
111
+
112
+ class BMU(Bermuda):
113
+ pass
114
+
115
+
116
+ class BermudaStaticHolidays:
117
+ """Bermuda special holidays.
118
+
119
+ References:
120
+ * [June 5, 2007 Holiday](https://web.archive.org/web/20250530122818/https://www.bermudalaws.bm/Laws/Annual%20Law/Statutory%20Instruments/2007/Proclamation)
121
+ * Portuguese Welcome 170th Anniversary
122
+ * <https://web.archive.org/web/20241210201648/https://www.royalgazette.com/other/news/article/20191025/portuguese-welcome-170th-anniversary-holiday/>
123
+ * <https://web.archive.org/web/20250530122008/https://www.bermudalaws.bm/Laws/Annual%20Law/Statutory%20Instruments/2018/Proclamation%20-%20Portguese%20Public%20Holiday>
124
+ * Flora Duffy Day
125
+ * <https://web.archive.org/web/20240613083451/https://bernews.com/2021/10/governor-signs-flora-duffy-day-proclamation/>
126
+ * <https://web.archive.org/web/20250530113359/https://www.bermudalaws.bm/Laws/Annual%20Law/Statutory%20Instruments/2021/Proclamation%20for%2018%20October%202021%20Holiday>
127
+ * The Coronation of His Majesty King Charles III Holiday
128
+ * <https://web.archive.org/web/20250222035055/https://gov.bm/articles/coronation-his-majesty-king-charles-iii-her-majesty-queen-consort>
129
+ * <https://web.archive.org/web/20250530112129/https://www.bermudalaws.bm/Laws/Annual%20Law/Statutory%20Instruments/2023/Proclamation%20for%208%20May%202023%20Holiday>
130
+ """
131
+
132
+ special_public_holidays = {
133
+ # Public Holiday.
134
+ 2007: (JUN, 5, "Public Holiday"),
135
+ # Portuguese Welcome 170th Anniversary.
136
+ 2019: (NOV, 4, "Portuguese Welcome 170th Anniversary"),
137
+ # Flora Duffy Day.
138
+ 2021: (OCT, 18, "Flora Duffy Day"),
139
+ # The Coronation of His Majesty King Charles III.
140
+ 2023: (MAY, 8, "The Coronation of His Majesty King Charles III"),
141
+ }
@@ -0,0 +1,205 @@
1
+ # holidays
2
+ # --------
3
+ # A fast, efficient Python library for generating country, province and state
4
+ # specific sets of holidays on the fly. It aims to make determining whether a
5
+ # specific date is a holiday as fast and flexible as possible.
6
+ #
7
+ # Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
8
+ # dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
9
+ # ryanss <ryanssdev@icloud.com> (c) 2014-2017
10
+ # Website: https://github.com/vacanza/holidays
11
+ # License: MIT (see LICENSE file)
12
+
13
+ from gettext import gettext as tr
14
+
15
+ from holidays.calendars.gregorian import MAY, JUN, OCT, DEC
16
+ from holidays.groups import ChristianHolidays, InternationalHolidays, StaticHolidays
17
+ from holidays.observed_holiday_base import (
18
+ ObservedHolidayBase,
19
+ SAT_TO_PREV_FRI,
20
+ SUN_TO_NEXT_MON,
21
+ SAT_SUN_TO_NEXT_MON,
22
+ SAT_SUN_TO_NEXT_MON_TUE,
23
+ )
24
+
25
+
26
+ class BritishVirginIslands(
27
+ ObservedHolidayBase, ChristianHolidays, InternationalHolidays, StaticHolidays
28
+ ):
29
+ """British Virgin Islands holidays.
30
+
31
+ References:
32
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_the_British_Virgin_Islands>
33
+ * [Public Holidays (Amendment) Act, 2021](https://web.archive.org/web/20250522154946/https://laws.gov.vg/Laws/public-holidays-amendment-act-2021)
34
+ * <https://web.archive.org/web/20250401075439/https://www.timeanddate.com/holidays/british-virgin-islands/>
35
+ * [2015](https://web.archive.org/web/20250317055722/https://www.bvi.gov.vg/media-centre/2015-public-holidays)
36
+ * [2016](https://web.archive.org/web/20250323113905/https://www.bvi.gov.vg/media-centre/2016-public-holidays)
37
+ * [2017](https://web.archive.org/web/20250515155409/https://bvi.gov.vg/media-centre/2017-public-holidays)
38
+ * [2018](https://web.archive.org/web/20250318095807/https://www.bvi.gov.vg/media-centre/2018-public-holidays)
39
+ * [2019](https://web.archive.org/web/20250315162108/https://www.bvi.gov.vg/media-centre/2019-public-holidays)
40
+ * [2020](https://web.archive.org/web/20250111172241/https://www.bvi.gov.vg/media-centre/2020-public-holidays)
41
+ * [2021](https://web.archive.org/web/20250417222246/http://www.bvi.gov.vg/media-centre/2021-public-holidays-revised)
42
+ * [2022](https://web.archive.org/web/20250420005523/https://www.bvi.gov.vg/media-centre/revised-2022-public-holidays)
43
+ * [2023](https://web.archive.org/web/20250111170511/https://bvi.gov.vg/media-centre/updatedofficialholidays20231)
44
+ * [2024](https://web.archive.org/web/20250502194703/https://www.bvi.gov.vg/media-centre/cabinet-approves-2024-public-holidays)
45
+ * [2025](https://web.archive.org/web/20250124122752/https://bvi.gov.vg/media-centre/cabinet-approves-2025-holidays)
46
+ """
47
+
48
+ country = "VG"
49
+ default_language = "en_VG"
50
+ # %s (observed).
51
+ observed_label = tr("%s (observed)")
52
+ supported_languages = ("en_US", "en_VG")
53
+ start_year = 1967
54
+
55
+ def __init__(self, *args, **kwargs):
56
+ ChristianHolidays.__init__(self)
57
+ InternationalHolidays.__init__(self)
58
+ StaticHolidays.__init__(self, BritishVirginIslandsStaticHolidays)
59
+ kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON)
60
+ kwargs.setdefault("observed_since", 2000)
61
+ super().__init__(*args, **kwargs)
62
+
63
+ def _populate_public_holidays(self):
64
+ # New Year's Day.
65
+ self._add_observed(self._add_new_years_day(tr("New Year's Day")))
66
+
67
+ self._add_holiday_1st_mon_before_mar_7(
68
+ # Lavity Stoutt's Birthday.
69
+ tr("The Anniversary of the Birth of Hamilton Lavity Stoutt")
70
+ )
71
+
72
+ if self._year <= 2020:
73
+ # Commonwealth Day.
74
+ self._add_holiday_2nd_mon_of_mar(tr("Commonwealth Day"))
75
+
76
+ # Good Friday.
77
+ self._add_good_friday(tr("Good Friday"))
78
+
79
+ # Easter Monday.
80
+ self._add_easter_monday(tr("Easter Monday"))
81
+
82
+ # Whit Monday.
83
+ self._add_whit_monday(tr("Whit Monday"))
84
+
85
+ # Sovereign's Birthday.
86
+ name = tr("Sovereign's Birthday")
87
+ if self._year >= 2019:
88
+ sovereign_birthday_dates = {
89
+ 2019: (JUN, 7),
90
+ 2023: (JUN, 16),
91
+ }
92
+ if self._year in sovereign_birthday_dates:
93
+ self._add_holiday(name, sovereign_birthday_dates[self._year])
94
+ else:
95
+ self._add_holiday_2nd_fri_of_jun(name)
96
+ else:
97
+ self._add_holiday_2nd_sat_of_jun(name)
98
+
99
+ name = (
100
+ # Virgin Islands Day.
101
+ tr("Virgin Islands Day")
102
+ if self._year >= 2021
103
+ # Territory Day.
104
+ else tr("Territory Day")
105
+ if self._year >= 1978
106
+ # Colony Day.
107
+ else tr("Colony Day")
108
+ )
109
+ territory_day_dates = {
110
+ 2015: (JUN, 29),
111
+ 2020: (JUN, 29),
112
+ }
113
+ if self._year in territory_day_dates:
114
+ self._add_holiday(name, territory_day_dates[self._year])
115
+ else:
116
+ if self._year >= 2021:
117
+ self._add_holiday_1st_mon_of_jul(name)
118
+ else:
119
+ self._add_observed(
120
+ self._add_holiday_jul_1(name), rule=SAT_TO_PREV_FRI + SUN_TO_NEXT_MON
121
+ )
122
+
123
+ self._add_holiday_1st_mon_of_aug(
124
+ # Emancipation Monday.
125
+ tr("Emancipation Monday")
126
+ if self._year >= 2021
127
+ # Festival Monday.
128
+ else tr("Festival Monday")
129
+ )
130
+
131
+ self._add_holiday_1_day_past_1st_mon_of_aug(
132
+ # Emancipation Tuesday.
133
+ tr("Emancipation Tuesday")
134
+ if self._year >= 2021
135
+ # Festival Tuesday.
136
+ else tr("Festival Tuesday")
137
+ )
138
+
139
+ self._add_holiday_2_days_past_1st_mon_of_aug(
140
+ # Emancipation Wednesday.
141
+ tr("Emancipation Wednesday")
142
+ if self._year >= 2021
143
+ # Festival Wednesday.
144
+ else tr("Festival Wednesday")
145
+ )
146
+
147
+ if self._year <= 2020:
148
+ # Saint Ursula's Day.
149
+ name = tr("Saint Ursula's Day")
150
+ saint_ursula_dates = {
151
+ 2015: (OCT, 19),
152
+ 2020: (OCT, 23),
153
+ }
154
+ if self._year in saint_ursula_dates:
155
+ self._add_holiday(name, saint_ursula_dates[self._year])
156
+ else:
157
+ self._add_observed(
158
+ self._add_holiday_oct_21(name), rule=SAT_TO_PREV_FRI + SUN_TO_NEXT_MON
159
+ )
160
+
161
+ if self._year >= 2021:
162
+ # Heroes and Foreparents Day.
163
+ self._add_holiday_3rd_mon_of_oct(tr("Heroes and Foreparents Day"))
164
+
165
+ # The Great March of 1949 and Restoration Day.
166
+ self._add_holiday_4th_mon_of_nov(tr("The Great March of 1949 and Restoration Day"))
167
+
168
+ self._add_observed(
169
+ # Christmas Day.
170
+ self._add_christmas_day(tr("Christmas Day")),
171
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
172
+ )
173
+
174
+ self._add_observed(
175
+ # Boxing Day.
176
+ self._add_christmas_day_two(tr("Boxing Day")),
177
+ rule=SAT_SUN_TO_NEXT_MON_TUE,
178
+ )
179
+
180
+
181
+ class VG(BritishVirginIslands):
182
+ pass
183
+
184
+
185
+ class VGB(BritishVirginIslands):
186
+ pass
187
+
188
+
189
+ class BritishVirginIslandsStaticHolidays:
190
+ """British Virgin Islands special holidays.
191
+
192
+ References:
193
+ * [2019](https://web.archive.org/web/20250417134346/https://www.bvi.gov.vg/media-centre/public-holiday-be-observed-funeral-late-honourable-ralph-t-o-neal-obe)
194
+ * [2022](https://web.archive.org/web/20250315174707/https://www.bvi.gov.vg/media-centre/public-holiday-observe-her-majesty-s-platinum-jubilee)
195
+ * [2023](https://web.archive.org/web/20250505073654/https://bvi.gov.vg/media-centre/may-8-and-june-16-declared-public-holidays)
196
+ """
197
+
198
+ special_public_holidays = {
199
+ # State Funeral of Honourable Ralph T. O'Neal.
200
+ 2019: (DEC, 11, tr("State Funeral of Honourable Ralph T. O'Neal")),
201
+ # Platinum Jubilee of Elizabeth II.
202
+ 2022: (JUN, 3, tr("Queen Elizabeth II's Platinum Jubilee")),
203
+ # Coronation of Charles III.
204
+ 2023: (MAY, 8, tr("The King's Coronation")),
205
+ }
@@ -32,7 +32,7 @@ class Chile(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stati
32
32
  References:
33
33
  * <https://www.feriados.cl>
34
34
  * [Excellent history of Chile holidays](http://www.feriadoschilenos.cl)
35
- * <https://es.wikipedia.org/wiki/Anexo:D%C3%ADas_feriados_en_Chile>
35
+ * <https://es.wikipedia.org/wiki/Anexo:Días_feriados_en_Chile>
36
36
  * Law 2.977 (established official Chile holidays in its current form)
37
37
  * Law 20.983 (Day after New Year's Day, if it's a Sunday)
38
38
  * Law 19.668 (floating Monday holiday)