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

  • Add support for the iri and iri-reference formats to the format-nongpl extra via the MIT-licensed rfc3987-syntax. They were alread supported by the format extra. (#1388).

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

Uploaded Source

Built Distribution

jsonschema-4.25.0-py3-none-any.whl (89.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jsonschema-4.25.0.tar.gz
  • Upload date:
  • Size: 356.8 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.0.tar.gz
Algorithm Hash digest
SHA256 e63acf5c11762c0e6672ffb61482bdf57f0876684d8d249c0fe2d730d48bc55f
MD5 94a6dbde3151edcf8e102e2fe229a498
BLAKE2b-256 d500a297a868e9d0784450faa7365c2172a7d6110c763e30ba861867c32ae6a9

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jsonschema-4.25.0-py3-none-any.whl
  • Upload date:
  • Size: 89.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24c2e8da302de79c8b9382fee3e76b355e44d2a4364bb207159ce10b517bd716
MD5 de052b97891dcf1088ea7f37897b53bc
BLAKE2b-256 fe54c86cd8e011fe98803d7e382fd67c0df5ceab8d2b7ad8c5a81524f791551c

See more details on using hashes here.

Provenance

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