new models, frontend functions, public pages
This commit is contained in:
@@ -0,0 +1 @@
|
||||
pip
|
||||
@@ -0,0 +1,176 @@
|
||||
Metadata-Version: 2.3
|
||||
Name: jsonschema
|
||||
Version: 4.23.0
|
||||
Summary: An implementation of JSON Schema validation for Python
|
||||
Project-URL: Homepage, https://github.com/python-jsonschema/jsonschema
|
||||
Project-URL: Documentation, https://python-jsonschema.readthedocs.io/
|
||||
Project-URL: Issues, https://github.com/python-jsonschema/jsonschema/issues/
|
||||
Project-URL: Funding, https://github.com/sponsors/Julian
|
||||
Project-URL: Tidelift, https://tidelift.com/subscription/pkg/pypi-jsonschema?utm_source=pypi-jsonschema&utm_medium=referral&utm_campaign=pypi-link
|
||||
Project-URL: Changelog, https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst
|
||||
Project-URL: Source, https://github.com/python-jsonschema/jsonschema
|
||||
Author-email: Julian Berman <Julian+jsonschema@GrayVines.com>
|
||||
License: MIT
|
||||
License-File: COPYING
|
||||
Keywords: data validation,json,json schema,jsonschema,validation
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: License :: OSI Approved :: MIT License
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Programming Language :: Python :: 3.9
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Classifier: Programming Language :: Python :: 3.11
|
||||
Classifier: Programming Language :: Python :: 3.12
|
||||
Classifier: Programming Language :: Python :: 3.13
|
||||
Classifier: Programming Language :: Python :: Implementation :: CPython
|
||||
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
||||
Classifier: Topic :: File Formats :: JSON
|
||||
Classifier: Topic :: File Formats :: JSON :: JSON Schema
|
||||
Requires-Python: >=3.8
|
||||
Requires-Dist: attrs>=22.2.0
|
||||
Requires-Dist: importlib-resources>=1.4.0; python_version < '3.9'
|
||||
Requires-Dist: jsonschema-specifications>=2023.03.6
|
||||
Requires-Dist: pkgutil-resolve-name>=1.3.10; python_version < '3.9'
|
||||
Requires-Dist: referencing>=0.28.4
|
||||
Requires-Dist: rpds-py>=0.7.1
|
||||
Provides-Extra: format
|
||||
Requires-Dist: fqdn; extra == 'format'
|
||||
Requires-Dist: idna; extra == 'format'
|
||||
Requires-Dist: isoduration; extra == 'format'
|
||||
Requires-Dist: jsonpointer>1.13; extra == 'format'
|
||||
Requires-Dist: rfc3339-validator; extra == 'format'
|
||||
Requires-Dist: rfc3987; extra == 'format'
|
||||
Requires-Dist: uri-template; extra == 'format'
|
||||
Requires-Dist: webcolors>=1.11; extra == 'format'
|
||||
Provides-Extra: format-nongpl
|
||||
Requires-Dist: fqdn; extra == 'format-nongpl'
|
||||
Requires-Dist: idna; extra == 'format-nongpl'
|
||||
Requires-Dist: isoduration; extra == 'format-nongpl'
|
||||
Requires-Dist: jsonpointer>1.13; extra == 'format-nongpl'
|
||||
Requires-Dist: rfc3339-validator; extra == 'format-nongpl'
|
||||
Requires-Dist: rfc3986-validator>0.1.0; extra == 'format-nongpl'
|
||||
Requires-Dist: uri-template; extra == 'format-nongpl'
|
||||
Requires-Dist: webcolors>=24.6.0; extra == 'format-nongpl'
|
||||
Description-Content-Type: text/x-rst
|
||||
|
||||
==========
|
||||
jsonschema
|
||||
==========
|
||||
|
||||
|PyPI| |Pythons| |CI| |ReadTheDocs| |Precommit| |Zenodo|
|
||||
|
||||
.. |PyPI| image:: https://img.shields.io/pypi/v/jsonschema.svg
|
||||
:alt: PyPI version
|
||||
:target: https://pypi.org/project/jsonschema/
|
||||
|
||||
.. |Pythons| image:: https://img.shields.io/pypi/pyversions/jsonschema.svg
|
||||
:alt: Supported Python versions
|
||||
:target: https://pypi.org/project/jsonschema/
|
||||
|
||||
.. |CI| image:: https://github.com/python-jsonschema/jsonschema/workflows/CI/badge.svg
|
||||
:alt: Build status
|
||||
:target: https://github.com/python-jsonschema/jsonschema/actions?query=workflow%3ACI
|
||||
|
||||
.. |ReadTheDocs| image:: https://readthedocs.org/projects/python-jsonschema/badge/?version=stable&style=flat
|
||||
:alt: ReadTheDocs status
|
||||
:target: https://python-jsonschema.readthedocs.io/en/stable/
|
||||
|
||||
.. |Precommit| image:: https://results.pre-commit.ci/badge/github/python-jsonschema/jsonschema/main.svg
|
||||
:alt: pre-commit.ci status
|
||||
:target: https://results.pre-commit.ci/latest/github/python-jsonschema/jsonschema/main
|
||||
|
||||
.. |Zenodo| image:: https://zenodo.org/badge/3072629.svg
|
||||
:alt: Zenodo DOI
|
||||
:target: https://zenodo.org/badge/latestdoi/3072629
|
||||
|
||||
|
||||
``jsonschema`` is an implementation of the `JSON Schema <https://json-schema.org>`_ specification for Python.
|
||||
|
||||
.. code:: python
|
||||
|
||||
>>> 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(instance={"name" : "Eggs", "price" : 34.99}, schema=schema)
|
||||
|
||||
>>> validate(
|
||||
... instance={"name" : "Eggs", "price" : "Invalid"}, schema=schema,
|
||||
... ) # doctest: +IGNORE_EXCEPTION_DETAIL
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ValidationError: 'Invalid' is not of type 'number'
|
||||
|
||||
It can also be used from the command line by installing `check-jsonschema <https://github.com/python-jsonschema/check-jsonschema>`_.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Full support for `Draft 2020-12 <https://python-jsonschema.readthedocs.io/en/latest/api/jsonschema/validators/#jsonschema.validators.Draft202012Validator>`_, `Draft 2019-09 <https://python-jsonschema.readthedocs.io/en/latest/api/jsonschema/validators/#jsonschema.validators.Draft201909Validator>`_, `Draft 7 <https://python-jsonschema.readthedocs.io/en/latest/api/jsonschema/validators/#jsonschema.validators.Draft7Validator>`_, `Draft 6 <https://python-jsonschema.readthedocs.io/en/latest/api/jsonschema/validators/#jsonschema.validators.Draft6Validator>`_, `Draft 4 <https://python-jsonschema.readthedocs.io/en/latest/api/jsonschema/validators/#jsonschema.validators.Draft4Validator>`_ and `Draft 3 <https://python-jsonschema.readthedocs.io/en/latest/api/jsonschema/validators/#jsonschema.validators.Draft3Validator>`_
|
||||
|
||||
* `Lazy validation <https://python-jsonschema.readthedocs.io/en/latest/api/jsonschema/protocols/#jsonschema.protocols.Validator.iter_errors>`_ that can iteratively report *all* validation errors.
|
||||
|
||||
* `Programmatic querying <https://python-jsonschema.readthedocs.io/en/latest/errors/>`_ of which properties or items failed validation.
|
||||
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
``jsonschema`` is available on `PyPI <https://pypi.org/project/jsonschema/>`_. You can install using `pip <https://pip.pypa.io/en/stable/>`_:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
$ pip install jsonschema
|
||||
|
||||
|
||||
Extras
|
||||
======
|
||||
|
||||
Two extras are available when installing the package, both currently related to ``format`` validation:
|
||||
|
||||
* ``format``
|
||||
* ``format-nongpl``
|
||||
|
||||
They can be used when installing in order to include additional dependencies, e.g.:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
$ pip install jsonschema'[format]'
|
||||
|
||||
Be aware that the mere presence of these dependencies – or even the specification of ``format`` checks in a schema – do *not* activate format checks (as per the specification).
|
||||
Please read the `format validation documentation <https://python-jsonschema.readthedocs.io/en/latest/validate/#validating-formats>`_ for further details.
|
||||
|
||||
About
|
||||
-----
|
||||
|
||||
I'm Julian Berman.
|
||||
|
||||
``jsonschema`` is on `GitHub <https://github.com/python-jsonschema/jsonschema>`_.
|
||||
|
||||
Get in touch, via GitHub or otherwise, if you've got something to contribute, it'd be most welcome!
|
||||
|
||||
You can also generally find me on Libera (nick: ``Julian``) in various channels, including ``#python``.
|
||||
|
||||
If you feel overwhelmingly grateful, you can also `sponsor me <https://github.com/sponsors/Julian/>`_.
|
||||
|
||||
And for companies who appreciate ``jsonschema`` and its continued support and growth, ``jsonschema`` is also now supportable via `TideLift <https://tidelift.com/subscription/pkg/pypi-jsonschema?utm_source=pypi-jsonschema&utm_medium=referral&utm_campaign=readme>`_.
|
||||
|
||||
|
||||
Release Information
|
||||
-------------------
|
||||
|
||||
v4.23.0
|
||||
=======
|
||||
|
||||
* Do not reorder dictionaries (schemas, instances) that are printed as part of validation errors.
|
||||
* Declare support for Py3.13
|
||||
@@ -0,0 +1,76 @@
|
||||
../../../bin/jsonschema,sha256=3h_ivM07LP9sft0K_jsXx4W2ImRlH95DBeynCf4swXQ,233
|
||||
jsonschema-4.23.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
jsonschema-4.23.0.dist-info/METADATA,sha256=Hd96gAfdO0v5RpFeT25qjyo7PvhASy56F4Jw3FUUTlo,7906
|
||||
jsonschema-4.23.0.dist-info/RECORD,,
|
||||
jsonschema-4.23.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
||||
jsonschema-4.23.0.dist-info/entry_points.txt,sha256=vO7rX4Fs_xIVJy2pnAtKgTSxfpnozAVQ0DjCmpMxnWE,51
|
||||
jsonschema-4.23.0.dist-info/licenses/COPYING,sha256=T5KgFaE8TRoEC-8BiqE0MLTxvHO0Gxa7hGw0Z2bedDk,1057
|
||||
jsonschema/__init__.py,sha256=LkPwscySlJ9lTOp7ZB1M7jQ8mbG7-bYG41iBwbZ-o9s,3941
|
||||
jsonschema/__main__.py,sha256=iLsZf2upUB3ilBKTlMnyK-HHt2Cnnfkwwxi_c6gLvSA,115
|
||||
jsonschema/__pycache__/__init__.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/__main__.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/_format.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/_keywords.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/_legacy_keywords.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/_types.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/_typing.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/_utils.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/cli.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/exceptions.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/protocols.cpython-310.pyc,,
|
||||
jsonschema/__pycache__/validators.cpython-310.pyc,,
|
||||
jsonschema/_format.py,sha256=F_MA52IkrhOIxDqD8x-01bH37mG5nh0kyNrWUSLtWb8,14591
|
||||
jsonschema/_keywords.py,sha256=r8_DrqAfn6QLwQnmXEggveiSU-UaIL2p2nuPINelfFc,14949
|
||||
jsonschema/_legacy_keywords.py,sha256=2tWuwRPWbYS7EAl8wBIC_rabGuv1J4dfYLqNEPpShhA,15191
|
||||
jsonschema/_types.py,sha256=HQ5QD_oL85zF1FSW2v-5rvfYF0967HJdxSR88kzw2mY,5367
|
||||
jsonschema/_typing.py,sha256=NZhPhkBOn9INYZk8G69rDeuRamztgXCMLh10z9cfT6g,610
|
||||
jsonschema/_utils.py,sha256=ODga3vrJ6K2wMGxerpgn4ipc9q7ZSqBsvwKU4embLEE,10642
|
||||
jsonschema/benchmarks/__init__.py,sha256=A0sQrxDBVHSyQ-8ru3L11hMXf3q9gVuB9x_YgHb4R9M,70
|
||||
jsonschema/benchmarks/__pycache__/__init__.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/__pycache__/const_vs_enum.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/__pycache__/contains.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/__pycache__/issue232.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/__pycache__/json_schema_test_suite.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/__pycache__/nested_schemas.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/__pycache__/subcomponents.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/__pycache__/unused_registry.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/__pycache__/useless_applicator_schemas.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/__pycache__/useless_keywords.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/__pycache__/validator_creation.cpython-310.pyc,,
|
||||
jsonschema/benchmarks/const_vs_enum.py,sha256=DVFi3WDqBalZFOibnjpX1uTSr3Rxa2cPgFcowd7Ukrs,830
|
||||
jsonschema/benchmarks/contains.py,sha256=gexQoUrCOwECofbt19BeosQZ7WFL6PDdkX49DWwBlOg,786
|
||||
jsonschema/benchmarks/issue232.py,sha256=3LLYLIlBGQnVuyyo2iAv-xky5P6PRFHANx4-zIIQOoE,521
|
||||
jsonschema/benchmarks/issue232/issue.json,sha256=eaPOZjMRu5u8RpKrsA9uk7ucPZS5tkKG4D_hkOTQ3Hk,117105
|
||||
jsonschema/benchmarks/json_schema_test_suite.py,sha256=PvfabpUYcF4_7csYDTcTauED8rnFEGYbdY5RqTXD08s,320
|
||||
jsonschema/benchmarks/nested_schemas.py,sha256=mo07dx-CIgmSOI62CNs4g5xu1FzHklLBpkQoDxWYcKs,1892
|
||||
jsonschema/benchmarks/subcomponents.py,sha256=fEyiMzsWeK2pd7DEGCuuY-vzGunwhHczRBWEnBRLKIo,1113
|
||||
jsonschema/benchmarks/unused_registry.py,sha256=hwRwONc9cefPtYzkoX_TYRO3GyUojriv0-YQaK3vnj0,940
|
||||
jsonschema/benchmarks/useless_applicator_schemas.py,sha256=EVm5-EtOEFoLP_Vt2j4SrCwlx05NhPqNuZQ6LIMP1Dc,3342
|
||||
jsonschema/benchmarks/useless_keywords.py,sha256=bj_zKr1oVctFlqyZaObCsYTgFjiiNgPzC0hr1Y868mE,867
|
||||
jsonschema/benchmarks/validator_creation.py,sha256=UkUQlLAnussnr_KdCIdad6xx2pXxQLmYtsXoiirKeWQ,285
|
||||
jsonschema/cli.py,sha256=SGy9JPg02mgXhNxugU8iXhYNivfSjBhKTNAgV90ty-M,8551
|
||||
jsonschema/exceptions.py,sha256=RxE2T5xxgg_B6ttR8a3lCbZyh29RUtFe4oZKMoHPBAE,15035
|
||||
jsonschema/protocols.py,sha256=7mpZxO1gfRNMCGXwldwsSN3nEugVfIVyKZ_HZgN1vSw,7174
|
||||
jsonschema/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
||||
jsonschema/tests/__pycache__/__init__.cpython-310.pyc,,
|
||||
jsonschema/tests/__pycache__/_suite.cpython-310.pyc,,
|
||||
jsonschema/tests/__pycache__/fuzz_validate.cpython-310.pyc,,
|
||||
jsonschema/tests/__pycache__/test_cli.cpython-310.pyc,,
|
||||
jsonschema/tests/__pycache__/test_deprecations.cpython-310.pyc,,
|
||||
jsonschema/tests/__pycache__/test_exceptions.cpython-310.pyc,,
|
||||
jsonschema/tests/__pycache__/test_format.cpython-310.pyc,,
|
||||
jsonschema/tests/__pycache__/test_jsonschema_test_suite.cpython-310.pyc,,
|
||||
jsonschema/tests/__pycache__/test_types.cpython-310.pyc,,
|
||||
jsonschema/tests/__pycache__/test_utils.cpython-310.pyc,,
|
||||
jsonschema/tests/__pycache__/test_validators.cpython-310.pyc,,
|
||||
jsonschema/tests/_suite.py,sha256=QAfBj34zMbJQ5_JJ2ogpiTlw9hQ6Is43dvo_bpS0EdM,8156
|
||||
jsonschema/tests/fuzz_validate.py,sha256=fUA7yTJIihaCwJplkUehZeyB84HcXEcqtY5oPJXIO7I,1114
|
||||
jsonschema/tests/test_cli.py,sha256=uFMu2YbIfbSDCnykhLL4-VR3-jg1tvQLJn2Bliwp_Bw,28587
|
||||
jsonschema/tests/test_deprecations.py,sha256=9VxOCfWzMG1Tg4OD8riU_Znd6HDOQZkepzVgxsdUdU8,15760
|
||||
jsonschema/tests/test_exceptions.py,sha256=JgC-E1ZFZK2puVBp35WFRnG8CNOiSWLYtyLjh9IvFKI,22591
|
||||
jsonschema/tests/test_format.py,sha256=eVm5SMaWF2lOPO28bPAwNvkiQvHCQKy-MnuAgEchfEc,3188
|
||||
jsonschema/tests/test_jsonschema_test_suite.py,sha256=a2saPs2Cwwg0sdRdu-uJ8goSXLbqrS-pC48QJy0K4DE,8674
|
||||
jsonschema/tests/test_types.py,sha256=cF51KTDmdsx06MrIc4fXKt0X9fIsVgw5uhT8CamVa8U,6977
|
||||
jsonschema/tests/test_utils.py,sha256=sao74o1PyYMxBfqweokQN48CFSS6yhJk5FkCfMJ5PsI,4163
|
||||
jsonschema/tests/test_validators.py,sha256=eiaigsZMzHYYsniQ1UPygaS56a1d-_7-9NC4wVXAhzs,87975
|
||||
jsonschema/validators.py,sha256=H31FwHdyB7LP5eunxdBrZ9E57hpvozfnRlZaOYy45jU,47045
|
||||
@@ -0,0 +1,4 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: hatchling 1.25.0
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
@@ -0,0 +1,2 @@
|
||||
[console_scripts]
|
||||
jsonschema = jsonschema.cli:main
|
||||
@@ -0,0 +1,19 @@
|
||||
Copyright (c) 2013 Julian Berman
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
Reference in New Issue
Block a user