Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / prance / default.nix
blob1fffa8cde714c41489cb3912e06a931de5baebcf
1 { lib
2 , buildPythonPackage
3 , pythonOlder
4 , fetchFromGitHub
5 , chardet
6 , click
7 , flex
8 , packaging
9 , pyicu
10 , requests
11 , ruamel-yaml
12 , setuptools-scm
13 , six
14 , swagger-spec-validator
15 , pytestCheckHook
16 , openapi-spec-validator
19 buildPythonPackage rec {
20   pname = "prance";
21   version = "23.06.21.0";
22   format = "pyproject";
24   disabled = pythonOlder "3.8";
26   src = fetchFromGitHub {
27     owner = "RonnyPfannschmidt";
28     repo = pname;
29     rev = "v${version}";
30     fetchSubmodules = true;
31     hash = "sha256-p+LZbQal4DPeMp+eJ2O83rCaL+QIUDcU34pZhYdN4bE=";
32   };
34   postPatch = ''
35     substituteInPlace setup.cfg \
36       --replace "--cov=prance --cov-report=term-missing --cov-fail-under=90" ""
37   '';
39   SETUPTOOLS_SCM_PRETEND_VERSION = version;
41   nativeBuildInputs = [
42     setuptools-scm
43   ];
45   propagatedBuildInputs = [
46     chardet
47     packaging
48     requests
49     ruamel-yaml
50     six
51   ];
53   passthru.optional-dependencies = {
54     cli = [ click ];
55     flex = [ flex ];
56     icu = [ pyicu ];
57     osv = [ openapi-spec-validator ];
58     ssv = [ swagger-spec-validator ];
59   };
61   nativeCheckInputs = [
62     pytestCheckHook
63   ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
65   # Disable tests that require network
66   disabledTestPaths = [
67     "tests/test_convert.py"
68   ];
69   disabledTests = [
70     "test_convert_defaults"
71     "test_convert_output"
72     "test_fetch_url_http"
73     "test_openapi_spec_validator_validate_failure"
74   ];
75   pythonImportsCheck = [ "prance" ];
77   meta = with lib; {
78     changelog = "https://github.com/RonnyPfannschmidt/prance/blob/${src.rev}/CHANGES.rst";
79     description = "Resolving Swagger/OpenAPI 2.0 and 3.0.0 Parser";
80     homepage = "https://github.com/RonnyPfannschmidt/prance";
81     license = licenses.mit;
82     maintainers = [ ];
83   };