holiday-jp-pip
内閣府ホームページの「国民の祝日」についてに基づいて平日や祝日を判定する Python ライブラリです。 独自の祝日を追加することも可能です。
JS 版 @sway11466/holiday-jp-npm の Python 移植版です。
JS 版との詳しい差分は doc/differences-from-js.md を参照してください。
-
判定ルール
日付の種類 判定方法 平日 週末でも祝日でもない日 週末 土曜日および日曜日(対象となる曜日は設定で変更可能) 祝日 内閣府ホームページの「国民の祝日」についてに記載の祝日 -
判定の例(2024年5月)
日付の種類 5/1(水) 5/2(木) 5/3(金) 5/4(土) 5/5(日) 5/6(月) 5/7(火) 平日 〇 〇 × × × × 〇 週末 × × × 〇 〇 × × 祝日 × × 〇 〇 〇 〇 ×
インストール
pip install holiday-jp-pip
使い方
-
初期化
from holiday_jp import HolidayJP holidayjp = HolidayJP()
-
指定日が祝日であるか判定する
from datetime import date ret = holidayjp.is_holiday(date(2021, 5, 3)) # 2021/5/3 憲法記念日 print(ret) # True
-
指定日が平日であるか判定する
ret = holidayjp.is_weekday(date(2021, 5, 7)) # 2021/5/7 平日 print(ret) # True
-
指定した条件に当てはまる祝日を取得する(例 1)
holidays = holidayjp.get(year=2021, month=5) print(len(holidays)) # 3 print(holidays[0].name) # 憲法記念日 print(holidays[0].local_date) # 2021-05-03 00:00:00+09:00 (JST 0:00 の datetime)
-
指定した条件に当てはまる祝日を取得する(例 2)
holidays = holidayjp.get(year=2021, name="スポーツの日") print(len(holidays)) # 1 print(holidays[0].local_date) # 2021-07-23 00:00:00+09:00 print(holidays[0].local_date.astimezone().date()) # 実行環境 TZ で見た日付
-
独自の祝日を追加する
from datetime import date, datetime from holiday_jp import HolidayJP, Holiday, JST additional = [Holiday(year=2023, month=3, date=10, name="test", local_date=datetime(2023, 3, 10, tzinfo=JST))] holidayjp = HolidayJP(extends=additional) ret = holidayjp.is_holiday(date(2023, 3, 10)) print(ret) # True
-
外部 CSV を使う
from holiday_jp import HolidayJP # バンドル CSV の代わりに任意のファイルを使う holidayjp = HolidayJP(csv_path="/path/to/syukujitsu.csv")
csv_pathを指定するとバンドル CSV は使われず、指定したファイルだけが祝日データとして読み込まれます(フォーマットは内閣府 CSV と同じYYYY/M/D,祝日名形式)。バンドル CSV と独自レコードをマージしたい場合はextendsを使ってください。
説明
Metadata
Release files for holiday-jp-pip 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| holiday_jp_pip-0.3.0.tar.gz | 12.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| holiday_jp_pip-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.4 kB
Release files / holiday_jp_pip-0.3.0.tar.gz
| Download URL | holiday_jp_pip-0.3.0.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e37a73a9c6eab084f2bb121ac2808ed412128edf9169561f4ec154b319f017b3
|
|
BLAKE2b-256 checksum How to use checksums |
bb5e77276289f6e3db225876ea08cbcbe14875ed0282d3541f12781f5120f4cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / holiday_jp_pip-0.3.0-py3-none-any.whl
| Download URL | holiday_jp_pip-0.3.0-py3-none-any.whl |
|---|---|
| Size | 13.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef4605492fc1ea9bba48de88aafed1d93a01bca8d32233d4004b68642f3c09bb
|
|
BLAKE2b-256 checksum How to use checksums |
cc4cf7139ee12e77199f86c8af101b25a2eaad57ab92e0e8b48f380c596239ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|