Web Analytics

wimsey

⭐ 167 stars Japanese by benrutter

🔍 Wimsey

Codeberg PyPi

Docs License coverage

Wimseyは軽量で柔軟、完全オープンソースのデータ契約ライブラリです。

便利なtest catalogueクイックスタートガイドもぜひご覧ください。

データ契約とは何ですか?

次のデータイベントで話題にしたくなる良いバズワードであると同時に、データの境界値での検証に適した方法がデータ契約です。理想的には、受け取ったすべてのデータがすぐに使える状態であるべきですが、そうでないことが多いのはすでにご存知かもしれません。

データ契約とは、あるデータに対して真であるべき条件を表現したものです。例えば、存在する列はfirst_namelast_nameratingだけであることや、ratingが10未満の数値であることをチェックしたい場合があります。

Wimseyではjson、yaml、pythonで契約を書けます。以下はyamlで上記のチェックを表現した例です:

- test: columns_should
  be:
    
  • first_name
  • last_name
  • rating
  • column: rating
test: max_should be_less_than_or_equal_to: 10

Wimsey は次の2つの方法でテストを実行できます。validate はテストが失敗した場合にエラーをスローし、それ以外の場合はデータフレームを返します。test は個々のテストの成功と失敗の詳細な概要を提供します。

Validate は polars や pandas の pipe メソッドと組み合わせて便利なガードとして機能するよう設計されています:

import polars as pl
import wimsey

df = ( pl.read_csv("hopefully_nice_data.csv") .pipe(wimsey.validate, "tests.json") .group_by("name").agg(pl.col("value").sum()) )

テストは単一の関数呼び出しであり、FinalResultデータ型を返します:

import pandas as pd
import wimsey

df = pd.read_csv("hopefully_nice_data.csv") results = wimsey.test(df, "tests.yaml")

if results.success: print("Yay we have good data! 🥳") else: print(f"Oh nooo, something's up! 😭") print([i for i in results.results if not i.success])

ロードマップ、貢献およびフィードバック

WimseyはGitHubにミラーされていますが、ホスティングおよび開発はcodebergで行われています。Issueやプルリクエストは両方で受け付けています。

現在の焦点はプロファイリングとテスト生成の改善にあります。もし役立つテストや機能があれば、お気軽にご連絡ください!

--- Tranlated By Open Ai Tx | Last indexed: 2025-12-10 ---