From 18af584bb4b37fcb538e7a3b1dc993f3da8de391 Mon Sep 17 00:00:00 2001 From: dan Date: Fri, 3 Feb 2023 00:58:15 +0800 Subject: gnu: Add python-cheroot. * gnu/packages/python-web.scm (python-cheroot): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-web.scm | 57 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index c2bdfc8da86..9ad081beb1c 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -58,6 +58,7 @@ ;;; Copyright © 2022 msimonin ;;; Copyright © 2022 Michael Rohleder ;;; Copyright © 2022 Baptiste Strazzulla +;;; Copyright © 2023 dan ;;; Copyright © 2023 John Kehayias ;;; Copyright © 2023 Ivan Vilata-i-Balaguer ;;; Copyright © 2024 Troy Figiel @@ -1279,6 +1280,62 @@ over a different origin than that of the web application.") other HTTP libraries.") (license license:expat))) +(define-public python-cheroot + (package + (name "python-cheroot") + (version "10.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cheroot" version)) + (sha256 + (base32 + "1w0ind0dza9j1py56y23344piqkpyfmcm060qfrnk6gggy3s3i2r")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "--cov=cheroot" + ;; Tests are flaky in parallel invocation. + ;; "--numprocesses=auto" + "--doctest-modules" + "--showlocals" + ;; Disable test requiring networking. + "-k" "not test_tls_client_auth") + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? test-flags #:allow-other-keys) + (when tests? + (with-directory-excursion "/tmp" + (apply invoke "pytest" "-v" + (append test-flags (list #$output)))))))))) + (propagated-inputs + (list python-jaraco-functools + python-more-itertools + python-six)) + (native-inputs + (list python-cryptography + python-jaraco-text + python-portend + python-pyopenssl + python-pypytools + python-pytest + python-pytest-cov + python-pytest-mock + python-pytest-xdist + python-requests + python-requests-toolbelt + python-requests-unixsocket + python-setuptools-scm + python-setuptools-scm-git-archive + python-trustme)) + (home-page "https://cheroot.cherrypy.dev") + (synopsis "Highly-optimized, pure-python HTTP server") + (description + "Cheroot is a high-performance, pure-Python HTTP server.") + (license license:bsd-3))) + (define-public httpie (package (name "httpie") -- cgit v1.2.3