GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

Julian

jsonschema – Python用JSONスキーマ(他の実装)

投稿日:

Python用JSONスキーマ(他の実装) https://python-jsonschema.readthedocs.io

jsonschema

jsonschemaは、Python用のJSON Schemaの実装です(Python 3を含む2.7+をサポートしています)。

>>> from jsonschema import validate

>>> # A sample schema, like what we'd get from json.load()
>>> schema = {
...     "type" : "object",
...     "properties" : {
...         "price" : {"type" : "number"},
...         "name" : {"type" : "string"},
...     },
... }

>>> # If no exception is raised by validate(), the instance is valid.
>>> validate({"name" : "Eggs", "price" : 34.99}, schema)

>>> validate(
...     {"name" : "Eggs", "price" : "Invalid"}, schema
... )                                   # doctest: +IGNORE_EXCEPTION_DETAIL
Traceback (most recent call last):
    ...
ValidationError: 'Invalid' is not of type 'number'

コンソールからも使用できます:

$ jsonschema -i sample.json sample.schema

特徴

リリースノート

バージョン2.6.0はPython 2.6.X(ha ha)のサポートを廃止し、エラーメッセージにはいくつかの改良が加えられており、 ErrorTreeバグ修正も含まれています。

テストスイートの実行

あなたがtoxインストールしている場合(おそらくpip install toxやパッケージマネージャー経由で)、ソースチェックアウトのディレクトリにjsonschemaを実行すると、 jsonschemaのすべてのバージョンのPythonのjsonschemaます。 それぞれのバージョンでテストを実行するには、それらのバージョンをすべてインストールする必要があります。そうでない場合、 toxはそのバージョンのテストをスキップ(および失敗)します。

もちろん、好きなテストランナーと一緒に1つのバージョンでテストを実行することも自由です。 テストはjsonschema.testsパッケージにあります。

ベンチマーク

jsonschemaのベンチマークはperfを利用しています。

それらを実行するには、 tox -e perfを使用するか、またはperfコマンドを外部で呼び出します( jsonschema両方がインストールされていることを確認した後)。

$ python -m perf jsonschema/benchmarks/test_suite.py --hist --output results.json

以前の実行と比較するには、次のコマンドを使用します。

$ python -m perf compare_to --table reference.json results.json

詳細はperfドキュメントを参照してください。

コミュニティ

この実装のためのメーリングリストがGoogleグループにあります。

参加して自由に質問をしてください。

貢献する

私はジュリアン・バーマンです。

jsonschemaGitHubにあります

GitHub経由で連絡してください。寄付するものがあれば、大歓迎です!

tos9を含むさまざまなチャンネルのFreenode(nick: tos9 )で私を見つけることもできます。

圧倒的に感謝しているのであれば、私のGitHubプロフィールの電子メールで、 Gittipのビールのお金で、またはGoogle Wallet経由で私に腹を立てることができます。







-Julian

執筆者: