|
|
- .. image:: https://img.shields.io/pypi/v/jsonschema.svg
- :target: https://pypi.python.org/pypi/jsonschema
- .. image:: https://travis-ci.org/Julian/jsonschema.svg?branch=master
- :target: https://travis-ci.org/Julian/jsonschema
- .. image:: https://img.shields.io/pypi/l/jsonschema.svg
- :target: https://pypi.python.org/pypi/jsonschema
-
- ==========
- jsonschema
- ==========
-
- ``jsonschema`` is an implementation of `JSON Schema <http://json-schema.org>`_
- for Python (supporting 2.7+ including Python 3).
-
- .. code-block:: 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({"name" : "Eggs", "price" : 34.99}, schema)
-
- >>> validate(
- ... {"name" : "Eggs", "price" : "Invalid"}, schema
- ... ) # doctest: +IGNORE_EXCEPTION_DETAIL
- Traceback (most recent call last):
- ...
- ValidationError: 'Invalid' is not of type 'number'
-
- It can also be used from console:
-
- .. code-block:: bash
-
- $ jsonschema -i sample.json sample.schema
-
- Features
- --------
-
- * Full support for
- `Draft 3 <https://python-jsonschema.readthedocs.io/en/latest/validate/#jsonschema.Draft3Validator>`_
- **and** `Draft 4 <https://python-jsonschema.readthedocs.io/en/latest/validate/#jsonschema.Draft4Validator>`_
- of the schema.
-
- * `Lazy validation <https://python-jsonschema.readthedocs.io/en/latest/validate/#jsonschema.IValidator.iter_errors>`_
- that can iteratively report *all* validation errors.
-
- * Small and extensible
-
- * `Programmatic querying <https://python-jsonschema.readthedocs.io/en/latest/errors/#module-jsonschema>`_
- of which properties or items failed validation.
-
-
- Release Notes
- -------------
-
- Version 2.5.0 is mainly a performance release. The interface for `RefResolver`
- was extended to add methods that improve performance on CPython.
-
- Support for custom `RefResolver` objects with the legacy interface should *not*
- be affected. If you notice something amiss please file an issue ticket.
-
-
- 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. Note that you'll need to have all of those versions installed in
- order to run the tests on each of them, otherwise ``tox`` will skip (and fail)
- the tests on that version.
-
- 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.
-
-
- Community
- ---------
-
- There's a `mailing list <https://groups.google.com/forum/#!forum/jsonschema>`_
- for this implementation on Google Groups.
-
- Please join, and feel free to send questions there.
-
-
- Contributing
- ------------
-
- I'm Julian Berman.
-
- ``jsonschema`` is on `GitHub <http://github.com/Julian/jsonschema>`_.
-
- 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 woo me with beer money on
- `Gittip <https://www.gittip.com/Julian/>`_ or via Google Wallet with the email
- in my GitHub profile.
-
-
|