summaryrefslogtreecommitdiff
path: root/gnu/packages/python-web.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/python-web.scm')
-rw-r--r--gnu/packages/python-web.scm106
1 files changed, 77 insertions, 29 deletions
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 3ecfe87760..2cbc1bb167 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -600,14 +600,14 @@ Dropbox API v2.")
(define-public python-eventlet
(package
(name "python-eventlet")
- (version "0.39.1")
+ (version "0.40.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "eventlet" version))
(sha256
(base32
- "04051hmlq49kvdymf56hp08vjc6251937fh6vvnj2h1d51sn92ja"))))
+ "1c6qr1cnam79wxm1sh5y04061iyy3shs02yd0mlh47bngwknqqs2"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -623,22 +623,24 @@ Dropbox API v2.")
" and not test_patcher_existing_locks"
" and not test_dns_methods_are_green"))
#:phases
- '(modify-phases %standard-phases
- (add-after 'unpack 'avoid-OSError
- (lambda _
- ;; If eventlet tries to load greendns, an OSError is thrown when
- ;; getprotobyname is called. Thankfully there is an environment
- ;; variable to disable the greendns import, so use it:
- (setenv "EVENTLET_NO_GREENDNS" "yes"))))))
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'avoid-OSError
+ (lambda _
+ ;; If eventlet tries to load greendns, an OSError is thrown when
+ ;; getprotobyname is called. Thankfully there is an environment
+ ;; variable to disable the greendns import, so use it. Note that
+ ;; this error is propagated to child packages too, so enforce the
+ ;; changed default.
+ (substitute* "eventlet/green/socket.py"
+ (("os\\.environ\\.get\\(\"EVENTLET_NO_GREENDNS\", ''\\)")
+ "os.environ.get(\"EVENTLET_NO_GREENDNS\", \"yes\")")))))))
(native-inputs
- (list python-hatch-vcs
+ (list python-pypa-build
+ python-hatch-vcs
python-hatchling
- python-pytest
- python-twine))
+ python-pytest))
(propagated-inputs
- (list python-dnspython
- python-greenlet
- python-monotonic))
+ (list python-dnspython python-greenlet))
(home-page "https://eventlet.net")
(synopsis "Concurrent networking library for Python")
(description
@@ -648,7 +650,40 @@ It uses @code{epoll} or @code{libevent} for highly scalable non-blocking I/O.
Coroutines ensure that the developer uses a blocking style of programming
that is similar to threading, but provide the benefits of non-blocking I/O.
The event dispatch is implicit, which means you can easily use @code{Eventlet}
-from the Python interpreter, or as a small part of a larger application.")
+from the Python interpreter, or as a small part of a larger application.
+
+Note: In Guix, this package assumes the environment variable
+@code{EVENTLET_NO_GREENDNS} defaults to @code{yes}. To try to use it, set it
+to anything else.")
+ (license license:expat)))
+
+(define-public python-gdown
+ (package
+ (name "python-gdown")
+ (version "5.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "gdown" version))
+ (sha256
+ (base32 "11y7xx6zjipx15a5626lhiwmwb2jxp4mdcwqrnij0mfqc981ci91"))))
+ (build-system pyproject-build-system)
+ (arguments (list #:tests? #f)) ;network access is required
+ (native-inputs
+ (list python-hatch-fancy-pypi-readme
+ python-hatch-vcs
+ python-hatchling))
+ (propagated-inputs
+ (list python-beautifulsoup4
+ python-filelock
+ python-requests
+ python-tqdm))
+ (home-page "https://github.com/wkentaro/gdown")
+ (synopsis "Google Drive Public File/Folder Downloader")
+ (description
+ "This package implements a functionality to download large files
+recursivly from Google Drive with option to filter them by file
+formats (PDF/XML/CSV).")
(license license:expat)))
(define-public python-globus-sdk
@@ -781,12 +816,7 @@ of a fake DNS resolver.")
"test_request_parse_querystring"
"test_request_string_representation"
"test_request_stubs_internals")
- " and not "))
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- (setenv"EVENTLET_NO_GREENDNS" "yes"))))))
+ " and not "))))
(native-inputs
(list nss-certs-for-test
python-freezegun
@@ -7618,22 +7648,40 @@ high level API for making HTTP requests when using Twisted.")
(define-public python-autobahn
(package
(name "python-autobahn")
- (version "19.2.1")
+ (version "24.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "autobahn" version))
(sha256
(base32
- "1mm7j24ls01c7jb1ad5p5cpyxvzgydiyf8b04ihykh2v8g98j0x7"))))
- (build-system python-build-system)
+ "1jcjxr16cy93v2kjwpvrcmg7cjbp5kyhbcpq25nhny6gn3qixmx2"))))
+ (build-system pyproject-build-system)
(arguments
+ (list
;; The tests fail to run:
;; https://github.com/crossbario/autobahn-python/issues/1117
- `(#:tests? #f))
- (propagated-inputs
- (list python-cffi python-twisted python-txaio))
- (home-page "https://crossbar.io/autobahn/")
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-zope-interface
+ (lambda _
+ ;; python-zope-interface is a world rebuild package
+ ;; and our one-digit lower minor version seems to be
+ ;; fine.
+ (substitute* "setup.py"
+ (("zope.interface>=5.2.0")
+ "zope.interface>=5.1.0"))))
+ (add-after 'unpack 'strip-xbr
+ (lambda _
+ ;; Strip new XBR feature which isn't available in Guix.
+ (setenv "AUTOBAHN_STRIP_XBR" "1"))))))
+ (native-inputs (list python-setuptools python-wheel))
+ (propagated-inputs (list python-cffi
+ python-cryptography
+ python-hyperlink
+ python-twisted
+ python-txaio))
+ (home-page "https://github.com/crossbario/autobahn-python/")
(synopsis "Web Application Messaging Protocol implementation")
(description "This package provides an implementation of the @dfn{Web Application
Messaging Protocol} (WAMP). WAMP connects components in distributed