holidays 0.86__py3-none-any.whl → 0.88__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.
- holidays/calendars/chinese.py +44 -6
- holidays/calendars/hindu.py +85 -1
- holidays/constants.py +1 -0
- holidays/countries/american_samoa.py +2 -0
- holidays/countries/bangladesh.py +13 -9
- holidays/countries/belarus.py +4 -2
- holidays/countries/brazil.py +27 -1
- holidays/countries/chile.py +2 -3
- holidays/countries/germany.py +75 -74
- holidays/countries/guam.py +2 -0
- holidays/countries/india.py +5 -3
- holidays/countries/macau.py +39 -45
- holidays/countries/malaysia.py +171 -71
- holidays/countries/new_zealand.py +4 -3
- holidays/countries/northern_mariana_islands.py +2 -0
- holidays/countries/puerto_rico.py +4 -2
- holidays/countries/sweden.py +35 -11
- holidays/countries/taiwan.py +6 -5
- holidays/countries/turks_and_caicos_islands.py +13 -3
- holidays/countries/united_states.py +434 -133
- holidays/countries/united_states_minor_outlying_islands.py +2 -0
- holidays/countries/united_states_virgin_islands.py +2 -0
- holidays/countries/uzbekistan.py +12 -1
- holidays/countries/venezuela.py +113 -23
- holidays/financial/__init__.py +1 -0
- holidays/financial/bombay_stock_exchange.py +33 -0
- holidays/financial/national_stock_exchange_of_india.py +1 -1
- holidays/financial/ny_stock_exchange.py +591 -89
- holidays/groups/chinese.py +11 -18
- holidays/groups/hindu.py +24 -0
- holidays/holiday_base.py +2 -1
- holidays/locale/bn/LC_MESSAGES/BD.mo +0 -0
- holidays/locale/de/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_IN/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/en_TC/LC_MESSAGES/TC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BD.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/TC.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/es/LC_MESSAGES/VE.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/gu/LC_MESSAGES/XNSE.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/XBOM.mo +0 -0
- holidays/locale/ms_MY/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/sv/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MY.mo +0 -0
- holidays/locale/th/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/th/LC_MESSAGES/US.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/DE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/SE.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/VE.mo +0 -0
- holidays/registry.py +1 -0
- holidays/utils.py +62 -1
- holidays/version.py +3 -1
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/METADATA +30 -16
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/RECORD +69 -60
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/licenses/CONTRIBUTORS +6 -0
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/WHEEL +0 -0
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.86.dist-info → holidays-0.88.dist-info}/top_level.txt +0 -0
holidays/calendars/chinese.py
CHANGED
|
@@ -1306,21 +1306,39 @@ class _ChineseLunisolar:
|
|
|
1306
1306
|
2053: (FEB, 18),
|
|
1307
1307
|
}
|
|
1308
1308
|
|
|
1309
|
+
QINGMING_THRESHOLDS: dict[str, dict[str, dict[int, int]]] = {
|
|
1310
|
+
# UTC+7.
|
|
1311
|
+
VIETNAMESE_CALENDAR: {
|
|
1312
|
+
"apr_4": {0: 1972, 1: 2005, 2: 2038, 3: 2067},
|
|
1313
|
+
"apr_6": {2: 1906, 3: 1935},
|
|
1314
|
+
},
|
|
1315
|
+
# UTC+8.
|
|
1316
|
+
CHINESE_CALENDAR: {
|
|
1317
|
+
"apr_4": {0: 1976, 1: 2009, 2: 2042, 3: 2075},
|
|
1318
|
+
"apr_6": {2: 1910, 3: 1943},
|
|
1319
|
+
},
|
|
1320
|
+
# UTC+9.
|
|
1321
|
+
KOREAN_CALENDAR: {
|
|
1322
|
+
"apr_4": {0: 1984, 1: 2017, 2: 2046, 3: 2079},
|
|
1323
|
+
"apr_6": {2: 1914, 3: 1947},
|
|
1324
|
+
},
|
|
1325
|
+
}
|
|
1326
|
+
|
|
1309
1327
|
WINTER_SOLSTICE_THRESHOLDS: dict[str, dict[str, dict[int, int]]] = {
|
|
1310
1328
|
# UTC+7.
|
|
1311
1329
|
VIETNAMESE_CALENDAR: {
|
|
1312
1330
|
"dec_21": {0: 1980, 1: 2017, 2: 2050, 3: 2083},
|
|
1313
|
-
"dec_23": {3: 1943},
|
|
1331
|
+
"dec_23": {2: 1910, 3: 1943},
|
|
1314
1332
|
},
|
|
1315
1333
|
# UTC+8.
|
|
1316
1334
|
CHINESE_CALENDAR: {
|
|
1317
1335
|
"dec_21": {0: 1988, 1: 2021, 2: 2058, 3: 2091},
|
|
1318
|
-
"dec_23": {3: 1947},
|
|
1336
|
+
"dec_23": {2: 1914, 3: 1947},
|
|
1319
1337
|
},
|
|
1320
1338
|
# UTC+9.
|
|
1321
1339
|
KOREAN_CALENDAR: {
|
|
1322
1340
|
"dec_21": {0: 1992, 1: 2029, 2: 2062, 3: 2099},
|
|
1323
|
-
"dec_23": {3: 1955},
|
|
1341
|
+
"dec_23": {2: 1918, 3: 1955},
|
|
1324
1342
|
},
|
|
1325
1343
|
}
|
|
1326
1344
|
|
|
@@ -1376,11 +1394,31 @@ class _ChineseLunisolar:
|
|
|
1376
1394
|
def mid_autumn_date(self, year: int, calendar=None) -> tuple[date | None, bool]:
|
|
1377
1395
|
return self._get_holiday(MID_AUTUMN, year, calendar)
|
|
1378
1396
|
|
|
1379
|
-
def
|
|
1397
|
+
def qingming_date(self, year: int, calendar=None) -> tuple[date, bool]:
|
|
1398
|
+
"""Return Qingming Festival (5th solar term of the Chinese lunisolar calendar) date.
|
|
1399
|
+
|
|
1400
|
+
!!! note "Note"
|
|
1401
|
+
This approximation is reliable for 1901-2099 years.
|
|
1402
|
+
"""
|
|
1403
|
+
calendar = calendar or self.__calendar
|
|
1404
|
+
self.__verify_calendar(calendar)
|
|
1405
|
+
|
|
1406
|
+
thresholds = self.QINGMING_THRESHOLDS[calendar]
|
|
1407
|
+
year_mod = year % 4
|
|
1408
|
+
if year >= thresholds["apr_4"][year_mod]:
|
|
1409
|
+
day = 4
|
|
1410
|
+
elif year <= thresholds["apr_6"].get(year_mod, 0):
|
|
1411
|
+
day = 6
|
|
1412
|
+
else:
|
|
1413
|
+
day = 5
|
|
1414
|
+
|
|
1415
|
+
return date(year, APR, day), not (1901 <= year <= 2099)
|
|
1416
|
+
|
|
1417
|
+
def winter_solstice_date(self, year: int, calendar=None) -> tuple[date, bool]:
|
|
1380
1418
|
"""Return Winter Solstice (22nd solar term in Chinese Lunisolar calendar) date.
|
|
1381
1419
|
|
|
1382
1420
|
!!! note "Note"
|
|
1383
|
-
This approximation is reliable for
|
|
1421
|
+
This approximation is reliable for 1901-2099 years.
|
|
1384
1422
|
"""
|
|
1385
1423
|
calendar = calendar or self.__calendar
|
|
1386
1424
|
self.__verify_calendar(calendar)
|
|
@@ -1394,7 +1432,7 @@ class _ChineseLunisolar:
|
|
|
1394
1432
|
else:
|
|
1395
1433
|
day = 22
|
|
1396
1434
|
|
|
1397
|
-
return date(year, DEC, day), not (
|
|
1435
|
+
return date(year, DEC, day), not (1901 <= year <= 2099)
|
|
1398
1436
|
|
|
1399
1437
|
|
|
1400
1438
|
class _CustomChineseHolidays(_CustomCalendar, _ChineseLunisolar):
|
holidays/calendars/hindu.py
CHANGED
|
@@ -14,9 +14,10 @@ from collections.abc import Iterable
|
|
|
14
14
|
from datetime import date
|
|
15
15
|
|
|
16
16
|
from holidays.calendars.custom import _CustomCalendar
|
|
17
|
-
from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, AUG, SEP, OCT, NOV, DEC
|
|
17
|
+
from holidays.calendars.gregorian import JAN, FEB, MAR, APR, MAY, JUN, AUG, SEP, OCT, NOV, DEC
|
|
18
18
|
from holidays.helpers import _normalize_tuple
|
|
19
19
|
|
|
20
|
+
BATHUKAMMA = "BATHUKAMMA"
|
|
20
21
|
BUDDHA_PURNIMA = "BUDDHA_PURNIMA"
|
|
21
22
|
CHHATH_PUJA = "CHHATH_PUJA"
|
|
22
23
|
DIWALI = "DIWALI"
|
|
@@ -32,6 +33,7 @@ HOLI = "HOLI"
|
|
|
32
33
|
JANMASHTAMI = "JANMASHTAMI"
|
|
33
34
|
MAHA_ASHTAMI = "MAHA_ASHTAMI"
|
|
34
35
|
MAHA_NAVAMI = "MAHA_NAVAMI"
|
|
36
|
+
MAHARANA_PRATAP_JAYANTI = "MAHARANA_PRATAP_JAYANTI"
|
|
35
37
|
MAHA_SHIVARATRI = "MAHA_SHIVARATRI"
|
|
36
38
|
MAHAVIR_JAYANTI = "MAHAVIR_JAYANTI"
|
|
37
39
|
MAKAR_SANKRANTI = "MAKAR_SANKRANTI"
|
|
@@ -47,6 +49,45 @@ VAISAKHI = "VAISAKHI"
|
|
|
47
49
|
|
|
48
50
|
|
|
49
51
|
class _HinduLunisolar:
|
|
52
|
+
# Dates for Bathukamma (Mahalaya Amavasya/amavasya shraddha)
|
|
53
|
+
# [Mahalaya Amavasya](https://web.archive.org/web/20250906191235/https://www.drikpanchang.com/shraddha/tithi/amavasya-shraddha-date-time.html)
|
|
54
|
+
# [2018](https://web.archive.org/web/20250402131537/https://www.telangana.gov.in/Downloads/calendar-2018/)
|
|
55
|
+
# [2019](https://web.archive.org/web/20250508145651/https://www.telangana.gov.in/Downloads/calendar-2019/)
|
|
56
|
+
# [2020](https://web.archive.org/web/20250421174049/https://www.telangana.gov.in/downloads/calendar-2020/)
|
|
57
|
+
# [2021](https://web.archive.org/web/20250404142143/https://www.telangana.gov.in/Downloads/calendar-2021/)
|
|
58
|
+
# [2022](https://web.archive.org/web/20250217143857/https://www.telangana.gov.in/Downloads/calendar-2022/)
|
|
59
|
+
# [2023](https://web.archive.org/web/20250123180708/https://www.telangana.gov.in/Downloads/calendar-2023/)
|
|
60
|
+
# [2024](https://web.archive.org/web/20250217144536/https://www.telangana.gov.in/Downloads/calendar/)
|
|
61
|
+
# [2025](https://web.archive.org/web/20250217133450/https://www.telangana.gov.in/Downloads/calendar-2025/)
|
|
62
|
+
BATHUKAMMA_DATES = {
|
|
63
|
+
2010: (OCT, 7),
|
|
64
|
+
2011: (SEP, 27),
|
|
65
|
+
2012: (OCT, 15),
|
|
66
|
+
2013: (OCT, 4),
|
|
67
|
+
2014: (SEP, 23),
|
|
68
|
+
2015: (OCT, 12),
|
|
69
|
+
2016: (SEP, 30),
|
|
70
|
+
2017: (SEP, 19),
|
|
71
|
+
2018: (OCT, 8),
|
|
72
|
+
2019: (SEP, 28),
|
|
73
|
+
2020: (OCT, 16),
|
|
74
|
+
2021: (OCT, 6),
|
|
75
|
+
2022: (SEP, 25),
|
|
76
|
+
2023: (OCT, 14),
|
|
77
|
+
2024: (OCT, 2),
|
|
78
|
+
2025: (SEP, 21),
|
|
79
|
+
2026: (OCT, 10),
|
|
80
|
+
2027: (SEP, 29),
|
|
81
|
+
2028: (SEP, 18),
|
|
82
|
+
2029: (OCT, 7),
|
|
83
|
+
2030: (SEP, 27),
|
|
84
|
+
2031: (OCT, 15),
|
|
85
|
+
2032: (OCT, 4),
|
|
86
|
+
2033: (SEP, 23),
|
|
87
|
+
2034: (OCT, 11),
|
|
88
|
+
2035: (OCT, 1),
|
|
89
|
+
}
|
|
90
|
+
|
|
50
91
|
# https://web.archive.org/web/20240804044401/https://www.timeanddate.com/holidays/india/buddha-purnima
|
|
51
92
|
BUDDHA_PURNIMA_DATES = {
|
|
52
93
|
2001: (APR, 30),
|
|
@@ -784,6 +825,43 @@ class _HinduLunisolar:
|
|
|
784
825
|
2035: (OCT, 10),
|
|
785
826
|
}
|
|
786
827
|
|
|
828
|
+
# Dates for Maharana Pratap Jayanti (Jyeshtha Shukla 3)
|
|
829
|
+
# [Maharana Pratap Jayanti](https://web.archive.org/web/20241212205537/https://www.drikpanchang.com/calendars/indian/jayanti/maharana-pratap/maharana-pratap-jayanti.html)
|
|
830
|
+
# [2018](https://web.archive.org/web/20251213153439/https://gad.rajasthan.gov.in/writereaddata/OLDWEBDATA/PDF/Govt_Holidays_2018_25102017.pdf)
|
|
831
|
+
# [2019](https://web.archive.org/web/20251213151532/https://gad.rajasthan.gov.in/writereaddata/OLDWEBDATA/PDF/Govt_Holidays_2019_02112018.pdf)
|
|
832
|
+
# [2020](https://web.archive.org/web/20251213151547/https://gad.rajasthan.gov.in/writereaddata/OLDWEBDATA/PDF/Govt_Holidays_2020_22112019.pdf)
|
|
833
|
+
# [2021](https://web.archive.org/web/20251213151616/https://gad.rajasthan.gov.in/writereaddata/OLDWEBDATA/PDF/holiday_calender_2021_gr6_26102020.pdf)
|
|
834
|
+
# [2022](https://web.archive.org/web/20251213151608/https://gad.rajasthan.gov.in/writereaddata/OLDWEBDATA/PDF/Govt_holidays_list_21_10_2021.pdf)
|
|
835
|
+
# [2023](https://web.archive.org/web/20251213151559/https://gad.rajasthan.gov.in/writereaddata/OLDWEBDATA/PDF/Govt_holidays_list_16_11_2022.pdf)
|
|
836
|
+
MAHARANA_PRATAP_JAYANTI_DATES = {
|
|
837
|
+
2010: (JUN, 15),
|
|
838
|
+
2011: (JUN, 4),
|
|
839
|
+
2012: (MAY, 24),
|
|
840
|
+
2013: (JUN, 11),
|
|
841
|
+
2014: (MAY, 31),
|
|
842
|
+
2015: (MAY, 20),
|
|
843
|
+
2016: (JUN, 7),
|
|
844
|
+
2017: (MAY, 28),
|
|
845
|
+
2018: (JUN, 16),
|
|
846
|
+
2019: (JUN, 6),
|
|
847
|
+
2020: (MAY, 25),
|
|
848
|
+
2021: (JUN, 13),
|
|
849
|
+
2022: (JUN, 2),
|
|
850
|
+
2023: (MAY, 22),
|
|
851
|
+
2024: (JUN, 9),
|
|
852
|
+
2025: (MAY, 29),
|
|
853
|
+
2026: (JUN, 17),
|
|
854
|
+
2027: (JUN, 7),
|
|
855
|
+
2028: (MAY, 27),
|
|
856
|
+
2029: (MAY, 15),
|
|
857
|
+
2030: (JUN, 4),
|
|
858
|
+
2031: (MAY, 24),
|
|
859
|
+
2032: (JUN, 11),
|
|
860
|
+
2033: (MAY, 31),
|
|
861
|
+
2034: (MAY, 20),
|
|
862
|
+
2035: (JUN, 8),
|
|
863
|
+
}
|
|
864
|
+
|
|
787
865
|
# https://web.archive.org/web/20250323040914/https://www.timeanddate.com/holidays/india/maha-shivaratri-shivaratri
|
|
788
866
|
MAHA_SHIVARATRI_DATES = {
|
|
789
867
|
2001: (FEB, 21),
|
|
@@ -1408,6 +1486,9 @@ class _HinduLunisolar:
|
|
|
1408
1486
|
for dt in _normalize_tuple(exact_dates.get(year, estimated_dates.get(year, ()))):
|
|
1409
1487
|
yield date(year, *dt), year not in exact_dates
|
|
1410
1488
|
|
|
1489
|
+
def bathukamma_date(self, year: int) -> tuple[date | None, bool]:
|
|
1490
|
+
return self._get_holiday(BATHUKAMMA, year)
|
|
1491
|
+
|
|
1411
1492
|
def buddha_purnima_date(self, year: int) -> tuple[date | None, bool]:
|
|
1412
1493
|
return self._get_holiday(BUDDHA_PURNIMA, year)
|
|
1413
1494
|
|
|
@@ -1459,6 +1540,9 @@ class _HinduLunisolar:
|
|
|
1459
1540
|
def maha_shivaratri_date(self, year: int) -> tuple[date | None, bool]:
|
|
1460
1541
|
return self._get_holiday(MAHA_SHIVARATRI, year)
|
|
1461
1542
|
|
|
1543
|
+
def maharana_pratap_jayanti_date(self, year: int) -> tuple[date | None, bool]:
|
|
1544
|
+
return self._get_holiday(MAHARANA_PRATAP_JAYANTI, year)
|
|
1545
|
+
|
|
1462
1546
|
def mahavir_jayanti_date(self, year: int) -> tuple[date | None, bool]:
|
|
1463
1547
|
return self._get_holiday(MAHAVIR_JAYANTI, year)
|
|
1464
1548
|
|
holidays/constants.py
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from holidays.constants import PUBLIC, UNOFFICIAL
|
|
13
14
|
from holidays.countries.united_states import UnitedStates
|
|
14
15
|
from holidays.mixins.child_entity import ChildEntity
|
|
15
16
|
|
|
@@ -25,6 +26,7 @@ class AmericanSamoa(ChildEntity, UnitedStates):
|
|
|
25
26
|
parent_entity = UnitedStates
|
|
26
27
|
# Became a U.S. Territory since April 17th, 1900.
|
|
27
28
|
start_year = 1901
|
|
29
|
+
supported_categories = (PUBLIC, UNOFFICIAL)
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
class HolidaysAS(AmericanSamoa):
|
holidays/countries/bangladesh.py
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
# Website: https://github.com/vacanza/holidays
|
|
11
11
|
# License: MIT (see LICENSE file)
|
|
12
12
|
|
|
13
|
+
from gettext import gettext as tr
|
|
14
|
+
|
|
13
15
|
from holidays.calendars.gregorian import FRI, SAT
|
|
14
16
|
from holidays.groups import InternationalHolidays
|
|
15
17
|
from holidays.holiday_base import HolidayBase
|
|
@@ -24,6 +26,8 @@ class Bangladesh(HolidayBase, InternationalHolidays):
|
|
|
24
26
|
"""
|
|
25
27
|
|
|
26
28
|
country = "BD"
|
|
29
|
+
default_language = "bn"
|
|
30
|
+
supported_languages = ("bn", "en_US")
|
|
27
31
|
weekend = {FRI, SAT}
|
|
28
32
|
|
|
29
33
|
def __init__(self, *args, **kwargs):
|
|
@@ -31,26 +35,26 @@ class Bangladesh(HolidayBase, InternationalHolidays):
|
|
|
31
35
|
super().__init__(*args, **kwargs)
|
|
32
36
|
|
|
33
37
|
def _populate_public_holidays(self):
|
|
34
|
-
# International Mother
|
|
35
|
-
self._add_holiday_feb_21("
|
|
38
|
+
# Martyrs' Day and International Mother Language Day.
|
|
39
|
+
self._add_holiday_feb_21(tr("শহীদ দিবস ও আন্তর্জাতিক মাতৃভাষা দিবস"))
|
|
36
40
|
|
|
37
|
-
# Sheikh Mujibur Rahman's Birthday
|
|
38
|
-
self._add_holiday_mar_17("
|
|
41
|
+
# Sheikh Mujibur Rahman's Birthday.
|
|
42
|
+
self._add_holiday_mar_17(tr("জাতির পিতা বঙ্গবন্ধু শেখ মুজিবুর রহমান এর জন্মদিবস"))
|
|
39
43
|
|
|
40
44
|
# Independence Day.
|
|
41
|
-
self._add_holiday_mar_26("
|
|
45
|
+
self._add_holiday_mar_26(tr("স্বাধীনতা দিবস"))
|
|
42
46
|
|
|
43
47
|
# Bengali New Year's Day.
|
|
44
|
-
self._add_holiday_apr_14("
|
|
48
|
+
self._add_holiday_apr_14(tr("পহেলা বৈশাখ"))
|
|
45
49
|
|
|
46
50
|
# May Day.
|
|
47
|
-
self._add_labor_day("
|
|
51
|
+
self._add_labor_day(tr("মে দিবস"))
|
|
48
52
|
|
|
49
53
|
# National Mourning Day.
|
|
50
|
-
self._add_holiday_aug_15("
|
|
54
|
+
self._add_holiday_aug_15(tr("জাতীয় শোক দিবস"))
|
|
51
55
|
|
|
52
56
|
# Victory Day.
|
|
53
|
-
self._add_holiday_dec_16("
|
|
57
|
+
self._add_holiday_dec_16(tr("বিজয় দিবস"))
|
|
54
58
|
|
|
55
59
|
|
|
56
60
|
class BD(Bangladesh):
|
holidays/countries/belarus.py
CHANGED
|
@@ -148,8 +148,9 @@ class BelarusStaticHolidays:
|
|
|
148
148
|
"""Belarus special holidays.
|
|
149
149
|
|
|
150
150
|
References:
|
|
151
|
-
*
|
|
152
|
-
*
|
|
151
|
+
* [2024](https://web.archive.org/web/20241005054448/https://belarusbank.by/en/financial-institutions/11151)
|
|
152
|
+
* [2025](https://web.archive.org/web/20241210150222/https://belarusbank.by/en/financial-institutions/11160)
|
|
153
|
+
* [2026](https://web.archive.org/web/20251230174418/https://belarusbank.by/en/financial-institutions/11163)
|
|
153
154
|
"""
|
|
154
155
|
|
|
155
156
|
# Date format (see strftime() Format Codes)
|
|
@@ -300,4 +301,5 @@ class BelarusStaticHolidays:
|
|
|
300
301
|
(JUL, 4, JUL, 12),
|
|
301
302
|
(DEC, 26, DEC, 20),
|
|
302
303
|
),
|
|
304
|
+
2026: (APR, 20, APR, 25),
|
|
303
305
|
}
|
holidays/countries/brazil.py
CHANGED
|
@@ -28,6 +28,8 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
28
28
|
* [Decreto n. 19.488, de 15.12.1930](https://web.archive.org/web/20241006041503/http://camara.leg.br/legin/fed/decret/1930-1939/decreto-19488-15-dezembro-1930-508040-republicacao-85201-pe.html)
|
|
29
29
|
* [Lei n. 662, de 6.04.1949](https://web.archive.org/web/20240913060643/https://www2.camara.leg.br/legin/fed/lei/1940-1949/lei-662-6-abril-1949-347136-publicacaooriginal-1-pl.html)
|
|
30
30
|
* [Lei n. 14.759, de 21.12.2023](https://web.archive.org/web/20250402234552/https://www2.camara.leg.br/legin/fed/lei/2023/lei-14759-21-dezembro-2023-795091-publicacaooriginal-170522-pl.html)
|
|
31
|
+
* São Paulo Capital:
|
|
32
|
+
* [Anexo Único Integrante do Decreto n. 56.756, de 4.01.2016](https://web.archive.org/web/20251224031221/https://legislacao.prefeitura.sp.gov.br/leis/decreto-56756-de-04-de-janeiro-de-2016/anexo/5ec3d7a71411926001a56c56/Anexo%20Único%20do%20Decreto%20nº%2056.756_2016.pdf)
|
|
31
33
|
"""
|
|
32
34
|
|
|
33
35
|
country = "BR"
|
|
@@ -62,6 +64,8 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
62
64
|
"SE",
|
|
63
65
|
"SP",
|
|
64
66
|
"TO",
|
|
67
|
+
# Cities.
|
|
68
|
+
"São Paulo Capital",
|
|
65
69
|
)
|
|
66
70
|
subdivisions_aliases = {
|
|
67
71
|
"Acre": "AC",
|
|
@@ -155,6 +159,9 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
155
159
|
# Christmas Day.
|
|
156
160
|
self._add_christmas_day(tr("Natal"))
|
|
157
161
|
|
|
162
|
+
if self.subdiv == "São Paulo Capital":
|
|
163
|
+
self._populate_subdiv_sao_paulo_capital_public_holidays()
|
|
164
|
+
|
|
158
165
|
def _populate_optional_holidays(self):
|
|
159
166
|
# Carnival.
|
|
160
167
|
name = tr("Carnaval")
|
|
@@ -178,7 +185,8 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
178
185
|
|
|
179
186
|
def _populate_subdiv_holidays(self):
|
|
180
187
|
# Lei n. 9.093, de 12.09.1995
|
|
181
|
-
|
|
188
|
+
# Lei Municipal n. 7.008, de 6.04.1967
|
|
189
|
+
if self._year >= 1996 or self.subdiv == "São Paulo Capital":
|
|
182
190
|
super()._populate_subdiv_holidays()
|
|
183
191
|
|
|
184
192
|
def _populate_subdiv_ac_public_holidays(self):
|
|
@@ -224,6 +232,7 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
224
232
|
self._add_holiday_nov_20(tr("Consciência Negra"))
|
|
225
233
|
|
|
226
234
|
if self._year >= 2013:
|
|
235
|
+
# Evangelical Day.
|
|
227
236
|
self._add_holiday_nov_30(tr("Dia do Evangélico"))
|
|
228
237
|
|
|
229
238
|
def _populate_subdiv_am_public_holidays(self):
|
|
@@ -231,6 +240,7 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
231
240
|
self._add_holiday_sep_5(tr("Elevação do Amazonas à categoria de província"))
|
|
232
241
|
|
|
233
242
|
if 2010 <= self._year <= 2023:
|
|
243
|
+
# Black Awareness Day.
|
|
234
244
|
self._add_holiday_nov_20(tr("Consciência Negra"))
|
|
235
245
|
|
|
236
246
|
def _populate_subdiv_ap_public_holidays(self):
|
|
@@ -246,6 +256,7 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
246
256
|
self._add_holiday_sep_13(tr("Criação do Território Federal"))
|
|
247
257
|
|
|
248
258
|
if 2008 <= self._year <= 2023:
|
|
259
|
+
# Black Awareness Day.
|
|
249
260
|
self._add_holiday_nov_20(tr("Consciência Negra"))
|
|
250
261
|
|
|
251
262
|
def _populate_subdiv_ba_public_holidays(self):
|
|
@@ -266,6 +277,7 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
266
277
|
# Founding of Brasilia.
|
|
267
278
|
self._add_holiday_apr_21(tr("Fundação de Brasília"))
|
|
268
279
|
|
|
280
|
+
# Evangelical Day.
|
|
269
281
|
self._add_holiday_nov_30(tr("Dia do Evangélico"))
|
|
270
282
|
|
|
271
283
|
def _populate_subdiv_es_public_holidays(self):
|
|
@@ -294,6 +306,7 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
294
306
|
|
|
295
307
|
def _populate_subdiv_mt_public_holidays(self):
|
|
296
308
|
if 2003 <= self._year <= 2023:
|
|
309
|
+
# Black Awareness Day.
|
|
297
310
|
self._add_holiday_nov_20(tr("Consciência Negra"))
|
|
298
311
|
|
|
299
312
|
def _populate_subdiv_pa_public_holidays(self):
|
|
@@ -323,6 +336,7 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
323
336
|
self._add_saint_georges_day(tr("São Jorge"))
|
|
324
337
|
|
|
325
338
|
if 2002 <= self._year <= 2023:
|
|
339
|
+
# Black Awareness Day.
|
|
326
340
|
self._add_holiday_nov_20(tr("Consciência Negra"))
|
|
327
341
|
|
|
328
342
|
def _populate_subdiv_rn_public_holidays(self):
|
|
@@ -335,12 +349,15 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
335
349
|
self._add_holiday_oct_3(tr("Mártires de Cunhaú e Uruaçu"))
|
|
336
350
|
|
|
337
351
|
def _populate_subdiv_ro_public_holidays(self):
|
|
352
|
+
# State Creation Day.
|
|
338
353
|
self._add_holiday_jan_4(tr("Criação do Estado"))
|
|
339
354
|
|
|
340
355
|
if self._year >= 2002:
|
|
356
|
+
# Evangelical Day.
|
|
341
357
|
self._add_holiday_jun_18(tr("Dia do Evangélico"))
|
|
342
358
|
|
|
343
359
|
def _populate_subdiv_rr_public_holidays(self):
|
|
360
|
+
# State Creation Day.
|
|
344
361
|
self._add_holiday_oct_5(tr("Criação do Estado"))
|
|
345
362
|
|
|
346
363
|
def _populate_subdiv_rs_public_holidays(self):
|
|
@@ -372,6 +389,14 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
372
389
|
# Constitutionalist Revolution.
|
|
373
390
|
self._add_holiday_jul_9(tr("Revolução Constitucionalista"))
|
|
374
391
|
|
|
392
|
+
def _populate_subdiv_sao_paulo_capital_public_holidays(self):
|
|
393
|
+
self._populate_subdiv_sp_public_holidays()
|
|
394
|
+
|
|
395
|
+
# Lei Municipal n. 7.008, de 6.04.1967
|
|
396
|
+
if self._year >= 1968:
|
|
397
|
+
# São Paulo City Anniversary.
|
|
398
|
+
self._add_holiday_jan_25(tr("Aniversário da Cidade de São Paulo"))
|
|
399
|
+
|
|
375
400
|
def _populate_subdiv_to_public_holidays(self):
|
|
376
401
|
if self._year >= 1998:
|
|
377
402
|
# Autonomy Day.
|
|
@@ -380,6 +405,7 @@ class Brazil(ObservedHolidayBase, ChristianHolidays, InternationalHolidays):
|
|
|
380
405
|
# Our Lady of Nativity.
|
|
381
406
|
self._add_nativity_of_mary_day(tr("Nossa Senhora da Natividade"))
|
|
382
407
|
|
|
408
|
+
# State Creation Day.
|
|
383
409
|
self._add_holiday_oct_5(tr("Criação do Estado"))
|
|
384
410
|
|
|
385
411
|
|
holidays/countries/chile.py
CHANGED
|
@@ -60,8 +60,7 @@ class Chile(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stati
|
|
|
60
60
|
* [Law 19.973 (Sep 17, 2004 holiday)](https://web.archive.org/web/20250812023003/https://www.bcn.cl/leychile/navegar?idLey=19973)
|
|
61
61
|
* [Law 20.450 (Sep 17, 2010 and Sep 20, 2010 holidays)](https://web.archive.org/web/20250812023308/https://www.bcn.cl/leychile/navegar?idLey=20450)
|
|
62
62
|
* [Law 21.521 (eliminate Dec 31 again, after the CMF publishes a specific regulation)](https://web.archive.org/web/20240214154900/https://www.bcn.cl/leychile/navegar?idNorma=1187323&idVersion=2023-02-03)
|
|
63
|
-
* [
|
|
64
|
-
* [Resolución Exenta N° 7.671 (CMF, 2025-08-01)](https://web.archive.org/web/20250811123908/https://www.cmfchile.cl/sitio/aplic/serdoc/ver_sgd.php?s567=ba5ad42feea3531a678a9db5253a9477VFdwQmVVNVVRVFJOUkZWNlRucEpORTVCUFQwPQ==&secuencia=-1&t=1754086087)
|
|
63
|
+
* [Law 21.791 (restore bank holiday on Dec 31)](https://web.archive.org/web/20251219021727/https://www.bcn.cl/leychile/navegar?idNorma=1219578&idVersion=2025-12-17)
|
|
65
64
|
"""
|
|
66
65
|
|
|
67
66
|
country = "CL"
|
|
@@ -244,7 +243,7 @@ class Chile(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stati
|
|
|
244
243
|
if 1957 <= self._year <= 1975:
|
|
245
244
|
self._add_holiday_jun_30(name)
|
|
246
245
|
|
|
247
|
-
if 1956 <= self._year
|
|
246
|
+
if 1956 <= self._year and self._year != 1997:
|
|
248
247
|
self._add_holiday_dec_31(name)
|
|
249
248
|
|
|
250
249
|
@property
|