Skip to main content

概要

このライブラリは、値の正常性を検証するバリデータ群と、検証前に型変換を試みるコンバータ群を提供するユーティリティです。
ディスクリプタとしてクラス属性に使用することで不適切な値の代入を防止できるほか、単独の関数・オブジェクトとして値を検証・変換することも可能です。


インストール

インストール

pip install otsuvalidator

アップデート

pip install -U otsuvalidator

アンインストール

pip uninstall otsuvalidator

モジュール

本ライブラリは主に以下の3つのモジュールで構成されています。

モジュール名 概要
bases バリデータ・コンバータの基底クラスを定義。自作のバリデータを作成する際に使用します。
validators 値の検証のみを行うバリデータ群が定義されています。
converters 型変換を試みた上で検証を行うコンバータ群が定義されています。

basesモジュールのクラス

  • Validator: すべてのバリデータおよびコンバータの基底クラス。
  • VContainer: コンテナ(リストや辞書など)用バリデータの基底クラス。要素が可変なオブジェクトを検証する際に使用します。
  • Converter: コンバータの基底クラス。
  • VChain: バリデータ・コンバータの連結をサポートします。

validatorsモジュールのクラス

※破線されたクラスは非推奨です。

クラス 概要 期待する型
VBool 真偽値オブジェクトか検証 bool
VChoice 規定の選択肢の中から1つが選択されているか検証 Any
VNumerical / VNumber 適切な数値か検証 int / float
VFloat 適切な浮動小数点数か検証 float
VInt 適切な整数か検証 int
VPath 適切なパスか検証 pathlib.Path
VString 適切な文字列か検証 str
VRegex 適切な正規表現か検証。VString(pattern=...)に合併。 str
VDict 適切な構造の辞書か検証 dict
VList 適切なリストか検証 list
VTuple 適切なタプルか検証 tuple
VTimedelta 適切なtimedelta型か検証 datetime.timedelta

convertersモジュールのクラス

※破線されたクラスは非推奨です。

クラス 概要
CBool Yes / Noとして解釈できる値に対しbool型への変換を試みて検証
CNumerical / CNumber int / float型への自動変換を試みて検証
CFloat float型への自動変換を試みて検証
CInt int型への自動変換を試みて検証
CPath pathlib.Path型への自動変換を試みて検証
CString str型への返還を試みて検証
CTimedelta datetime.timedelta型への自動変換を試みて検証

継承規則

自作のバリデータやコンバータを正しく定義するための規則です。

Validator継承規則

  1. 命名: クラス名はV{検証したいクラス名}とします(例: VString)。
  2. 継承: Validatorクラスを継承します。
  3. 定義: validateメソッドを定義し、検証が成功した場合は受け取ったvalueを返します。
  4. 変換: validate内でvalueの型変換を行ってはいけません(変換を行う場合はConverterを使用)。

VContainer継承規則

  1. 命名: クラス名はV{検証したいクラス名}とします(例: VList)。
  2. 継承: VContainerクラスを継承します。
  3. 定義: validateメソッドを定義し、検証通過時はvalueを返します。中身の各要素への検証規則を設定します。
  4. 変換: コンテナ自体の型変換は行いません。ただし要素に対してはオプション設定に応じます。

Converter継承規則

  1. 命名: C{変換検証したいクラス名}とします(例: CInt)。
  2. 継承: (対象クラスのバリデータ, Converter)の順で多重継承します。
  3. 定義: validate内で型変換を行い、return super().validate(value)で検証して返します。

Download files

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

Source Distribution

otsuvalidator-1.1.1.312.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

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

otsuvalidator-1.1.1.312-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file otsuvalidator-1.1.1.312.tar.gz.

File metadata

  • Download URL: otsuvalidator-1.1.1.312.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for otsuvalidator-1.1.1.312.tar.gz
Algorithm Hash digest
SHA256 f14470332d196155846868222e0f3e6cb812b81c01121214f4347de32ea385f3
MD5 318018d8cb559fd8e7d0b0e227e0b85e
BLAKE2b-256 8ab128b6073c7ca506e0c3fb66378f7b2bcbd0e778376ec330f5c3b1ce3efa27

See more details on using hashes here.

File details

Details for the file otsuvalidator-1.1.1.312-py3-none-any.whl.

File metadata

File hashes

Hashes for otsuvalidator-1.1.1.312-py3-none-any.whl
Algorithm Hash digest
SHA256 dbd0606bf615017b1962b82a3e280e64ab515526b4dfb402052c971c4157deb9
MD5 8ef26f3bd0ae8edb8f9a1948ef30809f
BLAKE2b-256 6d684e90f219779381098a26f487673925f31f38430ef899b00536fd23a9bcfc

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.1.1.312 This release

2 files

1.1.0.312

2 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