1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
[build-system]
build-backend = "setuptools.build_meta"
requires = [ "setuptools>=61", "wheel" ]
[project]
name = "holidays"
description = "Open World Holidays Framework"
readme = "README.md"
keywords = [ "calendar", "holidays", "l10n", "vacation", "worldwide" ]
license = "MIT"
license-files = [ "CONTRIBUTORS", "LICENSE" ]
maintainers = [
{ name = "Arkadii Yakovets" },
{ name = "Panpakorn Siripanich" },
{ name = "Serhii Murza" },
]
authors = [ { name = "Vacanza Team" } ]
requires-python = ">=3.10"
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: End Users/Desktop",
"Intended Audience :: Financial and Insurance Industry",
"Intended Audience :: Information Technology",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: File Formats :: JSON",
"Topic :: Office/Business :: Financial :: Accounting",
"Topic :: Office/Business :: Financial :: Investment",
"Topic :: Office/Business :: Scheduling",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dynamic = [ "version" ]
dependencies = [ "python-dateutil" ]
urls.Changelog = "https://github.com/vacanza/holidays/releases/"
urls.Documentation = "https://holidays.readthedocs.io/en/latest/"
urls.Repository = "https://github.com/vacanza/holidays/"
[tool.setuptools.dynamic]
version = { attr = "holidays.version.__version__" }
[tool.setuptools.packages.find]
include = [ "holidays*" ]
[tool.ruff]
target-version = "py310"
line-length = 99
lint.select = [ "E4", "E5", "E7", "E9", "F", "FBT", "N", "PLE", "S", "T", "TC", "UP", "W" ]
lint.per-file-ignores."holidays/__init__.py" = [ "F403" ]
lint.per-file-ignores."holidays/calendars/__init__.py" = [ "F401" ]
lint.per-file-ignores."holidays/constants.py" = [ "F401" ]
lint.per-file-ignores."holidays/countries/__init__.py" = [ "F401" ]
lint.per-file-ignores."holidays/financial/__init__.py" = [ "F401" ]
lint.per-file-ignores."holidays/groups/__init__.py" = [ "F401" ]
lint.per-file-ignores."holidays/holiday_base.py" = [ "FBT" ]
lint.per-file-ignores."holidays/ical.py" = [ "FBT" ]
lint.per-file-ignores."holidays/mixins/__init__.py" = [ "F401" ]
lint.per-file-ignores."holidays/registry.py" = [ "FBT" ]
lint.per-file-ignores."holidays/utils.py" = [ "FBT" ]
lint.per-file-ignores."scripts/archive_links.py" = [ "T201" ]
lint.per-file-ignores."scripts/generate_release_notes.py" = [ "T201" ]
lint.per-file-ignores."scripts/generate_snapshots.py" = [ "T201" ]
lint.per-file-ignores."scripts/l10n/generate_mo_files.py" = [ "T201" ]
lint.per-file-ignores."scripts/l10n/generate_po_files.py" = [ "T201" ]
lint.per-file-ignores."scripts/l10n/l10n_helper.py" = [ "T201" ]
lint.per-file-ignores."tests/common.py" = [ "N802" ]
lint.per-file-ignores."tests/test_holiday_base.py" = [ "S301" ]
lint.flake8-errmsg.max-string-length = 99
lint.pyupgrade.keep-runtime-typing = true
[tool.isort]
known_first_party = [ "holidays", "tests" ]
line_length = 99
multi_line_output = 3
no_inline_sort = true
profile = "black"
skip = [ "docs" ]
[tool.pytest.ini_options]
addopts = [
"--cov-fail-under=100",
]
filterwarnings = [
"ignore::DeprecationWarning:holidays.deprecations.v1_incompatibility",
]
testpaths = [ "tests" ]
[tool.coverage.report]
exclude_lines = [
"^if TYPE_CHECKING:",
]
[tool.coverage.run]
branch = true
omit = [ "scripts/*", "tests/*" ]
[[tool.mypy.overrides]]
module = "holidays.countries.*"
disable_error_code = [ "override" ]
[[tool.mypy.overrides]]
module = "holidays.groups.*"
disable_error_code = [ "attr-defined" ]
|