Skip to main content

holiday-jp-pip

PyPI Python Versions test License: MIT

内閣府ホームページの「国民の祝日」についてに基づいて平日や祝日を判定する 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 を使ってください。

説明

  • 1955 年〜2027 年に対応しています
    • 内閣府ホームページで公開しているデータに依存しているためです
    • 対応外の日付を指定するとエラーを起こします(設定で変更可能)
  • このライブラリは実行環境のタイムゾーンを考慮して日本時間での祝日判定を行います
  • 設定で以下の挙動を変更可能です
    • 対応外の日付を指定した場合のエラー発生有無
    • タイムゾーン考慮の有無
    • 週末として扱う曜日
    • 独自の祝日の追加
  • より詳細な情報は doc フォルダ 内のドキュメントを参照してください

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)

Source distribution for holiday-jp-pip 0.3.0
File Size Uploaded
holiday_jp_pip-0.3.0.tar.gz 12.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for holiday-jp-pip 0.3.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page