Esta biblioteca carga la lista oficial de días festivos en el Reino Unido proporcionada por GOV.UK. GOV.UK tiende a proporcionar esta lista sólo durante uno o dos años en el futuro.
En este paquete se almacena una lista de respaldo en caché de los días festivos conocidos, aunque no se actualiza con frecuencia. GOV.UK ya no ofrece días festivos para algunos de los años más antiguos que aún forman parte de esta lista de respaldo.
Instale usando pip install govuk-bank-holidays
. Uso de muestra:
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 )
Los días festivos difieren en todo el Reino Unido. La fuente de GOV.UK actualmente los enumera para 3 "divisiones":
… y muchos métodos en esta biblioteca toman un parámetro division
(consulte las constantes definidas en la clase BankHolidays
).
NB: Si no se especifica ninguna división, solo se devuelven los días festivos comunes a todas las divisiones, por lo que es posible que algunos días festivos locales no aparezcan en la lista. Por lo tanto, se recomienda especificar una división.
Si bien la localización se proporciona en inglés (el código local predeterminado es 'en') y galés (código local 'cy'), tenga en cuenta que la versión galesa puede contener errores.
Informe errores y abra solicitudes de extracción en GitHub.
Para trabajar en cambios en esta biblioteca, se recomienda instalarla en modo editable en un entorno virtual, es decir, pip install --editable .
Actualice los días festivos almacenados en caché desde GOV.UK usando python scripts/update-cache.py
.
Actualice los archivos de traducción usando python scripts/messages.py update
, por ejemplo, al actualizar el módulo i18n o al agregar nuevos idiomas. Compílelos usando python scripts/messages.py compile
; esto es necesario antes de la prueba y distribución. La actualización y compilación de archivos de traducción requiere la instalación del paquete del sistema gettext.
Utilice python -m tests
para ejecutar todas las pruebas localmente. Alternativamente, puedes usar tox
si tienes varias versiones de Python.
[Solo para miembros del equipo de GitHub] Distribuya una nueva versión a PyPI de la siguiente manera:
VERSION
en govuk_bank_holidays/__init__.py
python scripts/messages.py compile; python -m build; twine upload dist/*
localmente BankHolidays
tiene una nueva constante ALL_DIVISIONS
.Copyright (C) 2023 HM Government (Ministerio de Justicia Digital y Tecnología). Consulte LICENCIA.txt para obtener más detalles.