;;; 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 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages python-check)
#:use-module (gnu packages)
#:use-module (gnu packages check)
+ #:use-module (gnu packages django)
#:use-module (gnu packages openstack)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages web)
#:use-module (guix download)
#:use-module (guix build-system python))
+(define-public python-testfixtures
+ (package
+ (name "python-testfixtures")
+ (version "6.17.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "testfixtures" version))
+ (sha256
+ (base32 "1nlv2hz20czjp4a811ichl5kwg99rh84l0mw9wq4rk3idzfs1hsy"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ; PyTest-Django fails to build in master
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ;;("python-pytest-django" ,python-pytest-django)
+ ("python-twine" ,python-twine)
+ ("python-wheel" ,python-wheel)))
+ (synopsis "Tests components for Python")
+ (description "Testfixtures is a collection of helpers and mock objects that
+are useful when writing automated tests in Python.")
+ (home-page "https://testfixtures.readthedocs.io/en/latest/")
+ (license license:expat)))
+
(define-public python-coveralls
(package
(name "python-coveralls")
of tests run in a specific order.")
(license license:expat)))
+(define-public python-pytest-astropy-header
+(package
+ (name "python-pytest-astropy-header")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-astropy-header" version))
+ (sha256
+ (base32 "1y87agr324p6x5gvhziymxjlw54pyn4gqnd49papbl941djpkp5g"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("pytest" ,python-pytest)
+ ("setuptools-scm" ,python-setuptools-scm)))
+ (home-page "https://www.astropy.org/")
+ (synopsis
+ "Pytest plugin adding diagnostic data to the header of the test output")
+ (description
+ "This plugin package provides a way to include information about the system,
+Python installation, and select dependencies in the header of the output when
+running pytest. It can be used with packages that are not affiliated with the
+Astropy project, but is optimized for use with astropy-related projects.")
+ (license license:bsd-3)))
+
+(define-public python-pytest-astropy
+ (package
+ (name "python-pytest-astropy")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-astropy" version))
+ (sha256
+ (base32 "18j6z6y2fvykmcs5z0mldhhaxxn6wzpnhlm2ps7m8r5z5kmh1631"))))
+ (build-system python-build-system)
+ (arguments
+ ;; No tests provided
+ '(#:tests? #f))
+ (native-inputs
+ `(("attrs" ,python-attrs)
+ ("hypothesis" ,python-hypothesis)
+ ("pytest" ,python-pytest)
+ ("pytest-arraydiff" ,python-pytest-arraydiff)
+ ("pytest-astropy-header" ,python-pytest-astropy-header)
+ ("pytest-cov" ,python-pytest-cov)
+ ("pytest-doctestplus" ,python-pytest-doctestplus)
+ ("pytest-filter-subpackage" ,python-pytest-filter-subpackage)
+ ("pytest-mock" ,python-pytest-mock)
+ ("pytest-openfiles" ,python-pytest-openfiles)
+ ("pytest-remotedata" ,python-pytest-remotedata)
+ ("setuptools-scm" ,python-setuptools-scm)))
+ (home-page "https://github.com/astropy/pytest-astropy")
+ (synopsis
+ "Metapackage for all the testing machinery used by the Astropy Project")
+ (description
+ "This is a meta-package that pulls in the dependencies that are used by
+astropy related packages.")
+ (license license:bsd-3)))
+
(define-public python-pytest-arraydiff
(package
(name "python-pytest-arraydiff")
sub-package.")
(license license:bsd-3)))
+(define-public python-pytest-helpers-namespace
+ (package
+ (name "python-pytest-helpers-namespace")
+ (version "2021.3.24")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-helpers-namespace" version))
+ (sha256
+ (base32
+ "0pyj2d45zagmzlajzqdnkw5yz8k49pkihbydsqkzm413qnkzb38q"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Make the installed plugin discoverable by Pytest.
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv"))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest-6)
+ ("python-setuptools" ,python-setuptools) ; needs setuptools >= 50.3.2
+ ("python-setuptools-scm" ,python-setuptools-scm)
+ ("python-setuptools-declarative-requirements"
+ ,python-setuptools-declarative-requirements)))
+ (home-page "https://github.com/saltstack/pytest-helpers-namespace")
+ (synopsis "Pytest Helpers Namespace Plugin")
+ (description "Pytest Helpers Namespace Plugin provides a helpers pytest
+namespace which can be used to register helper functions without requiring
+someone to import them in their actual tests to use them.")
+ (license license:asl2.0)))
+
(define-public python-pytest-openfiles
(package
(name "python-pytest-openfiles")
(define-public python-pytest-flake8
(package
(name "python-pytest-flake8")
- (version "1.0.6")
+ (version "1.0.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-flake8" version))
(sha256
(base32
- "09vhn7r77s1yiqnlwfvh5585f904zpyd6620a90dpccfr1cbp0hv"))))
+ "0syx68xk5ss3hgp3nr2y122w0fgkzr5936ghsqrkymh3m5hrf9gh"))))
(build-system python-build-system)
(propagated-inputs
`(("python-flake8" ,python-flake8)))
;; mypyc/lib-rt/getargs.c
(license (list license:expat license:psfl))))
+(define-public python-pyannotate
+ (package
+ (name "python-pyannotate")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyannotate" version))
+ (sha256
+ (base32
+ "16bm0mf7wxvy0lgmcs1p8n1ji8pnvj1jvj8zk3am70dkp825iv84"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mypy-extensions" ,python-mypy-extensions)
+ ("python-six" ,python-six)))
+ (home-page
+ "https://github.com/dropbox/pyannotate")
+ (synopsis "Auto-generate PEP-484 annotations")
+ (description "This package, PyAnnotate, is used to auto-generate PEP-484
+annotations.")
+ (license license:asl2.0)))
+
+(define-public python-eradicate
+ (package
+ (name "python-eradicate")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "eradicate" version))
+ (sha256
+ (base32
+ "1j30g9jfmbfki383qxwrfds8b23yiwywj40lng4lqcf5yab4ahr7"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/myint/eradicate")
+ (synopsis "Remove commented-out code from Python sources")
+ (description "The @command{eradicate} command removes commented-out code
+from Python files. It does this by detecting block comments that contain
+valid Python syntax that are likely to be commented out code.")
+ (license license:expat)))
+
(define-public python-robber
(package
(name "python-robber")
(define-public python-pytest-sanic
(package
(name "python-pytest-sanic")
- (version "1.6.2")
+ (version "1.7.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-sanic" version))
(sha256
(base32
- "02ajd8z77ahi69kzkz200qgxrb4s2j4qb6k8j9ds1kz6qa6fsa34"))))
+ "0hm7im77dgqfk8k34qbbfhimg8hifl4zwpa2s3mgbknrjvyw5qpx"))))
(build-system python-build-system)
(arguments
;; Tests depend on python-sanic.
`(#:tests? #f))
(propagated-inputs
- `(("python-aiohttp" ,python-aiohttp)
+ `(("python-httpx" ,python-httpx)
("python-async-generator"
,python-async-generator)
- ("python-pytest" ,python-pytest)))
+ ("python-pytest" ,python-pytest)
+ ("python-websockets" ,python-websockets)))
(home-page
"https://github.com/yunstanford/pytest-sanic")
(synopsis "Pytest plugin for Sanic")
(description "A pytest plugin for Sanic. It helps you to test your
code asynchronously.")
(license license:expat)))
+
+(define-public python-allpairspy
+ (package
+ (name "python-allpairspy")
+ (version "2.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "allpairspy" version))
+ (sha256
+ (base32 "1c987h13dly9919d15w3h747rgn50ilnv7dginhlprxbj564hn4k"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (home-page "https://github.com/thombashi/allpairspy")
+ (synopsis "Pairwise test combinations generator")
+ (description
+ "This is a Python library for test combinations generator. The generator
+allows one to create a set of tests using @emph{pairwise combinations} method,
+reducing a number of combinations of variables into a lesser set that covers
+most situations.")
+ (license license:expat)))