概要
このライブラリは、値の正常性を検証するバリデータ群と、検証前に型変換を試みるコンバータ群を提供するユーティリティです。
ディスクリプタとしてクラス属性に使用することで不適切な値の代入を防止できるほか、単独の関数・オブジェクトとして値を検証・変換することも可能です。
インストール
インストール
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 / |
適切な数値か検証 | int / float |
| VFloat | 適切な浮動小数点数か検証 | float |
| VInt | 適切な整数か検証 | int |
| VPath | 適切なパスか検証 | pathlib.Path |
| VString | 適切な文字列か検証 | str |
適切な正規表現か検証。VString(pattern=...)に合併。 |
str | |
| VDict | 適切な構造の辞書か検証 | dict |
| VList | 適切なリストか検証 | list |
| VTuple | 適切なタプルか検証 | tuple |
| VTimedelta | 適切なtimedelta型か検証 | datetime.timedelta |
convertersモジュールのクラス
※破線されたクラスは非推奨です。
| クラス | 概要 |
|---|---|
| CBool | Yes / Noとして解釈できる値に対しbool型への変換を試みて検証 |
| CNumerical / |
int / float型への自動変換を試みて検証 |
| CFloat | float型への自動変換を試みて検証 |
| CInt | int型への自動変換を試みて検証 |
| CPath | pathlib.Path型への自動変換を試みて検証 |
| CString | str型への返還を試みて検証 |
| CTimedelta | datetime.timedelta型への自動変換を試みて検証 |
継承規則
自作のバリデータやコンバータを正しく定義するための規則です。
Validator継承規則
- 命名: クラス名は
V{検証したいクラス名}とします(例:VString)。 - 継承:
Validatorクラスを継承します。 - 定義:
validateメソッドを定義し、検証が成功した場合は受け取ったvalueを返します。 - 変換:
validate内でvalueの型変換を行ってはいけません(変換を行う場合はConverterを使用)。
VContainer継承規則
- 命名: クラス名は
V{検証したいクラス名}とします(例:VList)。 - 継承:
VContainerクラスを継承します。 - 定義:
validateメソッドを定義し、検証通過時はvalueを返します。中身の各要素への検証規則を設定します。 - 変換: コンテナ自体の型変換は行いません。ただし要素に対してはオプション設定に応じます。
Converter継承規則
- 命名:
C{変換検証したいクラス名}とします(例:CInt)。 - 継承:
(対象クラスのバリデータ, Converter)の順で多重継承します。 - 定義:
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f14470332d196155846868222e0f3e6cb812b81c01121214f4347de32ea385f3
|
|
| MD5 |
318018d8cb559fd8e7d0b0e227e0b85e
|
|
| BLAKE2b-256 |
8ab128b6073c7ca506e0c3fb66378f7b2bcbd0e778376ec330f5c3b1ce3efa27
|
File details
Details for the file otsuvalidator-1.1.1.312-py3-none-any.whl.
File metadata
- Download URL: otsuvalidator-1.1.1.312-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbd0606bf615017b1962b82a3e280e64ab515526b4dfb402052c971c4157deb9
|
|
| MD5 |
8ef26f3bd0ae8edb8f9a1948ef30809f
|
|
| BLAKE2b-256 |
6d684e90f219779381098a26f487673925f31f38430ef899b00536fd23a9bcfc
|