Web Analytics

Validoopsie

⭐ 87 stars Japanese by akmalsoliev

validoopsie

Python向けのシンプルで使いやすいデータ検証ライブラリ。

validoopsie

PyPI version PyPI Downloads Tests and Linters Documentation

Validoopsie

Validoopsieは非常に軽量でユーザーフレンドリーなPython向けのデータ検証 ライブラリです。クラスを簡単に宣言し、人気のあるDataFrameライブラリを 思わせるスタイルで検証を連結できるよう設計されています。これにより、 データフレームを頻繁に扱う開発者にとって馴染みやすく直感的なツールに なっています。

Narwhalsの優れた成果により、 Validoopsieは「Bring Your Own DataFrame」(BYOD)コンセプトを取り入れて います。この柔軟性により、Narwhalsがサポートする任意のDataFrameを データ検証作業に使用できます。対応するDataFrameの全リストは こちらからご覧いただけます。

Validoopsieの構文は使いやすさを考慮して巧みに設計されています。 すべての検証関数は独自のメソッドにカプセル化されており、スムーズに 連結可能です。このメソッド単位の設計はシンプルさと読みやすさを 優先しており、新しいAPIに適応する必要を解放します。

ライブラリを切り替えます。これにより、クリーンで理解しやすいコードの維持に集中できます。

Validoopsieは、Great Expectationsライブラリから大きなインスピレーションを受けています。 データ検証プロセスをシンプルかつ効率的なものに抽出することを目指しています。 データの整合性をチェックする場合でも、データ標準の遵守を確保する場合でも、Validoopsieは これらのタスクを利用しやすく簡単に行える、洗練されながらも強力なソリューションを提供します。

目次

インストール

pip install Validoopsie

uv add Validoopsie

はじめに

Validoopsieは非常に使いやすいため、簡単に実行できます

半分眠った状態で。ライブラリのシンプルさはBYOD(Bring Your Own DataFrame)コンセプトによって強化されており、Validateクラスを利用し、希望する検証をチェーンするだけで済みます。このアプローチにより、最小限の労力で無駄な複雑さなく始めることができます。

import pandas as pd

from validoopsie import Validate

p_df = pd.DataFrame( { "name": ["John", "Doe", "Jane"], "target_name": ["John", "Doe", "Jane"], "last_name": ["Smith", "Smith", "Smith"], "age": [25, 30, 35], }, )

vd stands for Validate Data

vd = Validate(p_df) vd.EqualityValidation.PairColumnEquality( column="name", target_column="age", impact="high", ).UniqueValidation.ColumnUniqueValuesToBeInList( column="last_name", values=["Smith"], ).ValuesValidation.ColumnValuesToBeBetween( column="age", min_value=20, max_value=40, )

vd.results

出力:

{
  "Summary": {
    "passed": false,
    "validations": [
      "PairColumnEquality_name",
      "ColumnUniqueValuesToBeInList_last_name",
      "ColumnValuesToBeBetween_age"
    ],
    "failed_validation": ["PairColumnEquality_name"]
  },
  "PairColumnEquality_name": {
    "validation": "PairColumnEquality",
    "impact": "high",
    "timestamp": "2025-10-07T11:25:04.213211+02:00",
    "column": "name",
    "result": {
      "status": "Fail",
      "threshold_pass": false,
      "message": "The column 'name' is not equal to the column'age'.",
      "failing_items": [
        "Doe - column name - column age - 30",
        "Jane - column name - column age - 35",
        "John - column name - column age - 25"
      ],
      "failed_number": 3,
      "frame_row_number": 3,
      "threshold": 0.0,
      "failed_percentage": 1.0
    }
  },
  "ColumnUniqueValuesToBeInList_last_name": {
    "validation": "ColumnUniqueValuesToBeInList",
    "impact": "low",
    "timestamp": "2025-10-07T11:25:04.216417+02:00",
    "column": "last_name",
    "result": {
      "status": "Success",
      "threshold_pass": true,
      "message": "All items passed the validation.",
      "frame_row_number": 3,
      "threshold": 0.0
    }
  },
  "ColumnValuesToBeBetween_age": {
    "validation": "ColumnValuesToBeBetween",
    "impact": "low",
    "timestamp": "2025-10-07T11:25:04.217300+02:00",
    "column": "age",
    "result": {
      "status": "Success",
      "threshold_pass": true,
      "message": "All items passed the validation.",
      "frame_row_number": 3,
      "threshold": 0.0
    }
  }
}

display_summary メソッドを使用して、検証結果をフォーマットされた表で表示することもでき、 検証結果をわかりやすく読みやすい形式で提供します:

vd.display_summary()

default display_summary

Display a full detailed table with all available information

vd.display_summary(information="full")

full display_summary

Customize the table format (supports tabulate formatting options)

vd.display_summary(tablefmt="pipe", maxcolwidths=20)

kwargs display_summary

display_summary メソッドは、2つの情報レベルをサポートしています:

また、tablefmt(例:"github"、"grid"、"pipe"、"html")や maxcolwidths のような tabulate のフォーマットオプションを使ってテーブルの外観をカスタマイズできます。

バージョン

Validoopsie のインストール済みバージョンはいつでも確認できます:

from validoopsie import __version__

print(__version__)

ダンダーメソッド

Validate クラスはいくつかのPythonダンダーメソッドをサポートしており、便利に使えます:

  >>> repr(vd)
  'Validate(rows=3, validations=3)'
  ``

  • str(vd) — 人間が読みやすいステータス文字列を返します:
`py >>> str(vd) 'Validate: 3 validation(s), passed=False' `

  • len(vd) — バリデーションの数を返します:
`py >>> len(vd) 3 `

Validate メソッド

すべての検証が正しく実行されたことを確認し、検証プロセス中に発生する可能性のあるエラーを処理するために、 validate メソッドを使用できます。ただし、エラーは impact レベルが high に設定されている場合にのみ 発生することに注意してください。この設定がない場合、潜在的な問題はエラーメッセージを 引き起こさない可能性があります。

注意: 発生するエラーはカスタムの ValueError です。

py import pandas as pd

from validoopsie import Validate

p_df = pd.DataFrame( { "name": ["John", "Doe", "Jane"], "target_name": ["John", "Doe", "Jane"], "last_name": ["Smith", "Smith", "Smith"], "age": [25, 30, 35], }, )

vd stands for Validate Data

vd = Validate(p_df) vd.EqualityValidation.PairColumnEquality( column="name", target_column="age", impact="high", ).UniqueValidation.ColumnUniqueValuesToBeInList( column="last_name", values=["Smith"], ).ValuesValidation.ColumnValuesToBeBetween( column="age", min_value=20, max_value=40, ).validate()

loguruのおかげで、出力は検証とそのステータスに関する非常に
簡潔な情報をカラフルに表示します。

validation output

開発

Validoopsieには開発作業を簡素化するためのMakefileが含まれています:

bash

Install dependencies

make setup

Run linters (mypy, ruff)

make lint

Run tests (includes doctests, stubtest)

make test

Run both lint and test

make all
``

開発に関する詳細は、 貢献ガイドラインをご覧ください。

ライセンス

MIT © Validoopsie

オリジナル作成者 - Akmal Soliev

--- Tranlated By Open Ai Tx | Last indexed: 2026-06-11 ---