Subject: [PATCH 2/2] gnu: Add python-questionary

From: Edouard Klein <[email-masked]>
Date: Tue, 19 May 2020 11:59:30 +0200

* /gnu/packages/python-xyz.scm (python-questionary): New variable
* /gnu/packages/python-check.scm (python-pytest-pycodestyle): New variable
---
 gnu/packages/python-check.scm | 25 +++++++++++++++++++++++++
 gnu/packages/python-xyz.scm   | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 22b9ea8df5..50911673b2 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -337,6 +337,31 @@ testing framework.")
 framework.")
     (license license:expat)))
 
+(define-public python-pytest-pycodestyle
+  (package
+    (name "python-pytest-pycodestyle")
+    (version "2.0.0")  ;; Any version higher than that requires python-pytest~=5.4
+    ;; (python-pytest is at version 5.3.5 as I write this comment
+    ;; and 5478 packages depend on it.)
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-pycodestyle" version))
+       (sha256
+        (base32
+         "02i5gl7pm9cwxk15sn29inz3n8flpj1r3p1l110h43f2na5w8h7z"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-pycodestyle" ,python-pycodestyle)))
+    (native-inputs
+     `(("python-pytest" ,python-pytest)))
+    (home-page
+     "https://github.com/henry0312/pytest-pycodestyle")
+    (synopsis "Pytest plugin to run pycodestyle")
+    (description "This package provides a plugin to run pycodestyle for the py.test
+framework.")
+    (license license:expat)))
+
 (define-public python-codacy-coverage
   (package
     (name "python-codacy-coverage")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5fd7e274e9..26a737febb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -19985,3 +19985,37 @@ allows you, from Python code, to “fix” invalid (X)HTML markup.")
 It builds upon tmux's target and formats to create an object mapping to traverse,
  inspect and interact with live tmux sessions.")
     (license license:expat)))
+
+(define-public python-questionary
+  (package
+   (name "python-questionary")
+   (version "1.5.2")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (pypi-uri "questionary" version))
+     (sha256
+      (base32
+       "09n737qmvzbibl8hmbd5zfg1502fd9n0r8qjzz1y0vy8nqv1xr7n"))))
+   (build-system python-build-system)
+   (propagated-inputs
+    `(("python-prompt-toolkit" ,python-prompt-toolkit)))
+   (native-inputs
+    `(("python-coveralls" ,python-coveralls)
+      ("python-pytest-cov" ,python-pytest-cov)
+      ("python-pytest-pycodestyle"
+       ,python-pytest-pycodestyle)
+      ))
+   (arguments
+    `(#:phases
+      (modify-phases %standard-phases
+        (replace 'check
+          (lambda _
+            (invoke "py.test"))))))
+   (home-page "https://github.com/tmbo/questionary")
+   (synopsis
+    "Pretty command line user prompts")
+   (description
+    "Questionary helps make the input prompts easy to read and answer for the user
+using multi-select lists, confirmations, free text prompts, completion, etc.")
+  (license license:expat)))
-- 
2.26.2