Sync from SUSE:SLFO:Main python-httpx revision ddf5c6ccd7faa398d57e289f0824e8d8
This commit is contained in:
commit
177b579780
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<multibuild>
|
||||||
|
<package>test</package>
|
||||||
|
</multibuild>
|
BIN
httpx-0.24.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
httpx-0.24.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
332
python-httpx.changes
Normal file
332
python-httpx.changes
Normal file
@ -0,0 +1,332 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed May 3 08:47:43 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 0.24.0:
|
||||||
|
* The logging behaviour has been changed to be more in-line
|
||||||
|
with other standard Python logging usages. We no longer have
|
||||||
|
a custom `TRACE` log level, and we no longer use the
|
||||||
|
`HTTPX_LOG_LEVEL` environment variable to auto-configure
|
||||||
|
logging. We now have a significant amount of `DEBUG` logging
|
||||||
|
available at the network level. Full documentation is
|
||||||
|
available at https://www.python-httpx.org/logging/ (#2547,
|
||||||
|
encode/httpcore#648)
|
||||||
|
* The `Response.iter_lines()` method now matches the stdlib
|
||||||
|
behaviour and does not include the newline characters. It
|
||||||
|
also resolves a performance issue. (#2423)
|
||||||
|
* Query parameter encoding switches from using + for spaces and
|
||||||
|
%2F for forward slash, to instead using %20 for spaces and
|
||||||
|
treating forward slash as a safe, unescaped character. This
|
||||||
|
differs from `requests`, but is in line with browser behavior
|
||||||
|
in Chrome, Safari, and Firefox. Both options are RFC valid.
|
||||||
|
(#2543)
|
||||||
|
* NetRC authentication is no longer automatically handled, but
|
||||||
|
is instead supported by an explicit `httpx.NetRCAuth()`
|
||||||
|
authentication class. See the documentation at
|
||||||
|
https://www.python-httpx.org/advanced/#netrc-support (#2525)
|
||||||
|
* The `rfc3986` dependancy has been removed. (#2252)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 21 12:26:25 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- add sle15_python_module_pythons (jsc#PED-68)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 13 22:41:55 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Make calling of %{sle15modernpython} optional.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jan 16 10:33:05 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.23.3
|
||||||
|
* Version 0.23.2 accidentally included stricter type checking on query
|
||||||
|
parameters. This shouldn've have been included in a minor version bump, and
|
||||||
|
is now reverted. (#2523, #2539)
|
||||||
|
- 0.23.2 (2nd Jan, 2023)
|
||||||
|
* Support digest auth nonce counting to avoid multiple auth requests. (#2463)
|
||||||
|
* Multipart file uploads where the file length cannot be determine now use
|
||||||
|
chunked transfer encoding, rather than loading the entire file into memory
|
||||||
|
in order to determine the `Content-Length`. (#2382)
|
||||||
|
* Raise `TypeError` if content is passed a dict-instance. (#2495)
|
||||||
|
* Partially revert the API breaking change in 0.23.1, which removed `RawURL`.
|
||||||
|
We continue to expose a `url.raw` property which is now a plain
|
||||||
|
named-tuple. This API is still expected to be deprecated, but we will do so
|
||||||
|
with a major version bump. (#2481)
|
||||||
|
- 0.23.1 (18th Nov, 2022)
|
||||||
|
**Note**: The 0.23.1 release should have used a proper version bump, rather
|
||||||
|
than a minor point release. There are API surface area changes
|
||||||
|
that may affect some users. See the "Removed" section of these
|
||||||
|
release notes for details.
|
||||||
|
### Added
|
||||||
|
* Support for Python 3.11. (#2420)
|
||||||
|
* Allow setting an explicit multipart boundary in `Content-Type` header.
|
||||||
|
(#2278)
|
||||||
|
* Allow `tuple` or `list` for multipart values, not just `list`. (#2355)
|
||||||
|
* Allow `str` content for multipart upload files. (#2400)
|
||||||
|
* Support connection upgrades. See
|
||||||
|
https://www.encode.io/httpcore/extensions/#upgrade-requests
|
||||||
|
### Fixed
|
||||||
|
* Don't drop empty query parameters. (#2354)
|
||||||
|
### Removed
|
||||||
|
* Upload files *must* always be opened in binary mode. (#2400)
|
||||||
|
* Drop `.read`/`.aread` from `SyncByteStream`/`AsyncByteStream`. (#2407)
|
||||||
|
* Drop `RawURL`. (#2241)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 5 10:25:32 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Drop transfer-encoding-lower-case.patch
|
||||||
|
The headers are lowercase again with uvicorn 0.18
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 5 08:30:50 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Add transfer-encoding-lower-case.patch to fix failing tests due
|
||||||
|
to incorrect capitalization of the 'transfer-encoding' header
|
||||||
|
(gh#encode/httpx!1735).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jul 19 15:45:42 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Update to 0.23.0
|
||||||
|
* Drop support for Python 3.6. (#2097)
|
||||||
|
* Use utf-8 as the default character set, instead of falling back
|
||||||
|
to charset-normalizer for auto-detection. To enable automatic
|
||||||
|
character set detection, see the documentation. (#2165)
|
||||||
|
* Fix URL.copy_with for some oddly formed URL cases. (#2185)
|
||||||
|
* Digest authentication should use case-insensitive comparison
|
||||||
|
for determining which algorithm is being used. (#2204)
|
||||||
|
* Fix console markup escaping in command line client. (#1866)
|
||||||
|
* When files are used in multipart upload, ensure we always seek
|
||||||
|
to the start of the file. (#2065)
|
||||||
|
* Ensure that iter_bytes never yields zero-length chunks. (#2068)
|
||||||
|
* Preserve Authorization header for redirects that are to the
|
||||||
|
same origin, but are an http-to-https upgrade. (#2074)
|
||||||
|
* When responses have binary output, don't print the output to
|
||||||
|
the console in the command line client. Use output like <16086
|
||||||
|
bytes of binary data> instead. (#2076)
|
||||||
|
* Fix display of --proxies argument in the command line client
|
||||||
|
help. (#2125)
|
||||||
|
* Close responses when task cancellations occur during stream
|
||||||
|
reading. (#2156)
|
||||||
|
* Fix type error on accessing .request on HTTPError exceptions.
|
||||||
|
(#2158)
|
||||||
|
- Drop CVE-2021-41945-copy_with-data-leak.patch fixed upstream
|
||||||
|
(bsc#1199002)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 2 03:01:52 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Add patch CVE-2021-41945-copy_with-data-leak.patch:
|
||||||
|
* Do not leak data in httpx.URL.copy_with (bsc#1199002, CVE-2021-41945)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 11 19:31:34 UTC 2022 - Michael Ströder <michael@stroeder.com>
|
||||||
|
|
||||||
|
- Only recommend and not require the installation of python-h2 because it is
|
||||||
|
seriously broken and prevents any other Python software to run correctly with -bb.
|
||||||
|
(See also: https://github.com/python-hyper/h2/issues/1236)
|
||||||
|
This also matches upstream's setup.py which lists h2 as optional
|
||||||
|
dependency in extra_requires.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Feb 1 07:01:13 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.22.0:
|
||||||
|
* Add support for `Client(allow_redirects=<bool>)`. (Pull #1790)
|
||||||
|
* Add automatic character set detection, when no `charset` is included in the response `Content-Type` header. (Pull #1791)
|
||||||
|
* 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.
|
||||||
|
* Support for [the SOCKS5 proxy protocol](https://www.python-httpx.org/advanced/#socks) via [the `socksio` package](https://github.com/sethmlarson/socksio). (#2034)
|
||||||
|
* Support for custom headers in multipart/form-data requests (#1936)
|
||||||
|
* Event hooks are now also called for any additional redirect or auth requests/responses. (Pull #1806)
|
||||||
|
* Strictly enforce that upload files must be opened in binary mode. (Pull #1736)
|
||||||
|
* Strictly enforce that client instances can only be opened and closed once, and cannot be re-opened. (Pull #1800)
|
||||||
|
* Drop `mode` argument from `httpx.Proxy(..., mode=...)`. (Pull #1795)
|
||||||
|
* 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']`.
|
||||||
|
* `response.iter_bytes()` no longer raises a ValueError when called on a response with no content. (Pull #1827)
|
||||||
|
* 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` configuration. (Pull #1828)
|
||||||
|
* Follow the WSGI spec by properly closing the iterable returned by the application. (Pull #1830)
|
||||||
|
* Don't perform unreliable close/warning on `__del__` with unclosed clients. (#2026)
|
||||||
|
* Fix `Headers.update(...)` to correctly handle repeated headers (#2038)
|
||||||
|
* Fix streaming uploads using `SyncByteStream` or `AsyncByteStream`. Regression in 0.21.2. (#2016)
|
||||||
|
* HTTP/2 support for tunnelled proxy cases. (#2009)
|
||||||
|
* Improved the speed of large file uploads. (#1948)
|
||||||
|
* The `response.url` property is now correctly annotated as `URL`, instead of `Optional[URL]`. (#1940)
|
||||||
|
- Inject multibuild to cut down a build loop.
|
||||||
|
- Remove patch 0001-Add-a-network-pytest-mark-for-tests-that-use-the-network.patch:
|
||||||
|
* Included upstream.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 18 07:56:56 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.18.2
|
||||||
|
* Added
|
||||||
|
- Support for Python 3.10. (Pull #1687)
|
||||||
|
- Expose httpx.USE_CLIENT_DEFAULT, used as the default to auth
|
||||||
|
and timeout parameters in request methods.
|
||||||
|
- Support HTTP/2 "prior 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= cases.
|
||||||
|
|
||||||
|
- Update to 0.18.1
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
- Add patch (submitted to upstream at gh#encode/httpx#1669) to add
|
||||||
|
a pytest marker so we can disable the tests that use the network
|
||||||
|
in %check:
|
||||||
|
* 0001-Add-a-network-pytest-mark-for-tests-that-use-the-network.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 3 15:15:51 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
|
||||||
|
- Enable tests (adding some missing dependencies and disabling
|
||||||
|
test_async_proxy_close and test_sync_proxy_close since they
|
||||||
|
access the network)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 3 08:58:20 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
|
||||||
|
- Update to 0.18.0
|
||||||
|
* 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" documentation and the
|
||||||
|
httpx.BaseTransport.handle_request() 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.
|
||||||
|
(Pull #1522, #1550)
|
||||||
|
- The response.ext property and Response(ext=...) argument are
|
||||||
|
now named extensions. (Pull #1522)
|
||||||
|
- 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.
|
||||||
|
(Pull #1573)
|
||||||
|
- Drop Response(on_close=...) from API, since it was a bit of
|
||||||
|
leaking implementation detail. (Pull #1572)
|
||||||
|
- 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. (Pull #1574)
|
||||||
|
- The runtime exception httpx.ResponseClosed is now named
|
||||||
|
httpx.StreamClosed. (#1584)
|
||||||
|
- The httpx.QueryParams model now presents an immutable
|
||||||
|
interface. The is a discussion on the design and motivation
|
||||||
|
here. Use client.params = client.params.merge(...) instead of
|
||||||
|
client.params.update(...). The basic query manipulation
|
||||||
|
methods are query.set(...), query.add(...), and
|
||||||
|
query.remove(). (#1600)
|
||||||
|
* Added
|
||||||
|
- The Request and Response classes can now be serialized using
|
||||||
|
pickle. (#1579)
|
||||||
|
- Handle data={"key": [None|int|float|bool]} cases.
|
||||||
|
(Pull #1539)
|
||||||
|
- 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"). (Pull #1601)
|
||||||
|
- Support url.copy_with(params=...). (Pull #1601)
|
||||||
|
- Add url.params parameter, returning an immutable QueryParams
|
||||||
|
instance. (Pull #1601)
|
||||||
|
- 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().
|
||||||
|
(Pull #1601)
|
||||||
|
- The httpx.URL class now performs port normalization, so :80
|
||||||
|
ports are stripped from http URLs and :443 ports are stripped
|
||||||
|
from https URLs. (Pull #1603)
|
||||||
|
- The URL.host property returns unicode strings for
|
||||||
|
internationalized domain names. The URL.raw_host property
|
||||||
|
returns byte strings with IDNA escaping applied. (Pull #1590)
|
||||||
|
* Fixed
|
||||||
|
- Fix Content-Length for cases of files=... where unicode
|
||||||
|
string is used as the file content. (Pull #1537)
|
||||||
|
- Fix some cases of merging relative URLs against
|
||||||
|
Client(base_url=...). (Pull #1532)
|
||||||
|
- The request.content attribute is now always available except
|
||||||
|
for streaming content, which requires an explicit .read().
|
||||||
|
(Pull #1583)
|
||||||
|
|
||||||
|
- Update to v0.17.1
|
||||||
|
* Fixed
|
||||||
|
- Type annotation on CertTypes allows keyfile and password to
|
||||||
|
be optional. (Pull #1503)
|
||||||
|
- Fix httpcore pinned version. (Pull #1495)
|
||||||
|
|
||||||
|
- Update to v0.17.0
|
||||||
|
* Added
|
||||||
|
- Add httpx.MockTransport(), allowing to mock out a transport
|
||||||
|
using pre-determined responses. (Pull #1401, Pull #1449)
|
||||||
|
- Add httpx.HTTPTransport() and httpx.AsyncHTTPTransport()
|
||||||
|
default transports. (Pull #1399)
|
||||||
|
- Add mount API support, using httpx.Client(mounts=...).
|
||||||
|
(Pull #1362)
|
||||||
|
- Add chunk_size parameter to iter_raw(), iter_bytes(),
|
||||||
|
iter_text(). (Pull #1277)
|
||||||
|
- Add keepalive_expiry parameter to httpx.Limits()
|
||||||
|
configuration. (Pull #1398)
|
||||||
|
- Add repr to httpx.Cookies to display available cookies.
|
||||||
|
(Pull #1411)
|
||||||
|
- Add support for params=<tuple> (previously only
|
||||||
|
params=<list> was supported). (Pull #1426)
|
||||||
|
* Fixed
|
||||||
|
- Add missing raw_path to ASGI scope. (Pull #1357)
|
||||||
|
- Tweak create_ssl_context defaults to use trust_env=True.
|
||||||
|
(Pull #1447)
|
||||||
|
- Properly URL-escape WSGI PATH_INFO. (Pull #1391)
|
||||||
|
- Properly set default ports in WSGI transport. (Pull #1469)
|
||||||
|
- Properly encode slashes when using base_url. (Pull #1407)
|
||||||
|
- Properly map exceptions in request.aclose(). (Pull #1465)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat May 1 20:37:24 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
- Don't build on python36, because of missing dependencies.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Oct 11 14:35:52 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
|
||||||
|
|
||||||
|
- Update to v0.16.1
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 8 16:39:26 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
|
||||||
|
|
||||||
|
- Update to v0.10.0
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Oct 8 08:15:47 AM UTC 2019 - John Vandenberg <jayvdb@gmail.com>
|
||||||
|
|
||||||
|
- Initial spec for v0.7.4
|
117
python-httpx.spec
Normal file
117
python-httpx.spec
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
#
|
||||||
|
# spec file
|
||||||
|
#
|
||||||
|
# Copyright (c) 2023 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
|
%if "%{flavor}" == "test"
|
||||||
|
%define psuffix -test
|
||||||
|
%bcond_without test
|
||||||
|
%else
|
||||||
|
%define psuffix %{nil}
|
||||||
|
%bcond_with test
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%{?sle15_python_module_pythons}
|
||||||
|
Name: python-httpx%{psuffix}
|
||||||
|
Version: 0.24.0
|
||||||
|
Release: 0
|
||||||
|
Summary: Python HTTP client with async support
|
||||||
|
License: BSD-3-Clause
|
||||||
|
URL: https://github.com/encode/httpx
|
||||||
|
Source: https://github.com/encode/httpx/archive/%{version}.tar.gz#/httpx-%{version}.tar.gz
|
||||||
|
BuildRequires: %{python_module base >= 3.7}
|
||||||
|
BuildRequires: %{python_module hatch-fancy-pypi-readme}
|
||||||
|
BuildRequires: %{python_module hatchling}
|
||||||
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module wheel}
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: python-rpm-macros
|
||||||
|
Requires: python-certifi
|
||||||
|
Requires: python-httpcore >= 0.15.0
|
||||||
|
Requires: python-idna >= 2.0
|
||||||
|
Requires: python-sniffio
|
||||||
|
Recommends: python-Brotli
|
||||||
|
Recommends: python-Pygments >= 2
|
||||||
|
Recommends: python-click >= 8
|
||||||
|
Recommends: python-h2 >= 3.0
|
||||||
|
Recommends: python-rich >= 10
|
||||||
|
Requires(post): update-alternatives
|
||||||
|
Requires(postun):update-alternatives
|
||||||
|
BuildArch: noarch
|
||||||
|
# SECTION test requirements
|
||||||
|
%if %{with test}
|
||||||
|
BuildRequires: %{python_module Brotli}
|
||||||
|
BuildRequires: %{python_module Pygments >= 2}
|
||||||
|
BuildRequires: %{python_module chardet >= 5.0}
|
||||||
|
BuildRequires: %{python_module click >= 8}
|
||||||
|
BuildRequires: %{python_module h2 >= 3.0}
|
||||||
|
BuildRequires: %{python_module httpx = %{version}}
|
||||||
|
BuildRequires: %{python_module pytest-asyncio}
|
||||||
|
BuildRequires: %{python_module pytest-trio}
|
||||||
|
BuildRequires: %{python_module pytest}
|
||||||
|
BuildRequires: %{python_module rich >= 10}
|
||||||
|
BuildRequires: %{python_module trio}
|
||||||
|
BuildRequires: %{python_module trustme}
|
||||||
|
# uvicorn 0.18 fixed an issue in the test suite where http-headers wer not all lowercase as expected
|
||||||
|
BuildRequires: %{python_module uvicorn >= 0.18}
|
||||||
|
%endif
|
||||||
|
# /SECTION
|
||||||
|
%python_subpackages
|
||||||
|
|
||||||
|
%description
|
||||||
|
Python HTTP client with async support.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n httpx-%{version}
|
||||||
|
# remove turning pytest warnings into error
|
||||||
|
sed -i '/tool.pytest/,$ {/error/d}' setup.cfg
|
||||||
|
|
||||||
|
%build
|
||||||
|
%pyproject_wheel
|
||||||
|
|
||||||
|
%install
|
||||||
|
%if !%{with test}
|
||||||
|
%pyproject_install
|
||||||
|
%python_clone -a %{buildroot}%{_bindir}/httpx
|
||||||
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%check
|
||||||
|
%if %{with test}
|
||||||
|
# obs builds offline
|
||||||
|
donttest="network"
|
||||||
|
# no socksio
|
||||||
|
donttest="$donttest or socks"
|
||||||
|
%pytest -vv -k "not ($donttest)" --asyncio-mode=strict
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%post
|
||||||
|
%python_install_alternative httpx
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%python_uninstall_alternative httpx
|
||||||
|
|
||||||
|
%if !%{with test}
|
||||||
|
%files %{python_files}
|
||||||
|
%doc CHANGELOG.md README.md
|
||||||
|
%license LICENSE.md
|
||||||
|
%python_alternative %{_bindir}/httpx
|
||||||
|
%{python_sitelib}/httpx
|
||||||
|
%{python_sitelib}/httpx-%{version}*-info
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%changelog
|
Loading…
Reference in New Issue
Block a user