Thu Oct 21 13:16:15 2021 UTC ()
py-httpx: updated to 0.20.0

0.20.0:

Changed

* The `allow_redirects` flag is now `follow_redirects` and defaults to `False`.
* The `raise_for_status()` method will now raise an exception for any responses
  except those with 2xx status codes. Previously only 4xx and 5xx status codes
  would result in an exception.
* The low-level transport API changes to the much simpler `response = transport.handle_request(request)`.
* The `client.send()` method no longer accepts a `timeout=...` argument, but the
  `client.build_request()` does. This required by the signature change of the
  Transport API. The request timeout configuration is now stored on the request
  instance, as `request.extensions['timeout']`.

Added

* Added the `httpx` command-line client.
* Response instances now include `.is_informational`, `.is_success`, `.is_redirect`, `.is_client_error`, and `.is_server_error`
  properties for checking 1xx, 2xx, 3xx, 4xx, and 5xx response types. Note that the behaviour of `.is_redirect` is slightly different in that it now returns True for all 3xx responses, in order to allow for a consistent set of properties onto the different HTTP status code types. The `response.has_redirect_location` location may be used to determine responses with properly formed URL redirects.

Fixed

* `response.iter_bytes()` no longer raises a ValueError when called on a response with no content.
* The `'wsgi.error'` configuration now defaults to `sys.stderr`, and is corrected to be a `TextIO` interface, not a `BytesIO` interface. Additionally, the WSGITransport now accepts a `wsgi_error` confguration.
* Follow the WSGI spec by properly closing the iterable returned by the application.


(adam)
diff -r0 -r1.1 pkgsrc/www/py-httpx/ALTERNATIVES
diff -r1.14 -r1.15 pkgsrc/www/py-httpx/Makefile
diff -r1.7 -r1.8 pkgsrc/www/py-httpx/PLIST
diff -r1.15 -r1.16 pkgsrc/www/py-httpx/distinfo

File Added: pkgsrc/www/py-httpx/ALTERNATIVES
bin/httpx @PREFIX@/bin/httpx-@PYVERSSUFFIX@

cvs diff -r1.14 -r1.15 pkgsrc/www/py-httpx/Makefile (expand / switch to unified diff)

--- pkgsrc/www/py-httpx/Makefile 2021/08/25 19:20:56 1.14
+++ pkgsrc/www/py-httpx/Makefile 2021/10/21 13:16:15 1.15
@@ -1,23 +1,28 @@ @@ -1,23 +1,28 @@
1# $NetBSD: Makefile,v 1.14 2021/08/25 19:20:56 adam Exp $ 1# $NetBSD: Makefile,v 1.15 2021/10/21 13:16:15 adam Exp $
2 2
3DISTNAME= httpx-0.19.0 3DISTNAME= httpx-0.20.0
4PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 4PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
5CATEGORIES= www python 5CATEGORIES= www python
6MASTER_SITES= ${MASTER_SITE_PYPI:=h/httpx/} 6MASTER_SITES= ${MASTER_SITE_PYPI:=h/httpx/}
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= https://github.com/encode/httpx 9HOMEPAGE= https://github.com/encode/httpx
10COMMENT= The next generation HTTP client 10COMMENT= The next generation HTTP client
11LICENSE= modified-bsd 11LICENSE= modified-bsd
12 12
13DEPENDS+= ${PYPKGPREFIX}-certifi-[0-9]*:../../security/py-certifi 13DEPENDS+= ${PYPKGPREFIX}-certifi-[0-9]*:../../security/py-certifi
 14DEPENDS+= ${PYPKGPREFIX}-charset-normalizer-[0-9]*:../../converters/py-charset-normalizer
