diff options
Diffstat (limited to 'gnu/packages/python-check.scm')
-rw-r--r-- | gnu/packages/python-check.scm | 75 |
1 files changed, 65 insertions, 10 deletions
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index b8d63b8479..ad41aae34e 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> @@ -437,7 +437,7 @@ sub-package.") (add-installed-pythonpath inputs outputs) (invoke "pytest" "-vv")))))) (native-inputs - `(("python-pytest" ,python-pytest-6) + `(("python-pytest" ,python-pytest) ("python-setuptools" ,python-setuptools) ; needs setuptools >= 50.3.2 ("python-setuptools-scm" ,python-setuptools-scm) ("python-setuptools-declarative-requirements" @@ -727,26 +727,26 @@ compliance.") (define-public python-pytest-isort (package (name "python-pytest-isort") - (version "0.3.1") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-isort" version)) (sha256 - (base32 "06myn5hhxs5yp8dqr1yjsgcnnxnsrvsqannm00bvaw0qml6ydzjb")))) + (base32 "05wi28zlqk3jafpjal8j523y5jcsx3xl3id9rx93qfjgkif8q6l2")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (setenv "PYTHONPATH" - (string-append (getcwd) ":" - (getenv "PYTHONPATH"))) - (invoke "pytest")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) (propagated-inputs `(("python-isort" ,python-isort) ("python-pytest" ,python-pytest))) + (native-inputs + `(("python-mock" ,python-mock))) (home-page "https://github.com/moccu/pytest-isort/") (synopsis "Pytest plugin to check import ordering using isort") (description @@ -1376,7 +1376,7 @@ supported by the MyPy typechecker.") ("python-importlib-metadata" ,python-importlib-metadata) ("python-lxml" ,python-lxml) ("python-psutil" ,python-psutil) - ("python-pytest" ,python-pytest-6) + ("python-pytest" ,python-pytest) ("python-pytest-cov" ,python-pytest-cov) ("python-pytest-forked" ,python-pytest-forked) ("python-pytest-xdist" ,python-pytest-xdist) @@ -1397,6 +1397,61 @@ any Python VM with basically no runtime overhead.") ;; mypyc/lib-rt/getargs.c (license (list license:expat license:psfl)))) +;;; This variant exists to break a cycle between python-pylama and python-isort. +(define-public python-mypy-minimal + (hidden-package + (package + (inherit python-mypy) + (name "python-mypy-minimal") + (arguments + `(#:tests? #f + #:phases (modify-phases %standard-phases + ;; XXX: Fails with: "In procedure utime: No such file or + ;; directory". + (delete 'ensure-no-mtimes-pre-1980)))) + (native-inputs '())))) + +(define-public python-pylama + (package + (name "python-pylama") + (version "7.7.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pylama" version)) + (sha256 + (base32 + "13vx7daqz2918y9s8q3v2i3xaq3ah43a9p58srqi6hqskkpm7blv")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; Fails with: "ImportError: cannot import name + ;; 'commented_out_code_line_numbers' from 'eradicate'". + (delete-file "pylama/lint/pylama_eradicate.py") + ;; Requires python-astroid, which fails to build on + ;; Python 3.9+ (see: + ;; https://github.com/PyCQA/astroid/issues/881). + (delete-file "pylama/lint/pylama_pylint.py")))))) + (native-inputs + `(("python-py" ,python-py) + ("python-pytest" ,python-pytest) + ("python-radon" ,python-radon))) + (propagated-inputs + `(("python-mccabe" ,python-mccabe) + ("python-mypy", python-mypy-minimal) + ("python-pycodestyle" ,python-pycodestyle) + ("python-pydocstyle" ,python-pydocstyle) + ("python-pyflakes" ,python-pyflakes))) + (home-page "https://github.com/klen/pylama") + (synopsis "Code audit tool for python") + (description "Pylama is a code audit tool for Python and JavaScript to check +for style, syntax and other code health metrics. It is essentially a +convenient wrapper above tools such as Pyflakes, pydocstyle, pycodestyle and +McCabe, among others.") + (license license:lgpl3+))) + (define-public python-pyannotate (package (name "python-pyannotate") |