From 1130e8c8178386cf6d34c4ede7be0f5a9d30ad52 Mon Sep 17 00:00:00 2001 From: Edouard Klein Date: Tue, 12 May 2020 13:29:03 +0200 Subject: gnu: Add python-selenium. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python-web.scm (python-selenium): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/python-web.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 88ba88e2e2..d64f698dbc 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3746,3 +3746,26 @@ in Python with a focus on correctness and simplicity. Built on top of @code{asyncio}, Python's standard asynchronous I/O framework, it provides an elegant coroutine-based API.") (license license:bsd-3))) + +(define-public python-selenium + (package + (name "python-selenium") + (version "3.141.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "selenium" version)) + (sha256 + (base32 + "039hf9knvl4s3hp21bzwsp1g5ri9gxsh504dp48lc6nr1av35byy")))) + (build-system python-build-system) + (propagated-inputs + `(("python-urllib3" ,python-urllib3))) + (home-page + "https://github.com/SeleniumHQ/selenium/") + (synopsis "Python bindings for Selenium") + (description "Selenium enables web browser automation. +Selenium specifically provides infrastructure for the W3C WebDriver specification +— a platform and language-neutral coding interface compatible with all +major web browsers.") + (license license:asl2.0))) -- cgit v1.2.3 From 255a206217ce1ed414c1753c13daa5e254875fbd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 May 2020 15:42:01 +0300 Subject: gnu: Add python-rapidjson. * gnu/packages/python-web.scm (python-rapidjson): New variable. --- gnu/packages/python-web.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index d64f698dbc..9ead80f29d 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Eric Dvorsak -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2016, 2017 Danny Milosavljevic ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge @@ -3769,3 +3769,47 @@ Selenium specifically provides infrastructure for the W3C WebDriver specificatio — a platform and language-neutral coding interface compatible with all major web browsers.") (license license:asl2.0))) + +(define-public python-rapidjson + (package + (name "python-rapidjson") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-rapidjson" version)) + (sha256 + (base32 + "18cl2dhx3gds5vg52jxmh9wjlbiy8dx06c3n482rfpdi9dzbv05d")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "rapidjson") #t)))) + (build-system python-build-system) + (arguments + `(#:configure-flags + (list (string-append "--rj-include-dir=" + (assoc-ref %build-inputs "rapidjson") + "/include/rapidjson")) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (invoke "python" "setup.py" "build" + (string-append "--rj-include-dir=" + (assoc-ref %build-inputs "rapidjson") + "/include/rapidjson")))) + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + ;; Some tests are broken. + (delete-file "tests/test_base_types.py") + (delete-file "tests/test_validator.py") + (invoke "python" "-m" "pytest" "tests")))))) + (native-inputs + `(("rapidjson" ,rapidjson) + ("python-pytest" ,python-pytest) + ("python-pytz" ,python-pytz))) + (home-page "https://github.com/python-rapidjson/python-rapidjson") + (synopsis "Python wrapper around rapidjson") + (description "This package provides a python wrapper around rapidjson.") + (license license:expat))) -- cgit v1.2.3 From 45838753bba25e2e6182a15991e3aeaa84d5c44d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 19 May 2020 16:11:09 +0300 Subject: gnu: python-falcon: Update to 2.0.0. * gnu/packages/python-web.scm (python-falcon): Update to 2.0.0. [source]: Add snippet to remove bundled code. [arguments]: Update custom 'check phase. [propagated-inputs]: Remove python-six. [native-inputs]: Remove python-jsonschema. Add python-mujson, python-pytest-runner, python-rapidjson, python-ujson. [properties]: New field. (python2-falcon)[native-inputs]: Don't add python-rapidjson. --- gnu/packages/python-web.scm | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 9ead80f29d..2cd37c8bcf 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -222,32 +222,50 @@ comes with a SOCKS proxy client.") (define-public python-falcon (package (name "python-falcon") - (version "1.4.1") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "falcon" version)) (sha256 (base32 - "1i0vmqsk24z4biirqhpvas9h28wy7nmpy3jvnb6rz2imq04zd09r")))) + "1z6mqfv574x6jiawf67ib52g4kk20c2x7xk7wrn1573b8v7r79gf")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "falcon/vendor") + (substitute* "setup.py" + ((".*falcon\\.vendor\\.mimeparse.*") "")) + (substitute* '("falcon/media/handlers.py" + "falcon/request.py") + (("from falcon\\.vendor ") "")) + (substitute* "falcon.egg-info/SOURCES.txt" + (("falcon/vendor.*") "")) + #t)))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "pytest")))))) + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Skip orjson, which requires rust to build. + (substitute* "tests/test_media_handlers.py" + (("== 'CPython") "!= 'CPython")) + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "--ignore" "falcon")))))) (propagated-inputs - `(("python-mimeparse" ,python-mimeparse) - ("python-six" ,python-six))) + `(("python-mimeparse" ,python-mimeparse))) (native-inputs `(("python-cython" ,python-cython) ;for faster binaries + ("python-mujson" ,python-mujson) + ("python-msgpack" ,python-msgpack) ("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner) ("python-pyyaml" ,python-pyyaml) + ("python-rapidjson" ,python-rapidjson) ("python-requests" ,python-requests) ("python-testtools" ,python-testtools) - ("python-jsonschema" ,python-jsonschema) - ("python-msgpack" ,python-msgpack))) + ("python-ujson" ,python-ujson))) (home-page "https://falconframework.org") (synopsis "Web framework for building APIs and application backends") @@ -267,10 +285,15 @@ classes @item Compatible with both CPython and PyPy @item Cython support for better performance when used with CPython @end itemize") + (properties `((python2-variant . ,(delay python2-falcon)))) (license license:asl2.0))) (define-public python2-falcon - (package-with-python2 python-falcon)) + (let ((falcon (package-with-python2 (strip-python2-variant python-falcon)))) + (package + (inherit falcon) + (native-inputs + (alist-delete "python-rapidjson" (package-native-inputs falcon)))))) (define-public python-falcon-cors (package -- cgit v1.2.3 From 712190edeae0d9e1c2e94abaab120676dd5dfa7d Mon Sep 17 00:00:00 2001 From: Holger Peters Date: Wed, 20 May 2020 09:07:03 +0200 Subject: gnu: python-webob: Update to 1.8.6. * gnu/packages/python-web.scm (python-webob): Update to 1.8.6. Signed-off-by: Ricardo Wurmus --- gnu/packages/python-web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 2cd37c8bcf..a554f598e2 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1035,14 +1035,14 @@ your Web app.") (define-public python-webob (package (name "python-webob") - (version "1.8.3") + (version "1.8.6") (source (origin (method url-fetch) (uri (pypi-uri "WebOb" version)) (sha256 (base32 - "1cpqskanmvwia8wqlpcr3ykyxysynjdnbl5namvpg8vw6jnkv1dh")))) + "026i3z99nr3px75isa9mbnky5i7rffiv4d124h5kxfjjsxz92fma")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) -- cgit v1.2.3 From 44935b2ebbde4b5bc73a06bfb2b544eca7244141 Mon Sep 17 00:00:00 2001 From: Holger Peters Date: Wed, 20 May 2020 09:07:04 +0200 Subject: gnu: Add python-venusian. * gnu/packages/python-web.scm (python-venusian): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/python-web.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index a554f598e2..0dff9610bc 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3836,3 +3836,28 @@ major web browsers.") (synopsis "Python wrapper around rapidjson") (description "This package provides a python wrapper around rapidjson.") (license license:expat))) + +(define-public python-venusian + (package + (name "python-venusian") + (version "3.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "venusian" version)) + (sha256 + (base32 "0f7f67dkgxxcjfhpdd5frb9pszkf04lyzzpn5069q0xi89r2p17n")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-runner" ,python-pytest-runner) + ("python-pytest-cov" ,python-pytest-cov))) + (arguments '(#:test-target "pytest")) + (home-page "https://docs.pylonsproject.org/projects/venusian") + (synopsis "Library for defering decorator actions") + (description + "Venusian is a library which allows framework authors to defer decorator +actions. Instead of taking actions when a function (or class) decorator is +executed at import time, you can defer the action usually taken by the +decorator until a separate scan phase.") + (license license:repoze))) -- cgit v1.2.3 From a9daf35cb1cda8b8889ec7dc796079266709baec Mon Sep 17 00:00:00 2001 From: Holger Peters Date: Wed, 20 May 2020 09:07:05 +0200 Subject: gnu: Add python-zope-deprecation. * gnu/packages/python-web.scm (python-zope-deprecation): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/python-web.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 0dff9610bc..dfdba6636b 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3861,3 +3861,23 @@ actions. Instead of taking actions when a function (or class) decorator is executed at import time, you can defer the action usually taken by the decorator until a separate scan phase.") (license license:repoze))) + +(define-public python-zope-deprecation + (package + (name "python-zope-deprecation") + (version "4.4.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "zope.deprecation" version)) + (sha256 + (base32 + "1pz2cv7gv9y1r3m0bdv7ks1alagmrn5msm5spwdzkb2by0w36i8d")))) + (build-system python-build-system) + (native-inputs `()) + (propagated-inputs `()) + (home-page "https://zopedeprecation.readthedocs.io/") + (synopsis "Function for marking deprecations") + (description "The @code{zope.deprecation} module provides a function for +marking modules, classes, functions, methods and properties as deprecated, +displaying warnings when usaged in application code.") + (license license:zpl2.1))) -- cgit v1.2.3 From c557ae13f901d0f2e74dd2f29612a03c23704cd6 Mon Sep 17 00:00:00 2001 From: Holger Peters Date: Wed, 20 May 2020 09:07:06 +0200 Subject: gnu: Add python-translationstring. * gnu/packages/python-web.scm (python-translationstring): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/python-web.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index dfdba6636b..e7b8b3b198 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3881,3 +3881,21 @@ decorator until a separate scan phase.") marking modules, classes, functions, methods and properties as deprecated, displaying warnings when usaged in application code.") (license license:zpl2.1))) + +(define-public python-translationstring + (package + (name "python-translationstring") + (version "1.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "translationstring" version)) + (sha256 + (base32 + "0bdpcnd9pv0131dl08h4zbcwmgc45lyvq3pa224xwan5b3x4rr2f")))) + (build-system python-build-system) + (home-page "http://docs.pylonsproject.org/projects/translationstring") + (synopsis "Internationalization tooling for the Pylons project") + (description "This package provides a library used by various Pylons +project packages for internationalization (i18n) duties related to +translation.") + (license license:repoze))) -- cgit v1.2.3 From 79ddf25bc0a26a52ffe88c144d6ce2645462fa05 Mon Sep 17 00:00:00 2001 From: Holger Peters Date: Wed, 20 May 2020 09:07:07 +0200 Subject: gnu: Add python-plaster. * gnu/packages/python-web.scm (python-plaster): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/python-web.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index e7b8b3b198..adc68f48c7 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3899,3 +3899,27 @@ displaying warnings when usaged in application code.") project packages for internationalization (i18n) duties related to translation.") (license license:repoze))) + +(define-public python-plaster + (package + (name "python-plaster") + (version "1.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "plaster" version)) + (sha256 + (base32 + "1hy8k0nv2mxq94y5aysk6hjk9ryb4bsd13g83m60hcyzxz3wflc3")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://docs.pylonsproject.org/projects/plaster/en/latest/") + (synopsis "Configuration loader for multiple config file formats") + (description + "Plaster is a loader interface around multiple config file formats. It +exists to define a common API for applications to use when they wish to load +configuration. The library itself does not aim to handle anything except a +basic API that applications may use to find and load configuration settings. +Any specific constraints should be implemented in a pluggable loader which can +be registered via an entrypoint.") + (license license:repoze))) -- cgit v1.2.3 From 804b7722a5272dffe659368404a3447e509f2cea Mon Sep 17 00:00:00 2001 From: Holger Peters Date: Wed, 20 May 2020 09:07:08 +0200 Subject: gnu: Add python-plaster-pastedeploy. * gnu/packages/python-web.scm (python-plaster-pastedeploy): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/python-web.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index adc68f48c7..ddd94c09cb 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3923,3 +3923,27 @@ basic API that applications may use to find and load configuration settings. Any specific constraints should be implemented in a pluggable loader which can be registered via an entrypoint.") (license license:repoze))) + +(define-public python-plaster-pastedeploy + (package + (name "python-plaster-pastedeploy") + (version "0.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "plaster_pastedeploy" version)) + (sha256 + (base32 + "1zg7gcsvc1kzay1ry5p699rg2qavfsxqwl17mqxzr0gzw6j9679r")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-plaster" ,python-plaster) + ("python-pastedeploy" ,python-pastedeploy))) + (home-page "https://github.com/Pylons/plaster_pastedeploy") + (synopsis "Plugin for python-plaster adding PasteDeploy syntax") + (description + "This plugin for @code{python-plaster} adds support for PasteDeploy +syntax, it provides a plaster @code{Loader} object that can parse ini files +according to the standard set by PasteDeploy ") + (license license:expat))) -- cgit v1.2.3 From 8bfc0512da448007ae7c0688802d4dc8bf27fa61 Mon Sep 17 00:00:00 2001 From: Holger Peters Date: Wed, 20 May 2020 09:07:09 +0200 Subject: gnu: Add python-hupper. * gnu/packages/python-web.scm (python-hupper): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/python-web.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index ddd94c09cb..604c59c083 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3947,3 +3947,31 @@ be registered via an entrypoint.") syntax, it provides a plaster @code{Loader} object that can parse ini files according to the standard set by PasteDeploy ") (license license:expat))) + +(define-public python-hupper + (package + (name "python-hupper") + (version "1.10.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "hupper" version)) + (sha256 + (base32 + "0am0p6g5cz6xmcaf04xq8q6dzdd9qz0phj6gcmpsckf2mcyza61q")))) + (build-system python-build-system) + (arguments '(#:test-target "pytest")) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner) + ("python-watchdog" ,python-watchdog) + ("python-mock" ,python-mock) + ("python-pytest-cov" ,python-pytest-cov))) + (propagated-inputs + `(("python-pytz" ,python-pytz))) + (home-page "https://readthedocs.org/projects/hupper") + (synopsis "Integrated process monitor tracking changes to imported Python files") + (description + "Hupper is an integrated process monitor that will track changes to any +imported Python files in sys.modules as well as custom paths. When files are +changed the process is restarted.") + (license license:expat))) -- cgit v1.2.3 From 90f44ee4967c6d387e82abf88fd2c39d94415daf Mon Sep 17 00:00:00 2001 From: Holger Peters Date: Wed, 20 May 2020 09:07:10 +0200 Subject: gnu: Add python-pyramid. * gnu/packages/python-web.scm (python-pyramid): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/python-web.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 604c59c083..05fd1599a1 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3975,3 +3975,32 @@ according to the standard set by PasteDeploy ") imported Python files in sys.modules as well as custom paths. When files are changed the process is restarted.") (license license:expat))) + +(define-public python-pyramid + (package + (name "python-pyramid") + (version "1.10.4") + (source (origin + (method url-fetch) + (uri (pypi-uri "pyramid" version)) + (sha256 + (base32 + "0rkxs1ajycg2zh1c94xlmls56mx5m161sn8112skj0amza6cn36q")))) + (build-system python-build-system) + (propagated-inputs + `(("python-hupper" ,python-hupper) + ("python-plaster-pastedeploy" ,python-plaster-pastedeploy) + ("python-translationstring" ,python-translationstring) + ("python-venusian" ,python-venusian) + ("python-webob" ,python-webob) + ("python-zope-deprecation" ,python-zope-deprecation) + ("python-zope-interface" ,python-zope-interface) + ("python-webtest" ,python-webtest) + ("python-zope-component" ,python-zope-component) + ("python-plaster" ,python-plaster))) + (home-page "https://trypyramid.com/") + (synopsis "Python web-framework suitable for small and large sites") + (description + "Pyramid makes it easy to write web applications. From minimal +request/response web apps to larger, grown applications.") + (license license:repoze))) -- cgit v1.2.3 From 1e3cf9de840c6968f73b6b6c515dd870563b05cb Mon Sep 17 00:00:00 2001 From: Edouard Klein Date: Wed, 13 May 2020 09:52:45 +0200 Subject: gnu: Add python-random-user-agent. * gnu/packages/python-web.scm (python-random-user-agent): New variable. Signed-off-by: Marius Bakke --- gnu/packages/python-web.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu/packages/python-web.scm') diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 05fd1599a1..00caf7f229 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -4004,3 +4004,23 @@ changed the process is restarted.") "Pyramid makes it easy to write web applications. From minimal request/response web apps to larger, grown applications.") (license license:repoze))) + +(define-public python-random-user-agent + (package + (name "python-random-user-agent") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "random_user_agent" version)) + (sha256 + (base32 + "04nhzdh2ki7ybhjrmghxci6hcm6i03vvin2q2ynj87fbr1pa534g")))) + (build-system python-build-system) + (home-page "https://github.com/Luqman-Ud-Din/random_user_agent") + (synopsis "List of user agents") + (description + "This package provides a list of user agents, from a collection of more +than 326,000 known user-agents. Users can pick a random one, or select one +based on filters.") + (license license:expat))) -- cgit v1.2.3