holidays 0.81__py3-none-any.whl → 0.83__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 (141) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/burmese.py +319 -0
  3. holidays/calendars/hebrew.py +2 -2
  4. holidays/calendars/islamic.py +26 -6
  5. holidays/calendars/thai.py +49 -2
  6. holidays/countries/__init__.py +11 -0
  7. holidays/countries/afghanistan.py +7 -5
  8. holidays/countries/algeria.py +89 -24
  9. holidays/countries/antarctica.py +58 -0
  10. holidays/countries/azerbaijan.py +1 -1
  11. holidays/countries/bouvet_island.py +31 -0
  12. holidays/countries/brazil.py +1 -1
  13. holidays/countries/british_indian_ocean_territory.py +31 -0
  14. holidays/countries/bulgaria.py +6 -1
  15. holidays/countries/canada.py +27 -13
  16. holidays/countries/chile.py +9 -8
  17. holidays/countries/cuba.py +3 -4
  18. holidays/countries/denmark.py +18 -6
  19. holidays/countries/djibouti.py +1 -1
  20. holidays/countries/fiji.py +2 -3
  21. holidays/countries/finland.py +3 -6
  22. holidays/countries/guyana.py +24 -32
  23. holidays/countries/heard_island_and_mcdonald_islands.py +31 -0
  24. holidays/countries/hungary.py +4 -5
  25. holidays/countries/india.py +27 -78
  26. holidays/countries/iran.py +133 -269
  27. holidays/countries/ireland.py +1 -1
  28. holidays/countries/israel.py +1 -1
  29. holidays/countries/japan.py +22 -18
  30. holidays/countries/jordan.py +6 -3
  31. holidays/countries/kuwait.py +6 -3
  32. holidays/countries/macau.py +5 -8
  33. holidays/countries/malaysia.py +14 -3
  34. holidays/countries/mauritius.py +10 -9
  35. holidays/countries/montserrat.py +1 -1
  36. holidays/countries/myanmar.py +194 -0
  37. holidays/countries/nepal.py +11 -30
  38. holidays/countries/netherlands.py +28 -24
  39. holidays/countries/new_zealand.py +75 -31
  40. holidays/countries/nigeria.py +53 -75
  41. holidays/countries/north_korea.py +161 -0
  42. holidays/countries/norway.py +24 -9
  43. holidays/countries/oman.py +6 -2
  44. holidays/countries/paraguay.py +70 -23
  45. holidays/countries/portugal.py +5 -6
  46. holidays/countries/qatar.py +5 -2
  47. holidays/countries/rwanda.py +8 -3
  48. holidays/countries/saudi_arabia.py +6 -5
  49. holidays/countries/serbia.py +5 -0
  50. holidays/countries/slovakia.py +23 -4
  51. holidays/countries/south_africa.py +96 -53
  52. holidays/countries/south_korea.py +6 -1
  53. holidays/countries/spain.py +4 -4
  54. holidays/countries/sri_lanka.py +21 -58
  55. holidays/countries/sudan.py +6 -3
  56. holidays/countries/suriname.py +1 -2
  57. holidays/countries/sweden.py +1 -1
  58. holidays/countries/switzerland.py +255 -6
  59. holidays/countries/taiwan.py +23 -3
  60. holidays/countries/tanzania.py +25 -30
  61. holidays/countries/thailand.py +29 -7
  62. holidays/countries/tonga.py +6 -1
  63. holidays/countries/trinidad_and_tobago.py +7 -2
  64. holidays/countries/ukraine.py +1 -1
  65. holidays/countries/united_arab_emirates.py +9 -2
  66. holidays/countries/united_kingdom.py +1 -1
  67. holidays/countries/united_states.py +18 -2
  68. holidays/countries/uruguay.py +6 -1
  69. holidays/countries/vietnam.py +6 -1
  70. holidays/countries/western_sahara.py +92 -0
  71. holidays/countries/yemen.py +6 -3
  72. holidays/groups/__init__.py +1 -0
  73. holidays/groups/balinese_saka.py +1 -1
  74. holidays/groups/buddhist.py +3 -3
  75. holidays/groups/burmese.py +273 -0
  76. holidays/groups/chinese.py +30 -2
  77. holidays/groups/christian.py +10 -0
  78. holidays/groups/custom.py +8 -2
  79. holidays/groups/eastern.py +26 -0
  80. holidays/groups/hebrew.py +16 -14
  81. holidays/groups/hindu.py +23 -15
  82. holidays/groups/international.py +1 -1
  83. holidays/groups/islamic.py +52 -50
  84. holidays/groups/mongolian.py +6 -3
  85. holidays/groups/sinhala.py +9 -11
  86. holidays/groups/tibetan.py +8 -6
  87. holidays/holiday_base.py +26 -26
  88. holidays/ical.py +6 -4
  89. holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
  90. holidays/locale/ar/LC_MESSAGES/EH.mo +0 -0
  91. holidays/locale/ca/LC_MESSAGES/ES.mo +0 -0
  92. holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
  93. holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
  94. holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
  95. holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
  96. holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
  97. holidays/locale/en_US/LC_MESSAGES/EH.mo +0 -0
  98. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  99. holidays/locale/en_US/LC_MESSAGES/IN.mo +0 -0
  100. holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
  101. holidays/locale/en_US/LC_MESSAGES/KP.mo +0 -0
  102. holidays/locale/en_US/LC_MESSAGES/MM.mo +0 -0
  103. holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
  104. holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
  105. holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
  106. holidays/locale/es/LC_MESSAGES/EH.mo +0 -0
  107. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  108. holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
  109. holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
  110. holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
  111. holidays/locale/fr/LC_MESSAGES/EH.mo +0 -0
  112. holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
  113. holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
  114. holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
  115. holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
  116. holidays/locale/ko_KP/LC_MESSAGES/KP.mo +0 -0
  117. holidays/locale/my/LC_MESSAGES/MM.mo +0 -0
  118. holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
  119. holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
  120. holidays/locale/th/LC_MESSAGES/CH.mo +0 -0
  121. holidays/locale/th/LC_MESSAGES/DK.mo +0 -0
  122. holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
  123. holidays/locale/th/LC_MESSAGES/MM.mo +0 -0
  124. holidays/locale/th/LC_MESSAGES/NL.mo +0 -0
  125. holidays/locale/th/LC_MESSAGES/US.mo +0 -0
  126. holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
  127. holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
  128. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  129. holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
  130. holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
  131. holidays/no_holiday_base.py +21 -0
  132. holidays/observed_holiday_base.py +16 -4
  133. holidays/registry.py +8 -0
  134. holidays/utils.py +5 -5
  135. holidays/version.py +1 -1
  136. {holidays-0.81.dist-info → holidays-0.83.dist-info}/METADATA +63 -19
  137. {holidays-0.81.dist-info → holidays-0.83.dist-info}/RECORD +141 -118
  138. {holidays-0.81.dist-info → holidays-0.83.dist-info}/licenses/CONTRIBUTORS +2 -0
  139. {holidays-0.81.dist-info → holidays-0.83.dist-info}/WHEEL +0 -0
  140. {holidays-0.81.dist-info → holidays-0.83.dist-info}/licenses/LICENSE +0 -0
  141. {holidays-0.81.dist-info → holidays-0.83.dist-info}/top_level.txt +0 -0
