{ lib, attrs, buildPythonPackage, fetchPypi, hatch-fancy-pypi-readme, hatch-vcs, hatchling, importlib-resources, jsonschema-specifications, pkgutil-resolve-name, pip, pytestCheckHook, pythonOlder, referencing, rpds-py, # optionals fqdn, idna, isoduration, jsonpointer, rfc3339-validator, rfc3986-validator, rfc3987, uri-template, webcolors, }: buildPythonPackage rec { pname = "jsonschema"; version = "4.21.1"; format = "pyproject"; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; hash = "sha256-hXJ8ACefX6a+2+YjjSqmQDvt2LSGSrESB9B988wbLuU="; }; postPatch = '' patchShebangs json/bin/jsonschema_suite ''; nativeBuildInputs = [ hatch-fancy-pypi-readme hatch-vcs hatchling ]; propagatedBuildInputs = [ attrs jsonschema-specifications referencing rpds-py ] ++ lib.optionals (pythonOlder "3.9") [ importlib-resources pkgutil-resolve-name ]; passthru.optional-dependencies = { format = [ fqdn idna isoduration jsonpointer rfc3339-validator rfc3987 uri-template webcolors ]; format-nongpl = [ fqdn idna isoduration jsonpointer rfc3339-validator rfc3986-validator uri-template webcolors ]; }; nativeCheckInputs = [ pip pytestCheckHook ]; pythonImportsCheck = [ "jsonschema" ]; meta = with lib; { description = "An implementation of JSON Schema validation"; mainProgram = "jsonschema"; homepage = "https://github.com/python-jsonschema/jsonschema"; license = licenses.mit; maintainers = with maintainers; [ domenkozar ]; }; }