{ buildPythonPackage, fetchPypi, hypothesis, lib, nix-update-script, pytestCheckHook, pythonOlder, rustPlatform, }: buildPythonPackage rec { pname = "jsonschema-rs"; version = "0.30.0"; pyproject = true; disabled = pythonOlder "3.8"; # Fetching from Pypi, because there is no Cargo.lock in the GitHub repo. src = fetchPypi { inherit version; pname = "jsonschema_rs"; hash = "sha256-KfmI0ik3HWrv1WDFsT5xvxyRyXKg2DpmxeuUHOR9MZM="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; hash = "sha256-LNT2wQnOaVMBrI+fW6wbIRaTYPvw3ESinI5KY8wjp1o="; }; nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ]; nativeCheckInputs = [ hypothesis pytestCheckHook ]; pythonImportsCheck = [ "jsonschema_rs" ]; passthru.updateScript = nix-update-script { }; meta = { description = "High-performance JSON Schema validator for Python"; homepage = "https://github.com/Stranger6667/jsonschema/tree/master/crates/jsonschema-py"; changelog = "https://github.com/Stranger6667/jsonschema/blob/python-v${version}/crates/jsonschema-py/CHANGELOG.md"; license = lib.licenses.mit; teams = [ lib.teams.apm ]; }; }