该库加载 GOV.UK 提供的英国银行假日的官方列表。 GOV.UK 倾向于仅在未来一两年内提供此列表。
已知银行假日的缓存备份列表存储在该包中,但不经常更新。 GOV.UK 不再为某些旧年份提供银行假期,但仍属于此备用列表。
使用pip install govuk-bank-holidays
安装。使用示例:
from govuk_bank_holidays . bank_holidays import BankHolidays
bank_holidays = BankHolidays ()
for bank_holiday in bank_holidays . get_holidays ():
print ( bank_holiday [ 'title' ], 'is on' , bank_holiday [ 'date' ])
print ( bank_holidays . get_next_holiday ())
# see govuk_bank_holidays/bank_holidays.py source file for more methods and argument details…
# choose a different locale for holiday titles and notes
bank_holidays = BankHolidays ( locale = 'cy' )
# use cached holidays if internet connection is not desired
bank_holidays = BankHolidays ( use_cached_holidays = True )
英国各地的银行假期各不相同。 GOV.UK 来源目前列出了 3 个“部门”:
…该库中的许多方法都采用division
参数(请参阅BankHolidays
类上定义的常量)。
注意:如果未指定部门,则仅返回所有部门共有的假期,因此可能不会列出某些当地银行假期。因此,建议指定一个部门。
虽然本地化提供英语(默认区域设置代码“en”)和威尔士语(区域设置代码“cy”),但请注意,威尔士版本可能包含错误。
请报告错误并在 GitHub 上打开拉取请求。
要对此库进行更改,建议以可编辑模式将其安装到虚拟环境中,即pip install --editable .
使用python scripts/update-cache.py
从 GOV.UK 更新缓存的银行假日。
使用python scripts/messages.py update
更新翻译文件,例如更新 i18n 模块或添加新语言时。使用python scripts/messages.py compile
它们;这是测试和分发之前必需的。更新和编译翻译文件需要安装 gettext 系统包。
使用python -m tests
在本地运行所有测试。或者,如果您有多个 python 版本,则可以使用tox
。
[仅适用于 GitHub 团队成员] 通过以下方式将新版本分发到 PyPI:
govuk_bank_holidays/__init__.py
中的VERSION
元组python scripts/messages.py compile; python -m build; twine upload dist/*
BankHolidays
类有一个新的ALL_DIVISIONS
常量。版权所有 (C) 2023 英国政府(司法数字与技术部)。有关更多详细信息,请参阅 LICENSE.txt。