Skip to main content

An implementation of JSON Schema validation for Python

Project description

PyPI version Supported Python versions Build status ReadTheDocs status pre-commit.ci status Zenodo DOI

jsonschema is an implementation of the JSON Schema specification for 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.

Features

Installation

jsonschema is available on PyPI. You can install using pip:

$ 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.:

$ 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 for further details.

About

I’m Julian Berman.

jsonschema is on GitHub.

Get in touch, via GitHub or otherwise, if you’ve got something to contribute, it’d be most welcome!

If you feel overwhelmingly grateful, you can also sponsor me.

And for companies who appreciate jsonschema and its continued support and growth, jsonschema is also now supportable via TideLift.

Release Information

v4.25.1

  • Fix an incorrect required argument in the Validator protocol’s type annotations (#1396).

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jsonschema-4.25.1.tar.gz (357.3 kB view details)

Uploaded Source

Built Distribution

jsonschema-4.25.1-py3-none-any.whl (90.0 kB view details)

Uploaded Python 3

File details

Details for the file jsonschema-4.25.1.tar.gz.

File metadata

  • Download URL: jsonschema-4.25.1.tar.gz
  • Upload date:
  • Size: 357.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for jsonschema-4.25.1.tar.gz
Algorithm Hash digest
SHA256 e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85
MD5 e33f133a5b56b9f9756b38065849c86f
BLAKE2b-256 7469f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336

See more details on using hashes here.

Provenance

The following attestation bundles were made for jsonschema-4.25.1.tar.gz:

Publisher: ci.yml on python-jsonschema/jsonschema

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jsonschema-4.25.1-py3-none-any.whl.

File metadata

  • Download URL: jsonschema-4.25.1-py3-none-any.whl
  • Upload date:
  • Size: 90.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for jsonschema-4.25.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63
MD5 b0f1d9abf090407e4dafd026bce97af3
BLAKE2b-256 bf9c8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for jsonschema-4.25.1-py3-none-any.whl:

Publisher: ci.yml on python-jsonschema/jsonschema

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page