diff options
Diffstat (limited to 'pkgs/development/python-modules/jschon/default.nix')
-rw-r--r-- | pkgs/development/python-modules/jschon/default.nix | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/jschon/default.nix b/pkgs/development/python-modules/jschon/default.nix new file mode 100644 index 0000000000000..82a125e4460be --- /dev/null +++ b/pkgs/development/python-modules/jschon/default.nix @@ -0,0 +1,80 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, setuptools +, wheel +, rfc3986 +, pytestCheckHook +, hypothesis +, requests +, pytest-httpserver +, pytest-xdist +}: + +buildPythonPackage rec { + pname = "jschon"; + version = "0.11.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "marksparkza"; + repo = "jschon"; + rev = "v${version}"; + hash = "sha256-uOvEIEUEILsoLuV5U9AJCQAlT4iHQhsnSt65gfCiW0k="; + fetchSubmodules = true; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + rfc3986 + ]; + + pythonImportsCheck = [ + "jschon" + "jschon.catalog" + "jschon.vocabulary" + "jschon.exc" + "jschon.exceptions" + "jschon.formats" + "jschon.json" + "jschon.jsonpatch" + "jschon.jsonpointer" + "jschon.jsonschema" + "jschon.output" + "jschon.uri" + "jschon.utils" + ]; + + nativeCheckInputs = [ + pytestCheckHook + hypothesis + requests + pytest-httpserver + #pytest-benchmark # not needed for distribution + pytest-xdist # not used upstream, but massive speedup + ]; + + disabledTests = [ + # flaky, timing sensitive + "test_keyword_dependency_resolution" + ]; + + disabledTestPaths = [ + "tests/test_benchmarks.py" + ]; + + # used in checks + __darwinAllowLocalNetworking = true; + + meta = with lib; { + description = "An object-oriented JSON Schema implementation for Python"; + homepage = "https://github.com/marksparkza/jschon"; + changelog = "https://github.com/marksparkza/jschon/blob/${src.rev}/CHANGELOG.rst"; + license = licenses.mit; + maintainers = with maintainers; [ pbsds ]; + }; +} |