From 73679b572bb13e91dd7baf16cbc10ba5434c0fed Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Sun, 7 Jan 2024 14:16:13 +0000 Subject: [PATCH 01/13] add Ghana public holidays --- .pre-commit-config.yaml | 14 +++---- holidays/countries/ghana.py | 83 +++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+), 7 deletions(-) create mode 100644 holidays/countries/ghana.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cba06a00e..765251706 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -55,13 +55,13 @@ repos: hooks: - id: rst-backticks - - repo: https://github.com/myint/rstcheck - rev: v6.2.0 - hooks: - - id: rstcheck - additional_dependencies: - - rstcheck - - sphinx + # - repo: https://github.com/myint/rstcheck + # rev: v6.2.0 + # hooks: + # - id: rstcheck + # additional_dependencies: + # - rstcheck + # - sphinx - repo: https://github.com/tox-dev/tox-ini-fmt rev: '1.3.1' diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py new file mode 100644 index 000000000..23066bf1c --- /dev/null +++ b/holidays/countries/ghana.py @@ -0,0 +1,83 @@ +# python-holidays +# --------------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/dr-prodigy/python-holidays +# License: MIT (see LICENSE file) + +from holidays.calendars.gregorian import _get_nth_weekday_of_month +from holidays.groups import InternationalHolidays, ChristianHolidays, IslamicHolidays +from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON + + +class Ghana( + ObservedHolidayBase, + InternationalHolidays, + ChristianHolidays, + IslamicHolidays, +): + """ + https://www.mint.gov.gh/statutory-public-holidays/ + https://en.wikipedia.org/wiki/Public_holidays_in_Ghana + """ + + country = "GH" + observed_label = "%s (Observed)" + default_language = "en" + + def __init__(self, *args, **kwargs): + ChristianHolidays.__init__(self) + IslamicHolidays.__init__(self) + kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON) + super().__init__(*args, **kwargs) + + def _populate_public_holidays(self): + # Holidays observed since 1957 + if self._year <= 1956: + return None + + # New Year's Day + self._add_observed(self._add_new_years_day("New Year's Day")) + + # Constitution Day + if self._year >= 2019: + self._add_observed(self._add_holiday_jan_7("Constitution Day")) + + # Independence Day + self._add_observed(self._add_holiday_mar_6("Independence Day")) + + # Good Friday + self._add_observed(self._add_good_friday("Good Friday")) + + # Easter Monday + self._add_observed(self._add_easter_monday("Easter Monday")) + + # May Day(Workers' Day) + self._add_observed(self._add_labor_day("May Day")) + + # Eid al-Fitr + # Date is decided by the office of the National Chief Imam of Ghana + self._add_observed(self._add_eid_al_fitr_day("Eid al-Fitr")) + + # Eid al-Adha + self._add_observed(self._add_eid_al_adha_day("Eid al-Adha")) + + # Founders' Day + if self._year >= 2019: + self._add_observed(self._add_holiday_aug_4("Founders Day")) + + # Kwame Nkrumah Memorial Day (formerly founder's Day)) + self._add_observed(self._add_holiday_sep_21("Kwame Nkrumah Memorial Day")) + + # Farmer's Day + self._add_observed(dt=_get_nth_weekday_of_month(1, 5, 12, self._year), name="Farmer's Day") + + # Christmas Day + self._add_observed(self._add_christmas_day("Christmas Day")) + + # Boxing Day + self._add_observed(self._add_christmas_day_two("Boxing Day")) From 8f902d38a0df423084ee7a1856123dee0b4f3aa6 Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Sun, 7 Jan 2024 14:33:04 +0000 Subject: [PATCH 02/13] include filename in __init__.py --- holidays/countries/__init__.py | 1 + holidays/countries/ghana.py | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/holidays/countries/__init__.py b/holidays/countries/__init__.py index e488a1f58..6bbba7135 100644 --- a/holidays/countries/__init__.py +++ b/holidays/countries/__init__.py @@ -64,6 +64,7 @@ from .gabon import Gabon, GA, GAB from .georgia import Georgia, GE, GEO from .germany import Germany, DE, DEU +from .ghana import Ghana, GH, GHA from .greece import Greece, GR, GRC from .guam import Guam, GU, GUM, HolidaysGU from .guatemala import Guatemala, GT, GUA diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py index 23066bf1c..30de8fc57 100644 --- a/holidays/countries/ghana.py +++ b/holidays/countries/ghana.py @@ -81,3 +81,11 @@ def _populate_public_holidays(self): # Boxing Day self._add_observed(self._add_christmas_day_two("Boxing Day")) + + +class GH(Ghana): + pass + + +class GHA(Ghana): + pass From 5f04719773d95abf60003e8b2f6e0546c5c532f1 Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Sun, 7 Jan 2024 15:04:41 +0000 Subject: [PATCH 03/13] add ghana to registry.py --- holidays/registry.py | 1 + 1 file changed, 1 insertion(+) diff --git a/holidays/registry.py b/holidays/registry.py index eb0252d9d..1cb877edb 100644 --- a/holidays/registry.py +++ b/holidays/registry.py @@ -70,6 +70,7 @@ "gabon": ("Gabon", "GA", "GAB"), "georgia": ("Georgia", "GE", "GEO"), "germany": ("Germany", "DE", "DEU"), + "ghana": ("Ghana", "GH", "GHA"), "greece": ("Greece", "GR", "GRC"), "guam": ("Guam", "GU", "GUM", "HolidaysGU"), "guatemala": ("Guatemala", "GT", "GUA"), From 935214a6e525026a15b487e7ed50646b366ddb61 Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Sun, 7 Jan 2024 15:20:38 +0000 Subject: [PATCH 04/13] update README.rst --- README.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 84cd2a36f..ca3fd930d 100644 --- a/README.rst +++ b/README.rst @@ -142,7 +142,7 @@ Available Countries .. _ISO 639-1 code: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes .. _ISO 639-2 code: https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes -We currently support 141 country codes. The standard way to refer to a country +We currently support 142 country codes. The standard way to refer to a country is by using its `ISO 3166-1 alpha-2 code`_, the same used for domain names, and for a subdivision its `ISO 3166-2 code`_. Some of the countries support more than one language for holiday names output. @@ -438,6 +438,11 @@ All other default values are highlighted with bold: - States: BB, BE, BW, BY, BYP, HB, HE, HH, MV, NI, NW, RP, SH, SL, SN, ST, TH - **de**, en_US, uk - + * - Ghana + - GH + - + - en + - * - Greece - GR - From 9688146f269ff2b9e1a5f35e805a9d043bcc3689 Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Wed, 10 Jan 2024 23:13:40 +0000 Subject: [PATCH 05/13] add initial test coverage --- holidays/countries/ghana.py | 4 ++-- tests/countries/test_ghana.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 tests/countries/test_ghana.py diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py index 30de8fc57..647ce5311 100644 --- a/holidays/countries/ghana.py +++ b/holidays/countries/ghana.py @@ -61,10 +61,10 @@ def _populate_public_holidays(self): # Eid al-Fitr # Date is decided by the office of the National Chief Imam of Ghana - self._add_observed(self._add_eid_al_fitr_day("Eid al-Fitr")) + # self._add_observed(self._add_eid_al_fitr_day("Eid al-Fitr")) # Eid al-Adha - self._add_observed(self._add_eid_al_adha_day("Eid al-Adha")) + # self._add_observed(self._add_eid_al_adha_day("Eid al-Adha")) # Founders' Day if self._year >= 2019: diff --git a/tests/countries/test_ghana.py b/tests/countries/test_ghana.py new file mode 100644 index 000000000..5ad598ea1 --- /dev/null +++ b/tests/countries/test_ghana.py @@ -0,0 +1,28 @@ +# python-holidays +# --------------- +# A fast, efficient Python library for generating country, province and state +# specific sets of holidays on the fly. It aims to make determining whether a +# specific date is a holiday as fast and flexible as possible. +# +# Authors: dr-prodigy (c) 2017-2023 +# ryanss (c) 2014-2017 +# Website: https://github.com/dr-prodigy/python-holidays +# License: MIT (see LICENSE file) + +from holidays.countries.ghana import Ghana, GH, GHA +from tests.common import TestCase + + +class TestGhana(TestCase): + @classmethod + def setUpClass(cls): + super().setUpClass(Ghana, years=range(1957, 2050)) + + def test_country_aliases(self): + self.assertCountryAliases(Ghana, GH, GHA) + + def test_no_holidays(self): + self.assertNoHolidays(Ghana(years=1956)) + + def test_new_year_day(self): + self.assertHoliday(f"{year}-01-01" for year in range(1957, 2050)) From 7f76b58f0f83d990f05d5af204cd7181f4a74a23 Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Wed, 10 Jan 2024 23:19:05 +0000 Subject: [PATCH 06/13] edit default language --- holidays/countries/ghana.py | 1 - 1 file changed, 1 deletion(-) diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py index 647ce5311..30bec08e5 100644 --- a/holidays/countries/ghana.py +++ b/holidays/countries/ghana.py @@ -27,7 +27,6 @@ class Ghana( country = "GH" observed_label = "%s (Observed)" - default_language = "en" def __init__(self, *args, **kwargs): ChristianHolidays.__init__(self) From a879260117e467abd365a1a0bc0bac968d3efbec Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Thu, 11 Jan 2024 20:40:17 +0000 Subject: [PATCH 07/13] add up tests for Ghana holidays --- holidays/countries/ghana.py | 15 +++++++------ tests/countries/test_ghana.py | 42 ++++++++++++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 10 deletions(-) diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py index 30bec08e5..71a24cf37 100644 --- a/holidays/countries/ghana.py +++ b/holidays/countries/ghana.py @@ -9,7 +9,7 @@ # Website: https://github.com/dr-prodigy/python-holidays # License: MIT (see LICENSE file) -from holidays.calendars.gregorian import _get_nth_weekday_of_month +from holidays.calendars.gregorian import _get_nth_weekday_of_month, FRI, DEC from holidays.groups import InternationalHolidays, ChristianHolidays, IslamicHolidays from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON @@ -59,21 +59,22 @@ def _populate_public_holidays(self): self._add_observed(self._add_labor_day("May Day")) # Eid al-Fitr - # Date is decided by the office of the National Chief Imam of Ghana - # self._add_observed(self._add_eid_al_fitr_day("Eid al-Fitr")) + self._add_eid_al_fitr_day("Eid ul-Fitr") # Eid al-Adha - # self._add_observed(self._add_eid_al_adha_day("Eid al-Adha")) + self._add_eid_al_adha_day("Eid ul-Adha") # Founders' Day if self._year >= 2019: - self._add_observed(self._add_holiday_aug_4("Founders Day")) + self._add_observed(self._add_holiday_aug_4("Founders' Day")) # Kwame Nkrumah Memorial Day (formerly founder's Day)) self._add_observed(self._add_holiday_sep_21("Kwame Nkrumah Memorial Day")) - # Farmer's Day - self._add_observed(dt=_get_nth_weekday_of_month(1, 5, 12, self._year), name="Farmer's Day") + # Farmer's Day: First Friday of December + self._add_observed( + self._add_holiday("Farmer's Day", _get_nth_weekday_of_month(1, FRI, DEC, self._year)) + ) # Christmas Day self._add_observed(self._add_christmas_day("Christmas Day")) diff --git a/tests/countries/test_ghana.py b/tests/countries/test_ghana.py index 5ad598ea1..4cd542017 100644 --- a/tests/countries/test_ghana.py +++ b/tests/countries/test_ghana.py @@ -9,20 +9,56 @@ # Website: https://github.com/dr-prodigy/python-holidays # License: MIT (see LICENSE file) +from unittest import TestCase + from holidays.countries.ghana import Ghana, GH, GHA -from tests.common import TestCase +from tests.common import CommonCountryTests -class TestGhana(TestCase): +class TestGhana(CommonCountryTests, TestCase): @classmethod def setUpClass(cls): super().setUpClass(Ghana, years=range(1957, 2050)) def test_country_aliases(self): - self.assertCountryAliases(Ghana, GH, GHA) + self.assertAliases(Ghana, GH, GHA) def test_no_holidays(self): self.assertNoHolidays(Ghana(years=1956)) def test_new_year_day(self): self.assertHoliday(f"{year}-01-01" for year in range(1957, 2050)) + + def test_constitution_day(self): + self.assertHoliday(f"{year}-01-07" for year in range(2019, 2050)) + self.assertNoHoliday(f"{year}-01-07" for year in range(1957, 2019)) + self.assertNoHolidayName("Constitution Day", range(1957, 2019)) + + def test_founders_day(self): + self.assertHoliday(f"{year}-08-04" for year in range(2019, 2050)) + + def test_independence_day(self): + self.assertHoliday(f"{year}-03-06" for year in range(1957, 2050)) + + def test_farmers_day(self): # 1st Friday of December + self.assertHolidayName( + "Farmer's Day", + "2023-12-01", + "2024-12-06", + "2025-12-05", + "2026-12-04", + "2027-12-03", + "2028-12-01", + "2029-12-07", + "2030-12-06", + ) + + def test_eid_ul_fitr(self): + self.assertHolidayName( + "Eid ul-Fitr (estimated)", + "2020-05-24", + "2021-05-13", + "2022-05-02", + "2023-04-21", + "2024-04-10", + ) From 22d43450cd074495f7d03392b4c870ee937e18d5 Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Mon, 15 Jan 2024 22:28:06 +0000 Subject: [PATCH 08/13] resolve pull request comments --- .pre-commit-config.yaml | 14 +++++++------- README.rst | 2 +- holidays/countries/ghana.py | 17 +++++------------ 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 765251706..cba06a00e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -55,13 +55,13 @@ repos: hooks: - id: rst-backticks - # - repo: https://github.com/myint/rstcheck - # rev: v6.2.0 - # hooks: - # - id: rstcheck - # additional_dependencies: - # - rstcheck - # - sphinx + - repo: https://github.com/myint/rstcheck + rev: v6.2.0 + hooks: + - id: rstcheck + additional_dependencies: + - rstcheck + - sphinx - repo: https://github.com/tox-dev/tox-ini-fmt rev: '1.3.1' diff --git a/README.rst b/README.rst index 06e5ac506..dbbdec47b 100644 --- a/README.rst +++ b/README.rst @@ -441,7 +441,7 @@ All other default values are highlighted with bold: * - Ghana - GH - - - en + - - * - Greece - GR diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py index 71a24cf37..fcbe60cd4 100644 --- a/holidays/countries/ghana.py +++ b/holidays/countries/ghana.py @@ -9,28 +9,23 @@ # Website: https://github.com/dr-prodigy/python-holidays # License: MIT (see LICENSE file) -from holidays.calendars.gregorian import _get_nth_weekday_of_month, FRI, DEC from holidays.groups import InternationalHolidays, ChristianHolidays, IslamicHolidays from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON -class Ghana( - ObservedHolidayBase, - InternationalHolidays, - ChristianHolidays, - IslamicHolidays, -): +class Ghana(ObservedHolidayBase, InternationalHolidays, ChristianHolidays, IslamicHolidays): """ https://www.mint.gov.gh/statutory-public-holidays/ https://en.wikipedia.org/wiki/Public_holidays_in_Ghana """ country = "GH" - observed_label = "%s (Observed)" + observed_label = "%s (observed)" def __init__(self, *args, **kwargs): ChristianHolidays.__init__(self) IslamicHolidays.__init__(self) + InternationalHolidays.__init__(self) kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON) super().__init__(*args, **kwargs) @@ -71,10 +66,8 @@ def _populate_public_holidays(self): # Kwame Nkrumah Memorial Day (formerly founder's Day)) self._add_observed(self._add_holiday_sep_21("Kwame Nkrumah Memorial Day")) - # Farmer's Day: First Friday of December - self._add_observed( - self._add_holiday("Farmer's Day", _get_nth_weekday_of_month(1, FRI, DEC, self._year)) - ) + # Farmer's Day + self._add_observed(self._add_holiday_1st_fri_of_dec("Farmer's Day")) # Christmas Day self._add_observed(self._add_christmas_day("Christmas Day")) From 291eefa0fdc551c8bc1ee60905f7c872eaa221bb Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Wed, 17 Jan 2024 01:03:03 +0000 Subject: [PATCH 09/13] add tests for 2023 and 2024 --- holidays/countries/ghana.py | 4 ++-- tests/countries/test_ghana.py | 40 +++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py index fcbe60cd4..dfb4f7f7a 100644 --- a/holidays/countries/ghana.py +++ b/holidays/countries/ghana.py @@ -10,7 +10,7 @@ # License: MIT (see LICENSE file) from holidays.groups import InternationalHolidays, ChristianHolidays, IslamicHolidays -from holidays.observed_holiday_base import ObservedHolidayBase, SUN_TO_NEXT_MON +from holidays.observed_holiday_base import ObservedHolidayBase,SAT_SUN_TO_NEXT_WORKDAY class Ghana(ObservedHolidayBase, InternationalHolidays, ChristianHolidays, IslamicHolidays): @@ -26,7 +26,7 @@ def __init__(self, *args, **kwargs): ChristianHolidays.__init__(self) IslamicHolidays.__init__(self) InternationalHolidays.__init__(self) - kwargs.setdefault("observed_rule", SUN_TO_NEXT_MON) + kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY) super().__init__(*args, **kwargs) def _populate_public_holidays(self): diff --git a/tests/countries/test_ghana.py b/tests/countries/test_ghana.py index 4cd542017..8784d8360 100644 --- a/tests/countries/test_ghana.py +++ b/tests/countries/test_ghana.py @@ -62,3 +62,43 @@ def test_eid_ul_fitr(self): "2023-04-21", "2024-04-10", ) + + + def test_2023(self): + self.assertHolidays( + Ghana(years=2023), + ("2023-01-01", "New Year's Day"), + ("2023-01-02","New Year's Day (observed)"), + ("2023-01-07","Constitution Day"), + ("2023-01-09","Constitution Day (observed)"), + ("2023-03-06", "Independence Day"), + ("2023-04-07", "Good Friday"), + ("2023-04-10", "Easter Monday"), + ("2023-05-01", "May Day"), + ("2023-04-21", "Eid ul-Fitr (estimated)"), + ("2023-06-28", "Eid ul-Adha (estimated)"), + ("2023-08-04", "Founders' Day"), + ("2023-09-21", "Kwame Nkrumah Memorial Day"), + ("2023-12-01", "Farmer's Day"), + ("2023-12-25", "Christmas Day"), + ("2023-12-26", "Boxing Day"),) + + def test_2024(self): + self.assertHolidays( + Ghana(years=2024), + ("2024-01-01", "New Year's Day"), + ("2024-01-07","Constitution Day"), + ("2024-01-08","Constitution Day (observed)"), + ("2024-03-06", "Independence Day"), + ("2024-03-29", "Good Friday"), + ("2024-04-01", "Easter Monday"), + ("2024-05-01", "May Day"), + ("2024-04-10", "Eid ul-Fitr (estimated)"), + ("2024-06-16", "Eid ul-Adha (estimated)"), + ("2024-08-04", "Founders' Day"), + ("2024-08-05", "Founders' Day (observed)"), + ("2024-09-21", "Kwame Nkrumah Memorial Day"), + ("2024-09-23", "Kwame Nkrumah Memorial Day (observed)"), + ("2024-12-06", "Farmer's Day"), + ("2024-12-25", "Christmas Day"), + ("2024-12-26", "Boxing Day"),) From c1d71cd6b72924d2e4984335e4abb1d71211a399 Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Wed, 17 Jan 2024 02:23:38 +0000 Subject: [PATCH 10/13] update observed rules --- holidays/countries/ghana.py | 33 ++++++++++++++++++++++----------- tests/countries/test_ghana.py | 20 +++++++++++--------- 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py index dfb4f7f7a..b619aec9d 100644 --- a/holidays/countries/ghana.py +++ b/holidays/countries/ghana.py @@ -10,7 +10,11 @@ # License: MIT (see LICENSE file) from holidays.groups import InternationalHolidays, ChristianHolidays, IslamicHolidays -from holidays.observed_holiday_base import ObservedHolidayBase,SAT_SUN_TO_NEXT_WORKDAY +from holidays.observed_holiday_base import ( + ObservedHolidayBase, + SAT_SUN_TO_NEXT_MON, + SAT_SUN_TO_NEXT_MON_TUE, +) class Ghana(ObservedHolidayBase, InternationalHolidays, ChristianHolidays, IslamicHolidays): @@ -26,7 +30,7 @@ def __init__(self, *args, **kwargs): ChristianHolidays.__init__(self) IslamicHolidays.__init__(self) InternationalHolidays.__init__(self) - kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY) + kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON) super().__init__(*args, **kwargs) def _populate_public_holidays(self): @@ -45,35 +49,42 @@ def _populate_public_holidays(self): self._add_observed(self._add_holiday_mar_6("Independence Day")) # Good Friday - self._add_observed(self._add_good_friday("Good Friday")) + self._add_good_friday("Good Friday") # Easter Monday - self._add_observed(self._add_easter_monday("Easter Monday")) + self._add_easter_monday("Easter Monday") # May Day(Workers' Day) self._add_observed(self._add_labor_day("May Day")) # Eid al-Fitr - self._add_eid_al_fitr_day("Eid ul-Fitr") + for dt in self._add_eid_al_fitr_day("Eid ul-Fitr"): + self._add_observed(dt) # Eid al-Adha - self._add_eid_al_adha_day("Eid ul-Adha") + for dt in self._add_eid_al_adha_day("Eid ul-Adha"): + self._add_observed(dt) # Founders' Day if self._year >= 2019: self._add_observed(self._add_holiday_aug_4("Founders' Day")) - # Kwame Nkrumah Memorial Day (formerly founder's Day)) - self._add_observed(self._add_holiday_sep_21("Kwame Nkrumah Memorial Day")) + # Kwame Nkrumah Memorial Day / founder's Day + if self._year >= 2009: + self._add_observed( + self._add_holiday_sep_21( + "Kwame Nkrumah Memorial Day" if self._year >= 2019 else "Founder's Day" + ) + ) # Farmer's Day - self._add_observed(self._add_holiday_1st_fri_of_dec("Farmer's Day")) + self._add_holiday_1st_fri_of_dec("Farmer's Day") # Christmas Day - self._add_observed(self._add_christmas_day("Christmas Day")) + self._add_observed(self._add_christmas_day("Christmas Day"), rule=SAT_SUN_TO_NEXT_MON_TUE) # Boxing Day - self._add_observed(self._add_christmas_day_two("Boxing Day")) + self._add_observed(self._add_christmas_day_two("Boxing Day"), rule=SAT_SUN_TO_NEXT_MON_TUE) class GH(Ghana): diff --git a/tests/countries/test_ghana.py b/tests/countries/test_ghana.py index 8784d8360..f5afd852a 100644 --- a/tests/countries/test_ghana.py +++ b/tests/countries/test_ghana.py @@ -63,14 +63,13 @@ def test_eid_ul_fitr(self): "2024-04-10", ) - def test_2023(self): self.assertHolidays( Ghana(years=2023), ("2023-01-01", "New Year's Day"), - ("2023-01-02","New Year's Day (observed)"), - ("2023-01-07","Constitution Day"), - ("2023-01-09","Constitution Day (observed)"), + ("2023-01-02", "New Year's Day (observed)"), + ("2023-01-07", "Constitution Day"), + ("2023-01-09", "Constitution Day (observed)"), ("2023-03-06", "Independence Day"), ("2023-04-07", "Good Friday"), ("2023-04-10", "Easter Monday"), @@ -81,24 +80,27 @@ def test_2023(self): ("2023-09-21", "Kwame Nkrumah Memorial Day"), ("2023-12-01", "Farmer's Day"), ("2023-12-25", "Christmas Day"), - ("2023-12-26", "Boxing Day"),) - + ("2023-12-26", "Boxing Day"), + ) + def test_2024(self): self.assertHolidays( Ghana(years=2024), ("2024-01-01", "New Year's Day"), - ("2024-01-07","Constitution Day"), - ("2024-01-08","Constitution Day (observed)"), + ("2024-01-07", "Constitution Day"), + ("2024-01-08", "Constitution Day (observed)"), ("2024-03-06", "Independence Day"), ("2024-03-29", "Good Friday"), ("2024-04-01", "Easter Monday"), ("2024-05-01", "May Day"), ("2024-04-10", "Eid ul-Fitr (estimated)"), ("2024-06-16", "Eid ul-Adha (estimated)"), + ("2024-06-17", "Eid ul-Adha (estimated) (observed)"), ("2024-08-04", "Founders' Day"), ("2024-08-05", "Founders' Day (observed)"), ("2024-09-21", "Kwame Nkrumah Memorial Day"), ("2024-09-23", "Kwame Nkrumah Memorial Day (observed)"), ("2024-12-06", "Farmer's Day"), ("2024-12-25", "Christmas Day"), - ("2024-12-26", "Boxing Day"),) + ("2024-12-26", "Boxing Day"), + ) From 026fafc3112f6f2b1c96041cc6dd2c02e274aaba Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Wed, 24 Jan 2024 19:42:54 +0000 Subject: [PATCH 11/13] resolve consistency concerns --- holidays/countries/ghana.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py index b619aec9d..9c4627944 100644 --- a/holidays/countries/ghana.py +++ b/holidays/countries/ghana.py @@ -9,7 +9,7 @@ # Website: https://github.com/dr-prodigy/python-holidays # License: MIT (see LICENSE file) -from holidays.groups import InternationalHolidays, ChristianHolidays, IslamicHolidays +from holidays.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays from holidays.observed_holiday_base import ( ObservedHolidayBase, SAT_SUN_TO_NEXT_MON, @@ -17,7 +17,7 @@ ) -class Ghana(ObservedHolidayBase, InternationalHolidays, ChristianHolidays, IslamicHolidays): +class Ghana(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays): """ https://www.mint.gov.gh/statutory-public-holidays/ https://en.wikipedia.org/wiki/Public_holidays_in_Ghana @@ -28,8 +28,8 @@ class Ghana(ObservedHolidayBase, InternationalHolidays, ChristianHolidays, Islam def __init__(self, *args, **kwargs): ChristianHolidays.__init__(self) - IslamicHolidays.__init__(self) InternationalHolidays.__init__(self) + IslamicHolidays.__init__(self) kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_MON) super().__init__(*args, **kwargs) @@ -69,7 +69,7 @@ def _populate_public_holidays(self): if self._year >= 2019: self._add_observed(self._add_holiday_aug_4("Founders' Day")) - # Kwame Nkrumah Memorial Day / founder's Day + # Kwame Nkrumah Memorial Day / Founder's Day if self._year >= 2009: self._add_observed( self._add_holiday_sep_21( From 80b45d39068776a102f0e128bfc21aed733bcd6d Mon Sep 17 00:00:00 2001 From: JerryAgbesi Date: Wed, 24 Jan 2024 20:13:19 +0000 Subject: [PATCH 12/13] add labels for estimated holidays --- holidays/countries/ghana.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py index 9c4627944..5399000c5 100644 --- a/holidays/countries/ghana.py +++ b/holidays/countries/ghana.py @@ -24,7 +24,9 @@ class Ghana(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Islam """ country = "GH" + estimated_label = "%s (estimated)" observed_label = "%s (observed)" + observed_estimated_label = "%s (estimated) (observed)" def __init__(self, *args, **kwargs): ChristianHolidays.__init__(self) From c4636d4b102830c28a809123030c871ed7965287 Mon Sep 17 00:00:00 2001 From: Arkadii Yakovets Date: Fri, 26 Jan 2024 09:04:48 -0800 Subject: [PATCH 13/13] Update `observed_estimated_lbel`. Add snapshot. --- holidays/countries/ghana.py | 2 +- snapshots/countries/GH_COMMON.json | 1265 ++++++++++++++++++++++++++++ tests/countries/test_ghana.py | 2 +- 3 files changed, 1267 insertions(+), 2 deletions(-) create mode 100644 snapshots/countries/GH_COMMON.json diff --git a/holidays/countries/ghana.py b/holidays/countries/ghana.py index 5399000c5..453920a25 100644 --- a/holidays/countries/ghana.py +++ b/holidays/countries/ghana.py @@ -26,7 +26,7 @@ class Ghana(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Islam country = "GH" estimated_label = "%s (estimated)" observed_label = "%s (observed)" - observed_estimated_label = "%s (estimated) (observed)" + observed_estimated_label = "%s (observed, estimated)" def __init__(self, *args, **kwargs): ChristianHolidays.__init__(self) diff --git a/snapshots/countries/GH_COMMON.json b/snapshots/countries/GH_COMMON.json new file mode 100644 index 000000000..eed66716f --- /dev/null +++ b/snapshots/countries/GH_COMMON.json @@ -0,0 +1,1265 @@ +{ + "1957-01-01": "New Year's Day", + "1957-03-06": "Independence Day", + "1957-04-19": "Good Friday", + "1957-04-22": "Easter Monday", + "1957-05-01": "Eid ul-Fitr (estimated); May Day", + "1957-07-08": "Eid ul-Adha (estimated)", + "1957-12-06": "Farmer's Day", + "1957-12-25": "Christmas Day", + "1957-12-26": "Boxing Day", + "1958-01-01": "New Year's Day", + "1958-03-06": "Independence Day", + "1958-04-04": "Good Friday", + "1958-04-07": "Easter Monday", + "1958-04-20": "Eid ul-Fitr (estimated)", + "1958-04-21": "Eid ul-Fitr (observed, estimated)", + "1958-05-01": "May Day", + "1958-06-27": "Eid ul-Adha (estimated)", + "1958-12-05": "Farmer's Day", + "1958-12-25": "Christmas Day", + "1958-12-26": "Boxing Day", + "1959-01-01": "New Year's Day", + "1959-03-06": "Independence Day", + "1959-03-27": "Good Friday", + "1959-03-30": "Easter Monday", + "1959-04-10": "Eid ul-Fitr (estimated)", + "1959-05-01": "May Day", + "1959-06-17": "Eid ul-Adha (estimated)", + "1959-12-04": "Farmer's Day", + "1959-12-25": "Christmas Day", + "1959-12-26": "Boxing Day", + "1959-12-28": "Boxing Day (observed)", + "1960-01-01": "New Year's Day", + "1960-03-06": "Independence Day", + "1960-03-07": "Independence Day (observed)", + "1960-03-28": "Eid ul-Fitr (estimated)", + "1960-04-15": "Good Friday", + "1960-04-18": "Easter Monday", + "1960-05-01": "May Day", + "1960-05-02": "May Day (observed)", + "1960-06-04": "Eid ul-Adha (estimated)", + "1960-06-06": "Eid ul-Adha (observed, estimated)", + "1960-12-02": "Farmer's Day", + "1960-12-25": "Christmas Day", + "1960-12-26": "Boxing Day", + "1960-12-27": "Christmas Day (observed)", + "1961-01-01": "New Year's Day", + "1961-01-02": "New Year's Day (observed)", + "1961-03-06": "Independence Day", + "1961-03-18": "Eid ul-Fitr (estimated)", + "1961-03-20": "Eid ul-Fitr (observed, estimated)", + "1961-03-31": "Good Friday", + "1961-04-03": "Easter Monday", + "1961-05-01": "May Day", + "1961-05-25": "Eid ul-Adha (estimated)", + "1961-12-01": "Farmer's Day", + "1961-12-25": "Christmas Day", + "1961-12-26": "Boxing Day", + "1962-01-01": "New Year's Day", + "1962-03-06": "Independence Day", + "1962-03-07": "Eid ul-Fitr (estimated)", + "1962-04-20": "Good Friday", + "1962-04-23": "Easter Monday", + "1962-05-01": "May Day", + "1962-05-14": "Eid ul-Adha (estimated)", + "1962-12-07": "Farmer's Day", + "1962-12-25": "Christmas Day", + "1962-12-26": "Boxing Day", + "1963-01-01": "New Year's Day", + "1963-02-24": "Eid ul-Fitr (estimated)", + "1963-02-25": "Eid ul-Fitr (observed, estimated)", + "1963-03-06": "Independence Day", + "1963-04-12": "Good Friday", + "1963-04-15": "Easter Monday", + "1963-05-01": "May Day", + "1963-05-03": "Eid ul-Adha (estimated)", + "1963-12-06": "Farmer's Day", + "1963-12-25": "Christmas Day", + "1963-12-26": "Boxing Day", + "1964-01-01": "New Year's Day", + "1964-02-14": "Eid ul-Fitr (estimated)", + "1964-03-06": "Independence Day", + "1964-03-27": "Good Friday", + "1964-03-30": "Easter Monday", + "1964-04-22": "Eid ul-Adha (estimated)", + "1964-05-01": "May Day", + "1964-12-04": "Farmer's Day", + "1964-12-25": "Christmas Day", + "1964-12-26": "Boxing Day", + "1964-12-28": "Boxing Day (observed)", + "1965-01-01": "New Year's Day", + "1965-02-02": "Eid ul-Fitr (estimated)", + "1965-03-06": "Independence Day", + "1965-03-08": "Independence Day (observed)", + "1965-04-11": "Eid ul-Adha (estimated)", + "1965-04-12": "Eid ul-Adha (observed, estimated)", + "1965-04-16": "Good Friday", + "1965-04-19": "Easter Monday", + "1965-05-01": "May Day", + "1965-05-03": "May Day (observed)", + "1965-12-03": "Farmer's Day", + "1965-12-25": "Christmas Day", + "1965-12-26": "Boxing Day", + "1965-12-27": "Christmas Day (observed)", + "1965-12-28": "Boxing Day (observed)", + "1966-01-01": "New Year's Day", + "1966-01-03": "New Year's Day (observed)", + "1966-01-22": "Eid ul-Fitr (estimated)", + "1966-01-24": "Eid ul-Fitr (observed, estimated)", + "1966-03-06": "Independence Day", + "1966-03-07": "Independence Day (observed)", + "1966-04-01": "Eid ul-Adha (estimated)", + "1966-04-08": "Good Friday", + "1966-04-11": "Easter Monday", + "1966-05-01": "May Day", + "1966-05-02": "May Day (observed)", + "1966-12-02": "Farmer's Day", + "1966-12-25": "Christmas Day", + "1966-12-26": "Boxing Day", + "1966-12-27": "Christmas Day (observed)", + "1967-01-01": "New Year's Day", + "1967-01-02": "New Year's Day (observed)", + "1967-01-12": "Eid ul-Fitr (estimated)", + "1967-03-06": "Independence Day", + "1967-03-21": "Eid ul-Adha (estimated)", + "1967-03-24": "Good Friday", + "1967-03-27": "Easter Monday", + "1967-05-01": "May Day", + "1967-12-01": "Farmer's Day", + "1967-12-25": "Christmas Day", + "1967-12-26": "Boxing Day", + "1968-01-01": "Eid ul-Fitr (estimated); New Year's Day", + "1968-03-06": "Independence Day", + "1968-03-09": "Eid ul-Adha (estimated)", + "1968-03-11": "Eid ul-Adha (observed, estimated)", + "1968-04-12": "Good Friday", + "1968-04-15": "Easter Monday", + "1968-05-01": "May Day", + "1968-12-06": "Farmer's Day", + "1968-12-21": "Eid ul-Fitr (estimated)", + "1968-12-23": "Eid ul-Fitr (observed, estimated)", + "1968-12-25": "Christmas Day", + "1968-12-26": "Boxing Day", + "1969-01-01": "New Year's Day", + "1969-02-27": "Eid ul-Adha (estimated)", + "1969-03-06": "Independence Day", + "1969-04-04": "Good Friday", + "1969-04-07": "Easter Monday", + "1969-05-01": "May Day", + "1969-12-05": "Farmer's Day", + "1969-12-10": "Eid ul-Fitr (estimated)", + "1969-12-25": "Christmas Day", + "1969-12-26": "Boxing Day", + "1970-01-01": "New Year's Day", + "1970-02-16": "Eid ul-Adha (estimated)", + "1970-03-06": "Independence Day", + "1970-03-27": "Good Friday", + "1970-03-30": "Easter Monday", + "1970-05-01": "May Day", + "1970-11-30": "Eid ul-Fitr (estimated)", + "1970-12-04": "Farmer's Day", + "1970-12-25": "Christmas Day", + "1970-12-26": "Boxing Day", + "1970-12-28": "Boxing Day (observed)", + "1971-01-01": "New Year's Day", + "1971-02-06": "Eid ul-Adha (estimated)", + "1971-02-08": "Eid ul-Adha (observed, estimated)", + "1971-03-06": "Independence Day", + "1971-03-08": "Independence Day (observed)", + "1971-04-09": "Good Friday", + "1971-04-12": "Easter Monday", + "1971-05-01": "May Day", + "1971-05-03": "May Day (observed)", + "1971-11-19": "Eid ul-Fitr (estimated)", + "1971-12-03": "Farmer's Day", + "1971-12-25": "Christmas Day", + "1971-12-26": "Boxing Day", + "1971-12-27": "Christmas Day (observed)", + "1971-12-28": "Boxing Day (observed)", + "1972-01-01": "New Year's Day", + "1972-01-03": "New Year's Day (observed)", + "1972-01-26": "Eid ul-Adha (estimated)", + "1972-03-06": "Independence Day", + "1972-03-31": "Good Friday", + "1972-04-03": "Easter Monday", + "1972-05-01": "May Day", + "1972-11-07": "Eid ul-Fitr (estimated)", + "1972-12-01": "Farmer's Day", + "1972-12-25": "Christmas Day", + "1972-12-26": "Boxing Day", + "1973-01-01": "New Year's Day", + "1973-01-14": "Eid ul-Adha (estimated)", + "1973-01-15": "Eid ul-Adha (observed, estimated)", + "1973-03-06": "Independence Day", + "1973-04-20": "Good Friday", + "1973-04-23": "Easter Monday", + "1973-05-01": "May Day", + "1973-10-27": "Eid ul-Fitr (estimated)", + "1973-10-29": "Eid ul-Fitr (observed, estimated)", + "1973-12-07": "Farmer's Day", + "1973-12-25": "Christmas Day", + "1973-12-26": "Boxing Day", + "1974-01-01": "New Year's Day", + "1974-01-03": "Eid ul-Adha (estimated)", + "1974-03-06": "Independence Day", + "1974-04-12": "Good Friday", + "1974-04-15": "Easter Monday", + "1974-05-01": "May Day", + "1974-10-16": "Eid ul-Fitr (estimated)", + "1974-12-06": "Farmer's Day", + "1974-12-24": "Eid ul-Adha (estimated)", + "1974-12-25": "Christmas Day", + "1974-12-26": "Boxing Day", + "1975-01-01": "New Year's Day", + "1975-03-06": "Independence Day", + "1975-03-28": "Good Friday", + "1975-03-31": "Easter Monday", + "1975-05-01": "May Day", + "1975-10-06": "Eid ul-Fitr (estimated)", + "1975-12-05": "Farmer's Day", + "1975-12-13": "Eid ul-Adha (estimated)", + "1975-12-15": "Eid ul-Adha (observed, estimated)", + "1975-12-25": "Christmas Day", + "1975-12-26": "Boxing Day", + "1976-01-01": "New Year's Day", + "1976-03-06": "Independence Day", + "1976-03-08": "Independence Day (observed)", + "1976-04-16": "Good Friday", + "1976-04-19": "Easter Monday", + "1976-05-01": "May Day", + "1976-05-03": "May Day (observed)", + "1976-09-24": "Eid ul-Fitr (estimated)", + "1976-12-01": "Eid ul-Adha (estimated)", + "1976-12-03": "Farmer's Day", + "1976-12-25": "Christmas Day", + "1976-12-26": "Boxing Day", + "1976-12-27": "Christmas Day (observed)", + "1976-12-28": "Boxing Day (observed)", + "1977-01-01": "New Year's Day", + "1977-01-03": "New Year's Day (observed)", + "1977-03-06": "Independence Day", + "1977-03-07": "Independence Day (observed)", + "1977-04-08": "Good Friday", + "1977-04-11": "Easter Monday", + "1977-05-01": "May Day", + "1977-05-02": "May Day (observed)", + "1977-09-14": "Eid ul-Fitr (estimated)", + "1977-11-21": "Eid ul-Adha (estimated)", + "1977-12-02": "Farmer's Day", + "1977-12-25": "Christmas Day", + "1977-12-26": "Boxing Day", + "1977-12-27": "Christmas Day (observed)", + "1978-01-01": "New Year's Day", + "1978-01-02": "New Year's Day (observed)", + "1978-03-06": "Independence Day", + "1978-03-24": "Good Friday", + "1978-03-27": "Easter Monday", + "1978-05-01": "May Day", + "1978-09-03": "Eid ul-Fitr (estimated)", + "1978-09-04": "Eid ul-Fitr (observed, estimated)", + "1978-11-10": "Eid ul-Adha (estimated)", + "1978-12-01": "Farmer's Day", + "1978-12-25": "Christmas Day", + "1978-12-26": "Boxing Day", + "1979-01-01": "New Year's Day", + "1979-03-06": "Independence Day", + "1979-04-13": "Good Friday", + "1979-04-16": "Easter Monday", + "1979-05-01": "May Day", + "1979-08-23": "Eid ul-Fitr (estimated)", + "1979-10-31": "Eid ul-Adha (estimated)", + "1979-12-07": "Farmer's Day", + "1979-12-25": "Christmas Day", + "1979-12-26": "Boxing Day", + "1980-01-01": "New Year's Day", + "1980-03-06": "Independence Day", + "1980-04-04": "Good Friday", + "1980-04-07": "Easter Monday", + "1980-05-01": "May Day", + "1980-08-12": "Eid ul-Fitr (estimated)", + "1980-10-19": "Eid ul-Adha (estimated)", + "1980-10-20": "Eid ul-Adha (observed, estimated)", + "1980-12-05": "Farmer's Day", + "1980-12-25": "Christmas Day", + "1980-12-26": "Boxing Day", + "1981-01-01": "New Year's Day", + "1981-03-06": "Independence Day", + "1981-04-17": "Good Friday", + "1981-04-20": "Easter Monday", + "1981-05-01": "May Day", + "1981-08-01": "Eid ul-Fitr (estimated)", + "1981-08-03": "Eid ul-Fitr (observed, estimated)", + "1981-10-08": "Eid ul-Adha (estimated)", + "1981-12-04": "Farmer's Day", + "1981-12-25": "Christmas Day", + "1981-12-26": "Boxing Day", + "1981-12-28": "Boxing Day (observed)", + "1982-01-01": "New Year's Day", + "1982-03-06": "Independence Day", + "1982-03-08": "Independence Day (observed)", + "1982-04-09": "Good Friday", + "1982-04-12": "Easter Monday", + "1982-05-01": "May Day", + "1982-05-03": "May Day (observed)", + "1982-07-21": "Eid ul-Fitr (estimated)", + "1982-09-27": "Eid ul-Adha (estimated)", + "1982-12-03": "Farmer's Day", + "1982-12-25": "Christmas Day", + "1982-12-26": "Boxing Day", + "1982-12-27": "Christmas Day (observed)", + "1982-12-28": "Boxing Day (observed)", + "1983-01-01": "New Year's Day", + "1983-01-03": "New Year's Day (observed)", + "1983-03-06": "Independence Day", + "1983-03-07": "Independence Day (observed)", + "1983-04-01": "Good Friday", + "1983-04-04": "Easter Monday", + "1983-05-01": "May Day", + "1983-05-02": "May Day (observed)", + "1983-07-11": "Eid ul-Fitr (estimated)", + "1983-09-17": "Eid ul-Adha (estimated)", + "1983-09-19": "Eid ul-Adha (observed, estimated)", + "1983-12-02": "Farmer's Day", + "1983-12-25": "Christmas Day", + "1983-12-26": "Boxing Day", + "1983-12-27": "Christmas Day (observed)", + "1984-01-01": "New Year's Day", + "1984-01-02": "New Year's Day (observed)", + "1984-03-06": "Independence Day", + "1984-04-20": "Good Friday", + "1984-04-23": "Easter Monday", + "1984-05-01": "May Day", + "1984-06-30": "Eid ul-Fitr (estimated)", + "1984-07-02": "Eid ul-Fitr (observed, estimated)", + "1984-09-05": "Eid ul-Adha (estimated)", + "1984-12-07": "Farmer's Day", + "1984-12-25": "Christmas Day", + "1984-12-26": "Boxing Day", + "1985-01-01": "New Year's Day", + "1985-03-06": "Independence Day", + "1985-04-05": "Good Friday", + "1985-04-08": "Easter Monday", + "1985-05-01": "May Day", + "1985-06-19": "Eid ul-Fitr (estimated)", + "1985-08-26": "Eid ul-Adha (estimated)", + "1985-12-06": "Farmer's Day", + "1985-12-25": "Christmas Day", + "1985-12-26": "Boxing Day", + "1986-01-01": "New Year's Day", + "1986-03-06": "Independence Day", + "1986-03-28": "Good Friday", + "1986-03-31": "Easter Monday", + "1986-05-01": "May Day", + "1986-06-08": "Eid ul-Fitr (estimated)", + "1986-06-09": "Eid ul-Fitr (observed, estimated)", + "1986-08-15": "Eid ul-Adha (estimated)", + "1986-12-05": "Farmer's Day", + "1986-12-25": "Christmas Day", + "1986-12-26": "Boxing Day", + "1987-01-01": "New Year's Day", + "1987-03-06": "Independence Day", + "1987-04-17": "Good Friday", + "1987-04-20": "Easter Monday", + "1987-05-01": "May Day", + "1987-05-28": "Eid ul-Fitr (estimated)", + "1987-08-04": "Eid ul-Adha (estimated)", + "1987-12-04": "Farmer's Day", + "1987-12-25": "Christmas Day", + "1987-12-26": "Boxing Day", + "1987-12-28": "Boxing Day (observed)", + "1988-01-01": "New Year's Day", + "1988-03-06": "Independence Day", + "1988-03-07": "Independence Day (observed)", + "1988-04-01": "Good Friday", + "1988-04-04": "Easter Monday", + "1988-05-01": "May Day", + "1988-05-02": "May Day (observed)", + "1988-05-16": "Eid ul-Fitr (estimated)", + "1988-07-23": "Eid ul-Adha (estimated)", + "1988-07-25": "Eid ul-Adha (observed, estimated)", + "1988-12-02": "Farmer's Day", + "1988-12-25": "Christmas Day", + "1988-12-26": "Boxing Day", + "1988-12-27": "Christmas Day (observed)", + "1989-01-01": "New Year's Day", + "1989-01-02": "New Year's Day (observed)", + "1989-03-06": "Independence Day", + "1989-03-24": "Good Friday", + "1989-03-27": "Easter Monday", + "1989-05-01": "May Day", + "1989-05-06": "Eid ul-Fitr (estimated)", + "1989-05-08": "Eid ul-Fitr (observed, estimated)", + "1989-07-13": "Eid ul-Adha (estimated)", + "1989-12-01": "Farmer's Day", + "1989-12-25": "Christmas Day", + "1989-12-26": "Boxing Day", + "1990-01-01": "New Year's Day", + "1990-03-06": "Independence Day", + "1990-04-13": "Good Friday", + "1990-04-16": "Easter Monday", + "1990-04-26": "Eid ul-Fitr (estimated)", + "1990-05-01": "May Day", + "1990-07-02": "Eid ul-Adha (estimated)", + "1990-12-07": "Farmer's Day", + "1990-12-25": "Christmas Day", + "1990-12-26": "Boxing Day", + "1991-01-01": "New Year's Day", + "1991-03-06": "Independence Day", + "1991-03-29": "Good Friday", + "1991-04-01": "Easter Monday", + "1991-04-15": "Eid ul-Fitr (estimated)", + "1991-05-01": "May Day", + "1991-06-22": "Eid ul-Adha (estimated)", + "1991-06-24": "Eid ul-Adha (observed, estimated)", + "1991-12-06": "Farmer's Day", + "1991-12-25": "Christmas Day", + "1991-12-26": "Boxing Day", + "1992-01-01": "New Year's Day", + "1992-03-06": "Independence Day", + "1992-04-04": "Eid ul-Fitr (estimated)", + "1992-04-06": "Eid ul-Fitr (observed, estimated)", + "1992-04-17": "Good Friday", + "1992-04-20": "Easter Monday", + "1992-05-01": "May Day", + "1992-06-11": "Eid ul-Adha (estimated)", + "1992-12-04": "Farmer's Day", + "1992-12-25": "Christmas Day", + "1992-12-26": "Boxing Day", + "1992-12-28": "Boxing Day (observed)", + "1993-01-01": "New Year's Day", + "1993-03-06": "Independence Day", + "1993-03-08": "Independence Day (observed)", + "1993-03-24": "Eid ul-Fitr (estimated)", + "1993-04-09": "Good Friday", + "1993-04-12": "Easter Monday", + "1993-05-01": "May Day", + "1993-05-03": "May Day (observed)", + "1993-05-31": "Eid ul-Adha (estimated)", + "1993-12-03": "Farmer's Day", + "1993-12-25": "Christmas Day", + "1993-12-26": "Boxing Day", + "1993-12-27": "Christmas Day (observed)", + "1993-12-28": "Boxing Day (observed)", + "1994-01-01": "New Year's Day", + "1994-01-03": "New Year's Day (observed)", + "1994-03-06": "Independence Day", + "1994-03-07": "Independence Day (observed)", + "1994-03-13": "Eid ul-Fitr (estimated)", + "1994-03-14": "Eid ul-Fitr (observed, estimated)", + "1994-04-01": "Good Friday", + "1994-04-04": "Easter Monday", + "1994-05-01": "May Day", + "1994-05-02": "May Day (observed)", + "1994-05-20": "Eid ul-Adha (estimated)", + "1994-12-02": "Farmer's Day", + "1994-12-25": "Christmas Day", + "1994-12-26": "Boxing Day", + "1994-12-27": "Christmas Day (observed)", + "1995-01-01": "New Year's Day", + "1995-01-02": "New Year's Day (observed)", + "1995-03-02": "Eid ul-Fitr (estimated)", + "1995-03-06": "Independence Day", + "1995-04-14": "Good Friday", + "1995-04-17": "Easter Monday", + "1995-05-01": "May Day", + "1995-05-09": "Eid ul-Adha (estimated)", + "1995-12-01": "Farmer's Day", + "1995-12-25": "Christmas Day", + "1995-12-26": "Boxing Day", + "1996-01-01": "New Year's Day", + "1996-02-19": "Eid ul-Fitr (estimated)", + "1996-03-06": "Independence Day", + "1996-04-05": "Good Friday", + "1996-04-08": "Easter Monday", + "1996-04-27": "Eid ul-Adha (estimated)", + "1996-04-29": "Eid ul-Adha (observed, estimated)", + "1996-05-01": "May Day", + "1996-12-06": "Farmer's Day", + "1996-12-25": "Christmas Day", + "1996-12-26": "Boxing Day", + "1997-01-01": "New Year's Day", + "1997-02-08": "Eid ul-Fitr (estimated)", + "1997-02-10": "Eid ul-Fitr (observed, estimated)", + "1997-03-06": "Independence Day", + "1997-03-28": "Good Friday", + "1997-03-31": "Easter Monday", + "1997-04-17": "Eid ul-Adha (estimated)", + "1997-05-01": "May Day", + "1997-12-05": "Farmer's Day", + "1997-12-25": "Christmas Day", + "1997-12-26": "Boxing Day", + "1998-01-01": "New Year's Day", + "1998-01-29": "Eid ul-Fitr (estimated)", + "1998-03-06": "Independence Day", + "1998-04-07": "Eid ul-Adha (estimated)", + "1998-04-10": "Good Friday", + "1998-04-13": "Easter Monday", + "1998-05-01": "May Day", + "1998-12-04": "Farmer's Day", + "1998-12-25": "Christmas Day", + "1998-12-26": "Boxing Day", + "1998-12-28": "Boxing Day (observed)", + "1999-01-01": "New Year's Day", + "1999-01-18": "Eid ul-Fitr (estimated)", + "1999-03-06": "Independence Day", + "1999-03-08": "Independence Day (observed)", + "1999-03-27": "Eid ul-Adha (estimated)", + "1999-03-29": "Eid ul-Adha (observed, estimated)", + "1999-04-02": "Good Friday", + "1999-04-05": "Easter Monday", + "1999-05-01": "May Day", + "1999-05-03": "May Day (observed)", + "1999-12-03": "Farmer's Day", + "1999-12-25": "Christmas Day", + "1999-12-26": "Boxing Day", + "1999-12-27": "Christmas Day (observed)", + "1999-12-28": "Boxing Day (observed)", + "2000-01-01": "New Year's Day", + "2000-01-03": "New Year's Day (observed)", + "2000-01-08": "Eid ul-Fitr (estimated)", + "2000-01-10": "Eid ul-Fitr (observed, estimated)", + "2000-03-06": "Independence Day", + "2000-03-16": "Eid ul-Adha (estimated)", + "2000-04-21": "Good Friday", + "2000-04-24": "Easter Monday", + "2000-05-01": "May Day", + "2000-12-01": "Farmer's Day", + "2000-12-25": "Christmas Day", + "2000-12-26": "Boxing Day", + "2000-12-27": "Eid ul-Fitr (estimated)", + "2001-01-01": "New Year's Day", + "2001-03-05": "Eid ul-Adha (estimated)", + "2001-03-06": "Independence Day", + "2001-04-13": "Good Friday", + "2001-04-16": "Easter Monday", + "2001-05-01": "May Day", + "2001-12-07": "Farmer's Day", + "2001-12-16": "Eid ul-Fitr (estimated)", + "2001-12-17": "Eid ul-Fitr (observed, estimated)", + "2001-12-25": "Christmas Day", + "2001-12-26": "Boxing Day", + "2002-01-01": "New Year's Day", + "2002-02-22": "Eid ul-Adha (estimated)", + "2002-03-06": "Independence Day", + "2002-03-29": "Good Friday", + "2002-04-01": "Easter Monday", + "2002-05-01": "May Day", + "2002-12-05": "Eid ul-Fitr (estimated)", + "2002-12-06": "Farmer's Day", + "2002-12-25": "Christmas Day", + "2002-12-26": "Boxing Day", + "2003-01-01": "New Year's Day", + "2003-02-11": "Eid ul-Adha (estimated)", + "2003-03-06": "Independence Day", + "2003-04-18": "Good Friday", + "2003-04-21": "Easter Monday", + "2003-05-01": "May Day", + "2003-11-25": "Eid ul-Fitr (estimated)", + "2003-12-05": "Farmer's Day", + "2003-12-25": "Christmas Day", + "2003-12-26": "Boxing Day", + "2004-01-01": "New Year's Day", + "2004-02-01": "Eid ul-Adha (estimated)", + "2004-02-02": "Eid ul-Adha (observed, estimated)", + "2004-03-06": "Independence Day", + "2004-03-08": "Independence Day (observed)", + "2004-04-09": "Good Friday", + "2004-04-12": "Easter Monday", + "2004-05-01": "May Day", + "2004-05-03": "May Day (observed)", + "2004-11-14": "Eid ul-Fitr (estimated)", + "2004-11-15": "Eid ul-Fitr (observed, estimated)", + "2004-12-03": "Farmer's Day", + "2004-12-25": "Christmas Day", + "2004-12-26": "Boxing Day", + "2004-12-27": "Christmas Day (observed)", + "2004-12-28": "Boxing Day (observed)", + "2005-01-01": "New Year's Day", + "2005-01-03": "New Year's Day (observed)", + "2005-01-21": "Eid ul-Adha (estimated)", + "2005-03-06": "Independence Day", + "2005-03-07": "Independence Day (observed)", + "2005-03-25": "Good Friday", + "2005-03-28": "Easter Monday", + "2005-05-01": "May Day", + "2005-05-02": "May Day (observed)", + "2005-11-03": "Eid ul-Fitr (estimated)", + "2005-12-02": "Farmer's Day", + "2005-12-25": "Christmas Day", + "2005-12-26": "Boxing Day", + "2005-12-27": "Christmas Day (observed)", + "2006-01-01": "New Year's Day", + "2006-01-02": "New Year's Day (observed)", + "2006-01-10": "Eid ul-Adha (estimated)", + "2006-03-06": "Independence Day", + "2006-04-14": "Good Friday", + "2006-04-17": "Easter Monday", + "2006-05-01": "May Day", + "2006-10-23": "Eid ul-Fitr (estimated)", + "2006-12-01": "Farmer's Day", + "2006-12-25": "Christmas Day", + "2006-12-26": "Boxing Day", + "2006-12-31": "Eid ul-Adha (estimated)", + "2007-01-01": "New Year's Day", + "2007-03-06": "Independence Day", + "2007-04-06": "Good Friday", + "2007-04-09": "Easter Monday", + "2007-05-01": "May Day", + "2007-10-13": "Eid ul-Fitr (estimated)", + "2007-10-15": "Eid ul-Fitr (observed, estimated)", + "2007-12-07": "Farmer's Day", + "2007-12-20": "Eid ul-Adha (estimated)", + "2007-12-25": "Christmas Day", + "2007-12-26": "Boxing Day", + "2008-01-01": "New Year's Day", + "2008-03-06": "Independence Day", + "2008-03-21": "Good Friday", + "2008-03-24": "Easter Monday", + "2008-05-01": "May Day", + "2008-10-01": "Eid ul-Fitr (estimated)", + "2008-12-05": "Farmer's Day", + "2008-12-08": "Eid ul-Adha (estimated)", + "2008-12-25": "Christmas Day", + "2008-12-26": "Boxing Day", + "2009-01-01": "New Year's Day", + "2009-03-06": "Independence Day", + "2009-04-10": "Good Friday", + "2009-04-13": "Easter Monday", + "2009-05-01": "May Day", + "2009-09-20": "Eid ul-Fitr (estimated)", + "2009-09-21": "Eid ul-Fitr (observed, estimated); Founder's Day", + "2009-11-27": "Eid ul-Adha (estimated)", + "2009-12-04": "Farmer's Day", + "2009-12-25": "Christmas Day", + "2009-12-26": "Boxing Day", + "2009-12-28": "Boxing Day (observed)", + "2010-01-01": "New Year's Day", + "2010-03-06": "Independence Day", + "2010-03-08": "Independence Day (observed)", + "2010-04-02": "Good Friday", + "2010-04-05": "Easter Monday", + "2010-05-01": "May Day", + "2010-05-03": "May Day (observed)", + "2010-09-10": "Eid ul-Fitr (estimated)", + "2010-09-21": "Founder's Day", + "2010-11-16": "Eid ul-Adha (estimated)", + "2010-12-03": "Farmer's Day", + "2010-12-25": "Christmas Day", + "2010-12-26": "Boxing Day", + "2010-12-27": "Christmas Day (observed)", + "2010-12-28": "Boxing Day (observed)", + "2011-01-01": "New Year's Day", + "2011-01-03": "New Year's Day (observed)", + "2011-03-06": "Independence Day", + "2011-03-07": "Independence Day (observed)", + "2011-04-22": "Good Friday", + "2011-04-25": "Easter Monday", + "2011-05-01": "May Day", + "2011-05-02": "May Day (observed)", + "2011-08-30": "Eid ul-Fitr (estimated)", + "2011-09-21": "Founder's Day", + "2011-11-06": "Eid ul-Adha (estimated)", + "2011-11-07": "Eid ul-Adha (observed, estimated)", + "2011-12-02": "Farmer's Day", + "2011-12-25": "Christmas Day", + "2011-12-26": "Boxing Day", + "2011-12-27": "Christmas Day (observed)", + "2012-01-01": "New Year's Day", + "2012-01-02": "New Year's Day (observed)", + "2012-03-06": "Independence Day", + "2012-04-06": "Good Friday", + "2012-04-09": "Easter Monday", + "2012-05-01": "May Day", + "2012-08-19": "Eid ul-Fitr (estimated)", + "2012-08-20": "Eid ul-Fitr (observed, estimated)", + "2012-09-21": "Founder's Day", + "2012-10-26": "Eid ul-Adha (estimated)", + "2012-12-07": "Farmer's Day", + "2012-12-25": "Christmas Day", + "2012-12-26": "Boxing Day", + "2013-01-01": "New Year's Day", + "2013-03-06": "Independence Day", + "2013-03-29": "Good Friday", + "2013-04-01": "Easter Monday", + "2013-05-01": "May Day", + "2013-08-08": "Eid ul-Fitr (estimated)", + "2013-09-21": "Founder's Day", + "2013-09-23": "Founder's Day (observed)", + "2013-10-15": "Eid ul-Adha (estimated)", + "2013-12-06": "Farmer's Day", + "2013-12-25": "Christmas Day", + "2013-12-26": "Boxing Day", + "2014-01-01": "New Year's Day", + "2014-03-06": "Independence Day", + "2014-04-18": "Good Friday", + "2014-04-21": "Easter Monday", + "2014-05-01": "May Day", + "2014-07-28": "Eid ul-Fitr (estimated)", + "2014-09-21": "Founder's Day", + "2014-09-22": "Founder's Day (observed)", + "2014-10-04": "Eid ul-Adha (estimated)", + "2014-10-06": "Eid ul-Adha (observed, estimated)", + "2014-12-05": "Farmer's Day", + "2014-12-25": "Christmas Day", + "2014-12-26": "Boxing Day", + "2015-01-01": "New Year's Day", + "2015-03-06": "Independence Day", + "2015-04-03": "Good Friday", + "2015-04-06": "Easter Monday", + "2015-05-01": "May Day", + "2015-07-17": "Eid ul-Fitr (estimated)", + "2015-09-21": "Founder's Day", + "2015-09-23": "Eid ul-Adha (estimated)", + "2015-12-04": "Farmer's Day", + "2015-12-25": "Christmas Day", + "2015-12-26": "Boxing Day", + "2015-12-28": "Boxing Day (observed)", + "2016-01-01": "New Year's Day", + "2016-03-06": "Independence Day", + "2016-03-07": "Independence Day (observed)", + "2016-03-25": "Good Friday", + "2016-03-28": "Easter Monday", + "2016-05-01": "May Day", + "2016-05-02": "May Day (observed)", + "2016-07-06": "Eid ul-Fitr (estimated)", + "2016-09-11": "Eid ul-Adha (estimated)", + "2016-09-12": "Eid ul-Adha (observed, estimated)", + "2016-09-21": "Founder's Day", + "2016-12-02": "Farmer's Day", + "2016-12-25": "Christmas Day", + "2016-12-26": "Boxing Day", + "2016-12-27": "Christmas Day (observed)", + "2017-01-01": "New Year's Day", + "2017-01-02": "New Year's Day (observed)", + "2017-03-06": "Independence Day", + "2017-04-14": "Good Friday", + "2017-04-17": "Easter Monday", + "2017-05-01": "May Day", + "2017-06-25": "Eid ul-Fitr (estimated)", + "2017-06-26": "Eid ul-Fitr (observed, estimated)", + "2017-09-01": "Eid ul-Adha (estimated)", + "2017-09-21": "Founder's Day", + "2017-12-01": "Farmer's Day", + "2017-12-25": "Christmas Day", + "2017-12-26": "Boxing Day", + "2018-01-01": "New Year's Day", + "2018-03-06": "Independence Day", + "2018-03-30": "Good Friday", + "2018-04-02": "Easter Monday", + "2018-05-01": "May Day", + "2018-06-15": "Eid ul-Fitr (estimated)", + "2018-08-21": "Eid ul-Adha (estimated)", + "2018-09-21": "Founder's Day", + "2018-12-07": "Farmer's Day", + "2018-12-25": "Christmas Day", + "2018-12-26": "Boxing Day", + "2019-01-01": "New Year's Day", + "2019-01-07": "Constitution Day", + "2019-03-06": "Independence Day", + "2019-04-19": "Good Friday", + "2019-04-22": "Easter Monday", + "2019-05-01": "May Day", + "2019-06-04": "Eid ul-Fitr (estimated)", + "2019-08-04": "Founders' Day", + "2019-08-05": "Founders' Day (observed)", + "2019-08-11": "Eid ul-Adha (estimated)", + "2019-08-12": "Eid ul-Adha (observed, estimated)", + "2019-09-21": "Kwame Nkrumah Memorial Day", + "2019-09-23": "Kwame Nkrumah Memorial Day (observed)", + "2019-12-06": "Farmer's Day", + "2019-12-25": "Christmas Day", + "2019-12-26": "Boxing Day", + "2020-01-01": "New Year's Day", + "2020-01-07": "Constitution Day", + "2020-03-06": "Independence Day", + "2020-04-10": "Good Friday", + "2020-04-13": "Easter Monday", + "2020-05-01": "May Day", + "2020-05-24": "Eid ul-Fitr (estimated)", + "2020-05-25": "Eid ul-Fitr (observed, estimated)", + "2020-07-31": "Eid ul-Adha (estimated)", + "2020-08-04": "Founders' Day", + "2020-09-21": "Kwame Nkrumah Memorial Day", + "2020-12-04": "Farmer's Day", + "2020-12-25": "Christmas Day", + "2020-12-26": "Boxing Day", + "2020-12-28": "Boxing Day (observed)", + "2021-01-01": "New Year's Day", + "2021-01-07": "Constitution Day", + "2021-03-06": "Independence Day", + "2021-03-08": "Independence Day (observed)", + "2021-04-02": "Good Friday", + "2021-04-05": "Easter Monday", + "2021-05-01": "May Day", + "2021-05-03": "May Day (observed)", + "2021-05-13": "Eid ul-Fitr (estimated)", + "2021-07-20": "Eid ul-Adha (estimated)", + "2021-08-04": "Founders' Day", + "2021-09-21": "Kwame Nkrumah Memorial Day", + "2021-12-03": "Farmer's Day", + "2021-12-25": "Christmas Day", + "2021-12-26": "Boxing Day", + "2021-12-27": "Christmas Day (observed)", + "2021-12-28": "Boxing Day (observed)", + "2022-01-01": "New Year's Day", + "2022-01-03": "New Year's Day (observed)", + "2022-01-07": "Constitution Day", + "2022-03-06": "Independence Day", + "2022-03-07": "Independence Day (observed)", + "2022-04-15": "Good Friday", + "2022-04-18": "Easter Monday", + "2022-05-01": "May Day", + "2022-05-02": "Eid ul-Fitr (estimated); May Day (observed)", + "2022-07-09": "Eid ul-Adha (estimated)", + "2022-07-11": "Eid ul-Adha (observed, estimated)", + "2022-08-04": "Founders' Day", + "2022-09-21": "Kwame Nkrumah Memorial Day", + "2022-12-02": "Farmer's Day", + "2022-12-25": "Christmas Day", + "2022-12-26": "Boxing Day", + "2022-12-27": "Christmas Day (observed)", + "2023-01-01": "New Year's Day", + "2023-01-02": "New Year's Day (observed)", + "2023-01-07": "Constitution Day", + "2023-01-09": "Constitution Day (observed)", + "2023-03-06": "Independence Day", + "2023-04-07": "Good Friday", + "2023-04-10": "Easter Monday", + "2023-04-21": "Eid ul-Fitr (estimated)", + "2023-05-01": "May Day", + "2023-06-28": "Eid ul-Adha (estimated)", + "2023-08-04": "Founders' Day", + "2023-09-21": "Kwame Nkrumah Memorial Day", + "2023-12-01": "Farmer's Day", + "2023-12-25": "Christmas Day", + "2023-12-26": "Boxing Day", + "2024-01-01": "New Year's Day", + "2024-01-07": "Constitution Day", + "2024-01-08": "Constitution Day (observed)", + "2024-03-06": "Independence Day", + "2024-03-29": "Good Friday", + "2024-04-01": "Easter Monday", + "2024-04-10": "Eid ul-Fitr (estimated)", + "2024-05-01": "May Day", + "2024-06-16": "Eid ul-Adha (estimated)", + "2024-06-17": "Eid ul-Adha (observed, estimated)", + "2024-08-04": "Founders' Day", + "2024-08-05": "Founders' Day (observed)", + "2024-09-21": "Kwame Nkrumah Memorial Day", + "2024-09-23": "Kwame Nkrumah Memorial Day (observed)", + "2024-12-06": "Farmer's Day", + "2024-12-25": "Christmas Day", + "2024-12-26": "Boxing Day", + "2025-01-01": "New Year's Day", + "2025-01-07": "Constitution Day", + "2025-03-06": "Independence Day", + "2025-03-30": "Eid ul-Fitr (estimated)", + "2025-03-31": "Eid ul-Fitr (observed, estimated)", + "2025-04-18": "Good Friday", + "2025-04-21": "Easter Monday", + "2025-05-01": "May Day", + "2025-06-06": "Eid ul-Adha (estimated)", + "2025-08-04": "Founders' Day", + "2025-09-21": "Kwame Nkrumah Memorial Day", + "2025-09-22": "Kwame Nkrumah Memorial Day (observed)", + "2025-12-05": "Farmer's Day", + "2025-12-25": "Christmas Day", + "2025-12-26": "Boxing Day", + "2026-01-01": "New Year's Day", + "2026-01-07": "Constitution Day", + "2026-03-06": "Independence Day", + "2026-03-20": "Eid ul-Fitr (estimated)", + "2026-04-03": "Good Friday", + "2026-04-06": "Easter Monday", + "2026-05-01": "May Day", + "2026-05-27": "Eid ul-Adha (estimated)", + "2026-08-04": "Founders' Day", + "2026-09-21": "Kwame Nkrumah Memorial Day", + "2026-12-04": "Farmer's Day", + "2026-12-25": "Christmas Day", + "2026-12-26": "Boxing Day", + "2026-12-28": "Boxing Day (observed)", + "2027-01-01": "New Year's Day", + "2027-01-07": "Constitution Day", + "2027-03-06": "Independence Day", + "2027-03-08": "Independence Day (observed)", + "2027-03-09": "Eid ul-Fitr (estimated)", + "2027-03-26": "Good Friday", + "2027-03-29": "Easter Monday", + "2027-05-01": "May Day", + "2027-05-03": "May Day (observed)", + "2027-05-16": "Eid ul-Adha (estimated)", + "2027-05-17": "Eid ul-Adha (observed, estimated)", + "2027-08-04": "Founders' Day", + "2027-09-21": "Kwame Nkrumah Memorial Day", + "2027-12-03": "Farmer's Day", + "2027-12-25": "Christmas Day", + "2027-12-26": "Boxing Day", + "2027-12-27": "Christmas Day (observed)", + "2027-12-28": "Boxing Day (observed)", + "2028-01-01": "New Year's Day", + "2028-01-03": "New Year's Day (observed)", + "2028-01-07": "Constitution Day", + "2028-02-26": "Eid ul-Fitr (estimated)", + "2028-02-28": "Eid ul-Fitr (observed, estimated)", + "2028-03-06": "Independence Day", + "2028-04-14": "Good Friday", + "2028-04-17": "Easter Monday", + "2028-05-01": "May Day", + "2028-05-05": "Eid ul-Adha (estimated)", + "2028-08-04": "Founders' Day", + "2028-09-21": "Kwame Nkrumah Memorial Day", + "2028-12-01": "Farmer's Day", + "2028-12-25": "Christmas Day", + "2028-12-26": "Boxing Day", + "2029-01-01": "New Year's Day", + "2029-01-07": "Constitution Day", + "2029-01-08": "Constitution Day (observed)", + "2029-02-14": "Eid ul-Fitr (estimated)", + "2029-03-06": "Independence Day", + "2029-03-30": "Good Friday", + "2029-04-02": "Easter Monday", + "2029-04-24": "Eid ul-Adha (estimated)", + "2029-05-01": "May Day", + "2029-08-04": "Founders' Day", + "2029-08-06": "Founders' Day (observed)", + "2029-09-21": "Kwame Nkrumah Memorial Day", + "2029-12-07": "Farmer's Day", + "2029-12-25": "Christmas Day", + "2029-12-26": "Boxing Day", + "2030-01-01": "New Year's Day", + "2030-01-07": "Constitution Day", + "2030-02-04": "Eid ul-Fitr (estimated)", + "2030-03-06": "Independence Day", + "2030-04-13": "Eid ul-Adha (estimated)", + "2030-04-15": "Eid ul-Adha (observed, estimated)", + "2030-04-19": "Good Friday", + "2030-04-22": "Easter Monday", + "2030-05-01": "May Day", + "2030-08-04": "Founders' Day", + "2030-08-05": "Founders' Day (observed)", + "2030-09-21": "Kwame Nkrumah Memorial Day", + "2030-09-23": "Kwame Nkrumah Memorial Day (observed)", + "2030-12-06": "Farmer's Day", + "2030-12-25": "Christmas Day", + "2030-12-26": "Boxing Day", + "2031-01-01": "New Year's Day", + "2031-01-07": "Constitution Day", + "2031-01-24": "Eid ul-Fitr (estimated)", + "2031-03-06": "Independence Day", + "2031-04-02": "Eid ul-Adha (estimated)", + "2031-04-11": "Good Friday", + "2031-04-14": "Easter Monday", + "2031-05-01": "May Day", + "2031-08-04": "Founders' Day", + "2031-09-21": "Kwame Nkrumah Memorial Day", + "2031-09-22": "Kwame Nkrumah Memorial Day (observed)", + "2031-12-05": "Farmer's Day", + "2031-12-25": "Christmas Day", + "2031-12-26": "Boxing Day", + "2032-01-01": "New Year's Day", + "2032-01-07": "Constitution Day", + "2032-01-14": "Eid ul-Fitr (estimated)", + "2032-03-06": "Independence Day", + "2032-03-08": "Independence Day (observed)", + "2032-03-22": "Eid ul-Adha (estimated)", + "2032-03-26": "Good Friday", + "2032-03-29": "Easter Monday", + "2032-05-01": "May Day", + "2032-05-03": "May Day (observed)", + "2032-08-04": "Founders' Day", + "2032-09-21": "Kwame Nkrumah Memorial Day", + "2032-12-03": "Farmer's Day", + "2032-12-25": "Christmas Day", + "2032-12-26": "Boxing Day", + "2032-12-27": "Christmas Day (observed)", + "2032-12-28": "Boxing Day (observed)", + "2033-01-01": "New Year's Day", + "2033-01-02": "Eid ul-Fitr (estimated)", + "2033-01-03": "Eid ul-Fitr (observed, estimated); New Year's Day (observed)", + "2033-01-07": "Constitution Day", + "2033-03-06": "Independence Day", + "2033-03-07": "Independence Day (observed)", + "2033-03-11": "Eid ul-Adha (estimated)", + "2033-04-15": "Good Friday", + "2033-04-18": "Easter Monday", + "2033-05-01": "May Day", + "2033-05-02": "May Day (observed)", + "2033-08-04": "Founders' Day", + "2033-09-21": "Kwame Nkrumah Memorial Day", + "2033-12-02": "Farmer's Day", + "2033-12-23": "Eid ul-Fitr (estimated)", + "2033-12-25": "Christmas Day", + "2033-12-26": "Boxing Day", + "2033-12-27": "Christmas Day (observed)", + "2034-01-01": "New Year's Day", + "2034-01-02": "New Year's Day (observed)", + "2034-01-07": "Constitution Day", + "2034-01-09": "Constitution Day (observed)", + "2034-03-01": "Eid ul-Adha (estimated)", + "2034-03-06": "Independence Day", + "2034-04-07": "Good Friday", + "2034-04-10": "Easter Monday", + "2034-05-01": "May Day", + "2034-08-04": "Founders' Day", + "2034-09-21": "Kwame Nkrumah Memorial Day", + "2034-12-01": "Farmer's Day", + "2034-12-12": "Eid ul-Fitr (estimated)", + "2034-12-25": "Christmas Day", + "2034-12-26": "Boxing Day", + "2035-01-01": "New Year's Day", + "2035-01-07": "Constitution Day", + "2035-01-08": "Constitution Day (observed)", + "2035-02-18": "Eid ul-Adha (estimated)", + "2035-02-19": "Eid ul-Adha (observed, estimated)", + "2035-03-06": "Independence Day", + "2035-03-23": "Good Friday", + "2035-03-26": "Easter Monday", + "2035-05-01": "May Day", + "2035-08-04": "Founders' Day", + "2035-08-06": "Founders' Day (observed)", + "2035-09-21": "Kwame Nkrumah Memorial Day", + "2035-12-01": "Eid ul-Fitr (estimated)", + "2035-12-03": "Eid ul-Fitr (observed, estimated)", + "2035-12-07": "Farmer's Day", + "2035-12-25": "Christmas Day", + "2035-12-26": "Boxing Day", + "2036-01-01": "New Year's Day", + "2036-01-07": "Constitution Day", + "2036-02-07": "Eid ul-Adha (estimated)", + "2036-03-06": "Independence Day", + "2036-04-11": "Good Friday", + "2036-04-14": "Easter Monday", + "2036-05-01": "May Day", + "2036-08-04": "Founders' Day", + "2036-09-21": "Kwame Nkrumah Memorial Day", + "2036-09-22": "Kwame Nkrumah Memorial Day (observed)", + "2036-11-19": "Eid ul-Fitr (estimated)", + "2036-12-05": "Farmer's Day", + "2036-12-25": "Christmas Day", + "2036-12-26": "Boxing Day", + "2037-01-01": "New Year's Day", + "2037-01-07": "Constitution Day", + "2037-01-26": "Eid ul-Adha (estimated)", + "2037-03-06": "Independence Day", + "2037-04-03": "Good Friday", + "2037-04-06": "Easter Monday", + "2037-05-01": "May Day", + "2037-08-04": "Founders' Day", + "2037-09-21": "Kwame Nkrumah Memorial Day", + "2037-11-08": "Eid ul-Fitr (estimated)", + "2037-11-09": "Eid ul-Fitr (observed, estimated)", + "2037-12-04": "Farmer's Day", + "2037-12-25": "Christmas Day", + "2037-12-26": "Boxing Day", + "2037-12-28": "Boxing Day (observed)", + "2038-01-01": "New Year's Day", + "2038-01-07": "Constitution Day", + "2038-01-16": "Eid ul-Adha (estimated)", + "2038-01-18": "Eid ul-Adha (observed, estimated)", + "2038-03-06": "Independence Day", + "2038-03-08": "Independence Day (observed)", + "2038-04-23": "Good Friday", + "2038-04-26": "Easter Monday", + "2038-05-01": "May Day", + "2038-05-03": "May Day (observed)", + "2038-08-04": "Founders' Day", + "2038-09-21": "Kwame Nkrumah Memorial Day", + "2038-10-29": "Eid ul-Fitr (estimated)", + "2038-12-03": "Farmer's Day", + "2038-12-25": "Christmas Day", + "2038-12-26": "Boxing Day", + "2038-12-27": "Christmas Day (observed)", + "2038-12-28": "Boxing Day (observed)", + "2039-01-01": "New Year's Day", + "2039-01-03": "New Year's Day (observed)", + "2039-01-05": "Eid ul-Adha (estimated)", + "2039-01-07": "Constitution Day", + "2039-03-06": "Independence Day", + "2039-03-07": "Independence Day (observed)", + "2039-04-08": "Good Friday", + "2039-04-11": "Easter Monday", + "2039-05-01": "May Day", + "2039-05-02": "May Day (observed)", + "2039-08-04": "Founders' Day", + "2039-09-21": "Kwame Nkrumah Memorial Day", + "2039-10-19": "Eid ul-Fitr (estimated)", + "2039-12-02": "Farmer's Day", + "2039-12-25": "Christmas Day", + "2039-12-26": "Boxing Day; Eid ul-Adha (estimated)", + "2039-12-27": "Christmas Day (observed)", + "2040-01-01": "New Year's Day", + "2040-01-02": "New Year's Day (observed)", + "2040-01-07": "Constitution Day", + "2040-01-09": "Constitution Day (observed)", + "2040-03-06": "Independence Day", + "2040-03-30": "Good Friday", + "2040-04-02": "Easter Monday", + "2040-05-01": "May Day", + "2040-08-04": "Founders' Day", + "2040-08-06": "Founders' Day (observed)", + "2040-09-21": "Kwame Nkrumah Memorial Day", + "2040-10-07": "Eid ul-Fitr (estimated)", + "2040-10-08": "Eid ul-Fitr (observed, estimated)", + "2040-12-07": "Farmer's Day", + "2040-12-14": "Eid ul-Adha (estimated)", + "2040-12-25": "Christmas Day", + "2040-12-26": "Boxing Day", + "2041-01-01": "New Year's Day", + "2041-01-07": "Constitution Day", + "2041-03-06": "Independence Day", + "2041-04-19": "Good Friday", + "2041-04-22": "Easter Monday", + "2041-05-01": "May Day", + "2041-08-04": "Founders' Day", + "2041-08-05": "Founders' Day (observed)", + "2041-09-21": "Kwame Nkrumah Memorial Day", + "2041-09-23": "Kwame Nkrumah Memorial Day (observed)", + "2041-09-26": "Eid ul-Fitr (estimated)", + "2041-12-04": "Eid ul-Adha (estimated)", + "2041-12-06": "Farmer's Day", + "2041-12-25": "Christmas Day", + "2041-12-26": "Boxing Day", + "2042-01-01": "New Year's Day", + "2042-01-07": "Constitution Day", + "2042-03-06": "Independence Day", + "2042-04-04": "Good Friday", + "2042-04-07": "Easter Monday", + "2042-05-01": "May Day", + "2042-08-04": "Founders' Day", + "2042-09-15": "Eid ul-Fitr (estimated)", + "2042-09-21": "Kwame Nkrumah Memorial Day", + "2042-09-22": "Kwame Nkrumah Memorial Day (observed)", + "2042-11-23": "Eid ul-Adha (estimated)", + "2042-11-24": "Eid ul-Adha (observed, estimated)", + "2042-12-05": "Farmer's Day", + "2042-12-25": "Christmas Day", + "2042-12-26": "Boxing Day", + "2043-01-01": "New Year's Day", + "2043-01-07": "Constitution Day", + "2043-03-06": "Independence Day", + "2043-03-27": "Good Friday", + "2043-03-30": "Easter Monday", + "2043-05-01": "May Day", + "2043-08-04": "Founders' Day", + "2043-09-04": "Eid ul-Fitr (estimated)", + "2043-09-21": "Kwame Nkrumah Memorial Day", + "2043-11-12": "Eid ul-Adha (estimated)", + "2043-12-04": "Farmer's Day", + "2043-12-25": "Christmas Day", + "2043-12-26": "Boxing Day", + "2043-12-28": "Boxing Day (observed)", + "2044-01-01": "New Year's Day", + "2044-01-07": "Constitution Day", + "2044-03-06": "Independence Day", + "2044-03-07": "Independence Day (observed)", + "2044-04-15": "Good Friday", + "2044-04-18": "Easter Monday", + "2044-05-01": "May Day", + "2044-05-02": "May Day (observed)", + "2044-08-04": "Founders' Day", + "2044-08-24": "Eid ul-Fitr (estimated)", + "2044-09-21": "Kwame Nkrumah Memorial Day", + "2044-10-31": "Eid ul-Adha (estimated)", + "2044-12-02": "Farmer's Day", + "2044-12-25": "Christmas Day", + "2044-12-26": "Boxing Day", + "2044-12-27": "Christmas Day (observed)", + "2045-01-01": "New Year's Day", + "2045-01-02": "New Year's Day (observed)", + "2045-01-07": "Constitution Day", + "2045-01-09": "Constitution Day (observed)", + "2045-03-06": "Independence Day", + "2045-04-07": "Good Friday", + "2045-04-10": "Easter Monday", + "2045-05-01": "May Day", + "2045-08-04": "Founders' Day", + "2045-08-14": "Eid ul-Fitr (estimated)", + "2045-09-21": "Kwame Nkrumah Memorial Day", + "2045-10-21": "Eid ul-Adha (estimated)", + "2045-10-23": "Eid ul-Adha (observed, estimated)", + "2045-12-01": "Farmer's Day", + "2045-12-25": "Christmas Day", + "2045-12-26": "Boxing Day", + "2046-01-01": "New Year's Day", + "2046-01-07": "Constitution Day", + "2046-01-08": "Constitution Day (observed)", + "2046-03-06": "Independence Day", + "2046-03-23": "Good Friday", + "2046-03-26": "Easter Monday", + "2046-05-01": "May Day", + "2046-08-03": "Eid ul-Fitr (estimated)", + "2046-08-04": "Founders' Day", + "2046-08-06": "Founders' Day (observed)", + "2046-09-21": "Kwame Nkrumah Memorial Day", + "2046-10-10": "Eid ul-Adha (estimated)", + "2046-12-07": "Farmer's Day", + "2046-12-25": "Christmas Day", + "2046-12-26": "Boxing Day", + "2047-01-01": "New Year's Day", + "2047-01-07": "Constitution Day", + "2047-03-06": "Independence Day", + "2047-04-12": "Good Friday", + "2047-04-15": "Easter Monday", + "2047-05-01": "May Day", + "2047-07-24": "Eid ul-Fitr (estimated)", + "2047-08-04": "Founders' Day", + "2047-08-05": "Founders' Day (observed)", + "2047-09-21": "Kwame Nkrumah Memorial Day", + "2047-09-23": "Kwame Nkrumah Memorial Day (observed)", + "2047-09-30": "Eid ul-Adha (estimated)", + "2047-12-06": "Farmer's Day", + "2047-12-25": "Christmas Day", + "2047-12-26": "Boxing Day", + "2048-01-01": "New Year's Day", + "2048-01-07": "Constitution Day", + "2048-03-06": "Independence Day", + "2048-04-03": "Good Friday", + "2048-04-06": "Easter Monday", + "2048-05-01": "May Day", + "2048-07-12": "Eid ul-Fitr (estimated)", + "2048-07-13": "Eid ul-Fitr (observed, estimated)", + "2048-08-04": "Founders' Day", + "2048-09-19": "Eid ul-Adha (estimated)", + "2048-09-21": "Eid ul-Adha (observed, estimated); Kwame Nkrumah Memorial Day", + "2048-12-04": "Farmer's Day", + "2048-12-25": "Christmas Day", + "2048-12-26": "Boxing Day", + "2048-12-28": "Boxing Day (observed)", + "2049-01-01": "New Year's Day", + "2049-01-07": "Constitution Day", + "2049-03-06": "Independence Day", + "2049-03-08": "Independence Day (observed)", + "2049-04-16": "Good Friday", + "2049-04-19": "Easter Monday", + "2049-05-01": "May Day", + "2049-05-03": "May Day (observed)", + "2049-07-01": "Eid ul-Fitr (estimated)", + "2049-08-04": "Founders' Day", + "2049-09-08": "Eid ul-Adha (estimated)", + "2049-09-21": "Kwame Nkrumah Memorial Day", + "2049-12-03": "Farmer's Day", + "2049-12-25": "Christmas Day", + "2049-12-26": "Boxing Day", + "2049-12-27": "Christmas Day (observed)", + "2049-12-28": "Boxing Day (observed)", + "2050-01-01": "New Year's Day", + "2050-01-03": "New Year's Day (observed)", + "2050-01-07": "Constitution Day", + "2050-03-06": "Independence Day", + "2050-03-07": "Independence Day (observed)", + "2050-04-08": "Good Friday", + "2050-04-11": "Easter Monday", + "2050-05-01": "May Day", + "2050-05-02": "May Day (observed)", + "2050-06-20": "Eid ul-Fitr (estimated)", + "2050-08-04": "Founders' Day", + "2050-08-28": "Eid ul-Adha (estimated)", + "2050-08-29": "Eid ul-Adha (observed, estimated)", + "2050-09-21": "Kwame Nkrumah Memorial Day", + "2050-12-02": "Farmer's Day", + "2050-12-25": "Christmas Day", + "2050-12-26": "Boxing Day", + "2050-12-27": "Christmas Day (observed)" +} diff --git a/tests/countries/test_ghana.py b/tests/countries/test_ghana.py index f5afd852a..fc5f904ea 100644 --- a/tests/countries/test_ghana.py +++ b/tests/countries/test_ghana.py @@ -95,7 +95,7 @@ def test_2024(self): ("2024-05-01", "May Day"), ("2024-04-10", "Eid ul-Fitr (estimated)"), ("2024-06-16", "Eid ul-Adha (estimated)"), - ("2024-06-17", "Eid ul-Adha (estimated) (observed)"), + ("2024-06-17", "Eid ul-Adha (observed, estimated)"), ("2024-08-04", "Founders' Day"), ("2024-08-05", "Founders' Day (observed)"), ("2024-09-21", "Kwame Nkrumah Memorial Day"),