aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-04-17 09:10:38 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-05-12 12:45:50 -0400
commit27c49acf0662b9b1bcad070888d19bcef3ceb27d (patch)
tree6e3dec6d7aba42b79b089af7ef50c00fe8196dcc /gnu/packages
parentac4a73a1af3e0deb240407dbb1ccba40a8507068 (diff)
downloadguix-27c49acf0662b9b1bcad070888d19bcef3ceb27d.tar.gz
guix-27c49acf0662b9b1bcad070888d19bcef3ceb27d.zip
gnu: Add python-openapi-schema-validator.
* gnu/packages/python-web.scm (python-openapi-schema-validator): New variable.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/python-web.scm54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index aaa45c5f4c..4b7d01052d 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -1429,6 +1429,60 @@ is Python’s.")
(define-public python2-webencodings
(package-with-python2 python-webencodings))
+(define-public python-openapi-schema-validator
+ (package
+ (name "python-openapi-schema-validator")
+ (version "0.2.3")
+ (source
+ (origin
+ (method git-fetch) ;no tests in pypi release
+ (uri (git-reference
+ (url "https://github.com/p1c2u/openapi-schema-validator")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1swm8h74nhg63nxk347blwq9f1qn6iiq3zisndcvm7axkq3pc2df"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-coverage-pytest-options
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("^--cov.*") ""))))
+ ;; XXX: PEP 517 manual build copied from python-isort.
+ (replace 'build
+ (lambda _
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest"))))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl)))))))
+ (native-inputs (list python-poetry-core python-pypa-build python-pytest))
+ (propagated-inputs
+ (list python-isodate
+ python-jsonschema
+ python-rfc3339-validator
+ python-strict-rfc3339))
+ (home-page "https://github.com/p1c2u/openapi-schema-validator")
+ (synopsis "OpenAPI schema validation library for Python")
+ (description "Openapi-schema-validator is a Python library that validates
+a schema against:
+@itemize
+@item OpenAPI Schema Specification v3.0 which is an extended subset of the
+JSON Schema Specification Wright Draft 00.
+@item OpenAPI Schema Specification v3.1 which is an extended superset of the
+JSON Schema Specification Draft 2020-12.
+@end itemize")
+ (license license:bsd-3)))
+
(define-public python-openid
(package
(name "python-openid")