holidays 0.79__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 (82) hide show
  1. holidays/calendars/hindu.py +1 -0
  2. holidays/constants.py +0 -1
  3. holidays/countries/__init__.py +7 -0
  4. holidays/countries/argentina.py +4 -0
  5. holidays/countries/australia.py +191 -295
  6. holidays/countries/bosnia_and_herzegovina.py +5 -1
  7. holidays/countries/burkina_faso.py +5 -0
  8. holidays/countries/burundi.py +95 -40
  9. holidays/countries/cameroon.py +5 -0
  10. holidays/countries/canada.py +7 -0
  11. holidays/countries/chad.py +5 -0
  12. holidays/countries/christmas_island.py +6 -0
  13. holidays/countries/comoros.py +121 -0
  14. holidays/countries/eritrea.py +104 -0
  15. holidays/countries/gabon.py +2 -0
  16. holidays/countries/georgia.py +9 -7
  17. holidays/countries/guinea_bissau.py +0 -4
  18. holidays/countries/kyrgyzstan.py +2 -0
  19. holidays/countries/macau.py +65 -63
  20. holidays/countries/maldives.py +2 -0
  21. holidays/countries/mauritania.py +2 -0
  22. holidays/countries/nigeria.py +198 -27
  23. holidays/countries/rwanda.py +162 -0
  24. holidays/countries/sierra_leone.py +1 -1
  25. holidays/countries/singapore.py +4 -0
  26. holidays/countries/somalia.py +79 -0
  27. holidays/countries/south_sudan.py +133 -0
  28. holidays/countries/spain.py +4 -0
  29. holidays/countries/tajikistan.py +116 -0
  30. holidays/countries/tanzania.py +291 -147
  31. holidays/countries/turkmenistan.py +6 -0
  32. holidays/countries/uganda.py +101 -0
  33. holidays/financial/__init__.py +5 -0
  34. holidays/financial/national_stock_exchange_of_india.py +169 -0
  35. holidays/groups/eastern.py +1 -1
  36. holidays/locale/bs/LC_MESSAGES/BA.mo +0 -0
  37. holidays/locale/en_IN/LC_MESSAGES/XNSE.mo +0 -0
  38. holidays/locale/en_MO/LC_MESSAGES/MO.mo +0 -0
  39. holidays/locale/en_NG/LC_MESSAGES/NG.mo +0 -0
  40. holidays/locale/en_SG/LC_MESSAGES/SG.mo +0 -0
  41. holidays/locale/en_US/LC_MESSAGES/AR.mo +0 -0
  42. holidays/locale/en_US/LC_MESSAGES/BA.mo +0 -0
  43. holidays/locale/en_US/LC_MESSAGES/BI.mo +0 -0
  44. holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
  45. holidays/locale/en_US/LC_MESSAGES/GE.mo +0 -0
  46. holidays/locale/en_US/LC_MESSAGES/GW.mo +0 -0
  47. holidays/locale/en_US/LC_MESSAGES/MO.mo +0 -0
  48. holidays/locale/en_US/LC_MESSAGES/NG.mo +0 -0
  49. holidays/locale/en_US/LC_MESSAGES/RW.mo +0 -0
  50. holidays/locale/en_US/LC_MESSAGES/SG.mo +0 -0
  51. holidays/locale/en_US/LC_MESSAGES/TJ.mo +0 -0
  52. holidays/locale/en_US/LC_MESSAGES/TZ.mo +0 -0
  53. holidays/locale/en_US/LC_MESSAGES/XNSE.mo +0 -0
  54. holidays/locale/es/LC_MESSAGES/AR.mo +0 -0
  55. holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
  56. holidays/locale/fr/LC_MESSAGES/RW.mo +0 -0
  57. holidays/locale/fr_BI/LC_MESSAGES/BI.mo +0 -0
  58. holidays/locale/hi/LC_MESSAGES/XNSE.mo +0 -0
  59. holidays/locale/ka/LC_MESSAGES/GE.mo +0 -0
  60. holidays/locale/pt_GW/LC_MESSAGES/GW.mo +0 -0
  61. holidays/locale/pt_MO/LC_MESSAGES/MO.mo +0 -0
  62. holidays/locale/ru/LC_MESSAGES/TJ.mo +0 -0
  63. holidays/locale/rw/LC_MESSAGES/RW.mo +0 -0
  64. holidays/locale/sr/LC_MESSAGES/BA.mo +0 -0
  65. holidays/locale/sw/LC_MESSAGES/TZ.mo +0 -0
  66. holidays/locale/tg/LC_MESSAGES/TJ.mo +0 -0
  67. holidays/locale/th/LC_MESSAGES/MO.mo +0 -0
  68. holidays/locale/th/LC_MESSAGES/SG.mo +0 -0
  69. holidays/locale/uk/LC_MESSAGES/AR.mo +0 -0
  70. holidays/locale/uk/LC_MESSAGES/BA.mo +0 -0
  71. holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
  72. holidays/locale/uk/LC_MESSAGES/GE.mo +0 -0
  73. holidays/locale/zh_CN/LC_MESSAGES/MO.mo +0 -0
  74. holidays/locale/zh_MO/LC_MESSAGES/MO.mo +0 -0
  75. holidays/registry.py +33 -14
  76. holidays/version.py +1 -1
  77. {holidays-0.79.dist-info → holidays-0.80.dist-info}/METADATA +62 -7
  78. {holidays-0.79.dist-info → holidays-0.80.dist-info}/RECORD +82 -61
  79. {holidays-0.79.dist-info → holidays-0.80.dist-info}/WHEEL +0 -0
  80. {holidays-0.79.dist-info → holidays-0.80.dist-info}/licenses/CONTRIBUTORS +0 -0
  81. {holidays-0.79.dist-info → holidays-0.80.dist-info}/licenses/LICENSE +0 -0
  82. {holidays-0.79.dist-info → holidays-0.80.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,79 @@
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.groups import InternationalHolidays, IslamicHolidays
14
+ from holidays.holiday_base import HolidayBase
15
+
16
+
17
+ class Somalia(HolidayBase, InternationalHolidays, IslamicHolidays):
18
+ """Somalia holidays.
19
+
20
+ References:
21
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_Somalia>
22
+ * <https://web.archive.org/web/20250522034818/https://usa.mfa.gov.so/about-somalia/>
23
+ """
24
+
25
+ country = "SO"
26
+ # %s (estimated).
27
+ estimated_label = "%s (estimated)"
28
+ # Unification of Somaliland and Italian Somaliland into the Somali Republic on July 1st, 1960.
29
+ start_year = 1961
30
+
31
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
32
+ """
33
+ Args:
34
+ islamic_show_estimated:
35
+ Whether to add "estimated" label to Islamic holidays name
36
+ if holiday date is estimated.
37
+ """
38
+ InternationalHolidays.__init__(self)
39
+ IslamicHolidays.__init__(self, show_estimated=islamic_show_estimated)
40
+ super().__init__(*args, **kwargs)
41
+
42
+ def _populate_public_holidays(self):
43
+ # New Year's Day.
44
+ self._add_new_years_day("New Year's Day")
45
+
46
+ # Labor Day.
47
+ self._add_labor_day("Labour Day")
48
+
49
+ # Independence Day.
50
+ self._add_holiday_jun_26("Independence Day")
51
+
52
+ # Republic Day.
53
+ self._add_holiday_jul_1("Republic Day")
54
+
55
+ # Islamic New Year.
56
+ self._add_islamic_new_year_day("Islamic New Year")
57
+
58
+ # Ashura.
59
+ self._add_ashura_day("Ashura")
60
+
61
+ # Prophet's Birthday.
62
+ self._add_mawlid_day("Prophet's Birthday")
63
+
64
+ # Isra' and Mi'raj.
65
+ self._add_isra_and_miraj_day("Isra' and Mi'raj")
66
+
67
+ # Eid al-Fitr.
68
+ self._add_eid_al_fitr_day("Eid al-Fitr")
69
+
70
+ # Eid al-Adha.
71
+ self._add_eid_al_adha_day("Eid al-Adha")
72
+
73
+
74
+ class SO(Somalia):
75
+ pass
76
+
77
+
78
+ class SOM(Somalia):
79
+ pass
@@ -0,0 +1,133 @@
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 import _CustomIslamicHolidays
14
+ from holidays.calendars.gregorian import MAR, MAY, JUN, JUL, AUG
15
+ from holidays.constants import ISLAMIC, PUBLIC
16
+ from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays
17
+ from holidays.holiday_base import HolidayBase
18
+
19
+
20
+ class SouthSudan(HolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays):
21
+ """South Sudan holidays.
22
+
23
+ References:
24
+ * <https://en.wikipedia.org/wiki/Public_holidays_in_South_Sudan>
25
+ * [Guidelines for Opening Schools in South Sudan for the Academic Year, 2024](https://web.archive.org/web/20250716011243/https://mogei.gov.ss/super/assets/documents/calendar/2024_MoGEI_Academic%20calendar%20and%20implemention%20guidelines_%20South%20Sudan_A5_final_Approved%20and%20signed%20-%203.pdf)
26
+ * <https://web.archive.org/web/20241211222746/http://www.doitinafrica.com/south-sudan/events/public-holidays.htm>
27
+ * [2016](https://web.archive.org/web/20250825141310/https://docs.southsudanngoforum.org/sites/default/files/2016-11/2016%20ANNUAL%20HOLIDAYS%20CALENDAR%20.pdf)
28
+ * [2018](https://web.archive.org/web/20250825141312/https://docs.southsudanngoforum.org/sites/default/files/2018-01/Annual%20Holidays%20for%202018.pdf)
29
+ * [2020](https://web.archive.org/web/20250825141316/https://docs.southsudanngoforum.org/sites/default/files/2020-01/South_Sudan_Annual_Holidays_for_2020.pdf)
30
+ * [2021](https://web.archive.org/web/20250514045013/https://docs.southsudanngoforum.org/sites/default/files/2021-02/Public%20Holidays%20Calendar%202021.pdf)
31
+ * [2022](https://web.archive.org/web/20250430165748/https://docs.southsudanngoforum.org/sites/default/files/2022-03/HRPublic%20Holidays%202022HR.pdf)
32
+ * [2025](https://web.archive.org/web/20250426232710/https://www.netherlandsandyou.nl/web/south-sudan/about-us/closing-days)
33
+ """
34
+
35
+ country = "SS"
36
+ # %s (estimated).
37
+ estimated_label = "%s (estimated)"
38
+ # South Sudan became independent on 9 July 2011.
39
+ start_year = 2012
40
+ supported_categories = (ISLAMIC, PUBLIC)
41
+
42
+ def __init__(self, *args, islamic_show_estimated: bool = True, **kwargs):
43
+ """
44
+ Args:
45
+ islamic_show_estimated:
46
+ Whether to add "estimated" label to Islamic holidays name
47
+ if holiday date is estimated.
48
+ """
49
+ ChristianHolidays.__init__(self)
50
+ InternationalHolidays.__init__(self)
51
+ IslamicHolidays.__init__(
52
+ self, cls=SouthSudanIslamicHolidays, show_estimated=islamic_show_estimated
53
+ )
54
+ super().__init__(*args, **kwargs)
55
+
56
+ def _populate_public_holidays(self):
57
+ # New Year's Day.
58
+ self._add_new_years_day("New Year's Day")
59
+
60
+ # Peace Agreement Day.
61
+ self._add_holiday_jan_9("Peace Agreement Day")
62
+
63
+ # Good Friday.
64
+ self._add_good_friday("Good Friday")
65
+
66
+ # Holy Saturday.
67
+ self._add_holy_saturday("Holy Saturday")
68
+
69
+ # Easter Sunday.
70
+ self._add_easter_sunday("Easter Sunday")
71
+
72
+ # Easter Monday.
73
+ self._add_easter_monday("Easter Monday")
74
+
75
+ # International Labour Day.
76
+ self._add_labor_day("International Labour Day")
77
+
78
+ # SPLA Day.
79
+ self._add_holiday_may_16("SPLA Day")
80
+
81
+ # Independence Day.
82
+ self._add_holiday_jul_9("Independence Day")
83
+
84
+ # Martyrs' Day.
85
+ self._add_holiday_jul_30("Martyrs' Day")
86
+
87
+ # Christmas Eve.
88
+ self._add_christmas_eve("Christmas Eve")
89
+
90
+ # Christmas Day.
91
+ self._add_christmas_day("Christmas Day")
92
+
93
+ # Second Day of Christmas.
94
+ self._add_christmas_day_two("Second Day of Christmas")
95
+
96
+ # Eid al-Fitr.
97
+ self._add_eid_al_fitr_day("Eid al-Fitr")
98
+
99
+ # Eid al-Adha.
100
+ self._add_eid_al_adha_day("Eid al-Adha")
101
+
102
+ def _populate_islamic_holidays(self):
103
+ # Eid al-Fitr Holiday.
104
+ self._add_eid_al_fitr_day_two("Eid al-Fitr Holiday")
105
+
106
+ # Eid al-Adha Holiday.
107
+ self._add_eid_al_adha_day_two("Eid al-Adha Holiday")
108
+
109
+
110
+ class SS(SouthSudan):
111
+ pass
112
+
113
+
114
+ class SSD(SouthSudan):
115
+ pass
116
+
117
+
118
+ class SouthSudanIslamicHolidays(_CustomIslamicHolidays):
119
+ EID_AL_ADHA_DATES = {
120
+ 2018: (AUG, 21),
121
+ 2020: (JUL, 31),
122
+ 2021: (JUL, 18),
123
+ 2022: (JUL, 9),
124
+ 2025: (JUN, 6),
125
+ }
126
+
127
+ EID_AL_FITR_DATES = {
128
+ 2018: (JUN, 14),
129
+ 2020: (MAY, 22),
130
+ 2021: (MAY, 13),
131
+ 2022: (MAY, 3),
132
+ 2025: (MAR, 31),
133
+ }
@@ -52,6 +52,10 @@ class Spain(
52
52
 
53
53
  country = "ES"
54
54
  default_language = "es"
55
+ # %s (estimated).
56
+ estimated_label = tr("%s (estimado)")
57
+ # Monday following %s (estimated).
58
+ observed_estimated_label = tr("Lunes siguiente a %s (estimado)")
55
59
  # Monday following %s.
56
60
  observed_label = tr("Lunes siguiente a %s")
57
61
  subdivisions = (
@@ -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)