Skip to main content

Japanese holiday detection library based on Cabinet Office data, ported from holiday-jp-npm.

Project description

holiday-jp-pip

内閣府ホームページの「国民の祝日」についてに基づいて平日や祝日を判定する Python ライブラリです。 独自の祝日を追加することも可能です。

JS 版 @sway11466/holiday-jp-npm の Python 移植版です。

  • 判定ルール

    日付の種類 判定方法
    平日 週末でも祝日でもない日
    週末 土曜日および日曜日(対象となる曜日は設定で変更可能)
    祝日 内閣府ホームページの「国民の祝日」についてに記載の祝日
  • 判定の例(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 の date オブジェクト
    
  • 指定した条件に当てはまる祝日を取得する(例 2)

    holidays = holidayjp.get(year=2021, name="スポーツの日")
    print(len(holidays))           # 1
    print(holidays[0].local_date)  # 2021-07-23 の date オブジェクト
    
  • 独自の祝日を追加する

    from datetime import date
    from holiday_jp import HolidayJP, Holiday
    
    additional = [Holiday(year=2023, month=3, date=10, name="test", local_date=date(2023, 3, 10))]
    holidayjp = HolidayJP(extends=additional)
    ret = holidayjp.is_holiday(date(2023, 3, 10))
    print(ret)  # True
    

説明

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

holiday_jp_pip-0.1.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

holiday_jp_pip-0.1.0-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file holiday_jp_pip-0.1.0.tar.gz.

File metadata

  • Download URL: holiday_jp_pip-0.1.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for holiday_jp_pip-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7233303fbbf5ef8d102b6fbea47f5f65972f8de1366a7c4f33a805b9fd7a3b02
MD5 ca377b94c9cadf6002f71a98fb55b80e
BLAKE2b-256 cbd6eb4ce68903099dc32d327e432f8e3284e4cdb10c3ba06f04f027f5bd18c1

See more details on using hashes here.

File details

Details for the file holiday_jp_pip-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: holiday_jp_pip-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for holiday_jp_pip-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78070ef40de530ea893a4ce03bc4bf762b3db72ed3ec9dae39c810c6b4f54c15
MD5 c406688c584e921e2eac1a1c9edb5e0b
BLAKE2b-256 9345c2c7b93150956e6963644ec3cc39bc4db050607bf89ba29039f285f94015

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page