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.26.0

  • Decrease import time by delaying importing of urllib.request (#1416).

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.26.0.tar.gz (366.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jsonschema-4.26.0-py3-none-any.whl (90.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for jsonschema-4.26.0.tar.gz
Algorithm Hash digest
SHA256 0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326
MD5 3c1deb667257ae19924dede13332d906
BLAKE2b-256 b3fce067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047

See more details on using hashes here.

Provenance

The following attestation bundles were made for jsonschema-4.26.0.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.26.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for jsonschema-4.26.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce
MD5 2b7e04c1ca5e5c280087b9765d9f3970
BLAKE2b-256 6990f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for jsonschema-4.26.0-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 Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page