2025-07-24 14:27:50 +02:00

55 lines
1.3 KiB
Nix

{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
pytestCheckHook,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "fastjsonschema";
version = "2.21.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "horejsek";
repo = "python-fastjsonschema";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-H/jmvm5U4RB9KuD5EgCedbc499Fl8L2S9Y5SXy51JP0=";
};
build-system = [ setuptools ];
nativeCheckInputs = [ pytestCheckHook ];
disabledTests = [
"benchmark"
# these tests require network access
"remote ref"
"definitions"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
"test_compile_to_code_custom_format" # cannot import temporary module created during test
];
disabledTestPaths = [
# fastjsonschema.exceptions.JsonSchemaDefinitionException: Unknown format uuid/duration
"tests/json_schema/test_draft2019.py::test"
];
pythonImportsCheck = [ "fastjsonschema" ];
meta = with lib; {
description = "JSON schema validator for Python";
downloadPage = "https://github.com/horejsek/python-fastjsonschema";
homepage = "https://horejsek.github.io/python-fastjsonschema/";
license = licenses.bsd3;
maintainers = with maintainers; [ drewrisinger ];
};
}