14DEPENDS+= ${PYPKGPREFIX}-httpcore>=0.13.3:../../www/py-httpcore 15DEPENDS+= ${PYPKGPREFIX}-httpcore>=0.13.3:../../www/py-httpcore
15DEPENDS+= ${PYPKGPREFIX}-rfc3986>=1.3:../../www/py-rfc3986 16DEPENDS+= ${PYPKGPREFIX}-rfc3986>=1.3:../../www/py-rfc3986
16DEPENDS+= ${PYPKGPREFIX}-sniffio-[0-9]*:../../misc/py-sniffio 17DEPENDS+= ${PYPKGPREFIX}-sniffio-[0-9]*:../../misc/py-sniffio
17 18
18USE_LANGUAGES= # none 19USE_LANGUAGES= # none
19 20
20PYTHON_VERSIONS_INCOMPATIBLE= 27 36 # py-httpcore, py-anyio, py-uvloop 21PYTHON_VERSIONS_INCOMPATIBLE= 27 36 # py-httpcore, py-anyio, py-uvloop
21 22
 23post-install:
 24 cd ${DESTDIR}${PREFIX}/bin && \
 25 ${MV} httpx httpx-${PYVERSSUFFIX} || ${TRUE}
 26
22.include "../../lang/python/egg.mk" 27.include "../../lang/python/egg.mk"
23.include "../../mk/bsd.pkg.mk" 28.include "../../mk/bsd.pkg.mk"

cvs diff -r1.7 -r1.8 pkgsrc/www/py-httpx/PLIST (expand / switch to unified diff)

--- pkgsrc/www/py-httpx/PLIST 2021/05/08 08:58:42 1.7
+++ pkgsrc/www/py-httpx/PLIST 2021/10/21 13:16:15 1.8
@@ -1,17 +1,19 @@ @@ -1,17 +1,19 @@
1@comment $NetBSD: PLIST,v 1.7 2021/05/08 08:58:42 adam Exp $ 1@comment $NetBSD: PLIST,v 1.8 2021/10/21 13:16:15 adam Exp $
 2bin/httpx-${PYVERSSUFFIX}
