./www/py-httpx, The next generation HTTP client

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.20.0, Package name: py39-httpx-0.20.0, Maintainer: pkgsrc-users

HTTPX is a fully featured HTTP client for Python 3, which provides sync and
async APIs, and support for both HTTP/1.1 and HTTP/2.


Required to run:
[devel/py-setuptools] [converters/py-chardet] [www/py-idna] [security/py-certifi] [lang/python37] [misc/py-sniffio] [www/py-rfc3986] [www/py-hstspreload] [www/py-httpcore]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 102.099 KB

Version history: (Expand)


CVS history: (Expand)


   2021-10-26 13:31:15 by Nia Alarie | Files touched by this commit (1030)
Log message:
www: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Not committed (merge conflicts):
www/nghttp2/distinfo

Unfetchable distfiles (almost certainly fetched conditionally...):
./www/nginx-devel/distinfo array-var-nginx-module-0.05.tar.gz
./www/nginx-devel/distinfo echo-nginx-module-0.62.tar.gz
./www/nginx-devel/distinfo encrypted-session-nginx-module-0.08.tar.gz
./www/nginx-devel/distinfo form-input-nginx-module-0.12.tar.gz
./www/nginx-devel/distinfo headers-more-nginx-module-0.33.tar.gz
./www/nginx-devel/distinfo lua-nginx-module-0.10.19.tar.gz
./www/nginx-devel/distinfo naxsi-1.3.tar.gz
./www/nginx-devel/distinfo nginx-dav-ext-module-3.0.0.tar.gz
./www/nginx-devel/distinfo nginx-rtmp-module-1.2.2.tar.gz
./www/nginx-devel/distinfo nginx_http_push_module-1.2.10.tar.gz
./www/nginx-devel/distinfo ngx_cache_purge-2.5.1.tar.gz
./www/nginx-devel/distinfo ngx_devel_kit-0.3.1.tar.gz
./www/nginx-devel/distinfo ngx_http_geoip2_module-3.3.tar.gz
./www/nginx-devel/distinfo njs-0.5.0.tar.gz
./www/nginx-devel/distinfo set-misc-nginx-module-0.32.tar.gz
./www/nginx/distinfo array-var-nginx-module-0.05.tar.gz
./www/nginx/distinfo echo-nginx-module-0.62.tar.gz
./www/nginx/distinfo encrypted-session-nginx-module-0.08.tar.gz
./www/nginx/distinfo form-input-nginx-module-0.12.tar.gz
./www/nginx/distinfo headers-more-nginx-module-0.33.tar.gz
./www/nginx/distinfo lua-nginx-module-0.10.19.tar.gz
./www/nginx/distinfo naxsi-1.3.tar.gz
./www/nginx/distinfo nginx-dav-ext-module-3.0.0.tar.gz
./www/nginx/distinfo nginx-rtmp-module-1.2.2.tar.gz
./www/nginx/distinfo nginx_http_push_module-1.2.10.tar.gz
./www/nginx/distinfo ngx_cache_purge-2.5.1.tar.gz
./www/nginx/distinfo ngx_devel_kit-0.3.1.tar.gz
./www/nginx/distinfo ngx_http_geoip2_module-3.3.tar.gz
./www/nginx/distinfo njs-0.5.0.tar.gz
./www/nginx/distinfo set-misc-nginx-module-0.32.tar.gz
   2021-10-21 15:16:15 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
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.
   2021-10-07 17:09:00 by Nia Alarie | Files touched by this commit (1033)
Log message:
www: Remove SHA1 hashes for distfiles
   2021-07-08 10:39:00 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-httpx: updated to 0.18.2

0.18.2

Added

