diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-04-28 16:24:46 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-04-28 16:24:46 +0200 |
commit | 284fa7264963acc5d114ef5d54c347126b1654ba (patch) | |
tree | 3e5360fcc81b6d0dce76a65aca60cf8528f2931f /gnu/packages/python-web.scm | |
parent | 12c9da35389dfba86ae0d863132a6b2c4374205a (diff) | |
parent | 882cacc1bb5be0df334dd7ce55b385a3a1678728 (diff) | |
download | guix-284fa7264963acc5d114ef5d54c347126b1654ba.tar.gz |
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/python-web.scm')
-rw-r--r-- | gnu/packages/python-web.scm | 122 |
1 files changed, 100 insertions, 22 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 3146cad933..3ca8041edf 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2020 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016, 2017, 2019-2022 Marius Bakke <marius@gnu.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2021 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017, 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> @@ -49,6 +49,8 @@ ;;; Copyright © 2021 Alice Brenon <alice.brenon@ens-lyon.fr> ;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> +;;; Copyright © 2022 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io> ;;; ;;; This file is part of GNU Guix. ;;; @@ -231,11 +233,15 @@ for adding, removing and dropping callbacks.") (uri (pypi-uri "aiohttp" version)) (sha256 (base32 "0y3m1dzl4h6frg8vys0fc3m83ijd1plfpihv3kvmxqadlphp2m7w")) - ;; TODO: Unbundle the llhttp sources. - ;; (modules '((guix build utils))) - ;; (snippet - ;; '((delete-file-recursively "vendor"))) - )) + (snippet + #~(begin + (use-modules ((guix build utils))) + ;; TODO: Unbundle the llhttp sources. + ;; (delete-file-recursively "vendor") + (delete-file "aiohttp/_helpers.c") + (delete-file "aiohttp/_http_parser.c") + (delete-file "aiohttp/_http_writer.c") + (delete-file "aiohttp/_websocket.c"))))) (build-system python-build-system) (arguments '(#:phases @@ -497,7 +503,7 @@ Model} (SAM) templates into AWS CloudFormation templates.") (define-public python-aws-xray-sdk (package (name "python-aws-xray-sdk") - (version "2.6.0") + (version "2.9.0") (home-page "https://github.com/aws/aws-xray-sdk-python") (source (origin (method git-fetch) @@ -505,7 +511,7 @@ Model} (SAM) templates into AWS CloudFormation templates.") (file-name (git-file-name name version)) (sha256 (base32 - "12fzr0ylpa1lx3xr1x2f1jx8iiyzcr6g57fb9jign0j0lxdlbzpv")))) + "04fyik5axbilj2g9fzhhw8ch8xfn7iai3j6myk7z4g26m1mrhxsi")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -519,6 +525,7 @@ Model} (SAM) templates into AWS CloudFormation templates.") "tests/ext/psycopg2/test_psycopg2.py" "tests/ext/pymysql/test_pymysql.py" "tests/ext/pynamodb/test_pynamodb.py" + "tests/ext/sqlalchemy_core/test_postgres.py" "tests/test_async_recorder.py" ;; FIXME: Why is this failing? @@ -527,6 +534,7 @@ Model} (SAM) templates into AWS CloudFormation templates.") ;; TODO: How to configure Django for these tests. "tests/ext/django/test_db.py" "tests/ext/django/test_middleware.py" + "tests/ext/django/test_settings.py" ;; These tests want to access httpbin.org. "tests/ext/requests/test_requests.py" @@ -536,7 +544,13 @@ Model} (SAM) templates into AWS CloudFormation templates.") (lambda _ ;; Allow "import tests.utils" to work as expected. (setenv "PYTHONPATH" (getcwd)) - (invoke "pytest" "-vv" "tests")))))) + (invoke "pytest" "-vv" "tests" + "-k" + ;; These tests fail because "fixture 'benchmark' + ;; not found" + (string-append + "not test_pkgutil_static_read" + " and not test_pkg_resources_static_read"))))))) (native-inputs (list ;; These are required for the test suite. python-bottle @@ -2860,36 +2874,43 @@ supports url redirection and retries, and also gzip and deflate decoding.") (package ;; Note: updating awscli typically requires updating botocore as well. (name "awscli") - (version "1.21.11") + (version "1.22.90") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "0fkivwbx4nind5b7l4jhqm5bb9drgqsclcslrg4aggf9rcs4g4s0")))) + "0ky4ax4xh7s8w1l0hwc7w9ii8afvh9nib3kz09qhiqdinxzrlv54")))) (build-system python-build-system) (arguments ;; FIXME: The 'pypi' release does not contain tests. '(#:tests? #f #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-reference-to-groff + (add-after 'unpack 'use-recent-pyyaml (lambda _ + (substitute* '("awscli.egg-info/requires.txt" + "setup.cfg" + "setup.py") + (("<5.5") "<=6")))) + (add-after 'unpack 'fix-reference-to-groff + (lambda* (#:key inputs #:allow-other-keys) (substitute* "awscli/help.py" (("if not self._exists_on_path\\('groff'\\):") "") (("raise ExecutableNotFoundError\\('groff'\\)") "") (("cmdline = \\['groff'") - (string-append "cmdline = ['" (which "groff") "'")))))))) - (propagated-inputs - (list python-colorama-for-awscli + (string-append "cmdline = ['" + (search-input-file inputs "bin/groff") + "'")))))))) + (inputs + (list groff + python-colorama-for-awscli python-botocore python-s3transfer python-docutils-0.15 python-pyyaml python-rsa)) - (native-inputs - (list groff)) (home-page "https://aws.amazon.com/cli/") (synopsis "Command line client for AWS") (description "AWS CLI provides a unified command line interface to the @@ -5026,8 +5047,7 @@ without requiring a page refresh.") (add-after 'unpack 'use-urllib3 (lambda _ (substitute* "port_for/_download_ranges.py" - (("urllib2") "urllib3")) - #t))))) + (("urllib2") "urllib3"))))))) (propagated-inputs (list python-urllib3)) (native-inputs @@ -5043,14 +5063,14 @@ association.") (define-public python-livereload (package (name "python-livereload") - (version "2.6.1") + (version "2.6.3") (source (origin (method url-fetch) (uri (pypi-uri "livereload" version)) (sha256 (base32 - "0rhggz185bxc3zjnfpmhcvibyzi86i624za1lfh7x7ajsxw4y9c9")))) + "0scqjnhg3ap81v36ghp0pik774dnfdkwqsx5j1jfbzarbs32yvvp")))) (build-system python-build-system) (propagated-inputs (list python-six python-tornado)) @@ -6192,12 +6212,20 @@ communicate with Microsoft Azure Storage services.") (origin (method url-fetch) (uri (pypi-uri "w3lib" version)) + (patches (search-patches "python-w3lib-fix-test-failure.patch")) (sha256 (base32 "1pv02lvvmgz2qb61vz1jkjc04fgm4hpfvaj5zm4i3mjp64hd1mha")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) (native-inputs - (list python-six)) + (list python-pytest python-six)) (home-page "https://github.com/scrapy/w3lib") (synopsis "Python library of web-related functions") (description @@ -6391,3 +6419,53 @@ Full documentation may be found at (description "This package provides @code{Tweepy}, an easy-to-use Python library for accessing the Twitter API.") (license license:expat))) + +(define-public python-quart + (package + (name "python-quart") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Quart" version)) + (sha256 + (base32 "0h4n2dwzmqifya1razp9s7ppr4ra23ljac9v7sl039rzp3c17wic")))) + (build-system python-build-system) + (propagated-inputs + (list hypercorn + python-aiofiles + python-blinker + python-click + python-itsdangerous + python-jinja2 + python-markupsafe + python-toml + python-werkzeug)) + (home-page "https://gitlab.com/pgjones/quart/") + (synopsis "Python ASGI web microframework with the same API as Flask") + (description + "This package provides a Python ASGI web microframework with the same API +as Flask.") + (license license:expat))) + +(define-public python-ajsonrpc + (package + (name "python-ajsonrpc") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ajsonrpc" version)) + (sha256 + (base32 "17x1a4r4l428mhwn53abki9gzdzq3halyr4lj48fw3dzy0caq6vr")))) + (build-system python-build-system) + (propagated-inputs + (list python-quart + python-sanic + python-tornado)) + (home-page "https://github.com/pavlov99/ajsonrpc") + (synopsis "Async JSON-RPC 2.0 protocol and server") + (description + "This package provides a Python JSON-RPC 2.0 protocol and server powered +by asyncio.") + (license license:expat))) |