single |
==========
jsonschema
==========
|PyPI| |Pythons| |Travis| |AppVeyor| |Codecov| |ReadTheDocs|
jsonschema is an implementation of [JSON Schema]
for Python (supporting 2.7+ including Python 3).
:alt: Open Live Demo
Online demo Notebook will look similar to this:
.. image::
https://user-images.githubusercontent.com/1155573/56820861-5c1c1880-6823-11e9-802a-ce01c5ec574f.gif
:alt: Open Live Demo
:width: 480 px
Release Notes
-------------
v3.1 brings support for ECMA 262 dialect regular expressions
throughout schemas, as recommended by the specification. Big
thanks to @Zac-HD for authoring support in a new `js-regex
`_ library.
Running the Test Suite
----------------------
If you have tox installed (perhaps via pip install tox or your
package manager), running tox in the directory of your source
checkout will run jsonschema's test suite on all of the versions
of Python jsonschema supports. If you don't have all of the
versions that jsonschema is tested under, you'll likely want to run
using tox's ``--skip-missing-interpreters`` option.
Of course you're also free to just run the tests on a single version with
your
favorite test runner. The tests live in the ``jsonschema.tests`` package.
Benchmarks
----------
jsonschema's benchmarks make use of [pyperf
].
Running them can be done via ``tox -e perf``, or by invoking the pyperf
commands externally (after ensuring that both it and jsonschema itself are
installed)::
$ python -m pyperf jsonschema/benchmarks/test_suite.py --hist --output
results.json
To compare to a previous run, use::
$ python -m pyperf compare_to --table reference.json results.json
See the pyperf documentation for more details.
Community
---------
There's a [mailing list]
for this implementation on Google Groups.
Please join, and feel free to send questions there.
Contributing
------------
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 Freenode (nick: tos9) in various
channels, including ``#python``.
If you feel overwhelmingly grateful, you can also woo me with beer money
via Google Pay with the email in my GitHub profile.
And for companies who appreciate jsonschema and its continued support
and growth, jsonschema is also now supportable via [TideLift
].
|