* Support for Python 3.10.
* Expose `httpx.USE_CLIENT_DEFAULT`, used as the default to `auth` and `timeout` \ 
parameters in request methods.
* Support [HTTP/2 "prior \ 
knowledge"](https://python-hyper.org/projects/hyper … -knowledge), \ 
using `httpx.Client(http1=False, http2=True)`.

Fixed

* Clean up some cases where warnings were being issued.
* Prefer Content-Length over Transfer-Encoding: chunked for \ 
content=<file-like> cases.
   2021-05-08 10:58:42 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-httpx: updated to 0.18.1

0.18.1 (29th April, 2021)

Changed

* Update brotli support to use the `brotlicffi` package
* Ensure that `Request(..., stream=...)` does not auto-generate any headers on \ 
the request instance.

Fixed

* Pass through `timeout=...` in top-level httpx.stream() function.
* Map httpcore transport close exceptions to httpx exceptions.

0.18.0 (27th April, 2021)

The 0.18.x release series formalises our low-level Transport API, introducing \ 
the base classes `httpx.BaseTransport` and `httpx.AsyncBaseTransport`.

See the "[Writing custom \ 
transports](https://www.python-httpx.org/advanced/# … transports)" \ 
documentation and the \ 
[`httpx.BaseTransport.handle_request()`](https://github.com/encode/httpx/blob/39 … y#L77-L147) \ 
docstring for more complete details on implementing custom transports.

Pull request 1522 includes a checklist of differences from the previous \ 
`httpcore` transport API, for developers implementing custom transports.

The following API changes have been issuing deprecation warnings since 0.17.0 \ 
onwards, and are now fully deprecated...

* You should now use httpx.codes consistently instead of httpx.StatusCodes.
* Use limits=... instead of pool_limits=....
* Use proxies={"http://": ...} instead of proxies={"http": \ 
...} for scheme-specific mounting.

Changed

* Transport instances now inherit from `httpx.BaseTransport` or \ 
`httpx.AsyncBaseTransport`,
  and should implement either the `handle_request` method or \ 
`handle_async_request` method.
* The `response.ext` property and `Response(ext=...)` argument are now named \ 
`extensions`.
* The recommendation to not use `data=<bytes|str|bytes (a)iterator>` in \ 
favour of `content=<bytes|str|bytes (a)iterator>` has now been escalated \ 
to a deprecation warning.
* Drop `Response(on_close=...)` from API, since it was a bit of leaking \ 
implementation detail.
* When using a client instance, cookies should always be set on the client, \ 
rather than on a per-request basis. We prefer enforcing a stricter API here \ 
because it provides clearer expectations around cookie persistence, particularly \ 
when redirects occur.
* The runtime exception `httpx.ResponseClosed` is now named `httpx.StreamClosed`.
* The `httpx.QueryParams` model now presents an immutable interface. There is a \ 
discussion on [the design and motivation \ 
here](https://github.com/encode/httpx/discussions/1599). Use `client.params = \ 
client.params.merge(...)` instead of `client.params.update(...)`. The basic \ 
query manipulation methods are `query.set(...)`, `query.add(...)`, and \ 
`query.remove()`.

Added

* The `Request` and `Response` classes can now be serialized using pickle.
* Handle `data={"key": [None|int|float|bool]}` cases.
* Support `httpx.URL(**kwargs)`, for example \ 
`httpx.URL(scheme="https", host="www.example.com", \ 
path="/')`, or `httpx.URL("https://www.example.com/", \ 
username="tom@gmail.com", password="123 456")`.
* Support `url.copy_with(params=...)`.
* Add `url.params` parameter, returning an immutable `QueryParams` instance.
* Support query manipulation methods on the URL class. These are \ 
`url.copy_set_param()`, `url.copy_add_param()`, `url.copy_remove_param()`, \ 
`url.copy_merge_params()`.
* The `httpx.URL` class now performs port normalization, so `:80` ports are \ 
stripped from `http` URLs and `:443` ports are stripped from `https` URLs.
* The `URL.host` property returns unicode strings for internationalized domain \ 
names. The `URL.raw_host` property returns byte strings with IDNA escaping \ 
applied.

Fixed

* Fix Content-Length for cases of `files=...` where unicode string is used as \ 
the file content.
* Fix some cases of merging relative URLs against `Client(base_url=...)`.
* The `request.content` attribute is now always available except for streaming \ 
content, which requires an explicit `.read()`.
   2021-03-16 09:09:24 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-httpx: updated to 0.17.1

0.17.1

Fixed

* Type annotation on `CertTypes` allows `keyfile` and `password` to be optional.
* Fix httpcore pinned version.
   2021-02-28 19:40:55 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-httpx: updated to 0.17.0

0.17.0

Added

Add httpx.MockTransport(), allowing to mock out a transport using pre-determined \ 
responses.
Add httpx.HTTPTransport() and httpx.AsyncHTTPTransport() default transports.
Add mount API support, using httpx.Client(mounts=...).
Add chunk_size parameter to iter_raw(), iter_bytes(), iter_text().
Add keepalive_expiry parameter to httpx.Limits() configuration.
Add repr to httpx.Cookies to display available cookies.
Add support for params=<tuple> (previously only params=<list> was \ 
supported).

Fixed

Add missing raw_path to ASGI scope.
Tweak create_ssl_context defaults to use trust_env=True.
Properly URL-escape WSGI PATH_INFO.
Properly set default ports in WSGI transport.
Properly encode slashes when using base_url.
Properly map exceptions in request.aclose().
   2020-10-13 13:14:43 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-httpx: updated to 0.16.1

0.16.1

Fixed
* Support literal IPv6 addresses in URLs.
* Force lowercase headers in ASGI scope dictionaries.

0.16.0

Changed
* Preserve HTTP header casing.
* Drop `response.next()` and `response.anext()` methods in favour of \ 
`response.next_request` attribute.
* Closed clients now raise a runtime error if attempting to send a request.

Added
* Add Python 3.9 to officially supported versions.
* Type annotate `__enter__`/`__exit__`/`__aenter__`/`__aexit__` in a way that \ 
supports subclasses of `Client` and `AsyncClient`.