holidays 0.79__py3-none-any.whl → 0.81__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 (124) hide show
  1. holidays/calendars/chinese.py +39 -1
  2. holidays/calendars/hindu.py +1 -0
  3. holidays/constants.py +0 -1
  4. holidays/countries/__init__.py +13 -0
  5. holidays/countries/argentina.py +4 -0
  6. holidays/countries/australia.py +191 -295
  7. holidays/countries/bosnia_and_herzegovina.py +5 -1
  8. holidays/countries/burkina_faso.py +5 -0
  9. holidays/countries/burundi.py +95 -40
  10. holidays/countries/cameroon.py +5 -0
  11. holidays/countries/canada.py +7 -0
  12. holidays/countries/chad.py +5 -0
  13. holidays/countries/china.py +4 -0
  14. holidays/countries/christmas_island.py +6 -0
  15. holidays/countries/comoros.py +121 -0
  16. holidays/countries/eritrea.py +104 -0
  17. holidays/countries/gabon.py +2 -0
  18. holidays/countries/georgia.py +9 -7
  19. holidays/countries/guinea_bissau.py +0 -4
  20. holidays/countries/hongkong.py +5 -1
  21. holidays/countries/kyrgyzstan.py +2 -0
  22. holidays/countries/macau.py +74 -63
  23. holidays/countries/maldives.py +2 -0
  24. holidays/countries/mauritania.py +2 -0
  25. holidays/countries/mongolia.py +2 -0
  26. holidays/countries/nigeria.py +198 -27
  27. holidays/countries/philippines.py +11 -2
  28. holidays/countries/rwanda.py +162 -0
  29. holidays/countries/saint_helena_ascension_and_tristan_da_cunha.py +197 -0
  30. holidays/countries/sierra_leone.py +1 -1
  31. holidays/countries/singapore.py +4 -0
  32. holidays/countries/somalia.py +79 -0
  33. holidays/countries/south_korea.py +4 -0
  34. holidays/countries/south_sudan.py +133 -0
  35. holidays/countries/spain.py +26 -0
  36. holidays/countries/sudan.py +115 -0
  37. holidays/countries/taiwan.py +5 -1
  38. holidays/countries/tajikistan.py +116 -0
  39. holidays/countries/tanzania.py +291 -147
  40. holidays/countries/turkmenistan.py +6 -0
  41. holidays/countries/uganda.py +101 -0
  42. holidays/countries/vietnam.py +4 -0
  43. holidays/financial/__init__.py +5 -0
  44. holidays/financial/national_stock_exchange_of_india.py +169 -0
  45. holidays/groups/chinese.py +3 -15
  46. holidays/groups/eastern.py +1 -3
  47. holidays/groups/islamic.py +10 -0
  48. holidays/locale/ar_SD/LC_MESSAGES/SD.mo +0 -0
  49. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  50. holidays/locale/en_GB/LC_MESSAGES/SH.mo +0 -0
  51. holidays/locale/en_HK/LC_MESSAGES/HK.mo +0 -0
  52. holidays/locale/en_IN/LC_MESSAGES/XNSE.mo +0 -0
  53. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  54. holidays/locale/en_NG/LC_MESSAGES/NG.mo +0 -0
  55. holidays/locale/en_PH/LC_MESSAGES/PH.mo +0 -0
  56. holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
  57. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  58. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  59. holidays/locale/en_US/LC_MESSAGES/BI.mo +0 -0
  60. holidays/locale/en_US/LC_MESSAGES/CN.mo +0 -0
  61. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  62. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  63. holidays/locale/en_US/LC_MESSAGES/GW.mo +0 -0
  64. holidays/locale/en_US/LC_MESSAGES/HK.mo +0 -0
  65. holidays/locale/en_US/LC_MESSAGES/KR.mo +0 -0
  66. holidays/locale/en_US/LC_MESSAGES/MN.mo +0 -0
  67. holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
  68. holidays/locale/en_US/LC_MESSAGES/NG.mo +0 -0
  69. holidays/locale/en_US/LC_MESSAGES/PH.mo +0 -0
  70. holidays/locale/en_US/LC_MESSAGES/RW.mo +0 -0
  71. holidays/locale/en_US/LC_MESSAGES/SD.mo +0 -0
  72. holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
  73. holidays/locale/en_US/LC_MESSAGES/SH.mo +0 -0
  74. holidays/locale/en_US/LC_MESSAGES/TJ.mo +0 -0
  75. holidays/locale/en_US/LC_MESSAGES/TW.mo +0 -0
  76. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  77. holidays/locale/en_US/LC_MESSAGES/VN.mo +0 -0
  78. holidays/locale/en_US/LC_MESSAGES/XNSE.mo +0 -0
  79. holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
  80. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  81. holidays/locale/fil/LC_MESSAGES/PH.mo +0 -0
  82. holidays/locale/fr/LC_MESSAGES/RW.mo +0 -0
  83. holidays/locale/fr_BI/LC_MESSAGES/BI.mo +0 -0
  84. holidays/locale/hi/LC_MESSAGES/XNSE.mo +0 -0
  85. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  86. holidays/locale/ko/LC_MESSAGES/KR.mo +0 -0
  87. holidays/locale/mn/LC_MESSAGES/MN.mo +0 -0
  88. holidays/locale/pt_GW/LC_MESSAGES/GW.mo +0 -0
  89. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  90. holidays/locale/ru/LC_MESSAGES/TJ.mo +0 -0
  91. holidays/locale/rw/LC_MESSAGES/RW.mo +0 -0
  92. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  93. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  94. holidays/locale/tg/LC_MESSAGES/TJ.mo +0 -0
  95. holidays/locale/th/LC_MESSAGES/CN.mo +0 -0
  96. holidays/locale/th/LC_MESSAGES/HK.mo +0 -0
  97. holidays/locale/th/LC_MESSAGES/KR.mo +0 -0
  98. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  99. holidays/locale/th/LC_MESSAGES/PH.mo +0 -0
  100. holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
  101. holidays/locale/th/LC_MESSAGES/TW.mo +0 -0
  102. holidays/locale/th/LC_MESSAGES/VN.mo +0 -0
  103. holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
  104. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  105. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  106. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  107. holidays/locale/vi/LC_MESSAGES/VN.mo +0 -0
  108. holidays/locale/zh_CN/LC_MESSAGES/CN.mo +0 -0
  109. holidays/locale/zh_CN/LC_MESSAGES/HK.mo +0 -0
  110. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  111. holidays/locale/zh_CN/LC_MESSAGES/TW.mo +0 -0
  112. holidays/locale/zh_HK/LC_MESSAGES/HK.mo +0 -0
  113. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  114. holidays/locale/zh_TW/LC_MESSAGES/CN.mo +0 -0
  115. holidays/locale/zh_TW/LC_MESSAGES/TW.mo +0 -0
  116. holidays/observed_holiday_base.py +1 -1
  117. holidays/registry.py +39 -14
  118. holidays/version.py +1 -1
  119. {holidays-0.79.dist-info → holidays-0.81.dist-info}/METADATA +76 -7
  120. {holidays-0.79.dist-info → holidays-0.81.dist-info}/RECORD +124 -97
  121. {holidays-0.79.dist-info → holidays-0.81.dist-info}/WHEEL +0 -0
  122. {holidays-0.79.dist-info → holidays-0.81.dist-info}/licenses/CONTRIBUTORS +0 -0
  123. {holidays-0.79.dist-info → holidays-0.81.dist-info}/licenses/LICENSE +0 -0
  124. {holidays-0.79.dist-info → holidays-0.81.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,115 @@
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 import _CustomIslamicHolidays
16
+ from holidays.calendars.gregorian import MAY, JUL, AUG, SEP, FRI, SAT
17
+ from holidays.calendars.julian import JULIAN_CALENDAR
18
+ from holidays.groups import ChristianHolidays, IslamicHolidays
19
+ from holidays.holiday_base import HolidayBase
20
+
21
+
22
+ class Sudan(HolidayBase, ChristianHolidays, IslamicHolidays):
23
+ """Sudan holidays.
24
+
25
+ References:
26
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Sudan>
27
+ * <https://web.archive.org/web/20250820070831/https://www.sudanembassy.org.uk/public-holidays/>
28
+ * [Christian Holidays 2011-2018](https://web.archive.org/web/20250827155208/https://evangelicalfocus.com/world/5014/christmas-celebrations-mark-progress-of-religious-freedom-in-sudan)
29
+ """
30
+
31
+ country = "SD"
32
+ default_language = "ar_SD"
33
+ # %s (estimated).
34
+ estimated_label = tr("%s (المقدرة)")
35
+ supported_languages = ("ar_SD", "en_US")
36
+ start_year = 1985
37
+
38
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
39
+ ChristianHolidays.__init__(self)
40
+ IslamicHolidays.__init__(
41
+ self, cls=SudanIslamicHolidays, show_estimated=islamic_show_estimated
42
+ )
43
+ super().__init__(*args, **kwargs)
44
+
45
+ def _populate_public_holidays(self):
46
+ # The resting days are Friday and Saturday since January 26th, 2008.
47
+ # https://sudantribune.com/article25544/
48
+ self.weekend = {FRI, SAT} if self._year >= 2008 else {FRI}
49
+
50
+ # Independence Day.
51
+ self._add_holiday_jan_1(tr("عيد الإستقلال"))
52
+
53
+ # Christian public holidays were suspended 2011–2018 and reinstated in 2019.
54
+ if self._year <= 2010 or self._year >= 2019:
55
+ # Coptic Christmas Day.
56
+ self._add_christmas_day(tr("عيد الميلاد المجيد"), calendar=JULIAN_CALENDAR)
57
+
58
+ # Coptic Easter.
59
+ self._add_easter_sunday(tr("عيد الفصح القبطي"), calendar=JULIAN_CALENDAR)
60
+
61
+ # Christmas Day.
62
+ self._add_christmas_day(tr("عيد الميلاد"))
63
+
64
+ # Islamic New Year.
65
+ self._add_islamic_new_year_day(tr("رأس السنة الهجرية"))
66
+
67
+ # Prophet's Birthday.
68
+ self._add_mawlid_day(tr("المولد النبوي الشريف"))
69
+
70
+ # Eid al-Fitr.
71
+ name = tr("عيد الفطر المبارك")
72
+ self._add_eid_al_fitr_day(name)
73
+ self._add_eid_al_fitr_day_two(name)
74
+ self._add_eid_al_fitr_day_three(name)
75
+
76
+ if self._year >= 2020:
77
+ self._add_eid_al_fitr_day_four(name)
78
+
79
+ # Eid al-Adha.
80
+ name = tr("عيد الأضحى المبارك")
81
+ self._add_arafah_day(name)
82
+ self._add_eid_al_adha_day(name)
83
+ self._add_eid_al_adha_day_two(name)
84
+ self._add_eid_al_adha_day_three(name)
85
+ self._add_eid_al_adha_day_four(name)
86
+
87
+
88
+ class SD(Sudan):
89
+ pass
90
+
91
+
92
+ class SDN(Sudan):
93
+ pass
94
+
95
+
96
+ class SudanIslamicHolidays(_CustomIslamicHolidays):
97
+ EID_AL_ADHA_DATES_CONFIRMED_YEARS = (2020, 2025)
98
+ EID_AL_ADHA_DATES = {
99
+ 2022: (JUL, 10),
100
+ }
101
+
102
+ EID_AL_FITR_DATES_CONFIRMED_YEARS = (2020, 2025)
103
+ EID_AL_FITR_DATES = {
104
+ 2022: (MAY, 1),
105
+ }
106
+
107
+ HIJRI_NEW_YEAR_DATES_CONFIRMED_YEARS = (2020, 2025)
108
+ HIJRI_NEW_YEAR_DATES = {
109
+ 2021: (AUG, 11),
110
+ }
111
+
112
+ MAWLID_DATES_CONFIRMED_YEARS = (2020, 2025)
113
+ MAWLID_DATES = {
114
+ 2023: (SEP, 28),
115
+ }
@@ -72,8 +72,12 @@ class Taiwan(ObservedHolidayBase, ChineseCalendarHolidays, InternationalHolidays
72
72
  """
73
73
 
74
74
  country = "TW"
75
+ # %s (estimated).
76
+ estimated_label = tr("%s(推定)")
77
+ # %s (observed, estimated).
78
+ observed_estimated_label = tr("%s(補假,推定)")
75
79
  # %s (observed).
76
- observed_label = tr("%s(慶祝)")
80
+ observed_label = tr("%s(補假)")
77
81
  default_language = "zh_TW"
78
82
  supported_categories = (GOVERNMENT, OPTIONAL, PUBLIC, SCHOOL, WORKDAY)
79
83
  supported_languages = ("en_US", "th", "zh_CN", "zh_TW")
@@ -0,0 +1,116 @@
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 import _CustomIslamicHolidays
16
+ from holidays.calendars.gregorian import APR
17
+ from holidays.groups import InternationalHolidays, IslamicHolidays
18
+ from holidays.holiday_base import HolidayBase
19
+
20
+
21
+ class Tajikistan(HolidayBase, InternationalHolidays, IslamicHolidays):
22
+ """Tajikistan holidays.
23
+
24
+ References:
25
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Tajikistan>
26
+ * [Law #3 from Nov 3, 1995](https://web.archive.org/web/20250823162418/http://www.portali-huquqi.tj/publicadliya/view_qonunhoview.php?showdetail=&asosi_id=155&language=tj)
27
+ * [Law #753 from Aug 2, 2011](https://web.archive.org/web/20250823162543/http://www.portali-huquqi.tj/publicadliya/view_qonunhoview.php?showdetail=&asosi_id=12997&language=tj)
28
+ * [Independence Day](https://web.archive.org/web/20250324203223/https://tnu.tj/index.php/en/9-september-independence-day-of-the-republic-of-tajikistan/)
29
+ """
30
+
31
+ country = "TJ"
32
+ default_language = "tg"
33
+ # %s (estimated).
34
+ estimated_label = tr("%s (таҳминан)")
35
+ start_year = 1992
36
+ supported_languages = ("en_US", "ru", "tg")
37
+
38
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
39
+ """
40
+ Args:
41
+ islamic_show_estimated:
42
+ Whether to add "estimated" label to Islamic holidays name
43
+ if holiday date is estimated.
44
+ """
45
+ InternationalHolidays.__init__(self)
46
+ IslamicHolidays.__init__(
47
+ self, cls=TajikistanIslamicHolidays, show_estimated=islamic_show_estimated
48
+ )
49
+ super().__init__(*args, **kwargs)
50
+
51
+ def _populate_public_holidays(self):
52
+ # New Year's Day.
53
+ self._add_new_years_day(tr("Соли Нав"))
54
+
55
+ # Mother's Day.
56
+ self._add_holiday_mar_8(tr("Рӯзи Модар"))
57
+
58
+ # International Nowruz Day.
59
+ name = tr("Иди байналмилалии Наврӯз")
60
+ self._add_holiday_mar_21(name)
61
+ self._add_holiday_mar_22(name)
62
+
63
+ # Established by Law #13 from May 3, 2002.
64
+ if self._year >= 2003:
65
+ self._add_holiday_mar_23(name)
66
+
67
+ # Established by Law #146 from Dec 28, 2005.
68
+ if self._year >= 2006:
69
+ self._add_holiday_mar_24(name)
70
+
71
+ # Abolished by Law #1390 from Feb 24, 2017.
72
+ if self._year <= 2016:
73
+ # International Workers' Solidarity Day.
74
+ self._add_labor_day(tr("Рӯзи байналхалқии якдилии меҳнаткашон"))
75
+
76
+ self._add_world_war_two_victory_day(
77
+ # Victory Day.
78
+ tr("Рӯзи Ғалаба дар Ҷанги Бузурги Ватанӣ"),
79
+ is_western=False,
80
+ )
81
+
82
+ # Established by Law #628 from May 22, 1998.
83
+ if self._year >= 1998:
84
+ # Day of National Unity.
85
+ self._add_holiday_jun_27(tr("Рӯзи Ваҳдати миллӣ"))
86
+
87
+ # Independence Day.
88
+ self._add_holiday_sep_9(tr("Рӯзи Истиқлолияти давлатии Ҷумҳурии Тоҷикистон"))
89
+
90
+ if self._year >= 1994:
91
+ # Constitution Day.
92
+ self._add_holiday_nov_6(tr("Рӯзи Конститутсияи Ҷумҳурии Тоҷикистон"))
93
+
94
+ # Eid al-Fitr.
95
+ self._add_eid_al_fitr_day(tr("Рӯзи иди Рамазон"))
96
+
97
+ # Eid al-Adha.
98
+ self._add_eid_al_adha_day(tr("Рӯзи иди Қурбон"))
99
+
100
+
101
+ class TJ(Tajikistan):
102
+ pass
103
+
104
+
105
+ class TJK(Tajikistan):
106
+ pass
107
+
108
+
109
+ class TajikistanIslamicHolidays(_CustomIslamicHolidays):
110
+ # https://web.archive.org/web/20240911001624/https://www.timeanddate.com/holidays/tajikistan/eid-al-fitr
111
+ EID_AL_FITR_DATES_CONFIRMED_YEARS = (1992, 2025)
112
+ EID_AL_FITR_DATES = {
113
+ 2023: (APR, 22),
114
+ }
115
+
116
+ EID_AL_ADHA_DATES_CONFIRMED_YEARS = (1992, 2025)