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

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 console:

$ jsonschema --instance sample.json sample.schema

Features

Installation

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

$ pip install jsonschema

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!

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.

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

Release Information

v4.12.1

  • Fix some stray comments in the README.

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

Uploaded Source

Built Distribution

jsonschema-4.12.1-py3-none-any.whl (81.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jsonschema-4.12.1.tar.gz
  • Upload date:
  • Size: 287.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for jsonschema-4.12.1.tar.gz
Algorithm Hash digest
SHA256 c7dd96a88c4ea60bdc8478589ee2d4ea5d73ab235e24d17641ad733dde4e3eb1
MD5 4c651304f4e22c05a153c78be79fa148
BLAKE2b-256 256a103d3cfe6f65aa324cf07bb4f6a56e48bce94b3080befca955ff65d25828

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jsonschema-4.12.1-py3-none-any.whl
  • Upload date:
  • Size: 81.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for jsonschema-4.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 05f975aee3f1244a1ea0e018e8ad2672f6ca5fd1a28bc46ffc7d4b3e9896cac4
MD5 eb173e6f4a04bf50b6212bd234eedb35
BLAKE2b-256 c3cbe85ce855d79d72ece2636c2e1014596ee36956496de6577a5552b197d17a

See more details on using hashes here.

Supported by

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