从GOV.UK加载英国银行假期的工具
项目描述
此库加载由 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 元组
在 历史记录 中添加注释
在 GitHub 上发布一个版本,这将触发上传到 PyPI;或者,在本地运行 python scripts/messages.py compile; python -m build; twine upload dist/*
历史记录
- 0.15
更新了缓存银行假日文件,包括 GOV.UK 发布的最新假日。
- 0.14
将测试、构建和发布过程从已弃用的 setuptools 命令迁移出去。通过脚本更新和编译翻译文件,这些脚本不包括在分发中。《BankHolidays》类有新的《ALL_DIVISIONS》常量。
- 0.13
库与 0.12 版本没有区别。
- 0.12
移除了对低于 3.7 的 Python 版本的支持。更新了缓存银行假日文件,包括 GOV.UK 发布的最新假日。将代码风格 linting 从单元测试迁移到 github action。添加了 setup.py 命令以从 GOV.UK 更新缓存银行假日。
- 0.11
更新了缓存银行假日文件,包括 GOV.UK 发布的最新假日。添加了 python 3.10 到测试矩阵。
- 0.10
添加了生成从给定日期开始的一系列假日和工作日的方法。
- 0.9
添加了查找前一个银行假日/工作日的方法,与现有方法保持一致。移除了对低于3.6版本的Python的支持。将Python 3.9添加到测试矩阵中。
- 0.8
库与0.7版本没有区别。这是第一个使用GitHub Actions自动发布到PyPI的版本。
- 0.7
文档进行了小幅度更新。
- 0.6
更新了缓存的银行假日文件,以包含GOV.UK发布的最新假日。将Python 3.8添加到测试矩阵。文档进行了小幅度更新。
- 0.5
更新了缓存银行假日文件,包括 GOV.UK 发布的最新假日。
- 0.4
更新了缓存的银行假日文件,以包含GOV.UK发布的最新假日。将Python 3.7添加到测试矩阵。文档得到改进。
- 0.3
改进了测试。库没有变化。
- 0.2
更新了缓存的银行假日文件,以包含GOV.UK发布的最新假日。添加了强制使用缓存文件的功能。添加了下一个工作日的计算。
- 0.1
初始版本。
版权
版权(C)2023 HM政府(司法部数字与技术部)。有关更多信息,请参阅LICENSE.txt。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。