Esta biblioteca carrega a lista oficial de feriados no Reino Unido fornecida por GOV.UK. GOV.UK tende a fornecer esta lista apenas por um ou dois anos no futuro.
Uma lista de backup em cache de feriados conhecidos é armazenada neste pacote, embora não seja atualizada com frequência. GOV.UK não oferece mais feriados para alguns dos anos mais antigos que ainda fazem parte desta lista de backup.
Instale usando pip install govuk-bank-holidays
. Uso de amostra:
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 )
Os feriados bancários diferem em todo o Reino Unido. A fonte GOV.UK atualmente os lista para 3 "divisões":
… e muitos métodos nesta biblioteca usam um parâmetro division
(veja constantes definidas na classe BankHolidays
).
Nota: Se nenhuma divisão for especificada, apenas os feriados comuns a todas as divisões serão retornados, portanto alguns feriados locais podem não ser listados. Portanto, é recomendável especificar uma divisão.
Embora a localização seja fornecida em inglês (o padrão é o código de localidade 'en') e em galês (código de localidade 'cy'), observe que a versão em galês pode conter erros.
Por favor, reporte bugs e abra pull requests no GitHub.
Para trabalhar nas alterações desta biblioteca, é recomendado instalá-la em modo editável em um ambiente virtual, ou seja, pip install --editable .
Atualize feriados em cache de GOV.UK usando python scripts/update-cache.py
.
Atualize os arquivos de tradução usando python scripts/messages.py update
, por exemplo, ao atualizar o módulo i18n ou ao adicionar novos idiomas. Compile-os usando python scripts/messages.py compile
; isso é necessário antes do teste e da distribuição. Atualizar e compilar arquivos de tradução requer a instalação do pacote de sistema gettext.
Use python -m tests
para executar todos os testes localmente. Alternativamente, você pode usar tox
se tiver várias versões do python.
[Somente para membros da equipe GitHub] Distribua uma nova versão para PyPI:
VERSION
em govuk_bank_holidays/__init__.py
python scripts/messages.py compile; python -m build; twine upload dist/*
localmente BankHolidays
possui uma nova constante ALL_DIVISIONS
.Copyright (C) 2023 HM Government (Ministério da Justiça Digital e Tecnologia). Consulte LICENSE.txt para obter mais detalhes.