holidays 0.81__py3-none-any.whl → 0.83__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- holidays/calendars/__init__.py +1 -0
- holidays/calendars/burmese.py +319 -0
- holidays/calendars/hebrew.py +2 -2
- holidays/calendars/islamic.py +26 -6
- holidays/calendars/thai.py +49 -2
- holidays/countries/__init__.py +11 -0
- holidays/countries/afghanistan.py +7 -5
- holidays/countries/algeria.py +89 -24
- holidays/countries/antarctica.py +58 -0
- holidays/countries/azerbaijan.py +1 -1
- holidays/countries/bouvet_island.py +31 -0
- holidays/countries/brazil.py +1 -1
- holidays/countries/british_indian_ocean_territory.py +31 -0
- holidays/countries/bulgaria.py +6 -1
- holidays/countries/canada.py +27 -13
- holidays/countries/chile.py +9 -8
- holidays/countries/cuba.py +3 -4
- holidays/countries/denmark.py +18 -6
- holidays/countries/djibouti.py +1 -1
- holidays/countries/fiji.py +2 -3
- holidays/countries/finland.py +3 -6
- holidays/countries/guyana.py +24 -32
- holidays/countries/heard_island_and_mcdonald_islands.py +31 -0
- holidays/countries/hungary.py +4 -5
- holidays/countries/india.py +27 -78
- holidays/countries/iran.py +133 -269
- holidays/countries/ireland.py +1 -1
- holidays/countries/israel.py +1 -1
- holidays/countries/japan.py +22 -18
- holidays/countries/jordan.py +6 -3
- holidays/countries/kuwait.py +6 -3
- holidays/countries/macau.py +5 -8
- holidays/countries/malaysia.py +14 -3
- holidays/countries/mauritius.py +10 -9
- holidays/countries/montserrat.py +1 -1
- holidays/countries/myanmar.py +194 -0
- holidays/countries/nepal.py +11 -30
- holidays/countries/netherlands.py +28 -24
- holidays/countries/new_zealand.py +75 -31
- holidays/countries/nigeria.py +53 -75
- holidays/countries/north_korea.py +161 -0
- holidays/countries/norway.py +24 -9
- holidays/countries/oman.py +6 -2
- holidays/countries/paraguay.py +70 -23
- holidays/countries/portugal.py +5 -6
- holidays/countries/qatar.py +5 -2
- holidays/countries/rwanda.py +8 -3
- holidays/countries/saudi_arabia.py +6 -5
- holidays/countries/serbia.py +5 -0
- holidays/countries/slovakia.py +23 -4
- holidays/countries/south_africa.py +96 -53
- holidays/countries/south_korea.py +6 -1
- holidays/countries/spain.py +4 -4
- holidays/countries/sri_lanka.py +21 -58
- holidays/countries/sudan.py +6 -3
- holidays/countries/suriname.py +1 -2
- holidays/countries/sweden.py +1 -1
- holidays/countries/switzerland.py +255 -6
- holidays/countries/taiwan.py +23 -3
- holidays/countries/tanzania.py +25 -30
- holidays/countries/thailand.py +29 -7
- holidays/countries/tonga.py +6 -1
- holidays/countries/trinidad_and_tobago.py +7 -2
- holidays/countries/ukraine.py +1 -1
- holidays/countries/united_arab_emirates.py +9 -2
- holidays/countries/united_kingdom.py +1 -1
- holidays/countries/united_states.py +18 -2
- holidays/countries/uruguay.py +6 -1
- holidays/countries/vietnam.py +6 -1
- holidays/countries/western_sahara.py +92 -0
- holidays/countries/yemen.py +6 -3
- holidays/groups/__init__.py +1 -0
- holidays/groups/balinese_saka.py +1 -1
- holidays/groups/buddhist.py +3 -3
- holidays/groups/burmese.py +273 -0
- holidays/groups/chinese.py +30 -2
- holidays/groups/christian.py +10 -0
- holidays/groups/custom.py +8 -2
- holidays/groups/eastern.py +26 -0
- holidays/groups/hebrew.py +16 -14
- holidays/groups/hindu.py +23 -15
- holidays/groups/international.py +1 -1
- holidays/groups/islamic.py +52 -50
- holidays/groups/mongolian.py +6 -3
- holidays/groups/sinhala.py +9 -11
- holidays/groups/tibetan.py +8 -6
- holidays/holiday_base.py +26 -26
- holidays/ical.py +6 -4
- holidays/locale/ar/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/ar/LC_MESSAGES/EH.mo +0 -0
- holidays/locale/ca/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/de/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/en_IN/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/EH.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/KP.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/MM.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/en_US/LC_MESSAGES/US.mo +0 -0
- holidays/locale/es/LC_MESSAGES/EH.mo +0 -0
- holidays/locale/es/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/es/LC_MESSAGES/PY.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/DZ.mo +0 -0
- holidays/locale/fr/LC_MESSAGES/EH.mo +0 -0
- holidays/locale/fy/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/hi/LC_MESSAGES/IN.mo +0 -0
- holidays/locale/it/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/ja/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/ko_KP/LC_MESSAGES/KP.mo +0 -0
- holidays/locale/my/LC_MESSAGES/MM.mo +0 -0
- holidays/locale/nl/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/pt_BR/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/th/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/th/LC_MESSAGES/DK.mo +0 -0
- holidays/locale/th/LC_MESSAGES/JP.mo +0 -0
- holidays/locale/th/LC_MESSAGES/MM.mo +0 -0
- holidays/locale/th/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/th/LC_MESSAGES/US.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/BR.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/CH.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/ES.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/NL.mo +0 -0
- holidays/locale/uk/LC_MESSAGES/PY.mo +0 -0
- holidays/no_holiday_base.py +21 -0
- holidays/observed_holiday_base.py +16 -4
- holidays/registry.py +8 -0
- holidays/utils.py +5 -5
- holidays/version.py +1 -1
- {holidays-0.81.dist-info → holidays-0.83.dist-info}/METADATA +63 -19
- {holidays-0.81.dist-info → holidays-0.83.dist-info}/RECORD +141 -118
- {holidays-0.81.dist-info → holidays-0.83.dist-info}/licenses/CONTRIBUTORS +2 -0
- {holidays-0.81.dist-info → holidays-0.83.dist-info}/WHEEL +0 -0
- {holidays-0.81.dist-info → holidays-0.83.dist-info}/licenses/LICENSE +0 -0
- {holidays-0.81.dist-info → holidays-0.83.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# holidays
|
|
2
|
+
# --------
|
|
3
|
+
# A fast, efficient Python library for generating country, province and state
|
|
4
|
+
# specific sets of holidays on the fly. It aims to make determining whether a
|
|
5
|
+
# specific date is a holiday as fast and flexible as possible.
|
|
6
|
+
#
|
|
7
|
+
# Authors: Vacanza Team and individual contributors (see CONTRIBUTORS file)
|
|
8
|
+
# dr-prodigy <dr.prodigy.github@gmail.com> (c) 2017-2023
|
|
9
|
+
# ryanss <ryanssdev@icloud.com> (c) 2014-2017
|
|
10
|
+
# Website: https://github.com/vacanza/holidays
|
|
11
|
+
# License: MIT (see LICENSE file)
|
|
12
|
+
|
|
13
|
+
from holidays.holiday_base import HolidayBase
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class NoHolidayBase(HolidayBase):
|
|
17
|
+
"""A dummy holiday class that does not contain any holidays."""
|
|
18
|
+
|
|
19
|
+
def _populate(self, year: int) -> None:
|
|
20
|
+
"""No holidays."""
|
|
21
|
+
return None
|
|
@@ -145,7 +145,9 @@ class ObservedHolidayBase(HolidayBase):
|
|
|
145
145
|
self,
|
|
146
146
|
dt: Optional[DateArg] = None,
|
|
147
147
|
name: Optional[str] = None,
|
|
148
|
+
*,
|
|
148
149
|
rule: Optional[ObservedRule] = None,
|
|
150
|
+
force_observed: bool = False,
|
|
149
151
|
show_observed_label: bool = True,
|
|
150
152
|
) -> tuple[bool, Optional[date]]:
|
|
151
153
|
if dt is None:
|
|
@@ -155,7 +157,7 @@ class ObservedHolidayBase(HolidayBase):
|
|
|
155
157
|
# Convert to date: (m, d) → use self._year; (y, m, d) → use directly.
|
|
156
158
|
dt = dt if isinstance(dt, date) else date(self._year, *dt) if len(dt) == 2 else date(*dt)
|
|
157
159
|
|
|
158
|
-
if not self.observed
|
|
160
|
+
if not (force_observed or (self.observed and self._is_observed(dt))):
|
|
159
161
|
return False, dt
|
|
160
162
|
|
|
161
163
|
dt_observed = self._get_observed_date(dt, rule or self._observed_rule)
|
|
@@ -196,16 +198,26 @@ class ObservedHolidayBase(HolidayBase):
|
|
|
196
198
|
return True, dt_observed
|
|
197
199
|
|
|
198
200
|
def _move_holiday(
|
|
199
|
-
self,
|
|
201
|
+
self,
|
|
202
|
+
dt: date,
|
|
203
|
+
*,
|
|
204
|
+
rule: Optional[ObservedRule] = None,
|
|
205
|
+
force_observed: bool = False,
|
|
206
|
+
show_observed_label: bool = True,
|
|
200
207
|
) -> tuple[bool, Optional[date]]:
|
|
201
208
|
is_observed, dt_observed = self._add_observed(
|
|
202
|
-
dt, rule=rule, show_observed_label=show_observed_label
|
|
209
|
+
dt, rule=rule, force_observed=force_observed, show_observed_label=show_observed_label
|
|
203
210
|
)
|
|
204
211
|
if is_observed:
|
|
205
212
|
self.pop(dt)
|
|
206
213
|
return is_observed, dt_observed if is_observed else dt
|
|
207
214
|
|
|
208
|
-
def
|
|
215
|
+
def _move_holiday_forced(
|
|
216
|
+
self, dt: date, rule: Optional[ObservedRule] = None
|
|
217
|
+
) -> tuple[bool, Optional[date]]:
|
|
218
|
+
return self._move_holiday(dt, rule=rule, force_observed=True, show_observed_label=False)
|
|
219
|
+
|
|
220
|
+
def _populate_observed(self, dts: set[date], *, multiple: bool = False) -> None:
|
|
209
221
|
"""
|
|
210
222
|
When multiple is True, each holiday from a given date has its own observed date.
|
|
211
223
|
"""
|
holidays/registry.py
CHANGED
|
@@ -28,6 +28,7 @@ COUNTRIES: RegistryDict = {
|
|
|
28
28
|
"andorra": ("Andorra", "AD", "AND"),
|
|
29
29
|
"angola": ("Angola", "AO", "AGO"),
|
|
30
30
|
"anguilla": ("Anguilla", "AI", "AIA"),
|
|
31
|
+
"antarctica": ("Antarctica", "AQ", "ATA"),
|
|
31
32
|
"antigua_and_barbuda": ("AntiguaAndBarbuda", "AG", "ATG"),
|
|
32
33
|
"argentina": ("Argentina", "AR", "ARG"),
|
|
33
34
|
"armenia": ("Armenia", "AM", "ARM"),
|
|
@@ -49,7 +50,9 @@ COUNTRIES: RegistryDict = {
|
|
|
49
50
|
"bonaire_sint_eustatius_and_saba": ("BonaireSintEustatiusAndSaba", "BQ", "BES"),
|
|
50
51
|
"bosnia_and_herzegovina": ("BosniaAndHerzegovina", "BA", "BIH"),
|
|
51
52
|
"botswana": ("Botswana", "BW", "BWA"),
|
|
53
|
+
"bouvet_island": ("BouvetIsland", "BV", "BVT"),
|
|
52
54
|
"brazil": ("Brazil", "BR", "BRA"),
|
|
55
|
+
"british_indian_ocean_territory": ("BritishIndianOceanTerritory", "IO", "IOT"),
|
|
53
56
|
"british_virgin_islands": ("BritishVirginIslands", "VG", "VGB"),
|
|
54
57
|
"brunei": ("Brunei", "BN", "BRN"),
|
|
55
58
|
"bulgaria": ("Bulgaria", "BG", "BLG"),
|
|
@@ -115,6 +118,7 @@ COUNTRIES: RegistryDict = {
|
|
|
115
118
|
"guinea_bissau": ("GuineaBissau", "GW", "GNB"),
|
|
116
119
|
"guyana": ("Guyana", "GY", "GUY"),
|
|
117
120
|
"haiti": ("Haiti", "HT", "HTI"),
|
|
121
|
+
"heard_island_and_mcdonald_islands": ("HeardIslandAndMcDonaldIslands", "HM", "HMD"),
|
|
118
122
|
"honduras": ("Honduras", "HN", "HND"),
|
|
119
123
|
"hongkong": ("HongKong", "HK", "HKG"),
|
|
120
124
|
"hungary": ("Hungary", "HU", "HUN"),
|
|
@@ -166,6 +170,7 @@ COUNTRIES: RegistryDict = {
|
|
|
166
170
|
"montserrat": ("Montserrat", "MS", "MSR"),
|
|
167
171
|
"morocco": ("Morocco", "MA", "MOR"),
|
|
168
172
|
"mozambique": ("Mozambique", "MZ", "MOZ"),
|
|
173
|
+
"myanmar": ("Myanmar", "MM", "MMR"),
|
|
169
174
|
"namibia": ("Namibia", "NA", "NAM"),
|
|
170
175
|
"nauru": ("Nauru", "NR", "NRU"),
|
|
171
176
|
"nepal": ("Nepal", "NP", "NPL"),
|
|
@@ -177,6 +182,7 @@ COUNTRIES: RegistryDict = {
|
|
|
177
182
|
"nigeria": ("Nigeria", "NG", "NGA"),
|
|
178
183
|
"niue": ("Niue", "NU", "NIU"),
|
|
179
184
|
"norfolk_island": ("NorfolkIsland", "NF", "NFK"),
|
|
185
|
+
"north_korea": ("NorthKorea", "KP", "PRK"),
|
|
180
186
|
"north_macedonia": ("NorthMacedonia", "MK", "MKD"),
|
|
181
187
|
"northern_mariana_islands": ("NorthernMarianaIslands", "MP", "MNP", "HolidaysMP"),
|
|
182
188
|
"norway": ("Norway", "NO", "NOR"),
|
|
@@ -272,6 +278,7 @@ COUNTRIES: RegistryDict = {
|
|
|
272
278
|
"venezuela": ("Venezuela", "VE", "VEN"),
|
|
273
279
|
"vietnam": ("Vietnam", "VN", "VNM"),
|
|
274
280
|
"wallis_and_futuna": ("WallisAndFutuna", "WF", "WLF", "HolidaysWF"),
|
|
281
|
+
"western_sahara": ("WesternSahara", "EH", "ESH"),
|
|
275
282
|
"yemen": ("Yemen", "YE", "YEM"),
|
|
276
283
|
"zambia": ("Zambia", "ZM", "ZMB"),
|
|
277
284
|
"zimbabwe": ("Zimbabwe", "ZW", "ZWE"),
|
|
@@ -345,6 +352,7 @@ class EntityLoader:
|
|
|
345
352
|
@staticmethod
|
|
346
353
|
def _get_entity_codes(
|
|
347
354
|
container: RegistryDict,
|
|
355
|
+
*,
|
|
348
356
|
include_aliases: bool = True,
|
|
349
357
|
max_code_length: int = 3,
|
|
350
358
|
min_code_length: int = 2,
|
holidays/utils.py
CHANGED
|
@@ -22,7 +22,7 @@ __all__ = (
|
|
|
22
22
|
|
|
23
23
|
import warnings
|
|
24
24
|
from collections.abc import Iterable
|
|
25
|
-
from functools import
|
|
25
|
+
from functools import cache
|
|
26
26
|
from typing import Optional, Union
|
|
27
27
|
|
|
28
28
|
from holidays.holiday_base import CategoryArg, HolidayBase
|
|
@@ -357,7 +357,7 @@ def _list_localized_entities(entity_codes: Iterable[str]) -> dict[str, list[str]
|
|
|
357
357
|
return localized_countries
|
|
358
358
|
|
|
359
359
|
|
|
360
|
-
@
|
|
360
|
+
@cache
|
|
361
361
|
def list_localized_countries(include_aliases: bool = True) -> dict[str, list[str]]:
|
|
362
362
|
"""Get all localized countries and languages they support.
|
|
363
363
|
|
|
@@ -373,7 +373,7 @@ def list_localized_countries(include_aliases: bool = True) -> dict[str, list[str
|
|
|
373
373
|
return _list_localized_entities(EntityLoader.get_country_codes(include_aliases))
|
|
374
374
|
|
|
375
375
|
|
|
376
|
-
@
|
|
376
|
+
@cache
|
|
377
377
|
def list_localized_financial(include_aliases: bool = True) -> dict[str, list[str]]:
|
|
378
378
|
"""Get all localized financial markets and languages they support.
|
|
379
379
|
|
|
@@ -407,7 +407,7 @@ def _list_supported_entities(entity_codes: Iterable[str]) -> dict[str, list[str]
|
|
|
407
407
|
}
|
|
408
408
|
|
|
409
409
|
|
|
410
|
-
@
|
|
410
|
+
@cache
|
|
411
411
|
def list_supported_countries(include_aliases: bool = True) -> dict[str, list[str]]:
|
|
412
412
|
"""Get all supported countries and their subdivisions.
|
|
413
413
|
|
|
@@ -422,7 +422,7 @@ def list_supported_countries(include_aliases: bool = True) -> dict[str, list[str
|
|
|
422
422
|
return _list_supported_entities(EntityLoader.get_country_codes(include_aliases))
|
|
423
423
|
|
|
424
424
|
|
|
425
|
-
@
|
|
425
|
+
@cache
|
|
426
426
|
def list_supported_financial(include_aliases: bool = True) -> dict[str, list[str]]:
|
|
427
427
|
"""Get all supported financial markets and their subdivisions.
|
|
428
428
|
|
holidays/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: holidays
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.83
|
|
4
4
|
Summary: Open World Holidays Framework
|
|
5
5
|
Author: Vacanza Team
|
|
6
6
|
Maintainer: Arkadii Yakovets, Panpakorn Siripanich, Serhii Murza
|
|
@@ -22,6 +22,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.12
|
|
24
24
|
Classifier: Programming Language :: Python :: 3.13
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
25
26
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
26
27
|
Classifier: Topic :: File Formats :: JSON
|
|
27
28
|
Classifier: Topic :: Office/Business :: Financial :: Accounting
|
|
@@ -52,7 +53,7 @@ specific date is a holiday as fast and flexible as possible.
|
|
|
52
53
|
<tr>
|
|
53
54
|
<td>CI/CD</td>
|
|
54
55
|
<td>
|
|
55
|
-
<a href="https://github.com/vacanza/holidays/actions/workflows/ci-cd.yml?query=branch%3Adev"><img src="https://img.shields.io/github/actions/workflow/status/vacanza/holidays/ci-cd.yml?branch=dev&color=
|
|
56
|
+
<a href="https://github.com/vacanza/holidays/actions/workflows/ci-cd.yml?query=branch%3Adev"><img src="https://img.shields.io/github/actions/workflow/status/vacanza/holidays/ci-cd.yml?branch=dev&color=41B5BE&style=flat" alt="CI/CD status"></a> <a href="https://holidays.readthedocs.io/en/latest/?badge=latest"><img src="https://img.shields.io/readthedocs/holidays?color=41B5BE&style=flat" alt="Documentation status"></a> <a href="https://snyk.io/advisor/python/holidays/"><img alt="Open World Holidays Package Health Score" src="https://img.shields.io/badge/dynamic/regex?url=https%3A%2F%2Fsnyk.io%2Fadvisor%2Fpython%2Fholidays%2Fbadge.svg&search=%5Cd%7B1%2C3%7D%2F%5Cd%7B1%2C3%7D&style=flat&label=snyk&color=41B5BE"></a>
|
|
56
57
|
</td>
|
|
57
58
|
</tr>
|
|
58
59
|
<tr>
|
|
@@ -64,7 +65,7 @@ specific date is a holiday as fast and flexible as possible.
|
|
|
64
65
|
<tr>
|
|
65
66
|
<td>GitHub</td>
|
|
66
67
|
<td>
|
|
67
|
-
<a href="https://github.com/vacanza/holidays/stargazers"><img src="https://img.shields.io/github/stars/vacanza/holidays?color=
|
|
68
|
+
<a href="https://github.com/vacanza/holidays/stargazers"><img src="https://img.shields.io/github/stars/vacanza/holidays?color=41B5BE&style=flat" alt="GitHub stars"></a> <a href="https://github.com/vacanza/holidays/forks"><img src="https://img.shields.io/github/forks/vacanza/holidays?color=41B5BE&style=flat" alt="GitHub forks"></a> <a href="https://github.com/vacanza/holidays/graphs/contributors"><img src="https://img.shields.io/github/contributors/vacanza/holidays?color=41B5BE&style=flat" alt="GitHub contributors"></a> <a href="https://github.com/vacanza/holidays/commits/dev"><img src="https://img.shields.io/github/last-commit/vacanza/holidays/dev?color=41B5BE&style=flat" alt="GitHub last commit"></a>
|
|
68
69
|
</td>
|
|
69
70
|
</tr>
|
|
70
71
|
<tr>
|
|
@@ -73,12 +74,6 @@ specific date is a holiday as fast and flexible as possible.
|
|
|
73
74
|
<a href="https://doi.org/10.5281/zenodo.14884702"><img src="https://img.shields.io/badge/DOI-10.5281/zenodo.14884702-41B5BE?style=flat" alt="Open World Holidays Framework DOI"></a>
|
|
74
75
|
</td>
|
|
75
76
|
</tr>
|
|
76
|
-
<tr>
|
|
77
|
-
<td>Snyk</td>
|
|
78
|
-
<td>
|
|
79
|
-
<a href="https://snyk.io/advisor/python/holidays/"><img src="https://snyk.io/advisor/python/holidays/badge.svg" alt="Open World Holidays Package Health Score"></a>
|
|
80
|
-
</td>
|
|
81
|
-
</tr>
|
|
82
77
|
</table>
|
|
83
78
|
|
|
84
79
|
## Install
|
|
@@ -100,7 +95,7 @@ version upgrades.
|
|
|
100
95
|
|
|
101
96
|
## Documentation
|
|
102
97
|
|
|
103
|
-
The documentation is hosted on [Read the Docs](https://holidays.readthedocs.io
|
|
98
|
+
The documentation is hosted on [Read the Docs](https://holidays.readthedocs.io).
|
|
104
99
|
|
|
105
100
|
## Quick Start
|
|
106
101
|
|
|
@@ -142,9 +137,9 @@ and detailed information.
|
|
|
142
137
|
|
|
143
138
|
## Available Countries
|
|
144
139
|
|
|
145
|
-
We currently support
|
|
146
|
-
3166-1 alpha-2 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes),
|
|
147
|
-
for domain names, and for a subdivision its [ISO 3166-2
|
|
140
|
+
We currently support 249 country codes and are fully compatible with [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html).
|
|
141
|
+
The standard way to refer to a country is by using its [ISO 3166-1 alpha-2 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes),
|
|
142
|
+
the same used for domain names, and for a subdivision its [ISO 3166-2
|
|
148
143
|
code](https://en.wikipedia.org/wiki/ISO_3166-2). Some countries have common or foreign names or
|
|
149
144
|
abbreviations as aliases for their subdivisions. These are defined in the (optional)
|
|
150
145
|
`subdivisions_aliases` attribute. Some of the countries support more than one language for holiday
|
|
@@ -209,7 +204,7 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
209
204
|
<td>DZ</td>
|
|
210
205
|
<td></td>
|
|
211
206
|
<td><strong>ar</strong>, en_US, fr</td>
|
|
212
|
-
<td
|
|
207
|
+
<td>CHRISTIAN, HEBREW</td>
|
|
213
208
|
</tr>
|
|
214
209
|
<tr>
|
|
215
210
|
<td>American Samoa</td>
|
|
@@ -240,6 +235,13 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
240
235
|
<td></td>
|
|
241
236
|
</tr>
|
|
242
237
|
<tr>
|
|
238
|
+
<td>Antarctica</td>
|
|
239
|
+
<td>AQ</td>
|
|
240
|
+
<td></td>
|
|
241
|
+
<td></td>
|
|
242
|
+
<td></td>
|
|
243
|
+
</tr>
|
|
244
|
+
<tr>
|
|
243
245
|
<td>Antigua and Barbuda</td>
|
|
244
246
|
<td>AG</td>
|
|
245
247
|
<td></td>
|
|
@@ -387,6 +389,13 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
387
389
|
<td></td>
|
|
388
390
|
</tr>
|
|
389
391
|
<tr>
|
|
392
|
+
<td>Bouvet Island</td>
|
|
393
|
+
<td>BV</td>
|
|
394
|
+
<td></td>
|
|
395
|
+
<td></td>
|
|
396
|
+
<td></td>
|
|
397
|
+
</tr>
|
|
398
|
+
<tr>
|
|
390
399
|
<td>Brazil</td>
|
|
391
400
|
<td>BR</td>
|
|
392
401
|
<td>States: AC (Acre), AL (Alagoas), AM (Amazonas), AP (Amapá), BA (Bahia), CE (Ceará), DF (Distrito Federal), ES (Espírito Santo), GO (Goiás), MA (Maranhão), MG (Minas Gerais), MS (Mato Grosso do Sul), MT (Mato Grosso), PA (Pará), PB (Paraíba), PE (Pernambuco), PI (Piauí), PR (Paraná), RJ (Rio de Janeiro), RN (Rio Grande do Norte), RO (Rondônia), RR (Roraima), RS (Rio Grande do Sul), SC (Santa Catarina), SE (Sergipe), SP (São Paulo), TO (Tocantins)</td>
|
|
@@ -394,6 +403,13 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
394
403
|
<td>OPTIONAL</td>
|
|
395
404
|
</tr>
|
|
396
405
|
<tr>
|
|
406
|
+
<td>British Indian Ocean Territory</td>
|
|
407
|
+
<td>IO</td>
|
|
408
|
+
<td></td>
|
|
409
|
+
<td></td>
|
|
410
|
+
<td></td>
|
|
411
|
+
</tr>
|
|
412
|
+
<tr>
|
|
397
413
|
<td>British Virgin Islands</td>
|
|
398
414
|
<td>VG</td>
|
|
399
415
|
<td></td>
|
|
@@ -579,7 +595,7 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
579
595
|
<td>Denmark</td>
|
|
580
596
|
<td>DK</td>
|
|
581
597
|
<td></td>
|
|
582
|
-
<td><strong>da</strong>, en_US, uk</td>
|
|
598
|
+
<td><strong>da</strong>, en_US, th, uk</td>
|
|
583
599
|
<td>OPTIONAL</td>
|
|
584
600
|
</tr>
|
|
585
601
|
<tr>
|
|
@@ -842,6 +858,13 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
842
858
|
<td>OPTIONAL</td>
|
|
843
859
|
</tr>
|
|
844
860
|
<tr>
|
|
861
|
+
<td>Heard Island and McDonald Islands</td>
|
|
862
|
+
<td>HM</td>
|
|
863
|
+
<td></td>
|
|
864
|
+
<td></td>
|
|
865
|
+
<td></td>
|
|
866
|
+
</tr>
|
|
867
|
+
<tr>
|
|
845
868
|
<td>Honduras</td>
|
|
846
869
|
<td>HN</td>
|
|
847
870
|
<td></td>
|
|
@@ -1206,6 +1229,13 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
1206
1229
|
<td></td>
|
|
1207
1230
|
</tr>
|
|
1208
1231
|
<tr>
|
|
1232
|
+
<td>Myanmar</td>
|
|
1233
|
+
<td>MM</td>
|
|
1234
|
+
<td></td>
|
|
1235
|
+
<td>en_US, <strong>my</strong>, th</td>
|
|
1236
|
+
<td></td>
|
|
1237
|
+
</tr>
|
|
1238
|
+
<tr>
|
|
1209
1239
|
<td>Namibia</td>
|
|
1210
1240
|
<td>NA</td>
|
|
1211
1241
|
<td></td>
|
|
@@ -1230,7 +1260,7 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
1230
1260
|
<td>Netherlands</td>
|
|
1231
1261
|
<td>NL</td>
|
|
1232
1262
|
<td></td>
|
|
1233
|
-
<td>en_US, fy, <strong>nl</strong>, uk</td>
|
|
1263
|
+
<td>en_US, fy, <strong>nl</strong>, th, uk</td>
|
|
1234
1264
|
<td>OPTIONAL</td>
|
|
1235
1265
|
</tr>
|
|
1236
1266
|
<tr>
|
|
@@ -1290,6 +1320,13 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
1290
1320
|
<td>GOVERNMENT, UNOFFICIAL</td>
|
|
1291
1321
|
</tr>
|
|
1292
1322
|
<tr>
|
|
1323
|
+
<td>North Korea</td>
|
|
1324
|
+
<td>KP</td>
|
|
1325
|
+
<td></td>
|
|
1326
|
+
<td>en_US, <strong>ko_KP</strong></td>
|
|
1327
|
+
<td></td>
|
|
1328
|
+
</tr>
|
|
1329
|
+
<tr>
|
|
1293
1330
|
<td>North Macedonia</td>
|
|
1294
1331
|
<td>MK</td>
|
|
1295
1332
|
<td></td>
|
|
@@ -1299,7 +1336,7 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
1299
1336
|
<tr>
|
|
1300
1337
|
<td>Norway</td>
|
|
1301
1338
|
<td>NO</td>
|
|
1302
|
-
<td>Counties and Arctic Regions: 03 (Oslo), 11 (Rogaland), 15 (Møre og Romsdal), 18 (Nordland), 21 (Svalbard), 22 (Jan Mayen),
|
|
1339
|
+
<td>Counties and Arctic Regions: 03 (Oslo), 11 (Rogaland), 15 (Møre og Romsdal), 18 (Nordland), 21 (Svalbard), 22 (Jan Mayen), 31 (Østfold), 32 (Akershus), 33 (Buskerud), 34 (Innlandet), 39 (Vestfold), 40 (Telemark), 42 (Agder), 46 (Vestland), 50 (Trööndelage, Trøndelag), 55 (Romssa, Troms, Tromssan), 56 (Finmarkun, Finnmark, Finnmárkku)</td>
|
|
1303
1340
|
<td>en_US, <strong>no</strong>, th, uk</td>
|
|
1304
1341
|
<td></td>
|
|
1305
1342
|
</tr>
|
|
@@ -1608,7 +1645,7 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
1608
1645
|
<td>Spain</td>
|
|
1609
1646
|
<td>ES</td>
|
|
1610
1647
|
<td>Autonomous communities: AN (Andalucía), AR (Aragón), AS (Asturias), CB (Cantabria), CE (Ceuta), CL (Castilla y León), CM (Castilla-La Mancha), CN (Canarias), CT (Cataluña, Catalunya), EX (Extremadura), GA (Galicia), IB (Islas Baleares, Illes Balears), MC (Murcia), MD (Madrid), ML (Melilla), NC (Navarra), PV (País Vasco), RI (La Rioja), VC (Valenciana)</td>
|
|
1611
|
-
<td>en_US, <strong>es</strong>, uk</td>
|
|
1648
|
+
<td>ca, en_US, <strong>es</strong>, uk</td>
|
|
1612
1649
|
<td></td>
|
|
1613
1650
|
</tr>
|
|
1614
1651
|
<tr>
|
|
@@ -1650,7 +1687,7 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
1650
1687
|
<td>Switzerland</td>
|
|
1651
1688
|
<td>CH</td>
|
|
1652
1689
|
<td>Cantons: AG (Aargau), AI (Appenzell Innerrhoden), AR (Appenzell Ausserrhoden), BE (Bern, Berne), BL (Basel-Landschaft), BS (Basel-Stadt), FR (Freiburg, Fribourg), GE (Genève), GL (Glarus), GR (Graubünden, Grigioni, Grischun), JU (Jura), LU (Luzern), NE (Neuchâtel), NW (Nidwalden), OW (Obwalden), SG (Sankt Gallen), SH (Schaffhausen), SO (Solothurn), SZ (Schwyz), TG (Thurgau), TI (Ticino), UR (Uri), VD (Vaud), VS (Valais, Wallis), ZG (Zug), ZH (Zürich)</td>
|
|
1653
|
-
<td><strong>de</strong>, en_US, fr, it, uk</td>
|
|
1690
|
+
<td><strong>de</strong>, en_US, fr, it, th, uk</td>
|
|
1654
1691
|
<td>HALF_DAY, OPTIONAL</td>
|
|
1655
1692
|
</tr>
|
|
1656
1693
|
<tr>
|
|
@@ -1864,6 +1901,13 @@ any) in brackets, available languages and additional holiday categories. All cou
|
|
|
1864
1901
|
<td></td>
|
|
1865
1902
|
</tr>
|
|
1866
1903
|
<tr>
|
|
1904
|
+
<td>Western Sahara</td>
|
|
1905
|
+
<td>EH</td>
|
|
1906
|
+
<td></td>
|
|
1907
|
+
<td><strong>ar</strong>, en_US, es, fr</td>
|
|
1908
|
+
<td></td>
|
|
1909
|
+
</tr>
|
|
1910
|
+
<tr>
|
|
1867
1911
|
<td>Yemen</td>
|
|
1868
1912
|
<td>YE</td>
|
|
1869
1913
|
<td></td>
|