2${PYSITELIB}/${EGG_INFODIR}/PKG-INFO 3${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
3${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt 4${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
4${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt 5${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
 6${PYSITELIB}/${EGG_INFODIR}/entry_points.txt
5${PYSITELIB}/${EGG_INFODIR}/not-zip-safe 7${PYSITELIB}/${EGG_INFODIR}/not-zip-safe
6${PYSITELIB}/${EGG_INFODIR}/requires.txt 8${PYSITELIB}/${EGG_INFODIR}/requires.txt
7${PYSITELIB}/${EGG_INFODIR}/top_level.txt 9${PYSITELIB}/${EGG_INFODIR}/top_level.txt
8${PYSITELIB}/httpx/__init__.py 10${PYSITELIB}/httpx/__init__.py
9${PYSITELIB}/httpx/__init__.pyc 11${PYSITELIB}/httpx/__init__.pyc
10${PYSITELIB}/httpx/__init__.pyo 12${PYSITELIB}/httpx/__init__.pyo
11${PYSITELIB}/httpx/__version__.py 13${PYSITELIB}/httpx/__version__.py
12${PYSITELIB}/httpx/__version__.pyc 14${PYSITELIB}/httpx/__version__.pyc
13${PYSITELIB}/httpx/__version__.pyo 15${PYSITELIB}/httpx/__version__.pyo
14${PYSITELIB}/httpx/_api.py 16${PYSITELIB}/httpx/_api.py
15${PYSITELIB}/httpx/_api.pyc 17${PYSITELIB}/httpx/_api.pyc
16${PYSITELIB}/httpx/_api.pyo 18${PYSITELIB}/httpx/_api.pyo
17${PYSITELIB}/httpx/_auth.py 19${PYSITELIB}/httpx/_auth.py
@@ -25,26 +27,29 @@ ${PYSITELIB}/httpx/_compat.pyc @@ -25,26 +27,29 @@ ${PYSITELIB}/httpx/_compat.pyc
25${PYSITELIB}/httpx/_compat.pyo 27${PYSITELIB}/httpx/_compat.pyo
26${PYSITELIB}/httpx/_config.py 28${PYSITELIB}/httpx/_config.py
27${PYSITELIB}/httpx/_config.pyc 29${PYSITELIB}/httpx/_config.pyc
28${PYSITELIB}/httpx/_config.pyo 30${PYSITELIB}/httpx/_config.pyo
29${PYSITELIB}/httpx/_content.py 31${PYSITELIB}/httpx/_content.py
30${PYSITELIB}/httpx/_content.pyc 32${PYSITELIB}/httpx/_content.pyc
31${PYSITELIB}/httpx/_content.pyo 33${PYSITELIB}/httpx/_content.pyo
32${PYSITELIB}/httpx/_decoders.py 34${PYSITELIB}/httpx/_decoders.py
33${PYSITELIB}/httpx/_decoders.pyc 35${PYSITELIB}/httpx/_decoders.pyc
34${PYSITELIB}/httpx/_decoders.pyo 36${PYSITELIB}/httpx/_decoders.pyo
35${PYSITELIB}/httpx/_exceptions.py 37${PYSITELIB}/httpx/_exceptions.py
36${PYSITELIB}/httpx/_exceptions.pyc 38${PYSITELIB}/httpx/_exceptions.pyc
37${PYSITELIB}/httpx/_exceptions.pyo 39${PYSITELIB}/httpx/_exceptions.pyo
 40${PYSITELIB}/httpx/_main.py
 41${PYSITELIB}/httpx/_main.pyc
 42${PYSITELIB}/httpx/_main.pyo
38${PYSITELIB}/httpx/_models.py 43${PYSITELIB}/httpx/_models.py
39${PYSITELIB}/httpx/_models.pyc 44${PYSITELIB}/httpx/_models.pyc
40${PYSITELIB}/httpx/_models.pyo 45${PYSITELIB}/httpx/_models.pyo
41${PYSITELIB}/httpx/_multipart.py 46${PYSITELIB}/httpx/_multipart.py
42${PYSITELIB}/httpx/_multipart.pyc 47${PYSITELIB}/httpx/_multipart.pyc
43${PYSITELIB}/httpx/_multipart.pyo 48${PYSITELIB}/httpx/_multipart.pyo
44${PYSITELIB}/httpx/_status_codes.py 49${PYSITELIB}/httpx/_status_codes.py
45${PYSITELIB}/httpx/_status_codes.pyc 50${PYSITELIB}/httpx/_status_codes.pyc
46${PYSITELIB}/httpx/_status_codes.pyo 51${PYSITELIB}/httpx/_status_codes.pyo
47${PYSITELIB}/httpx/_transports/__init__.py 52${PYSITELIB}/httpx/_transports/__init__.py
48${PYSITELIB}/httpx/_transports/__init__.pyc 53${PYSITELIB}/httpx/_transports/__init__.pyc
49${PYSITELIB}/httpx/_transports/__init__.pyo 54${PYSITELIB}/httpx/_transports/__init__.pyo
50${PYSITELIB}/httpx/_transports/asgi.py 55${PYSITELIB}/httpx/_transports/asgi.py

cvs diff -r1.15 -r1.16 pkgsrc/www/py-httpx/distinfo (expand / switch to unified diff)

--- pkgsrc/www/py-httpx/distinfo 2021/10/07 15:08:27 1.15
+++ pkgsrc/www/py-httpx/distinfo 2021/10/21 13:16:15 1.16
@@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
1$NetBSD: distinfo,v 1.15 2021/10/07 15:08:27 nia Exp $ 1$NetBSD: distinfo,v 1.16 2021/10/21 13:16:15 adam Exp $
2 2
3RMD160 (httpx-0.19.0.tar.gz) = eab8dcf20bc4f4b776b11be05c7fd305e500381f 3RMD160 (httpx-0.20.0.tar.gz) = 7ffca594ca3a52c6f3a97057f3e3cfeb1cf3d9e6
4SHA512 (httpx-0.19.0.tar.gz) = ebf8f40424e43d8fcb41e1547e532210a956deae6649e80b3963c46dd12bb630358fa0d330e88242705e0908b09635d0dc17d4f75779f25903f7073c16d756d2 4SHA512 (httpx-0.20.0.tar.gz) = 8f05df5c7e8f5e21ee68d00c32da29e258575f7af3963da4e4fd37548e2bbdc5a5e821ea32f63479035e81ba0946987f7e4ab6bf78f68555a5a2f731e51226e1
5Size (httpx-0.19.0.tar.gz) = 97592 bytes 5Size (httpx-0.20.0.tar.gz) = 104549 bytes