./textproc/py-jsonschema, Implementation of JSON Schema for Python

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 4.21.1, Package name: py311-jsonschema-4.21.1, Maintainer: bsiegert

jsonschema is an implementation of JSON Schema for Python (supporting
2.6+ including Python 3).

Features:

- Full support for Draft 3 and Draft 4 of the schema.
- Lazy validation that can iteratively report all validation errors.
- Small and extensible
- Programmatic querying of which properties or items failed validation.


Required to run:
[devel/py-attrs] [devel/py-pyrsistent] [lang/python310]

Master sites:

Filesize: 313.956 KB

Version history: (Expand)


CVS history: (Expand)


   2024-01-20 09:01:49 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-jsonschema: updated to 4.21.1

v4.21.1

* Slightly speed up the ``contains`` keyword by removing some unnecessary \ 
validator (re-)creation.
   2024-01-16 19:18:35 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-jsonschema: updated to 4.21.0

v4.21.0

* Fix the behavior of ``enum`` in the presence of ``0`` or ``1`` to properly \ 
consider ``True`` and ``False`` unequal.
* Special case the error message for ``{min,max}{Items,Length,Properties}`` when \ 
they're checking for emptiness rather than true length.
   2023-11-27 16:37:10 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-jsonschema: updated to 4.20.0

v4.20.0

* Properly consider items (and properties) to be evaluated by \ 
``unevaluatedItems`` (resp. ``unevaluatedProperties``) when behind a \ 
``$dynamicRef`` as specified by the 2020 and 2019 specifications.
* ``jsonschema.exceptions.ErrorTree.__setitem__`` is now deprecated.
  More broadly, in general users of ``jsonschema`` should never be mutating \ 
objects owned by the library.
   2023-11-02 12:01:10 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-jsonschema: updated to 4.19.2

v4.19.2

* Fix the error message for additional items when used with heterogeneous arrays.
* Don't leak the ``additionalItems`` keyword into JSON Schema draft 2020-12, \ 
where it was replaced by ``items``.
   2023-10-28 21:57:26 by Thomas Klausner | Files touched by this commit (516) | Package updated
Log message:
python/wheel.mk: simplify a lot, and switch to 'installer' for installation

This follows the recommended bootstrap method (flit_core, build, installer).

However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
   2023-09-20 18:45:53 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-jsonschema: updated to 4.19.1

v4.19.1

* Single label hostnames are now properly considered valid according to the \ 
``hostname`` format.
  This is the behavior specified by the relevant RFC (1123).
  IDN hostname behavior was already correct.
   2023-08-25 23:35:08 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-jsonschema: updated to 4.19.0

v4.19.0
=======

* Importing the ``Validator`` protocol directly from the package root is deprecated.
  Import it from ``jsonschema.protocols.Validator`` instead.
* Automatic retrieval of remote references (which is still deprecated) now \ 
properly succeeds even if the retrieved resource does not declare which version \ 
of JSON Schema it uses.
  Such resources are assumed to be 2020-12 schemas.
  This more closely matches the pre-referencing library behavior.

v4.18.6
=======

* Set a ``jsonschema`` specific user agent when automatically retrieving remote \ 
references (which is deprecated).

v4.18.5
=======

* Declare support for Py3.12

v4.18.4
=======

* Improve the hashability of wrapped referencing exceptions when they contain \ 
hashable data.

v4.18.3
=======

* Properly preserve ``applicable_validators`` in extended validators.
  Specifically, validators extending early drafts where siblings of ``$ref`` \ 
were ignored will properly ignore siblings in the extended validator.

v4.18.2
=======

* Fix an additional regression with the deprecated ``jsonschema.RefResolver`` \ 
and pointer resolution.

v4.18.1
=======

* Fix a regression with ``jsonschema.RefResolver`` based resolution when used in \ 
combination with a custom validation dialect (via \ 
``jsonschema.validators.create``).

v4.18.0
=======

This release majorly rehauls the way in which JSON Schema reference resolution \ 
is configured.
It does so in a way that *should* be backwards compatible, preserving old \ 
behavior whilst emitting deprecation warnings.

* ``jsonschema.RefResolver`` is now deprecated in favor of the new `referencing \ 
library <https://github.com/python-jsonschema/referencing/>`_.
  ``referencing`` will begin in beta, but already is more compliant than the \ 
existing ``$ref`` support.
  This change is a culmination of a meaningful chunk of work to make ``$ref`` \ 
resolution more flexible and more correct.
  Backwards compatibility *should* be preserved for existing code which uses \ 
``RefResolver``, though doing so is again now deprecated, and all such use cases \ 
should be doable using the new APIs.
  Please file issues on the ``referencing`` tracker if there is functionality \ 
missing from it, or here on the ``jsonschema`` issue tracker if you have issues \ 
with existing code not functioning the same, or with figuring out how to change \ 
it to use ``referencing``.
  In particular, this referencing change includes a change concerning \ 
*automatic* retrieval of remote references (retrieving ``http://foo/bar`` \ 
automatically within a schema).
  This behavior has always been a potential security risk and counter to the \ 
recommendations of the JSON Schema specifications; it has survived this long \ 
essentially only for backwards compatibility reasons, and now explicitly \ 
produces warnings.
  The ``referencing`` library itself will *not* automatically retrieve \ 
references if you interact directly with it, so the deprecated behavior is only \ 
triggered if you fully rely on the default ``$ref`` resolution behavior and also \ 
include remote references in your schema, which will still be retrieved during \ 
the deprecation period (after which they will become an error).
* Support for Python 3.7 has been dropped, as it is nearing end-of-life.
  This should not be a "visible" change in the sense that \ 
``requires-python`` has been updated, so users using 3.7 should still receive \ 
``v4.17.3`` when installing the library.
* On draft 2019-09, ``unevaluatedItems`` now properly does *not* consider items \ 
to be evaluated by an ``additionalItems`` schema if ``items`` is missing from \ 
the schema, as the specification says in this case that ``additionalItems`` must \ 
be completely ignored.
* Fix the ``date`` format checker on Python 3.11 (when format assertion behavior \ 
is enabled), where it was too liberal
* Speed up validation of ``unevaluatedProperties``

Deprecations
------------

* ``jsonschema.RefResolver`` -- see above for details on the replacement
* ``jsonschema.RefResolutionError`` -- see above for details on the replacement
* relying on automatic resolution of remote references -- see above for details \ 
on the replacement
* importing ``jsonschema.ErrorTree`` -- instead import it via \ 
``jsonschema.exceptions.ErrorTree``
* importing ``jsonschema.FormatError`` -- instead import it via \ 
``jsonschema.exceptions.FormatError``
   2023-03-29 11:34:15 by Thomas Klausner | Files touched by this commit (96)
Log message:
*: use PYTHON_VERSION instead of _PYTHON_VERSION