diff --git a/pkgs/development/python-modules/openapi-schema-validator/default.nix b/pkgs/development/python-modules/openapi-schema-validator/default.nix new file mode 100644 index 00000000000..f09a42ddd69 --- /dev/null +++ b/pkgs/development/python-modules/openapi-schema-validator/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytestCheckHook +, isodate +, jsonschema +, pytest-flake8 +, pytestcov +, rfc3339-validator +, six +, strict-rfc3339 +}: + +buildPythonPackage rec { + pname = "openapi-schema-validator"; + version = "0.1.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "a4b2712020284cee880b4c55faa513fbc2f8f07f365deda6098f8ab943c9f0df"; + }; + + propagatedBuildInputs = [ isodate jsonschema six strict-rfc3339 rfc3339-validator ]; + + checkInputs = [ pytestCheckHook pytestcov pytest-flake8 ]; + pythonImportsCheck = [ "openapi_schema_validator" ]; + + meta = with lib; { + description = "Validates OpenAPI schema against the OpenAPI Schema Specification v3.0"; + homepage = "https://github.com/p1c2u/openapi-schema-validator"; + license = licenses.bsd3; + maintainers = with maintainers; [ AluisioASG ]; + }; +} diff --git a/pkgs/development/python-modules/openapi-spec-validator/default.nix b/pkgs/development/python-modules/openapi-spec-validator/default.nix index 1cd95bcd6ab..88455e72610 100644 --- a/pkgs/development/python-modules/openapi-spec-validator/default.nix +++ b/pkgs/development/python-modules/openapi-spec-validator/default.nix @@ -1,5 +1,5 @@ { lib, buildPythonPackage, isPy27, fetchPypi -, jsonschema, pyyaml, six, pathlib +, jsonschema, openapi-schema-validator, pyyaml, six, pathlib , mock, pytest, pytestcov, pytest-flake8, tox, setuptools }: buildPythonPackage rec { @@ -11,7 +11,7 @@ buildPythonPackage rec { sha256 = "53ba3d884e98ff2062d5ada025aa590541dcd665b8f81067dc82dd61c0923759"; }; - propagatedBuildInputs = [ jsonschema pyyaml six setuptools ] + propagatedBuildInputs = [ jsonschema openapi-schema-validator pyyaml six setuptools ] ++ (lib.optionals (isPy27) [ pathlib ]); checkInputs = [ mock pytest pytestcov pytest-flake8 tox ]; diff --git a/pkgs/development/python-modules/rfc3339-validator/default.nix b/pkgs/development/python-modules/rfc3339-validator/default.nix new file mode 100644 index 00000000000..f51a232550b --- /dev/null +++ b/pkgs/development/python-modules/rfc3339-validator/default.nix @@ -0,0 +1,31 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytestCheckHook +, hypothesis +, six +, strict-rfc3339 +}: + +buildPythonPackage rec { + pname = "rfc3339-validator"; + version = "0.1.3"; + + src = fetchPypi { + pname = "rfc3339_validator"; + inherit version; + sha256 = "7a578aa0740e9ee2b48356fe1f347139190c4c72e27f303b3617054efd15df32"; + }; + + propagatedBuildInputs = [ six ]; + + checkInputs = [ pytestCheckHook hypothesis strict-rfc3339 ]; + pythonImportsCheck = [ "rfc3339_validator" ]; + + meta = with lib; { + description = "RFC 3339 validator for Python"; + homepage = "https://github.com/naimetti/rfc3339-validator"; + license = licenses.mit; + maintainers = with maintainers; [ AluisioASG ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 032d6972654..694bafa127a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4598,6 +4598,8 @@ in { openant = callPackage ../development/python-modules/openant { }; + openapi-schema-validator = callPackage ../development/python-modules/openapi-schema-validator { }; + openapi-spec-validator = callPackage ../development/python-modules/openapi-spec-validator { }; openbabel-bindings = callPackage ../development/python-modules/openbabel-bindings { @@ -7024,6 +7026,8 @@ in { retworkx = callPackage ../development/python-modules/retworkx { }; + rfc3339-validator = callPackage ../development/python-modules/rfc3339-validator { }; + rfc3986 = callPackage ../development/python-modules/rfc3986 { }; rfc3987 = callPackage ../development/python-modules/rfc3987 { };