From 72a45f4358dfa90ab5141267e3050f8ff06b758f Mon Sep 17 00:00:00 2001 From: Arkadii Yakovets Date: Thu, 25 Jan 2024 08:41:59 -0800 Subject: [PATCH 1/3] Use current version for release notes generation (#1661) --- RELEASE.rst | 3 +-- scripts/generate_release_notes.py | 22 ++++++++++------------ 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/RELEASE.rst b/RELEASE.rst index 5e5fffdd4..f327210d2 100644 --- a/RELEASE.rst +++ b/RELEASE.rst @@ -6,8 +6,7 @@ How to release a new version of Python Holidays - switch to ``beta`` branch and pull the most recent changes from https://github.com/vacanza/python-holidays remote ``beta`` branch. - generate release notes by running the following script - ``scripts/generate_release_notes.py -t ``, where is the - value of tag/version you're going to release, e.g. 0.39 + ``scripts/generate_release_notes.py`` - insert the script's output into the top of ``CHANGES`` file (see previous release notes for consistent formatting) - commit the updated ``CHANGES`` file to ``beta`` branch with the following diff --git a/scripts/generate_release_notes.py b/scripts/generate_release_notes.py index c8ff8a770..d163be59e 100755 --- a/scripts/generate_release_notes.py +++ b/scripts/generate_release_notes.py @@ -14,8 +14,8 @@ # flake8: noqa: T201 import argparse -import os import re +import sys from datetime import date from pathlib import Path from typing import Dict, Set @@ -24,6 +24,9 @@ from github import Github from github.GithubException import UnknownObjectException +sys.path.append(f"{Path.cwd()}") +import holidays + BRANCH_NAME = "beta" HEADER_TEMPLATE = """ Version {version} @@ -39,7 +42,7 @@ class ReleaseNotesGenerator: """ Generates release notes based on local git commits and GitHub PRs metadata. - Usage example: scripts/generate_release_notes.py -t 0.24 + Usage example: scripts/generate_release_notes.py """ def __init__(self) -> None: @@ -69,13 +72,6 @@ def __init__(self) -> None: nargs="+", type=int, ) - arg_parser.add_argument( - "-t", - "--tag", - help="New release tag", - required=True, - type=str, - ) arg_parser.add_argument( "-v", "--verbose", @@ -85,12 +81,14 @@ def __init__(self) -> None: ) self.args = arg_parser.parse_args() - self.local_repo = Repo(os.getcwd()) + self.local_repo = Repo(Path.cwd()) self.remote_repo = Github(self.github_token).get_repo(REPOSITORY_NAME) self.previous_commits: Set[str] = set() self.pull_requests: Dict[int, str] = {} + self.tag = holidays.__version__ + try: latest_tag = self.remote_repo.get_tags()[0] self.latest_tag_name = latest_tag.name @@ -146,7 +144,7 @@ def add_pull_request(self, pull_request): # Skip failed release attempt PRs, version upgrades. pr_title = pull_request.title - skip_titles = (f"v.{self.args.tag}", "Bump", "Revert") + skip_titles = (f"v.{self.tag}", "Bump", "Revert") for skip_title in skip_titles: if pr_title.startswith(skip_title): return None @@ -246,7 +244,7 @@ def print_release_notes(self): HEADER_TEMPLATE.format( day=today.day, month=today.strftime("%B"), - version=self.args.tag, + version=self.tag, year=today.year, ) ) From 08e3dc7ff55354425768c98939a8a9289ce00c57 Mon Sep 17 00:00:00 2001 From: Jerry Agbesi <52638746+JerryAgbesi@users.noreply.github.com> Date: Fri, 26 Jan 2024 17:28:43 +0000 Subject: [PATCH 2/3] Add Ghana holidays (#1639) Co-authored-by: Arkadii Yakovets --- README.rst | 7 +- holidays/countries/__init__.py | 1 + holidays/countries/ghana.py | 97 +++ holidays/registry.py | 1 + snapshots/countries/GH_COMMON.json | 1265 ++++++++++++++++++++++++++++ tests/countries/test_ghana.py | 106 +++ 6 files changed, 1476 insertions(+), 1 deletion(-) create mode 100644 holidays/countries/ghana.py create mode 100644 snapshots/countries/GH_COMMON.json create mode 100644 tests/countries/test_ghana.py diff --git a/README.rst b/README.rst index 4de054d05..b730a95f3 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 + - + - + - * - Greece - GR - 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 new file mode 100644 index 000000000..453920a25 --- /dev/null +++ b/holidays/countries/ghana.py @@ -0,0 +1,97 @@ +# 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.groups import ChristianHolidays, InternationalHolidays, IslamicHolidays +from holidays.observed_holiday_base import ( + ObservedHolidayBase, + SAT_SUN_TO_NEXT_MON, + SAT_SUN_TO_NEXT_MON_TUE, +) + + +class Ghana(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, IslamicHolidays): + """ + https://www.mint.gov.gh/statutory-public-holidays/ + https://en.wikipedia.org/wiki/Public_holidays_in_Ghana + """ + + country = "GH" + estimated_label = "%s (estimated)" + observed_label = "%s (observed)" + observed_estimated_label = "%s (observed, estimated)" + + def __init__(self, *args, **kwargs): + ChristianHolidays.__init__(self) + InternationalHolidays.__init__(self) + IslamicHolidays.__init__(self) + kwargs.setdefault("observed_rule", SAT_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_good_friday("Good Friday") + + # Easter Monday + self._add_easter_monday("Easter Monday") + + # May Day(Workers' Day) + self._add_observed(self._add_labor_day("May Day")) + + # Eid al-Fitr + for dt in self._add_eid_al_fitr_day("Eid ul-Fitr"): + self._add_observed(dt) + + # Eid al-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 / 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_holiday_1st_fri_of_dec("Farmer's 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"), rule=SAT_SUN_TO_NEXT_MON_TUE) + + +class GH(Ghana): + pass + + +class GHA(Ghana): + pass 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"), 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 new file mode 100644 index 000000000..fc5f904ea --- /dev/null +++ b/tests/countries/test_ghana.py @@ -0,0 +1,106 @@ +# 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 unittest import TestCase + +from holidays.countries.ghana import Ghana, GH, GHA +from tests.common import CommonCountryTests + + +class TestGhana(CommonCountryTests, TestCase): + @classmethod + def setUpClass(cls): + super().setUpClass(Ghana, years=range(1957, 2050)) + + def test_country_aliases(self): + 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", + ) + + 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-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"), + ) From 4ce81469e88b20c8d21ec23b407ffce2bc5af54c Mon Sep 17 00:00:00 2001 From: ~Jhellico Date: Fri, 26 Jan 2024 20:48:28 +0200 Subject: [PATCH 3/3] Update Greece holidays (#1663) Co-authored-by: Arkadii Yakovets --- holidays/countries/greece.py | 20 ++++++++++++++------ holidays/locale/el/LC_MESSAGES/GR.po | 6 +++--- holidays/locale/en_US/LC_MESSAGES/GR.po | 10 +++++----- holidays/locale/uk/LC_MESSAGES/GR.po | 6 +++--- snapshots/countries/GR_COMMON.json | 19 ------------------- tests/countries/test_greece.py | 14 ++++++-------- 6 files changed, 31 insertions(+), 44 deletions(-) diff --git a/holidays/countries/greece.py b/holidays/countries/greece.py index ee3d08710..235ecb8f3 100644 --- a/holidays/countries/greece.py +++ b/holidays/countries/greece.py @@ -14,7 +14,11 @@ from holidays.calendars.julian_revised import JULIAN_REVISED_CALENDAR from holidays.constants import HALF_DAY, PUBLIC from holidays.groups import ChristianHolidays, InternationalHolidays -from holidays.observed_holiday_base import ObservedHolidayBase, SAT_SUN_TO_NEXT_WORKDAY +from holidays.observed_holiday_base import ( + ObservedHolidayBase, + MON_TO_NEXT_TUE, + SAT_SUN_TO_NEXT_WORKDAY, +) class Greece(ObservedHolidayBase, ChristianHolidays, InternationalHolidays): @@ -36,6 +40,7 @@ def __init__(self, *args, **kwargs): ChristianHolidays.__init__(self, JULIAN_REVISED_CALENDAR) InternationalHolidays.__init__(self) kwargs.setdefault("observed_rule", SAT_SUN_TO_NEXT_WORKDAY) + kwargs.setdefault("observed_since", 2017) super().__init__(*args, **kwargs) def _populate_public_holidays(self): @@ -45,7 +50,7 @@ def _populate_public_holidays(self): # Epiphany. self._add_epiphany_day(tr("Θεοφάνεια")) - # Clean Monday. + # Green Monday. self._add_ash_monday(tr("Καθαρά Δευτέρα")) # Independence Day. @@ -55,13 +60,16 @@ def _populate_public_holidays(self): self._add_good_friday(tr("Μεγάλη Παρασκευή")) # Easter Monday. - self._add_easter_monday(tr("Δευτέρα του Πάσχα")) + easter_monday = self._add_easter_monday(tr("Δευτέρα του Πάσχα")) - # Monday of the Holy Spirit. + # Whit Monday. self._add_whit_monday(tr("Δευτέρα του Αγίου Πνεύματος")) - # Labour Day. - self._add_observed(self._add_labor_day(self.tr("Εργατική Πρωτομαγιά"))) + self._add_observed( + # Labor Day. + may_1 := self._add_labor_day(self.tr("Εργατική Πρωτομαγιά")), + rule=MON_TO_NEXT_TUE if may_1 == easter_monday else SAT_SUN_TO_NEXT_WORKDAY, + ) # Dormition of the Mother of God. self._add_assumption_of_mary_day(tr("Κοίμηση της Θεοτόκου")) diff --git a/holidays/locale/el/LC_MESSAGES/GR.po b/holidays/locale/el/LC_MESSAGES/GR.po index e53c504db..53577458a 100644 --- a/holidays/locale/el/LC_MESSAGES/GR.po +++ b/holidays/locale/el/LC_MESSAGES/GR.po @@ -24,7 +24,7 @@ msgstr "" msgid "Θεοφάνεια" msgstr "" -#. Clean Monday. +#. Green Monday. msgid "Καθαρά Δευτέρα" msgstr "" @@ -40,11 +40,11 @@ msgstr "" msgid "Δευτέρα του Πάσχα" msgstr "" -#. Monday of the Holy Spirit. +#. Whit Monday. msgid "Δευτέρα του Αγίου Πνεύματος" msgstr "" -#. Labour Day. +#. Labor Day. msgid "Εργατική Πρωτομαγιά" msgstr "" diff --git a/holidays/locale/en_US/LC_MESSAGES/GR.po b/holidays/locale/en_US/LC_MESSAGES/GR.po index 6ac99caa9..6224ea9ba 100644 --- a/holidays/locale/en_US/LC_MESSAGES/GR.po +++ b/holidays/locale/en_US/LC_MESSAGES/GR.po @@ -24,9 +24,9 @@ msgstr "New Year's Day" msgid "Θεοφάνεια" msgstr "Epiphany" -#. Clean Monday. +#. Green Monday. msgid "Καθαρά Δευτέρα" -msgstr "Clean Monday" +msgstr "Green Monday" #. Independence Day. msgid "Εικοστή Πέμπτη Μαρτίου" @@ -40,11 +40,11 @@ msgstr "Good Friday" msgid "Δευτέρα του Πάσχα" msgstr "Easter Monday" -#. Monday of the Holy Spirit. +#. Whit Monday. msgid "Δευτέρα του Αγίου Πνεύματος" -msgstr "Easter Monday" +msgstr "Whit Monday" -#. Labour Day. +#. Labor Day. msgid "Εργατική Πρωτομαγιά" msgstr "Labor Day" diff --git a/holidays/locale/uk/LC_MESSAGES/GR.po b/holidays/locale/uk/LC_MESSAGES/GR.po index 0599de088..a0bea19c1 100644 --- a/holidays/locale/uk/LC_MESSAGES/GR.po +++ b/holidays/locale/uk/LC_MESSAGES/GR.po @@ -24,7 +24,7 @@ msgstr "Новий рік" msgid "Θεοφάνεια" msgstr "Богоявлення" -#. Clean Monday. +#. Green Monday. msgid "Καθαρά Δευτέρα" msgstr "Чистий понеділок" @@ -40,11 +40,11 @@ msgstr "Страсна пʼятниця" msgid "Δευτέρα του Πάσχα" msgstr "Великодній понеділок" -#. Monday of the Holy Spirit. +#. Whit Monday. msgid "Δευτέρα του Αγίου Πνεύματος" msgstr "День Святого Духа" -#. Labour Day. +#. Labor Day. msgid "Εργατική Πρωτομαγιά" msgstr "День праці" diff --git a/snapshots/countries/GR_COMMON.json b/snapshots/countries/GR_COMMON.json index 886c44b08..bdc68a976 100644 --- a/snapshots/countries/GR_COMMON.json +++ b/snapshots/countries/GR_COMMON.json @@ -62,7 +62,6 @@ "1954-04-23": "Good Friday", "1954-04-26": "Easter Monday", "1954-05-01": "Labor Day", - "1954-05-03": "Labor Day (observed)", "1954-06-14": "Easter Monday", "1954-08-15": "Dormition of the Mother of God", "1954-10-28": "Ochi Day", @@ -77,7 +76,6 @@ "1955-04-15": "Good Friday", "1955-04-18": "Easter Monday", "1955-05-01": "Labor Day", - "1955-05-02": "Labor Day (observed)", "1955-06-06": "Easter Monday", "1955-08-15": "Dormition of the Mother of God", "1955-10-28": "Ochi Day", @@ -147,7 +145,6 @@ "1960-04-15": "Good Friday", "1960-04-18": "Easter Monday", "1960-05-01": "Labor Day", - "1960-05-02": "Labor Day (observed)", "1960-06-06": "Easter Monday", "1960-08-15": "Dormition of the Mother of God", "1960-10-28": "Ochi Day", @@ -217,7 +214,6 @@ "1965-04-23": "Good Friday", "1965-04-26": "Easter Monday", "1965-05-01": "Labor Day", - "1965-05-03": "Labor Day (observed)", "1965-06-14": "Easter Monday", "1965-08-15": "Dormition of the Mother of God", "1965-10-28": "Ochi Day", @@ -232,7 +228,6 @@ "1966-04-08": "Good Friday", "1966-04-11": "Easter Monday", "1966-05-01": "Labor Day", - "1966-05-02": "Labor Day (observed)", "1966-05-30": "Easter Monday", "1966-08-15": "Dormition of the Mother of God", "1966-10-28": "Ochi Day", @@ -302,7 +297,6 @@ "1971-04-16": "Good Friday", "1971-04-19": "Easter Monday", "1971-05-01": "Labor Day", - "1971-05-03": "Labor Day (observed)", "1971-06-07": "Easter Monday", "1971-08-15": "Dormition of the Mother of God", "1971-10-28": "Ochi Day", @@ -373,7 +367,6 @@ "1976-04-23": "Good Friday", "1976-04-26": "Easter Monday", "1976-05-01": "Labor Day", - "1976-05-03": "Labor Day (observed)", "1976-06-14": "Easter Monday", "1976-08-15": "Dormition of the Mother of God", "1976-10-28": "Ochi Day", @@ -388,7 +381,6 @@ "1977-04-08": "Good Friday", "1977-04-11": "Easter Monday", "1977-05-01": "Labor Day", - "1977-05-02": "Labor Day (observed)", "1977-05-30": "Easter Monday", "1977-08-15": "Dormition of the Mother of God", "1977-10-28": "Ochi Day", @@ -458,7 +450,6 @@ "1982-04-16": "Good Friday", "1982-04-19": "Easter Monday", "1982-05-01": "Labor Day", - "1982-05-03": "Labor Day (observed)", "1982-06-07": "Easter Monday", "1982-08-15": "Dormition of the Mother of God", "1982-10-28": "Ochi Day", @@ -471,7 +462,6 @@ "1983-03-21": "Clean Monday", "1983-03-25": "Independence Day", "1983-05-01": "Labor Day", - "1983-05-02": "Labor Day (observed)", "1983-05-06": "Good Friday", "1983-05-09": "Easter Monday", "1983-06-27": "Easter Monday", @@ -544,7 +534,6 @@ "1988-04-08": "Good Friday", "1988-04-11": "Easter Monday", "1988-05-01": "Labor Day", - "1988-05-02": "Labor Day (observed)", "1988-05-30": "Easter Monday", "1988-08-15": "Dormition of the Mother of God", "1988-10-28": "Ochi Day", @@ -614,7 +603,6 @@ "1993-04-16": "Good Friday", "1993-04-19": "Easter Monday", "1993-05-01": "Labor Day", - "1993-05-03": "Labor Day (observed)", "1993-06-07": "Easter Monday", "1993-08-15": "Dormition of the Mother of God", "1993-10-28": "Ochi Day", @@ -629,7 +617,6 @@ "1994-04-29": "Good Friday", "1994-05-01": "Labor Day", "1994-05-02": "Easter Monday", - "1994-05-03": "Labor Day (observed)", "1994-06-20": "Easter Monday", "1994-08-15": "Dormition of the Mother of God", "1994-10-28": "Ochi Day", @@ -700,7 +687,6 @@ "1999-04-09": "Good Friday", "1999-04-12": "Easter Monday", "1999-05-01": "Labor Day", - "1999-05-03": "Labor Day (observed)", "1999-05-31": "Easter Monday", "1999-08-15": "Dormition of the Mother of God", "1999-10-28": "Ochi Day", @@ -770,7 +756,6 @@ "2004-04-09": "Good Friday", "2004-04-12": "Easter Monday", "2004-05-01": "Labor Day", - "2004-05-03": "Labor Day (observed)", "2004-05-31": "Easter Monday", "2004-08-15": "Dormition of the Mother of God", "2004-10-28": "Ochi Day", @@ -785,7 +770,6 @@ "2005-04-29": "Good Friday", "2005-05-01": "Labor Day", "2005-05-02": "Easter Monday", - "2005-05-03": "Labor Day (observed)", "2005-06-20": "Easter Monday", "2005-08-15": "Dormition of the Mother of God", "2005-10-28": "Ochi Day", @@ -856,7 +840,6 @@ "2010-04-02": "Good Friday", "2010-04-05": "Easter Monday", "2010-05-01": "Labor Day", - "2010-05-03": "Labor Day (observed)", "2010-05-24": "Easter Monday", "2010-08-15": "Dormition of the Mother of God", "2010-10-28": "Ochi Day", @@ -871,7 +854,6 @@ "2011-04-22": "Good Friday", "2011-04-25": "Easter Monday", "2011-05-01": "Labor Day", - "2011-05-02": "Labor Day (observed)", "2011-06-13": "Easter Monday", "2011-08-15": "Dormition of the Mother of God", "2011-10-28": "Ochi Day", @@ -942,7 +924,6 @@ "2016-04-29": "Good Friday", "2016-05-01": "Labor Day", "2016-05-02": "Easter Monday", - "2016-05-03": "Labor Day (observed)", "2016-06-20": "Easter Monday", "2016-08-15": "Dormition of the Mother of God", "2016-10-28": "Ochi Day", diff --git a/tests/countries/test_greece.py b/tests/countries/test_greece.py index 0d1ab5f7f..a60b29c26 100644 --- a/tests/countries/test_greece.py +++ b/tests/countries/test_greece.py @@ -74,7 +74,7 @@ def test_easter_monday(self): "2024-05-06", ) - def test_monday_of_the_holy_spirit(self): + def test_whit_monday(self): self.assertHolidayName( "Δευτέρα του Αγίου Πνεύματος", "2018-05-28", @@ -86,19 +86,17 @@ def test_monday_of_the_holy_spirit(self): "2024-06-24", ) - def test_labour_day_observed(self): + def test_labor_day_observed(self): name_observed = "Εργατική Πρωτομαγιά (παρατηρήθηκε)" dt = ( - "2011-05-02", - "2016-05-03", "2021-05-04", "2022-05-02", ) self.assertHolidayName(name_observed, dt) self.assertNoNonObservedHoliday(dt) - self.assertNoHolidayName(name_observed, 2017, 2018, 2019, 2020, 2023) + self.assertNoHolidayName(name_observed, range(2000, 2021), 2023) - def test_hal_day_2022(self): + def test_half_day_2022(self): self.assertHolidays( Greece(categories=HALF_DAY, years=2022), ("2022-12-24", "Παραμονή Χριστουγέννων"), @@ -133,13 +131,13 @@ def test_l10n_en_us(self): "en_US", ("2022-01-01", "New Year's Day"), ("2022-01-06", "Epiphany"), - ("2022-03-07", "Clean Monday"), + ("2022-03-07", "Green Monday"), ("2022-03-25", "Independence Day"), ("2022-04-22", "Good Friday"), ("2022-04-25", "Easter Monday"), ("2022-05-01", "Labor Day"), ("2022-05-02", "Labor Day (observed)"), - ("2022-06-13", "Easter Monday"), + ("2022-06-13", "Whit Monday"), ("2022-08-15", "Dormition of the Mother of God"), ("2022-10-28", "Ochi Day"), ("2022-12-24", "Christmas Eve"),