@@ -82,12 +82,18 @@ class Guyana(
82
82
  islamic_show_estimated:
83
83
  Whether to add "estimated" label to Islamic holidays name
84
84
  if holiday date is estimated.
85
+
86
+ In Guyana, the dates of the Islamic calendar usually fall a day later than
87
+ the corresponding dates in the Umm al-Qura calendar.
85
88
  """
86
89
  ChristianHolidays.__init__(self)
87
90
  HinduCalendarHolidays.__init__(self, cls=GuyanaHinduHolidays)
88
91
  InternationalHolidays.__init__(self)
89
92
  IslamicHolidays.__init__(
90
- self, cls=GuyanaIslamicHolidays, show_estimated=islamic_show_estimated
93
+ self,
94
+ cls=GuyanaIslamicHolidays,
95
+ show_estimated=islamic_show_estimated,
96
+ calendar_delta_days=+1,
91
97
  )
92
98
  StaticHolidays.__init__(self, cls=GuyanaStaticHolidays)
93
99
  kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON)
@@ -210,44 +216,30 @@ class GuyanaIslamicHolidays(_CustomIslamicHolidays):
210
216
  # https://web.archive.org/web/20250424074512/https://www.timeanddate.com/holidays/guyana/eid-al-adha
211
217
  EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2001, 2025)
212
218
  EID_AL_ADHA_DATES = {
213
- 2001: (MAR, 6),
214
- 2002: (FEB, 23),
215
- 2003: (FEB, 12),
216
- 2004: (FEB, 2),
217
- 2008: (DEC, 9),
218
- 2009: (NOV, 28),
219
- 2010: (NOV, 17),
220
- 2011: (NOV, 7),
221
- 2014: (OCT, 5),
222
- 2015: (SEP, 24),
219
+ 2005: (JAN, 21),
220
+ 2006: ((JAN, 10), (DEC, 31)),
221
+ 2007: (DEC, 20),
222
+ 2012: (OCT, 26),
223
+ 2013: (OCT, 15),
223
224
  2016: (SEP, 13),
224
- 2017: (SEP, 2),
225
- 2018: (AUG, 22),
226
- 2021: (JUL, 21),
227
- 2023: (JUN, 29),
228
- 2024: (JUN, 17),
229
- 2025: (JUN, 7),
225
+ 2019: (AUG, 11),
226
+ 2020: (JUL, 31),
227
+ 2022: (JUL, 9),
230
228
  }
231
229
 
232
230
  # https://web.archive.org/web/20241006104125/https://www.timeanddate.com/holidays/guyana/prophet-birthday
233
231
  MAWLID_DATES_CONFIRMED_YEARS = (2001, 2025)
234
232
  MAWLID_DATES = {
235
- 2003: (MAY, 14),
236
- 2004: (MAY, 2),
237
- 2006: (APR, 11),
238
- 2011: (FEB, 16),
239
- 2012: (FEB, 5),
240
- 2014: (JAN, 14),
233
+ 2001: (JUN, 4),
234
+ 2002: (MAY, 24),
235
+ 2005: (APR, 21),
236
+ 2007: (MAR, 31),
237
+ 2008: (MAR, 20),
238
+ 2009: (MAR, 9),
239
+ 2010: (FEB, 26),
240
+ 2013: (JAN, 24),
241
241
  2015: ((JAN, 3), (DEC, 24)),
242
- 2016: (DEC, 12),
243
- 2017: (DEC, 1),
244
- 2018: (NOV, 21),
245
- 2019: (NOV, 10),
246
- 2021: (OCT, 19),
247
- 2022: (OCT, 9),
248
- 2023: (SEP, 28),
249
- 2024: (SEP, 16),
250
- 2025: (SEP, 5),
242
+ 2020: (OCT, 29),
251
243
  }
252
244
 
253
245
 
@@ -0,0 +1,31 @@
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.no_holiday_base import NoHolidayBase
14
+
15
+
16
+ class HeardIslandAndMcDonaldIslands(NoHolidayBase):
17
+ """Heard Island and McDonald Islands holidays.
18
+
19
+ References:
20
+ * <https://en.wikipedia.org/wiki/Heard_Island_and_McDonald_Islands>
21
+ """
22
+
23
+ country = "HM"
24
+
25
+
26
+ class HM(HeardIslandAndMcDonaldIslands):
27
+ pass
28
+
29
+
30
+ class HMD(HeardIslandAndMcDonaldIslands):
31
+ pass
@@ -43,7 +43,10 @@ class Hungary(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
43
43
 
44
44
  if self._year <= 1950 or self._year >= 1989:
45
45
  # National Day.
46
- self._add_holiday_mar_15(tr("Nemzeti ünnep"))
46
+ name = tr("Nemzeti ünnep")
47
+ self._add_holiday_mar_15(name)
48
+ if self._year >= 1991:
49
+ self._add_holiday_oct_23(name)
47
50
 
48
51
  if self._year >= 2017:
49
52
  # Good Friday.
@@ -78,10 +81,6 @@ class Hungary(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHolid
78
81
  else tr("Az államalapítás ünnepe")
79
82
  )
80
83
 
81
- if self._year >= 1991:
82
- # National Day.
83
- self._add_holiday_oct_23(tr("Nemzeti ünnep"))
84
-
85
84
  if self._year >= 1999:
86
85
  # All Saints' Day.
87
86
  self._add_all_saints_day(tr("Mindenszentek"))
@@ -14,7 +14,7 @@ import warnings
14
14
  from gettext import gettext as tr
15
15
 
16
16
  from holidays.calendars import _CustomIslamicHolidays
17
- from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
17
+ from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, AUG, SEP, OCT, NOV, DEC
18
18
  from holidays.constants import OPTIONAL, PUBLIC
19
19
  from holidays.groups import (
20
20
  ChristianHolidays,
@@ -156,11 +156,17 @@ class India(
156
156
  islamic_show_estimated:
157
157
  Whether to add "estimated" label to Islamic holidays name
158
158
  if holiday date is estimated.
159
+
160
+ In India, the dates of the Islamic calendar usually fall a day later than
161
+ the corresponding dates in the Umm al-Qura calendar.
159
162
  """
160
163
  ChristianHolidays.__init__(self)
161
164
  HinduCalendarHolidays.__init__(self)
162
165
  IslamicHolidays.__init__(
163
- self, cls=IndiaIslamicHolidays, show_estimated=islamic_show_estimated
166
+ self,
167
+ cls=IndiaIslamicHolidays,
168
+ show_estimated=islamic_show_estimated,
169
+ calendar_delta_days=+1,
164
170
  )
165
171
  InternationalHolidays.__init__(self)
166
172
  super().__init__(*args, **kwargs)
@@ -279,6 +285,8 @@ class India(
279
285
  self._add_holiday_apr_14(tr("Dr. B. R. Ambedkar's Jayanti"))
280
286
  # Andhra Pradesh Foundation Day.
281
287
  self._add_holiday_nov_1(tr("Andhra Pradesh Foundation Day"))
288
+ # Ugadi.
289
+ self._add_gudi_padwa(tr("Ugadi"))
282
290
 
283
291
  # Assam.
284
292
  def _populate_subdiv_as_public_holidays(self):
@@ -365,6 +373,8 @@ class India(
365
373
  self._add_holiday_apr_14(tr("Dr. B. R. Ambedkar's Jayanti"))
366
374
  # Karnataka Rajyotsav.
367
375
  self._add_holiday_nov_1(tr("Karnataka Rajyotsava"))
376
+ # Ugadi.
377
+ self._add_gudi_padwa(tr("Ugadi"))
368
378
 
369
379
  # Kerala.
370
380
  def _populate_subdiv_kl_public_holidays(self):
@@ -476,6 +486,8 @@ class India(
476
486
  self._add_holiday_jun_2(tr("Telangana Formation Day"))
477
487
  # Bathukamma Festival.
478
488
  self._add_holiday_oct_6(tr("Bathukamma Festival"))
489
+ # Ugadi.
490
+ self._add_gudi_padwa(tr("Ugadi"))
479
491
 
480
492
  # Uttarakhand.
481
493
  def _populate_subdiv_uk_public_holidays(self):
@@ -512,103 +524,40 @@ class IND(India):
512
524
  class IndiaIslamicHolidays(_CustomIslamicHolidays):
513
525
  ASHURA_DATES_CONFIRMED_YEARS = (2001, 2025)
514
526
  ASHURA_DATES = {
515
- 2003: (MAR, 14),
516
- 2004: (MAR, 2),
517
- 2007: (JAN, 30),
527
+ 2001: (APR, 4),
528
+ 2002: (MAR, 24),
529
+ 2005: (FEB, 19),
530
+ 2006: (FEB, 9),
531
+ 2008: (JAN, 19),
518
532
  2009: ((JAN, 7), (DEC, 28)),
519
- 2010: (DEC, 17),
520
- 2011: (DEC, 6),
521
- 2012: (NOV, 25),
522
- 2013: (NOV, 14),
523
- 2014: (NOV, 4),
524
- 2015: (OCT, 24),
525
- 2016: (OCT, 12),
526
- 2017: (OCT, 1),
527
- 2018: (SEP, 21),
528
- 2019: (SEP, 10),
529
- 2020: (AUG, 30),
530
533
  2021: (AUG, 20),
531
- 2022: (AUG, 9),
532
- 2023: (JUL, 29),
533
- 2024: (JUL, 17),
534
- 2025: (JUL, 6),
535
534
  }
536
535
 
537
536
  EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2001, 2025)
538
537
  EID_AL_ADHA_DATES = {
539
- 2001: (MAR, 6),
540
- 2002: (FEB, 23),
541
- 2003: (FEB, 12),
542
- 2004: (FEB, 2),
538
+ 2005: (JAN, 21),
543
539
  2006: ((JAN, 11), (DEC, 31)),
544
- 2008: (DEC, 9),
545
- 2009: (NOV, 28),
546
- 2010: (NOV, 17),
547
- 2011: (NOV, 7),
548
- 2012: (OCT, 27),
549
- 2013: (OCT, 16),
540
+ 2007: (DEC, 20),
550
541
  2014: (OCT, 6),
551
542
  2015: (SEP, 25),
552
543
  2016: (SEP, 13),
553
- 2017: (SEP, 2),
554
- 2018: (AUG, 22),
555
- 2019: (AUG, 12),
556
- 2020: (AUG, 1),
557
- 2021: (JUL, 21),
558
- 2022: (JUL, 10),
559
- 2023: (JUN, 29),
560
- 2024: (JUN, 17),
561
- 2025: (JUN, 7),
562
544
  }
563
545
 
564
546
  EID_AL_FITR_DATES_CONFIRMED_YEARS = (2001, 2025)
565
547
  EID_AL_FITR_DATES = {
566
- 2001: (DEC, 17),
567
- 2002: (DEC, 6),
568
- 2003: (NOV, 26),
569
- 2006: (OCT, 24),
570
- 2008: (OCT, 2),
571
- 2009: (SEP, 21),
572
- 2011: (AUG, 31),
573
- 2012: (AUG, 20),
574
- 2014: (JUL, 29),
575
- 2015: (JUL, 18),
576
- 2016: (JUL, 7),
577
- 2017: (JUN, 26),
578
- 2018: (JUN, 16),
579
- 2019: (JUN, 5),
580
- 2020: (MAY, 25),
581
- 2021: (MAY, 14),
582
- 2022: (MAY, 3),
583
- 2023: (APR, 22),
584
- 2024: (APR, 11),
585
- 2025: (MAR, 31),
548
+ 2004: (NOV, 14),
549
+ 2005: (NOV, 3),
550
+ 2007: (OCT, 13),
551
+ 2010: (SEP, 10),
552
+ 2013: (AUG, 8),
586
553
  }
587
554
 
588
555
  MAWLID_DATES_CONFIRMED_YEARS = (2001, 2025)
589
556
  MAWLID_DATES = {
590
- 2001: (JUN, 5),
591
- 2002: (MAY, 25),
592
557
  2003: (MAY, 15),
593
558
  2004: (MAY, 3),
594
- 2005: (APR, 22),
595
- 2006: (APR, 11),
596
- 2007: (APR, 1),
597
- 2008: (MAR, 21),
598
- 2010: (FEB, 27),
599
- 2011: (FEB, 16),
600
- 2012: (FEB, 5),
601
- 2013: (JAN, 25),
602
- 2014: (JAN, 14),
559
+ 2009: (MAR, 9),
603
560
  2015: ((JAN, 4), (DEC, 25)),
604
561
  2016: (DEC, 13),
605
562
  2017: (DEC, 2),
606
- 2018: (NOV, 21),
607
- 2019: (NOV, 10),
608
- 2020: (OCT, 30),
609
- 2021: (OCT, 19),
610
- 2022: (OCT, 9),
611
- 2023: (SEP, 28),
612
- 2024: (SEP, 16),
613
- 2025: (SEP, 5),
614
563
  }