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.0.312.tar.gz (13.4 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.0.312-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: otsuvalidator-1.1.0.312.tar.gz
  • Upload date:
  • Size: 13.4 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.0.312.tar.gz
Algorithm Hash digest
SHA256 674b47a83e8faeee554745b908eeadc54758e1cd19b1a795fb3f7110956c2dcc
MD5 2689bfe81ca63500fec40710d86ee0d7
BLAKE2b-256 7f84b514f74bc8698ed3bd6869d606b0f7664afec3f55d3a61c9d7beaa4779cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for otsuvalidator-1.1.0.312-py3-none-any.whl
Algorithm Hash digest
SHA256 89b68fbab98adaf23910f60727b7bf514516b05475ecd8942a4f4a9577d1e756
MD5 5dfce72f6f4db5f927b34d37ce5b8237
BLAKE2b-256 b52cf8551e9b869ff70d9194c3325a74aa0c2fea7a4a7e16d765159069f44f57

See more details on using hashes here.

Release history Release notifications | RSS feed

1.1.1.312

2 files

This release

1.1.0.312 This release

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