diff options
Diffstat (limited to 'gnu/packages/python-web.scm')
| -rw-r--r-- | gnu/packages/python-web.scm | 237 |
1 files changed, 186 insertions, 51 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 3ce4eb9ab27..9c8e3289599 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> | 2 | ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> |
| 3 | ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> | 3 | ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> |
| 4 | ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> | 4 | ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> |
| 5 | ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> | 5 | ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> |
| 6 | ;;; Copyright © 2013, 2014, 2015, 2016, 2020 Andreas Enge <andreas@enge.fr> | 6 | ;;; Copyright © 2013, 2014, 2015, 2016, 2020 Andreas Enge <andreas@enge.fr> |
| @@ -16,7 +16,7 @@ | |||
| 16 | ;;; Copyright © 2016, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> | 16 | ;;; Copyright © 2016, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> |
| 17 | ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> | 17 | ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> |
| 18 | ;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com> | 18 | ;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com> |
| 19 | ;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org> | 19 | ;;; Copyright © 2015, 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> |
| 20 | ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> | 20 | ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> |
| 21 | ;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org> | 21 | ;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org> |
| 22 | ;;; Copyright © 2016 David Craven <david@craven.ch> | 22 | ;;; Copyright © 2016 David Craven <david@craven.ch> |
| @@ -43,6 +43,7 @@ | |||
| 43 | ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> | 43 | ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> |
| 44 | ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> | 44 | ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> |
| 45 | ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> | 45 | ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> |
| 46 | ;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev> | ||
| 46 | ;;; | 47 | ;;; |
| 47 | ;;; This file is part of GNU Guix. | 48 | ;;; This file is part of GNU Guix. |
| 48 | ;;; | 49 | ;;; |
| @@ -64,6 +65,7 @@ | |||
| 64 | #:use-module (guix download) | 65 | #:use-module (guix download) |
| 65 | #:use-module (guix git-download) | 66 | #:use-module (guix git-download) |
| 66 | #:use-module (guix build-system python) | 67 | #:use-module (guix build-system python) |
| 68 | #:use-module (guix gexp) | ||
| 67 | #:use-module (guix utils) | 69 | #:use-module (guix utils) |
| 68 | #:use-module (gnu packages) | 70 | #:use-module (gnu packages) |
| 69 | #:use-module (gnu packages base) | 71 | #:use-module (gnu packages base) |
| @@ -281,14 +283,14 @@ using @url{https://github.com/saghul/pycares,pycares}.") | |||
| 281 | (define-public python-aiorpcx | 283 | (define-public python-aiorpcx |
| 282 | (package | 284 | (package |
| 283 | (name "python-aiorpcx") | 285 | (name "python-aiorpcx") |
| 284 | (version "0.18.3") | 286 | (version "0.22.1") |
| 285 | (source | 287 | (source |
| 286 | (origin | 288 | (origin |
| 287 | (method url-fetch) | 289 | (method url-fetch) |
| 288 | (uri (pypi-uri "aiorpcX" version)) | 290 | (uri (pypi-uri "aiorpcX" version)) |
| 289 | (sha256 | 291 | (sha256 |
| 290 | (base32 | 292 | (base32 |
| 291 | "0k545hc7wl6sh1svydzbv6x7sx5pig2pqkl3yxs9riwmvzawx9xp")))) | 293 | "0lx54bcinp44fmr8q4bbffsqbkg8kdcwykf9i5jj0bj3sfzgf9k0")))) |
| 292 | (build-system python-build-system) | 294 | (build-system python-build-system) |
| 293 | (propagated-inputs | 295 | (propagated-inputs |
| 294 | `(("python-attrs" ,python-attrs))) | 296 | `(("python-attrs" ,python-attrs))) |
| @@ -303,6 +305,18 @@ The package includes a module with full coverage of JSON RPC versions 1.0 and | |||
| 303 | comes with a SOCKS proxy client.") | 305 | comes with a SOCKS proxy client.") |
| 304 | (license (list license:expat license:bsd-2)))) | 306 | (license (list license:expat license:bsd-2)))) |
| 305 | 307 | ||
| 308 | (define-public python-aiorpcx-0.18 | ||
| 309 | (package | ||
| 310 | (inherit python-aiorpcx) | ||
| 311 | (version "0.18.7") | ||
| 312 | (source | ||
| 313 | (origin | ||
| 314 | (method url-fetch) | ||
| 315 | (uri (pypi-uri "aiorpcX" version)) | ||
| 316 | (sha256 | ||
| 317 | (base32 | ||
| 318 | "1rswrspv27x33xa5bnhrkjqzhv0sknv5kd7pl1vidw9d2z4rx2l0")))))) | ||
| 319 | |||
| 306 | (define-public python-asgiref | 320 | (define-public python-asgiref |
| 307 | (package | 321 | (package |
| 308 | (name "python-asgiref") | 322 | (name "python-asgiref") |
| @@ -357,13 +371,13 @@ WSGI. This package includes libraries for implementing ASGI servers.") | |||
| 357 | (define-public python-aws-sam-translator | 371 | (define-public python-aws-sam-translator |
| 358 | (package | 372 | (package |
| 359 | (name "python-aws-sam-translator") | 373 | (name "python-aws-sam-translator") |
| 360 | (version "1.36.0") | 374 | (version "1.38.0") |
| 361 | (source (origin | 375 | (source (origin |
| 362 | (method url-fetch) | 376 | (method url-fetch) |
| 363 | (uri (pypi-uri "aws-sam-translator" version)) | 377 | (uri (pypi-uri "aws-sam-translator" version)) |
| 364 | (sha256 | 378 | (sha256 |
| 365 | (base32 | 379 | (base32 |
| 366 | "115mcbb4r205c1hln199llqrvvbijfqz075rwx991l99jc6rj6zs")))) | 380 | "1djwlsjpbh13m4biglimrm9lq7hmla0k29giay7k3cjsrylxvjhf")))) |
| 367 | (build-system python-build-system) | 381 | (build-system python-build-system) |
| 368 | (arguments | 382 | (arguments |
| 369 | `(;; XXX: Tests are not distributed with the PyPI archive, and would | 383 | `(;; XXX: Tests are not distributed with the PyPI archive, and would |
| @@ -457,7 +471,7 @@ emit information from within their applications to the AWS X-Ray service.") | |||
| 457 | (define-public python-cfn-lint | 471 | (define-public python-cfn-lint |
| 458 | (package | 472 | (package |
| 459 | (name "python-cfn-lint") | 473 | (name "python-cfn-lint") |
| 460 | (version "0.51.0") | 474 | (version "0.54.1") |
| 461 | (home-page "https://github.com/aws-cloudformation/cfn-python-lint") | 475 | (home-page "https://github.com/aws-cloudformation/cfn-python-lint") |
| 462 | (source (origin | 476 | (source (origin |
| 463 | (method git-fetch) | 477 | (method git-fetch) |
| @@ -467,7 +481,7 @@ emit information from within their applications to the AWS X-Ray service.") | |||
| 467 | (file-name (git-file-name name version)) | 481 | (file-name (git-file-name name version)) |
| 468 | (sha256 | 482 | (sha256 |
| 469 | (base32 | 483 | (base32 |
| 470 | "1027s243sik25c6sqw6gla7k7vl3jdicrik5zdsa8pafxh2baja4")))) | 484 | "161mzzlpbi85q43kwzrj39qb32l6wg6xhnbbd4z860yrfbymsn87")))) |
| 471 | (build-system python-build-system) | 485 | (build-system python-build-system) |
| 472 | (arguments | 486 | (arguments |
| 473 | `(#:phases (modify-phases %standard-phases | 487 | `(#:phases (modify-phases %standard-phases |
| @@ -480,7 +494,7 @@ emit information from within their applications to the AWS X-Ray service.") | |||
| 480 | "test/unit/module/maintenance/test_update_documentation.py") | 494 | "test/unit/module/maintenance/test_update_documentation.py") |
| 481 | (delete-file | 495 | (delete-file |
| 482 | "test/unit/module/maintenance/test_update_resource_specs.py") | 496 | "test/unit/module/maintenance/test_update_resource_specs.py") |
| 483 | (invoke "python" "-m" "unittest" "discover" | 497 | (invoke "python" "-m" "unittest" "discover" "-v" |
| 484 | "-s" "test"))))))) | 498 | "-s" "test"))))))) |
| 485 | (native-inputs | 499 | (native-inputs |
| 486 | `(("python-pydot" ,python-pydot) | 500 | `(("python-pydot" ,python-pydot) |
| @@ -1051,6 +1065,31 @@ Origin Resource Sharing}, making cross-origin AJAX possible.") | |||
| 1051 | into Jinja2 by default.") | 1065 | into Jinja2 by default.") |
| 1052 | (license license:bsd-3))) | 1066 | (license license:bsd-3))) |
| 1053 | 1067 | ||
| 1068 | (define-public python-flask-misaka | ||
| 1069 | (package | ||
| 1070 | (name "python-flask-misaka") | ||
| 1071 | (version "1.0.0") | ||
| 1072 | (source | ||
| 1073 | (origin | ||
| 1074 | (method url-fetch) | ||
| 1075 | (uri (pypi-uri "Flask-Misaka" version)) | ||
| 1076 | (sha256 | ||
| 1077 | (base32 | ||
| 1078 | "12gm6hq3lvlj0ddw8p6lk5pky8jk3pw758ihffjl49shnnzc68zl")))) | ||
| 1079 | (build-system python-build-system) | ||
| 1080 | (native-inputs | ||
| 1081 | `(("python-coverage" ,python-coverage) | ||
| 1082 | ("python-mock" ,python-mock))) | ||
| 1083 | (propagated-inputs | ||
| 1084 | `(("python-flask" ,python-flask) | ||
| 1085 | ("python-misaka" ,python-misaka))) | ||
| 1086 | (home-page "https://github.com/singingwolfboy/flask-misaka/") | ||
| 1087 | (synopsis "Flask interface to Misaka, a Markdown parsing library") | ||
| 1088 | (description | ||
| 1089 | "This package provides an interface between the Flask web framework and | ||
| 1090 | the Misaka Markdown parser.") | ||
| 1091 | (license license:expat))) | ||
| 1092 | |||
| 1054 | (define-public python-flask-session | 1093 | (define-public python-flask-session |
| 1055 | (package | 1094 | (package |
| 1056 | (name "python-flask-session") | 1095 | (name "python-flask-session") |
| @@ -1139,7 +1178,8 @@ and written in Python.") | |||
| 1139 | `(("libxml2" ,libxml2))) | 1178 | `(("libxml2" ,libxml2))) |
| 1140 | (propagated-inputs | 1179 | (propagated-inputs |
| 1141 | `(("python-lxml" ,python-lxml) | 1180 | `(("python-lxml" ,python-lxml) |
| 1142 | ("python-beautifulsoup4" ,python-beautifulsoup4))) | 1181 | ("python-beautifulsoup4" ,python-beautifulsoup4) |
| 1182 | ("python-chardet" ,python-chardet))) | ||
| 1143 | (home-page "https://html5-parser.readthedocs.io") | 1183 | (home-page "https://html5-parser.readthedocs.io") |
| 1144 | (synopsis "Fast C-based HTML5 parsing for Python") | 1184 | (synopsis "Fast C-based HTML5 parsing for Python") |
| 1145 | (description "This package provides a fast implementation of the HTML5 | 1185 | (description "This package provides a fast implementation of the HTML5 |
| @@ -2905,20 +2945,21 @@ minimum of WSGI.") | |||
| 2905 | (define-public python-flask | 2945 | (define-public python-flask |
| 2906 | (package | 2946 | (package |
| 2907 | (name "python-flask") | 2947 | (name "python-flask") |
| 2908 | (version "1.1.2") | 2948 | (version "2.0.1") |
| 2909 | (source (origin | 2949 | (source (origin |
| 2910 | (method url-fetch) | 2950 | (method url-fetch) |
| 2911 | (uri (pypi-uri "Flask" version)) | 2951 | (uri (pypi-uri "Flask" version)) |
| 2912 | (sha256 | 2952 | (sha256 |
| 2913 | (base32 | 2953 | (base32 |
| 2914 | "0q3h295izcil7lswkzfnyg3k5gq4hpmqmpl6i7s5m1n9szi1myjf")))) | 2954 | "0mcgwq7b4qd99mf5bsvs3wphchxarf8kgil4hwww3blj31xjak0w")))) |
| 2915 | (build-system python-build-system) | 2955 | (build-system python-build-system) |
| 2916 | (arguments | 2956 | (arguments |
| 2917 | '(#:phases | 2957 | '(#:phases |
| 2918 | (modify-phases %standard-phases | 2958 | (modify-phases %standard-phases |
| 2919 | (replace 'check | 2959 | (replace 'check |
| 2920 | (lambda _ | 2960 | (lambda* (#:key tests? #:allow-other-keys) |
| 2921 | (invoke "pytest" "-vv" "tests")))))) | 2961 | (when tests? |
| 2962 | (invoke "pytest" "-vv" "tests"))))))) | ||
| 2922 | (native-inputs | 2963 | (native-inputs |
| 2923 | `(("python-pytest" ,python-pytest))) | 2964 | `(("python-pytest" ,python-pytest))) |
| 2924 | (propagated-inputs | 2965 | (propagated-inputs |
| @@ -3476,13 +3517,13 @@ applications.") | |||
| 3476 | (define-public python-flask-sqlalchemy | 3517 | (define-public python-flask-sqlalchemy |
| 3477 | (package | 3518 | (package |
| 3478 | (name "python-flask-sqlalchemy") | 3519 | (name "python-flask-sqlalchemy") |
| 3479 | (version "2.4.4") | 3520 | (version "2.5.1") |
| 3480 | (source (origin | 3521 | (source (origin |
| 3481 | (method url-fetch) | 3522 | (method url-fetch) |
| 3482 | (uri (pypi-uri "Flask-SQLAlchemy" version)) | 3523 | (uri (pypi-uri "Flask-SQLAlchemy" version)) |
| 3483 | (sha256 | 3524 | (sha256 |
| 3484 | (base32 | 3525 | (base32 |
| 3485 | "1rgsj49gnx361hnb3vn6c1h17497qh22yc3r70l1r6w0mw71bixz")))) | 3526 | "04jrx4sjrz1b20j38qk4qin975xwz30krzq59rfv3b3w7ss49nib")))) |
| 3486 | (build-system python-build-system) | 3527 | (build-system python-build-system) |
| 3487 | (propagated-inputs | 3528 | (propagated-inputs |
| 3488 | `(("python-flask" ,python-flask) | 3529 | `(("python-flask" ,python-flask) |
| @@ -3762,22 +3803,18 @@ CSS tidy. Also supports URL rewriting in CSS files.") | |||
| 3762 | (define-public python-elasticsearch | 3803 | (define-public python-elasticsearch |
| 3763 | (package | 3804 | (package |
| 3764 | (name "python-elasticsearch") | 3805 | (name "python-elasticsearch") |
| 3765 | (version "7.1.0") | 3806 | (version "7.13.4") |
| 3766 | (source | 3807 | (source |
| 3767 | (origin | 3808 | (origin |
| 3768 | (method url-fetch) | 3809 | (method url-fetch) |
| 3769 | (uri (pypi-uri "elasticsearch" version)) | 3810 | (uri (pypi-uri "elasticsearch" version)) |
| 3770 | (sha256 | 3811 | (sha256 |
| 3771 | (base32 | 3812 | (base32 |
| 3772 | "0rnjvlhw4v3vg14l519qliy1s1zpmx3827q0xfviwvk42rr7hh01")))) | 3813 | "1q38w9nh2j2yi82d8rhzb57597l4lq5zx7xzfg45xf7ffrgsipaj")))) |
| 3773 | (build-system python-build-system) | 3814 | (build-system python-build-system) |
| 3774 | (native-inputs | ||
| 3775 | `(("python-mock" ,python-mock) | ||
| 3776 | ("python-nosexcover" ,python-nosexcover) | ||
| 3777 | ("python-pyaml" ,python-pyaml) | ||
| 3778 | ("python-requests" ,python-requests))) | ||
| 3779 | (propagated-inputs | 3815 | (propagated-inputs |
| 3780 | `(("urllib3" ,python-urllib3))) | 3816 | `(("python-certifi" ,python-certifi) |
| 3817 | ("python-urllib3" ,python-urllib3))) | ||
| 3781 | (arguments | 3818 | (arguments |
| 3782 | ;; tests require the test_elasticsearch module but it is not distributed. | 3819 | ;; tests require the test_elasticsearch module but it is not distributed. |
| 3783 | `(#:tests? #f)) | 3820 | `(#:tests? #f)) |
| @@ -4023,28 +4060,31 @@ List. Forked from and using the same API as the publicsuffix package.") | |||
| 4023 | (define-public python-werkzeug | 4060 | (define-public python-werkzeug |
| 4024 | (package | 4061 | (package |
| 4025 | (name "python-werkzeug") | 4062 | (name "python-werkzeug") |
| 4026 | (version "1.0.1") | 4063 | (version "2.0.1") |
| 4027 | (source | 4064 | (source |
| 4028 | (origin | 4065 | (origin |
| 4029 | (method url-fetch) | 4066 | (method url-fetch) |
| 4030 | (uri (pypi-uri "Werkzeug" version)) | 4067 | (uri (pypi-uri "Werkzeug" version)) |
| 4031 | (sha256 | 4068 | (sha256 |
| 4032 | (base32 | 4069 | (base32 |
| 4033 | "0z74sa1xw5h20yin9faj0vvdbq713cgbj84klc72jr9nmpjv303c")))) | 4070 | "0hlwawnn8c41f254qify5jnjj8xb97n294h09bqimzqhs0qdpq8x")))) |
| 4034 | (build-system python-build-system) | 4071 | (build-system python-build-system) |
| 4035 | (arguments | 4072 | (arguments |
| 4036 | '(#:phases | 4073 | '(#:phases |
| 4037 | (modify-phases %standard-phases | 4074 | (modify-phases %standard-phases |
| 4038 | (delete 'check) | 4075 | (replace 'check |
| 4039 | (add-after 'install 'check | 4076 | (lambda* (#:key tests? inputs outputs #:allow-other-keys) |
| 4040 | (lambda* (#:key inputs outputs #:allow-other-keys) | 4077 | (when tests? |
| 4041 | (add-installed-pythonpath inputs outputs) | 4078 | (add-installed-pythonpath inputs outputs) |
| 4042 | (invoke "python" "-m" "pytest")))))) | 4079 | (invoke "python" "-m" "pytest" |
| 4080 | ;; Test tries to use the network. | ||
| 4081 | "-k not test_reloader_sys_path"))))))) | ||
| 4043 | (propagated-inputs | 4082 | (propagated-inputs |
| 4044 | `(("python-requests" ,python-requests))) | 4083 | `(("python-requests" ,python-requests))) |
| 4045 | (native-inputs | 4084 | (native-inputs |
| 4046 | `(("python-pytest" ,python-pytest) | 4085 | `(("python-pytest" ,python-pytest) |
| 4047 | ("python-pytest-timeout" ,python-pytest-timeout))) | 4086 | ("python-pytest-timeout" ,python-pytest-timeout) |
| 4087 | ("python-pytest-xprocess" ,python-pytest-xprocess))) | ||
| 4048 | (home-page "https://palletsprojects.com/p/werkzeug/") | 4088 | (home-page "https://palletsprojects.com/p/werkzeug/") |
| 4049 | (synopsis "Utilities for WSGI applications") | 4089 | (synopsis "Utilities for WSGI applications") |
| 4050 | (description "One of the most advanced WSGI utility modules. It includes a | 4090 | (description "One of the most advanced WSGI utility modules. It includes a |
| @@ -4076,28 +4116,37 @@ addon modules.") | |||
| 4076 | (define-public python-wtforms | 4116 | (define-public python-wtforms |
| 4077 | (package | 4117 | (package |
| 4078 | (name "python-wtforms") | 4118 | (name "python-wtforms") |
| 4079 | (version "2.1") | 4119 | (version "2.3.3") |
| 4080 | (source | 4120 | (source |
| 4081 | (origin | 4121 | (origin |
| 4082 | (method url-fetch) | 4122 | (method url-fetch) |
| 4083 | (uri (pypi-uri "WTForms" version ".zip")) | 4123 | (uri (pypi-uri "WTForms" version)) |
| 4084 | (sha256 | 4124 | (sha256 |
| 4085 | (base32 | 4125 | (base32 |
| 4086 | "0vyl26y9cg409cfyj8rhqxazsdnd0jipgjw06civhrd53yyi1pzz")))) | 4126 | "17427m7p9nn9byzva697dkykykwcp2br3bxvi8vciywlmkh5s6c1")))) |
| 4087 | (build-system python-build-system) | 4127 | (build-system python-build-system) |
| 4088 | (arguments | 4128 | (arguments |
| 4089 | '(#:phases | 4129 | `(#:phases |
| 4090 | (modify-phases %standard-phases | 4130 | (modify-phases %standard-phases |
| 4091 | (add-after 'unpack 'remove-django-test | 4131 | (add-after 'unpack 'delete-bundled-test |
| 4092 | ;; Don't fail the tests when the inputs for the optional tests cannot be found. | ||
| 4093 | (lambda _ | 4132 | (lambda _ |
| 4094 | (substitute* | 4133 | ;; Delete test copied from a third party package that fails |
| 4095 | "tests/runtests.py" | 4134 | ;; with newer SQLAlchemy. This can be removed for 3.0. |
| 4096 | (("'ext_django.tests', 'ext_sqlalchemy', 'ext_dateutil', 'locale_babel'") "") | 4135 | ;; See <https://github.com/wtforms/wtforms/issues/696>. |
| 4097 | (("sys.stderr.write(\"### Disabled test '%s', dependency not found\n\" % name)") "")) | 4136 | (delete-file "tests/ext_sqlalchemy.py"))) |
| 4098 | #t))))) | 4137 | (replace 'check |
| 4138 | (lambda* (#:key inputs outputs tests? #:allow-other-keys) | ||
| 4139 | (when tests? | ||
| 4140 | (add-installed-pythonpath inputs outputs) | ||
| 4141 | (invoke "python" "setup.py" "compile_catalog") | ||
| 4142 | (invoke "python" "tests/runtests.py"))))))) | ||
| 4099 | (native-inputs | 4143 | (native-inputs |
| 4100 | `(("unzip" ,unzip))) | 4144 | `(("python-dateutil" ,python-dateutil) |
| 4145 | ("python-sqlalchemy" ,python-sqlalchemy))) | ||
| 4146 | (propagated-inputs | ||
| 4147 | `(("python-babel" ,python-babel) | ||
| 4148 | ("python-email-validator" ,python-email-validator) | ||
| 4149 | ("python-markupsafe" ,python-markupsafe))) | ||
| 4101 | (home-page "http://wtforms.simplecodes.com/") | 4150 | (home-page "http://wtforms.simplecodes.com/") |
| 4102 | (synopsis | 4151 | (synopsis |
| 4103 | "Form validation and rendering library for Python web development") | 4152 | "Form validation and rendering library for Python web development") |
| @@ -4107,9 +4156,6 @@ for Python web development. It is very similar to the web form API | |||
| 4107 | available in Django, but is a standalone package.") | 4156 | available in Django, but is a standalone package.") |
| 4108 | (license license:bsd-3))) | 4157 | (license license:bsd-3))) |
| 4109 | 4158 | ||
| 4110 | (define-public python2-wtforms | ||
| 4111 | (package-with-python2 python-wtforms)) | ||
| 4112 | |||
| 4113 | (define-public python-paste | 4159 | (define-public python-paste |
| 4114 | (package | 4160 | (package |
| 4115 | (name "python-paste") | 4161 | (name "python-paste") |
| @@ -4227,17 +4273,36 @@ name resolutions asynchronously.") | |||
| 4227 | (define-public python-yarl | 4273 | (define-public python-yarl |
| 4228 | (package | 4274 | (package |
| 4229 | (name "python-yarl") | 4275 | (name "python-yarl") |
| 4230 | (version "1.1.1") | 4276 | (version "1.6.3") |
| 4231 | (source | 4277 | (source |
| 4232 | (origin | 4278 | (origin |
| 4233 | (method url-fetch) | 4279 | (method url-fetch) |
| 4234 | (uri (pypi-uri "yarl" version)) | 4280 | (uri (pypi-uri "yarl" version)) |
| 4235 | (sha256 | 4281 | (sha256 |
| 4236 | (base32 | 4282 | (base32 |
| 4237 | "1s6z13g8vgxfkkqwhn6imnm7pl7ky9arv4jygnn6bcndcbidg7d6")))) | 4283 | "045z4ssg8g5h0qhz8hnx74hswgkndaldqq1xi5l1n5s0j996d44a")) |
| 4284 | (modules '((guix build utils))) | ||
| 4285 | (snippet | ||
| 4286 | #~(begin | ||
| 4287 | (delete-file "yarl/_quoting_c.c"))))) | ||
| 4238 | (build-system python-build-system) | 4288 | (build-system python-build-system) |
| 4289 | (arguments | ||
| 4290 | (list #:tests? #f ; test suite can't find yarl._quoting_c | ||
| 4291 | #:phases | ||
| 4292 | #~(modify-phases %standard-phases | ||
| 4293 | (add-after 'unpack 'cythonize-code | ||
| 4294 | (lambda _ | ||
| 4295 | (invoke "cython" "yarl/_quoting_c.pyx"))) | ||
| 4296 | (replace 'check | ||
| 4297 | (lambda* (#:key tests? inputs outputs #:allow-other-keys) | ||
| 4298 | (when tests? | ||
| 4299 | (substitute* "setup.cfg" | ||
| 4300 | (("--cov=yarl") "")) | ||
| 4301 | (add-installed-pythonpath inputs outputs) | ||
| 4302 | (invoke "python" "-m" "pytest"))))))) | ||
| 4239 | (native-inputs | 4303 | (native-inputs |
| 4240 | `(("python-pytest" ,python-pytest) | 4304 | `(("python-cython" ,python-cython) |
| 4305 | ("python-pytest" ,python-pytest) | ||
| 4241 | ("python-pytest-runner" ,python-pytest-runner))) | 4306 | ("python-pytest-runner" ,python-pytest-runner))) |
| 4242 | (propagated-inputs | 4307 | (propagated-inputs |
| 4243 | `(("python-idna" ,python-idna) | 4308 | `(("python-idna" ,python-idna) |
| @@ -4280,7 +4345,15 @@ Google search engine. Its module is called @code{googlesearch}.") | |||
| 4280 | "1wpbbbxfpy9mwxdy3kn352cb590ladv574j1aa2l4grjdqw3ln05")))) | 4345 | "1wpbbbxfpy9mwxdy3kn352cb590ladv574j1aa2l4grjdqw3ln05")))) |
| 4281 | (build-system python-build-system) | 4346 | (build-system python-build-system) |
| 4282 | (arguments | 4347 | (arguments |
| 4283 | '(#:tests? #f)) ; tests require internet access | 4348 | `(#:tests? #f ; tests require internet access |
| 4349 | #:phases | ||
| 4350 | (modify-phases %standard-phases | ||
| 4351 | (add-after 'unpack 'fix-setup-py | ||
| 4352 | (lambda _ | ||
| 4353 | (substitute* "setup.py" | ||
| 4354 | (("googleapiclient/discovery_cache") | ||
| 4355 | "googleapiclient.discovery_cache")) | ||
| 4356 | #t))))) | ||
| 4284 | (native-inputs | 4357 | (native-inputs |
| 4285 | `(("python-httplib2" ,python-httplib2) | 4358 | `(("python-httplib2" ,python-httplib2) |
| 4286 | ("python-six" ,python-six) | 4359 | ("python-six" ,python-six) |
| @@ -6097,3 +6170,65 @@ your code non-blocking and speedy.") | |||
| 6097 | "Socks is a library providing core proxy (SOCKS4, SOCKS5, HTTP tunneling) | 6170 | "Socks is a library providing core proxy (SOCKS4, SOCKS5, HTTP tunneling) |
| 6098 | functionality.") | 6171 | functionality.") |
| 6099 | (license license:asl2.0))) | 6172 | (license license:asl2.0))) |
| 6173 | |||
| 6174 | (define-public python-azure-nspkg | ||
| 6175 | (package | ||
| 6176 | (name "python-azure-nspkg") | ||
| 6177 | (version "3.0.2") | ||
| 6178 | (source | ||
| 6179 | (origin | ||
| 6180 | (method url-fetch) | ||
| 6181 | (uri (pypi-uri "azure-nspkg" version ".zip")) | ||
| 6182 | (sha256 | ||
| 6183 | (base32 | ||
| 6184 | "1l4xwdh0fcnvrv0mzig4g2kgqkfbsy64zjm1ggc6grk3mykcxlz7")))) | ||
| 6185 | (build-system python-build-system) | ||
| 6186 | (native-inputs `(("unzip" ,unzip))) | ||
| 6187 | (home-page "https://github.com/Azure/azure-sdk-for-python") | ||
| 6188 | (synopsis "Azure namespace internals") | ||
| 6189 | (description | ||
| 6190 | "This package is an internal Azure namespace package.") | ||
| 6191 | (license license:expat))) | ||
| 6192 | |||
| 6193 | (define-public python-azure-storage-nspkg | ||
| 6194 | (package | ||
| 6195 | (name "python-azure-storage-nspkg") | ||
| 6196 | (version "3.1.0") | ||
| 6197 | (source | ||
| 6198 | (origin | ||
| 6199 | (method url-fetch) | ||
| 6200 | (uri (pypi-uri "azure-storage-nspkg" version)) | ||
| 6201 | (sha256 | ||
| 6202 | (base32 | ||
| 6203 | "049qcmgshz7dj9yaqma0fwcgbxwddgwyfcw4gmv45xfmaa3bwfvg")))) | ||
| 6204 | (build-system python-build-system) | ||
| 6205 | (propagated-inputs | ||
| 6206 | `(("python-azure-nspkg" ,python-azure-nspkg))) | ||
| 6207 | (home-page "https://github.com/Azure/azure-storage-python") | ||
| 6208 | (synopsis "Microsoft Azure Storage Namespace package") | ||
| 6209 | (description | ||
| 6210 | "This project provides a client library in Python that makes it easy to | ||
| 6211 | communicate with Microsoft Azure Storage services.") | ||
| 6212 | (license license:expat))) | ||
| 6213 | |||
| 6214 | (define-public python-w3lib | ||
| 6215 | (package | ||
| 6216 | (name "python-w3lib") | ||
| 6217 | (version "1.22.0") | ||
| 6218 | (source | ||
| 6219 | (origin | ||
| 6220 | (method url-fetch) | ||
| 6221 | (uri (pypi-uri "w3lib" version)) | ||
| 6222 | (sha256 | ||
| 6223 | (base32 | ||
| 6224 | "1pv02lvvmgz2qb61vz1jkjc04fgm4hpfvaj5zm4i3mjp64hd1mha")))) | ||
| 6225 | (build-system python-build-system) | ||
| 6226 | (native-inputs | ||
| 6227 | `(("python-six" ,python-six))) | ||
| 6228 | (home-page "https://github.com/scrapy/w3lib") | ||
| 6229 | (synopsis "Python library of web-related functions") | ||
| 6230 | (description | ||
| 6231 | "This is a Python library of web-related functions, such as: remove comments, | ||
| 6232 | or tags from HTML snippets, extract base url from HTML snippets, translate entites | ||
| 6233 | on HTML strings, among other things.") | ||
| 6234 | (license license:bsd-3))) | ||
