holidays 0.78__py3-none-any.whl → 0.80__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 (161) hide show
  1. holidays/calendars/__init__.py +1 -0
  2. holidays/calendars/chinese.py +14 -4
  3. holidays/calendars/ethiopian.py +31 -0
  4. holidays/calendars/hindu.py +1 -0
  5. holidays/calendars/islamic.py +16 -4
  6. holidays/calendars/julian.py +14 -0
  7. holidays/calendars/mandaean.py +59 -0
  8. holidays/calendars/tibetan.py +1466 -0
  9. holidays/constants.py +2 -1
  10. holidays/countries/__init__.py +20 -0
  11. holidays/countries/afghanistan.py +6 -39
  12. holidays/countries/albania.py +3 -22
  13. holidays/countries/argentina.py +7 -18
  14. holidays/countries/australia.py +191 -295
  15. holidays/countries/azerbaijan.py +6 -39
  16. holidays/countries/bahrain.py +29 -38
  17. holidays/countries/bhutan.py +194 -0
  18. holidays/countries/bosnia_and_herzegovina.py +7 -28
  19. holidays/countries/brunei.py +7 -117
  20. holidays/countries/burkina_faso.py +9 -15
  21. holidays/countries/burundi.py +95 -40
  22. holidays/countries/cameroon.py +8 -34
  23. holidays/countries/canada.py +9 -1
  24. holidays/countries/central_african_republic.py +3 -16
  25. holidays/countries/chad.py +9 -17
  26. holidays/countries/chile.py +20 -4
  27. holidays/countries/christmas_island.py +10 -15
  28. holidays/countries/cocos_islands.py +5 -24
  29. holidays/countries/comoros.py +121 -0
  30. holidays/countries/egypt.py +5 -37
  31. holidays/countries/eritrea.py +104 -0
  32. holidays/countries/ethiopia.py +18 -47
  33. holidays/countries/fiji.py +1 -2
  34. holidays/countries/gabon.py +5 -23
  35. holidays/countries/gambia.py +168 -0
  36. holidays/countries/georgia.py +9 -7
  37. holidays/countries/guinea.py +5 -27
  38. holidays/countries/guinea_bissau.py +96 -0
  39. holidays/countries/guyana.py +2 -17
  40. holidays/countries/india.py +12 -25
  41. holidays/countries/indonesia.py +6 -158
  42. holidays/countries/iran.py +16 -126
  43. holidays/countries/iraq.py +276 -0
  44. holidays/countries/kazakhstan.py +2 -18
  45. holidays/countries/kenya.py +2 -8
  46. holidays/countries/kiribati.py +124 -0
  47. holidays/countries/kyrgyzstan.py +2 -0
  48. holidays/countries/lebanon.py +5 -87
  49. holidays/countries/liberia.py +80 -0
  50. holidays/countries/libya.py +5 -37
  51. holidays/countries/macau.py +65 -63
  52. holidays/countries/malaysia.py +9 -130
  53. holidays/countries/maldives.py +2 -0
  54. holidays/countries/mali.py +4 -9
  55. holidays/countries/mauritania.py +2 -0
  56. holidays/countries/mauritius.py +1 -2
  57. holidays/countries/montenegro.py +3 -18
  58. holidays/countries/nepal.py +42 -44
  59. holidays/countries/niger.py +14 -74
  60. holidays/countries/nigeria.py +198 -27
  61. holidays/countries/north_macedonia.py +3 -39
  62. holidays/countries/oman.py +6 -28
  63. holidays/countries/pakistan.py +5 -30
  64. holidays/countries/palestine.py +2 -5
  65. holidays/countries/philippines.py +3 -33
  66. holidays/countries/qatar.py +3 -45
  67. holidays/countries/rwanda.py +162 -0
  68. holidays/countries/saudi_arabia.py +3 -0
  69. holidays/countries/senegal.py +6 -16
  70. holidays/countries/sierra_leone.py +5 -21
  71. holidays/countries/singapore.py +7 -59
  72. holidays/countries/somalia.py +79 -0
  73. holidays/countries/south_georgia_and_the_south_sandwich_islands.py +160 -0
  74. holidays/countries/south_sudan.py +133 -0
  75. holidays/countries/spain.py +7 -10
  76. holidays/countries/sri_lanka.py +3 -14
  77. holidays/countries/suriname.py +11 -19
  78. holidays/countries/syrian_arab_republic.py +134 -0
  79. holidays/countries/tajikistan.py +116 -0
  80. holidays/countries/tanzania.py +291 -153
  81. holidays/countries/timor_leste.py +2 -17
  82. holidays/countries/togo.py +4 -29
  83. holidays/countries/trinidad_and_tobago.py +2 -9
  84. holidays/countries/turkey.py +2 -116
  85. holidays/countries/turkmenistan.py +164 -0
  86. holidays/countries/uganda.py +101 -0
  87. holidays/countries/united_arab_emirates.py +5 -29
  88. holidays/countries/uzbekistan.py +3 -31
  89. holidays/countries/yemen.py +8 -52
  90. holidays/financial/__init__.py +5 -0
  91. holidays/financial/national_stock_exchange_of_india.py +169 -0
  92. holidays/groups/__init__.py +2 -0
  93. holidays/groups/christian.py +48 -12
  94. holidays/groups/eastern.py +1 -1
  95. holidays/groups/international.py +17 -1
  96. holidays/groups/islamic.py +1 -1
  97. holidays/groups/mandaean.py +107 -0
  98. holidays/groups/tibetan.py +153 -0
  99. holidays/holiday_base.py +14 -0
  100. holidays/locale/ar/LC_MESSAGES/BH.mo +0 -0
  101. holidays/locale/ar/LC_MESSAGES/IQ.mo +0 -0
  102. holidays/locale/ar/LC_MESSAGES/SY.mo +0 -0
  103. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  104. holidays/locale/en_GM/LC_MESSAGES/GM.mo +0 -0
  105. holidays/locale/en_GS/LC_MESSAGES/GS.mo +0 -0
  106. holidays/locale/en_IN/LC_MESSAGES/XNSE.mo +0 -0
  107. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  108. holidays/locale/en_NG/LC_MESSAGES/NG.mo +0 -0
  109. holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
  110. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  111. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  112. holidays/locale/en_US/LC_MESSAGES/BH.mo +0 -0
  113. holidays/locale/en_US/LC_MESSAGES/BI.mo +0 -0
  114. holidays/locale/en_US/LC_MESSAGES/CL.mo +0 -0
  115. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  116. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  117. holidays/locale/en_US/LC_MESSAGES/GM.mo +0 -0
  118. holidays/locale/en_US/LC_MESSAGES/GS.mo +0 -0
  119. holidays/locale/en_US/LC_MESSAGES/GW.mo +0 -0
  120. holidays/locale/en_US/LC_MESSAGES/IQ.mo +0 -0
  121. holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
  122. holidays/locale/en_US/LC_MESSAGES/NG.mo +0 -0
  123. holidays/locale/en_US/LC_MESSAGES/RW.mo +0 -0
  124. holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
  125. holidays/locale/en_US/LC_MESSAGES/SY.mo +0 -0
  126. holidays/locale/en_US/LC_MESSAGES/TJ.mo +0 -0
  127. holidays/locale/en_US/LC_MESSAGES/TM.mo +0 -0
  128. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  129. holidays/locale/en_US/LC_MESSAGES/XNSE.mo +0 -0
  130. holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
  131. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  132. holidays/locale/fr/LC_MESSAGES/RW.mo +0 -0
  133. holidays/locale/fr_BI/LC_MESSAGES/BI.mo +0 -0
  134. holidays/locale/hi/LC_MESSAGES/XNSE.mo +0 -0
  135. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  136. holidays/locale/pt_GW/LC_MESSAGES/GW.mo +0 -0
  137. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  138. holidays/locale/ru/LC_MESSAGES/TJ.mo +0 -0
  139. holidays/locale/ru/LC_MESSAGES/TM.mo +0 -0
  140. holidays/locale/rw/LC_MESSAGES/RW.mo +0 -0
  141. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  142. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  143. holidays/locale/tg/LC_MESSAGES/TJ.mo +0 -0
  144. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  145. holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
  146. holidays/locale/tk/LC_MESSAGES/TM.mo +0 -0
  147. holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
  148. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  149. holidays/locale/uk/LC_MESSAGES/CL.mo +0 -0
  150. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  151. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  152. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  153. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  154. holidays/registry.py +46 -14
  155. holidays/version.py +1 -1
  156. {holidays-0.78.dist-info → holidays-0.80.dist-info}/METADATA +127 -9
  157. {holidays-0.78.dist-info → holidays-0.80.dist-info}/RECORD +161 -113
  158. {holidays-0.78.dist-info → holidays-0.80.dist-info}/licenses/CONTRIBUTORS +2 -0
  159. {holidays-0.78.dist-info → holidays-0.80.dist-info}/WHEEL +0 -0
  160. {holidays-0.78.dist-info → holidays-0.80.dist-info}/licenses/LICENSE +0 -0
  161. {holidays-0.78.dist-info → holidays-0.80.dist-info}/top_level.txt +0 -0
@@ -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://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)